OpenGL OpenGLでVRAM情報を得る – AMD編 最近気づいたけど、AMD(ATI)用のエクステンションで GL_ATI_meminfo というものがある。 これを用いれば、OpenGL環境のアプリでもどのくらいVRAMを使っているかがわかる。使い方は簡単で、以下のようにして値をとってくる。 int value = { 0 }; glGetIntegerv( GL_VBO_FREE_MEMORY_ATI, ... 2010.07.29 OpenGLプログラミング
OpenGL OpenGLでのストリームアウト その4 今までのものは GL_transform_feedback_NVのやつでやっていた。 しかし、今回AMDのRadeon 5450環境を手に入れられたのでこちらについても ちょっと試してみた。GL_transform_feedback_EXT をサポートしているようなのでこちらを使うことになりそう。 ■APIの置き換え(その1) NVIDIA AMD glBe... 2010.07.27 OpenGLプログラミング
OpenGL OpenGLでのストリームアウト その3 ようやく動作自体は出来たのでメモしておきたいと思います。 サンプルプログラムはまた後日に。 ■ 準備 GLSLシェーダーをコンパイル シェーダープログラムをリンク処理 glTransformFeedbackVaryingsNV でストリームアウトとして書き込むデータの設定 格納先のバッファオブジェクトを生成 ■ 描画フェーズ ラスタライズ処理の無効化(GL_... 2010.07.18 OpenGLプログラミング
OpenGL OpenGLでのストリームアウト その2 ■GL_NV_transformfeedbackのspecテキスト こう書いてあった。 Two methods exist to specify which transformed vertex attributes are streamed to one, or more, buffer objects in transform feedback mode... 2010.07.17 OpenGLプログラミング
OpenGL OpenGLでのストリームアウト その1 OpenGLを用いてもDirectX10のストリームアウト相当の機能を使うことが出来ます。この機能のためにまず最初に拡張されたのが GL_NV_transform_feedback というエクステンションです。 最近ではこれがEXTになったようですが、単純にNVから格が上がっただけとはいえないようです。 APIが変更されているからです。 EXT版で試行錯誤し... 2010.07.16 OpenGLプログラミング
DirectX Scissorによる挙動違い(DX vs GL) DirectXとOpenGLとで、シザーの設定時のクリア挙動が異なるようです。座標系がそれぞれ異なるってのもあるけど、 そこは上下を逆転して対処したとしても、それだけでは互換動作は不可能。 フレームバッファの縦横と、ビューポートの縦横と、シザー設定の縦横 それぞれ違う設定にしてみて、双方のAPIで実行してみるとわかりやすいかと。 DirectXではビューポー... 2010.07.10 DirectXOpenGLプログラミング
OpenGL GLSLスキニング ■GLSLでスキニングシェーダー書いてみた わりとGLSLでスキニングシェーダーをやったという記事を見かけないので ここで書いてみます。 大変だった点はGLSLでは、Cのようなキャストを受け付けない点。 そのためブレンドインデックスをどうやってint型にするかで悩みました。 実際には、下記のソースコードに示すように int( )で囲ってやる程度で済む話なので... 2010.06.28 OpenGLプログラミング