- 1 名前:デフォルトの名無しさん [2007/04/26(木) 02:43:38 ]
- クロスプラットフォーム 3D API OpenGLに関する話題を扱うスレッド。
禁止事項 ・「OpenGL終了」系のまず価値否定ありきの主観発言(客観的な懸念要素を挙げた上での建設的議論は可) ・学歴・理系か文系かに関連する差別発言 ・その他の荒らし全て これらは付き合うだけ無駄なので無視しましょう。 - 前スレ - OpenGLスレ Part10 pc11.2ch.net/test/read.cgi/tech/1141034983/ - 関連サイト - www.opengl.org/ www.mesa3d.org/ developer.nvidia.com/ www.ati.com/developer/ developer.3dlabs.com/ - 過去スレ - Part 9: pc8.2ch.net/test/read.cgi/tech/1132403929/ Part 8: pc8.2ch.net/test/read.cgi/tech/1126267690/ Part 7: pc8.2ch.net/test/read.cgi/tech/1118151979/ Part 6: pc8.2ch.net/test/read.cgi/tech/1105612993/ Part 5: pc5.2ch.net/test/read.cgi/tech/1100085657/ Part 4: pc5.2ch.net/test/read.cgi/tech/1091724463/ Part 3: pc5.2ch.net/test/read.cgi/tech/1067529308/ Part 2: pc2.2ch.net/test/read.cgi/tech/1039984523/ Part 1: pc3.2ch.net/tech/kako/981/981044659.html (dat落ち)
- 520 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 20:40:54 ]
- >>519
キーボードを押したらティーポットが回転するプログラムを書いたんですが、 ティーポットが回転してくれません。それどころかポットがどっかに移動して しまいます。どうしたら良いですか? 教えてください。
- 521 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 23:49:54 ]
- >>520
どう見てもコンパイルすら通りそうにないコードなんだが C言語の基礎(変数のスコープとか)を勉強し直すことだな
- 522 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:06:44 ]
- >>520
glRotated(x,0.0,0.0,1.0); これでxを+1しても回転にならないぞw
- 523 名前:デフォルトの名無しさん [2007/12/25(火) 01:14:56 ]
- XP上のMicrosft VC++6.0でOpenGLを使いたいのですが、
どうもこうもOpenGL/gl.hが無いと言われます。 ググってみると、 XPはデフォルトであるから心配ないとしか書かれていないのです(泣) GLUTはインストール済みです。 もしよろしければ、対応策を教えていただけないでしょうか。
- 524 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:30:20 ]
- >>523
もし #include <OpenGL/gl.h> ってやってるなら、その行は削除。いらない。
- 525 名前:522 mailto:sage [2007/12/25(火) 01:55:07 ]
- hahaha!
勘違いしたw 酔ってるので許せ。 >>520 描画のたびに gluLookAt(3.0,2.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0); で行列を掛けてるから、どっかへ飛ぶ。
- 526 名前:デフォルトの名無しさん [2007/12/25(火) 04:32:13 ]
- > void myKbd(unsigned char key, int x, int y)
で、 x += 1; は、何も影響を及ぼさない気がする・・・
- 527 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 19:22:57 ]
- 質問です
物体(glutSolidSphereなど)を3次元空間で動かして 動かした三次元座標空間だけマスクして 動かせば動かすほど、画像が変わっていく(3次元空間がマスクされて、隠れている画像が出てくる) ということをしたいのですが。 どうやればいいかヒントをください
- 528 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 20:23:44 ]
- >>527
日本語でおk
- 529 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 21:47:49 ]
- 伝わりにくくてすみません
要は3次元空間にマスクをマウスで書き込んでいく、ということをしたいのです。 フォトショップとかの2次元空間でのクイックマスク処理を 3次元でやるイメージです
- 530 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 22:09:50 ]
- 3次元でマスクってのが良くわからない…
もしSculptみたいなことをやりたいならボクセルでも使うのが早いかなぁ
- 531 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 22:30:36 ]
- >>530
まさしくそんな感じです。 固体を削り取っていって、削られた部分だけ別の物体の色になっていくという感じです。 それか、マウスの範囲内の物体の色(不透明度)を強制的に0にしていければ…同じように出来ると考えてるのですが マウスでglutSolidSphereの範囲内のカラーを変えていく、ということ出来ますか?
- 532 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 22:41:45 ]
- 正直に脱がせゲーを作るといえばみんな協力するはず
- 533 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 22:49:32 ]
- …その発想はなかった!!!!!
そっちにシフトします><
- 534 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 23:45:14 ]
- もし531のようなことやるのに
参考になるサンプルとか考え方あったら、レスお願いします。
- 535 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:04:05 ]
- 2Dじゃなくて、3Dでか。
そもそも、サーフェスモデルが基本なので、 「削り取る」というのをどのように表現するか・・・だな
- 536 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:18:27 ]
- 削り取るよりも
>マウスでglutSolidSphereの範囲内のカラーを変えていく こっちのほうを実装するほうが、やりたいことが出来そうな気がしてきました まだ研究室で、2時くらいに帰るのですが かなりてんぱってきました
- 537 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:04:41 ]
- 536ですが
アキュムレーションバッファで変更したい部分を上書きしてく、ということはできるでしょうか? もし出来るなら、エリア内の画素のαを0にして上書き・エリアを動かして0にして上書き…で削り取れるかもと思ったのですが
- 538 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:33:04 ]
- サンプル弄くってみて
エリア内の指定 全体が変化する でアウトでした。 もう夜も眠れません
- 539 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:58:55 ]
- ん、もしかして2Dでマスクできればいいのか?
それならStencilBufferでいいと思うけど 初心者スレにそんな話題が出てたぞ
- 540 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:54:28 ]
- 質問させて頂きます。
@FBOテクスチャに適当に描画。 A上のレンダリングテクスチャに、上のレンダリングテクスチャを別のオブジェクトに貼って描画。 としう事をしたいのですが、Aを行う際、@で作ったテクスチャを別のテクスチャにコピーする必要があると思います。 その、テクスチャを別のテクスチャにコピーをしたいのですがどのようにすればいいのでしょうか? できれば、高速な方法が良いです。宜しくお願いします。
- 541 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:55:05 ]
- すいません、くだすれと間違えました・・・。
- 542 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:39:29 ]
- OpenGL Distilledの邦訳OpenGLの神髄が出てたな
さっと立ち読みしただけだがタイトル通り要点を押さえた本だった 神髄とか言うと上級向けっぽいがそうでもなく いきなり赤本を読む前に読んでおきたい本だな
- 543 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:41:32 ]
- とりあえず(あえて)7Yでポチった
DirectXとか汎用言語書は自称初心者向け(笑)が増殖してるが、 買うヤツがほとんどいないOpenGL本をあえて出すということはそれなりのクオリティであると期待してみる
- 544 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:56:29 ]
- >>543
だが需要はあると思うぞ。俺も買った。
- 545 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 07:55:58 ]
- 原書で読んだよ。邦訳出たのか。神髄ってのは何か違う気が……。
各章サンプルはあるんだけどあるだけって感じなんで、初心者で 手を動かしながら理解したいって人は合わせて別のチュートリアル読んだ方がいいかも。
- 546 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 17:31:13 ]
- OpenGLでバナナの腹筋はできますか?
どこかからサンプルコードはダウンロードできないでしょうか?
- 547 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 17:37:40 ]
- そんな質問どこかで見たと思ったらこのスレの頭の方だった
できるけど、OpenGLのサンプルコードがあるかどうかは知らない
- 548 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:09:29 ]
- ろぼっとアームをバナナに置き換えれば
- 549 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:41:58 ]
- Cgとかのシェーダ言語のスレってないね
- 550 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:27:55 ]
- あったと思ったら違ったw
CGプログラムやれや、お前ら pc11.2ch.net/test/read.cgi/cg/1025138347/ 昔はあったんだけどね 落ちちゃったのかな
- 551 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:48:26 ]
- シェーダのスレならゲーム製作技術板だがあった
ついでに過疎ってるが pc11.2ch.net/test/read.cgi/gamedev/1005185166/l50 このスレもOpenGL3が出ないから話題が無いしCgとGLSLならここでもいいんじゃね? 今時DirectXでわざわざCgを使ってる奴がいるとも思えんし あとは3Dグラフィックスプログラミングスレとかかな
- 552 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 04:27:47 ]
- ndsやってるかたいらっさいますか
- 553 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 10:06:52 ]
- 仕事の質問なら帰れ
趣味でやってるなら聞くだけ聞いてやる
- 554 名前:デフォルトの名無しさん [2008/01/16(水) 12:50:17 ]
- >>549
いっぱい有りますやん。 gpuでこの板検索してみそ。
- 555 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 14:25:25 ]
- >>554
GPGPUのスレしか見つからないが グラフィックでのシェーダと使い方大分違くないか?
- 556 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:53:32 ]
- あっちで普通のシェーダ聞いたらすれ違い言われた
- 557 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 01:28:03 ]
- そりゃ当然
- 558 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:30:29 ]
- マウスで画面クリックしたら
3次元座標空間内の点が消える、という処理をしたいのですが 赤い○←クリック α値が0になって αテストで画面内から消滅。という流れでやろうと思っています。 ただ、どうにもクリックしたオブジェクトの選択方法・クリックによる色・αの変換方法がわからず どうにもわかりません。 参考サイトとかあったら教えてくださいませんか
- 559 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:53:02 ]
- 定期的に同じような質問が来るな。
αで消すよりポリゴンそのものの描画をカットしたほうが楽じゃないか? ポリゴン選択なら glRenderMode(GL_SELECT); gluPickMatrix あたりで検索するといいよ。
- 560 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 23:01:02 ]
- >>559
ありがとうございます。 そこらでググって見ましたがいまいち、クリックしたオブジェクトを、消すというのが どの時点で選択されているのかわからなく ttp://wiki.livedoor.jp/mikk_ni3_92/d/%a5%b5%a5%f3%a5%d7%a5%eb%a5%b3%a1%bc%a5%c9%3a%3aOpenGL ttp://son-son.sakura.ne.jp/programming/opengl_6.html こちらを参考にしました。 消すのに、描画をカットする方法やαを0にするのがどこをいじくってよいのやら 無数に飛んでくる玉をクリック・クリックで消すというゲームを想定してます。
- 561 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 01:42:23 ]
- それなら別にマウスピッキングなんかしないで、マウスポインタ座標と玉との距離で
処理すればいいんじゃない? 結構処理時間食うぞ、ピッキング。 他に意図があるなら別だけど。
- 562 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 03:20:46 ]
- 普通にやるならマウス座標とスクリーン座標に変換したオブジェクトのバウンディングスフィアとの衝突判定を
手前のオブジェクトから順に判定して行く感じかな もはやOpenGL関係ないけど
- 563 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 06:12:05 ]
- 床井さん復活おめ。
- 564 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 14:54:14 ]
- >>562
>もはやOpenGL関係ないけど それが普通だよ。OpenGLの仕事は基本的に描画のみ。衝突判定やピッキングは別でやるのが当たり前。 セレクションモードとかは「場合によっては使えなくもない」ってだけの仕組み。 初心者は、無理してOpenGL使うより、適当なシーングラフライブラリを使ったほうがいいと思うんだよなー。 でも敷居の低いシーングラフってなかなか無いんだよなー。
- 565 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 16:23:17 ]
- javaなら低レベルなJOGLか、高レベルなJava3Dっていう選択肢があるんだけどな。
と、JOGLをRhinoから遊んでる俺が言ってみる。
- 566 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 17:37:50 ]
- JOGLってなんでGL.glHogeHogeみたくプレフィクスだぶらせてるんだ。
メソッドのglとか定数のGL_とか、クラス名があるんだから不要じゃん? 入力面倒だよ……。
- 567 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 17:42:16 ]
- 定数の GL. は static import すればいい
メソッドのはメンドイね
- 568 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 02:43:39 ]
- 下らない質問なんですが、
戦場の絆みたいなゲームって、 blenderみたいなソフトでモデル(ガンダム)を作って、 その情報を取り込んでOpenGLでプログラミングして動かしているのでしょうか?
- 569 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 02:54:16 ]
- 商業なら独自形式にエクスポートしたりしない?
絆のハード構成は最近のPCと同じ(チップセットがAMDでVGAがGF7800)でOpenGL使ってるからCg使ってるかもしれないけど。
- 570 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 03:05:48 ]
- >>569
むむ、言ってることが難しくて分からないです。 自分が何でこんなこと思ったのかと言うと、 たとえばもうちょっと簡単な例で、同人ゲームとかで3Dな奴ありますよね。 でも、自分にはOpenGLであんな複雑な人の形を作るなんて、とっても大変だと思うんです。 それで、たとえば何かのCGソフト(blenderとか六角大王とか)で人間の形を作って、 その人間の形を出力して、OpenGLで取り込んでプログラミングして動かすのかなと思ったんです。 実際のところどうやって3Dゲームは人の形を動かしてるんでしょうか?
- 571 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 08:35:42 ]
- >>570
基本はあってる。 3DCGソフト(ゲームなら、3DSMax、Maya、XSIあたり)でモデリングして、アニメーション付けて、 それを独自形式で適当に吐いて、 プログラムでデータとして読み込む。 後は、それをOpenGLなり、DirectXなりで画面に出力する。
- 572 名前:デフォルトの名無しさん [2008/01/19(土) 09:05:08 ]
- >>571
なるほど! とてもよく分かる説明、ありがとうございます。 ちなみに、モデリングしてアニメーションつける人と OpenGLなりDirectXで動かす人は普通別なんですよね?
- 573 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 12:08:24 ]
- 普通は別だろう
別である必要はないけど 技術的につらいし作業量的にも無理あるよな
- 574 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 12:33:58 ]
- そこそこ以上の規模のゲームでは
前者はデザイナー、後者はプログラマーの仕事だよな
- 575 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 12:52:20 ]
- 今時の同人ソフトだってグラフィックデザイナとプログラマは別れてるんじゃないかな?
規模のでかいゲーム屋ならWebの募集要項の種類眺めるだけでも雰囲気つかめるんじゃないの>>572
- 576 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 16:55:18 ]
- 規模によるとしか言えない。1週間も3Dソフト触ればまずまずの絵は出てくるようになるよ。
ただゲームに適したポリーを吐くのは難しいときもある。
- 577 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:25:19 ]
- GLUTによる「手抜き」OpenGL入門読んだら、次に読むべきお勧めの本は何かありますか?
赤本より簡単なやつで。
- 578 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:30:35 ]
- >>577
続きという事なら、これはどうかな。俺もまだ読んでないけど。 GLUTによるOpenGL入門2 テクスチャマッピング www.kohgakusha.co.jp/books/detail/978-4-7775-1332-1
- 579 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:30:54 ]
- とりあえず自分で何か作ってみる、のがいいんじゃないかなぁ
太陽系の模型とか、三次元テトリスとか
- 580 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:55:33 ]
- 赤本は分厚いだけで難しくはないだろ。
- 581 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:37:44 ]
- OpenGLで3次元で人体を描画するとしたら
各関節を座標で与えて表示することは可能でしょうか? 現在は例として肩から肘まではxyz座標でそれぞれの軸に何度回転しているかで 描画しているのですが… よろしくお願いします
- 582 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:49:17 ]
- 座標から角度を計算すればいいだろ
- 583 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:17:40 ]
- すいません、質問させて下さい。
今、複数のポリゴンに動画を貼り付けるようなことをやっているのですが、 どうしても8fps位しか出ず、複数のポリゴンと複数の動画を描画すると、0.5fps位になって しまいます。なにか高速化のヒントだけでもいただけるとうれしいのですが… テスト時の動画は400*400、処理は大体以下のような感じです。 1、カメラの設定 2、変換座標の設定 3、テクスチャの生成(1つの名前をglTexSubImage2Dで使い回し) 4、ポリゴン描画 1に戻る
- 584 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:25:19 ]
- どこが遅いか調べればいいじゃないか。
エスパーは出張中だ。
- 585 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 08:06:43 ]
- >>583
動画のデコードが遅いだけじゃないだろうな 動画でなく同じサイズの静止画を毎フレームglTexSubImageで設定してみて 遅いかどうかを確認してみなよ
- 586 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:01:41 ]
- >>585
試したところ、無変形では静止画の方が速くなりました。 ところが、回転や移動をすると、なぜか静止画の方はフレームレートが 半分ぐらいにまで落ちたのに対し、動画の方は変わりませんでした。 これはデコード以外の別なところにもネックがあると考えた方がいいんでしょうか?
- 587 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:05:51 ]
- >>ところが、回転や移動をすると、なぜか静止画の方はフレームレートが
>>半分ぐらいにまで落ちた これはおかしいな。考えにくい。 プログラムうp。
- 588 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:31:42 ]
- >>587
ちょっといろいろ処理がからみついていて長くなっているのでうpは出来ませんが、モデルビューや プロジェクションの設定は動画と静止画の時は全く同じ処理で動いてます。 違うとしたら、動画から静止画を切り出すか、静止画をコピーするかの違いしかないのですが、 それは無変形の時に速度差が出てるので原因になってるわけ無いですし… 動画と静止画のサイズは一緒で、800*800ですが、サイズによっては高速に 動くようです。400*400では問題ありませんでした。
- 589 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:36:51 ]
- >> 587
と、今もう一度試したところ、どうやらゴミがついていたようで、それを取ったら ちゃんと問題なく速度を維持してました。 お騒がせしてすいません orz
- 590 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:36:55 ]
- 毎回すべてのデータを送りなおしているとか言って見る。
- 591 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:37:30 ]
- >>589
>>587 安価… orz
- 592 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 22:29:40 ]
- JOGLとJMFつかってJOGLに動画描画させたことあるが動画のデコードと動画の1フレーム毎にテクスチャオブジェクトに変換する処理に時間食ってるだけだったなぁ。
- 593 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 08:22:39 ]
- テクスチャデータ設定が遅いのはPixelBufferObjectでなんとかならんかな
PBO2つ作って現在デコードしてるフレームの書き込み用と テクスチャ設定用でダブルバッファリングするのが速い気がする
- 594 名前:デフォルトの名無しさん [2008/01/23(水) 22:13:25 ]
- >> 542
かめれす... 「OpenGLの神髄」買いました. 分かり易くってよいです.コメント参考になりました.ありがとです.
- 595 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:46:41 ]
- NicoAE開発頑張ってね
- 596 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:51:32 ]
- 今更だけど個人でコツコツと何年もかけてソフト作るなら
基本的にインターフェース仕様が変わらないGLは相性いいね GLそのものが衰退しないという前提はあるけど
- 597 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 18:18:40 ]
- NicoAEの人かっ!!!がんばれー
- 598 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 21:51:26 ]
- しかしOpenGL 3.0ではガラッと変わるようなことをどこかで見たような……
- 599 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 22:04:54 ]
- 3.0がでて今までのが動かなくなるわけじゃないんならいいんじゃね
- 600 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 02:08:55 ]
- 今までのはそのまま動く予定みたいだな
3.0は従来とは別のコンテキストを作るようになる 両方使ってもコンテキストが別なんで全く別に処理されるって寸法らしい あと3.0の描画を2.1以前のテクスチャとして使える拡張も用意される…かもしれない
- 601 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 16:46:14 ]
- 初心者です。
void display(void) { glClear(GL_COLOR_BUFFER_BIT); glFlush(); } void init(void) { glClearColor(0.0, 0.0, 1.0, 1.0); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutCreateWindow(argv[0]); glutDisplayFunc(display); init(); なのですが、 init関数で塗りつぶす色を指定しているのに、 その前のglutDisplayFunc(display)で描画をしています。 何故init関数で色を指定する前にglutDisplayFunc(display)を実行しても ウィンドウが塗りつぶされるのでしょうか? 逆なのではないのでしょうか?
- 602 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 17:21:35 ]
- glutDisplayFuncはコールバック関数を「登録」する関数です。
- 603 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 17:22:13 ]
- initよりdisplayが後に実行されてるからだよ。
- 604 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 17:23:53 ]
- glutなんとかかんとかFunc は、コールバック関数を登録しているだけだから。
実際に登録した関数が実行されるのは、例えば glutDisplayFunc なら画面の再描画時、 glutMouseFunc ならマウスがクリックされたとき等など。 どの命令でどのタイミングのコールバック関数を登録するかはマニュアルを参照すること。
- 605 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 17:23:55 ]
- なんですと?
登録する関数? じゃあ、glutMainLoopが描画してるんですか?
- 606 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 17:26:39 ]
- MainLoopは名前のとおり中でぐるぐる回ってる。
そのなかでイベントに応じてコールバック関数を呼び出してる。
- 607 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:00:56 ]
- OpenGLというよりコールバック関数の勉強した方がいいんじゃないか?
いまどき、コールバック関数ないのはHSPくらいだぞ。
- 608 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:39:54 ]
- んなこたーない
大量にある
- 609 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 02:39:21 ]
- >表示図形のサイズをビューポートの大きさにかかわらず一定にするには,
>glOrtho() で指定するの領域の大きさをビューポートの大きさに比例するように設定します. >例えばワールド座標系の座標軸が上記と同様に l, r, t, b, n, f で与えられており, >もともとのウィンドウの大きさが W×H, リサイズ後のウィンドウの大きさが w×h なら, >glOrtho(l * w / W, r * w / W, b * h / H, t * h / H, n, f) とします. >上のプログラムでは, ワールド座標系の2点 (-1, -1), (1, 1) を対角線とする矩形領域を >200×200 の大きさのウィンドウに表示した時の表示内容の大きさが常に保たれるよう設定しています. ここの意味が良くわかりません。 例えばW×H 200×200 (-1,-1) (1,1)をw×h 400×400にすると(-2,-2) (2,2)となって、 ウィンドウのリサイズに比例して表示画像も大きくなるような気がするのですが...
- 610 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 03:45:37 ]
- >>609
縮尺を一定にしたいという話なんだからそれで正しいだろ
- 611 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 08:15:08 ]
- GLUTを使って3Dアニメーションを作っているのですが、
現在表示している画面を画像ファイルに吐いてくれるような関数を探してます。 ありましたらぜひ教えてください。
- 612 名前:609 mailto:sage [2008/01/27(日) 09:37:39 ]
- >>610
やっぱり良くわからないです? ttp://upload.fam.cx/cgi-bin/img-box/a2g80127093410.jpg のようになって、表示される画像の大きさが ウィンドウをリサイズしたら比例しして大きくなりそうな気がするんですが。
- 613 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 10:00:19 ]
- >>612
考えてないでやってみるとわかる。
- 614 名前:609 mailto:sage [2008/01/27(日) 10:43:14 ]
- >>613
すいません。 考えないでやってみて不思議だから考えてるんですけれど... そんな公式暗記しろみたいな事いわれても
- 615 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:05:26 ]
- >表示図形のサイズをビューポートの大きさにかかわらず一定にする
この文章をどう理解するかという問題のような気がする
- 616 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:10:35 ]
- >>612
おまえが作ったその図を見る限り 「表示図形のサイズをビューポートの大きさにかかわらず一定にする」 がめでたく実現されているようだが、いったい何が問題なんだ?
- 617 名前:609 mailto:sage [2008/01/27(日) 11:41:21 ]
- >>615,616
すいません。自分の説明の仕方が悪かったみたいです。 ttp://upload.fam.cx/cgi-bin/img-box/7o080127113738.jpg の赤い丸のような状態になるんじゃないかなと思ってるんです。 だって、 「表示図形のサイズをビューポートの大きさにかかわらず一定にする」 というのは、ビューポートに表示される図形の割合がリサイズしても変わらない という意味ではないのでしょうか?
- 618 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 12:45:02 ]
- >>617
どこに「割合」なんて書いてあるんだよ。 サイズと言ったらサイズだろ。
- 619 名前:609 mailto:sage [2008/01/27(日) 13:00:54 ]
- わかった!
今やっと分かったっす。 自分の日本語読解能力な無かったんです。 ありがとうございました。
- 620 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:55:06 ]
- >>619
わかったことをわかりやすく図に示してくれ 俺も不思議になってしまった
|

|