タグ

openGLに関するxnightsのブックマーク (4)

  • OpenGL04_視野のセッティング

    続いて、視野のセッティングをおこなう。視野を考えるとき、どこから、どこを、どんなレンズで除いているのかなどを設定するが、設定がうまくいかないと何も表示されなくなってしまう。実行したのに何も表示されない場合は一番に疑うべき項目といえる。 混乱する原因は主に以下のとおりである。 ・この種のコマンドが複数存在し、それぞれどんな働きをするのかが分からない。 ・コマンドの実行順が決まっていることを知らない。(実行順が異なると、おかしくなる) それをふまえ、ここでは、サンプルコードを書く前に流れとコマンドを解説する。 OpenGLでは4x4行列を構成点座標に乗算することで変換処理をおこなっている。前述のように、物体の動作を表現するには、物体自体の変化とカメラの変化が考えられるが、OpenGLもそれぞれに行列をもっている。 うれしいことに、行列の形で値を扱わなくても、十分操作できるコマンドが用

  • マウスによる選択のしくみ

    OpenGLで表示されているシーンのオブジェクトをマウスを使って選択する処理は、OpenGLに用意されている選択バッファ(Selection Buffer)を使って実現できるが、使い方が少々ややこしく、ちゃんと動くようになるまでにかなり梃子摺ったのでここにメモを残しておく。 マウスによる選択のしくみ マウスを使って、3次元空間に描画されたものを選択するという動作は、だいたい次のように実現されていると理解している。(間違っているかもしれない) 画面に表示はしないものの、基的には3次元空間をレンダリングする。その際に現在のマウスポインタのある場所を中心として、小さな覗き穴を作る。ここに見えているものが選択されるオブジェクトということになる。どのオブジェクトが選択されたかは、描画する一連の図形に名前をつけておくことで、複雑な形でも特定のオブジェクトが描画されたかどうかが分かる。 この覗き穴を使

  • sonson@Picture&Software - [OpenGL] リアルタイム・影生成

    影付けの原理 ここでは行列計算で影をつけてしまいます.この行列に関することはこちらのセクションを参考にしてください. 影は概念的には下図のように発生することになります.実世界では,光の回折,反射光などがあるので,こんな簡単なものではありません.そういった複雑な要素を実現するためにはレイトレーシングなどの技法を使う必要があります. 図中の緑色のポリゴンを影をつけたいポリゴンとすると,影であるポリゴンは,下の灰色のポリゴンとなり,そのポリゴンは以下の用に表現することができます. // 影をつけたいオブジェクトの描画 DrawObject(); // オブジェクトの影の描画 glPushMatrix(); glMultiMatrix(shadowMatrix); DrawObject(); glPopMatrix(); // 床の描画 DrawFloor(); このときshadowMatri

  • OpenGL with C#

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1