本サイトでは、アフィリエイト広告およびGoogleアドセンスを利用しています。

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. If
an OpenGL Shading Language vertex and/or geometry shader is active, then
the state set with the TransformFeedbackVaryingsNV() command determines
which attributes to record. If neither a vertex nor geometry shader is
active, the state set with the TransformFeedbackAttribsNV() command
determines which attributes to record.

なるほど、1つ疑問が解けた。
今までTransformFeedbackAttribsNVを実行していたが、
これは固定機能での描画時に使うもののようだ。
(VSもGSも存在しないときと書いてある)。

つまりGLSLでやるならば、TransformFeedbackVaryingsNVを使って設定することが必要ということ。

こちらで試してみる。
ネット探してのサンプルだけを頼りに試行錯誤していましたが、
本家ドキュメントもしっかり読まないとダメですね。反省。

■その他

昨日のGLchar*とint*の差違問題はどうやらNVIDIAからglext.hを持ってくると、int*となっている。
OpenGLのサイトから持ってくるとGLchar*となっている。

とりあえずNVIDIAのほうからヘッダ持ってくるとしよう。

OpenGLプログラミング
すらりんをフォローする
すらりん日記
タイトルとURLをコピーしました