2009-01-01から1ヶ月間の記事一覧

OpenGL Shading Language メモ

GLSL の処理の流れ 頂点データが入力される [Vertex Shader] Clipping 点や線、面、あるいはビットマップのラスタ化 [Fragment Shader] Antialiasing シザーテスト、アルファテスト、デプステスト、カラー論理オペレーションなどが、個々のフラグメントに対…

OpenGL Occlusion Queries

あるオブジェクトが画面内に描写されたか、そうでないかの判定には Occlusion Queries を使います なお、クエリー内に入る数は、デプステストを通過するとインクリメントします。もし、デプステストを通過し値がインクリメントされたとしても、後に前のオブ…

OpenGL Pipeline

OpenGLの描画命令はハードウェアが実行できる命令へと変換されますが、その変換された命令はすぐにハードウェアへ転送さず、ある程度の命令の量がバッファにたまってから転送されます。 強制的に、命令をハードウェアに転送させる命令として、関数glFlushが…

OpenGL Imaging

OpenGL の画像処理は次のような順で行われます Image data input Color lookup Convolutions Post-convolution color lookup Color matrix operations Post-color matrix color lookup Histogram calculations Minmax calculations Convolution を使うと、エ…

OpenGL メモ Color, Materials, and Lighting

glColor*(...)で指定した色を、プリミティブの材質の色とするには、以下のようにします。 glEnable(GL_COLOR_MATERIAL); //glColorで指定した色が、材質の Ambient, Biffuse の色となる glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); ... glColor3f(0…

OpenGL メモ

glViewport(GLint x, GLint y, GLsizei width, GLsizei height) の x,y は左下を原点とします glPushAttrib(GL_TEXTURE_BIT | GL_LIGHTING_BIT) で現在の設定をスタックに保存します。逆に、glPopAttrib( ... ) で設定を取り出します 方向に関係なく、ポリゴ…

マックっぽいスクリーンセーバーか?

最近、 OpenGL の本は、本屋に行ってもあんまり置いてないよなぁ。 あるとしても端っこの方に置いてあるよなぁ。 人気ないのかな。 マックっぽいスクリーンセーバーを作ろうと思ったら、 結局、独自路線になってしまった。 まあ、でもきれいに表示されるから…