2006年12月18日 14:34
ちょっとはまったところを・・・('A`)
cgを使う場合、おまじないみたいにやっておかないといけないことが結構あります。
まず、cgCreateContext をする場合、必ずひとつは GL で描画できる状態(wglMakeCurrentを行った)の HGLRC が必要です。
・・・なくてもいい場合もあるんですけど、環境によってはうまくいかないことがあります。
また、同じように、その状態で cgGL 命令を必ず1回は通して置いてください。
・・・これもまたなくてもいい場合があるんですけど、僕の環境では次に使用した(ReleaseDC を行った後の状態で)cgGL関数でエラーが出ます('A`)
後は、テクスチャに描画する場合、glBindFramebufferEXT をしてから glFramebufferTexture2DEXT を使用してテクスチャをアタッチするわけですが、この後、必ず glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 )を行わないとだめです・・・。
しかも
とやらないとエラーが出る場合があります('A`)
うーん、、、思いっきり環境に依存しそうなエラーですけど。。
っていうか、いちいち GetDC → ReleaseDC をやらなくていいのかも。。
glut ではやってなかったし。
この辺、詳しく知ってる方がいらっしゃるのなら教えてほしいです。。
cgを使う場合、おまじないみたいにやっておかないといけないことが結構あります。
まず、cgCreateContext をする場合、必ずひとつは GL で描画できる状態(wglMakeCurrentを行った)の HGLRC が必要です。
・・・なくてもいい場合もあるんですけど、環境によってはうまくいかないことがあります。
また、同じように、その状態で cgGL 命令を必ず1回は通して置いてください。
・・・これもまたなくてもいい場合があるんですけど、僕の環境では次に使用した(ReleaseDC を行った後の状態で)cgGL関数でエラーが出ます('A`)
後は、テクスチャに描画する場合、glBindFramebufferEXT をしてから glFramebufferTexture2DEXT を使用してテクスチャをアタッチするわけですが、この後、必ず glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 )を行わないとだめです・・・。
しかも
GetDC
↓
wglMakeCurrent
↓
glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 )
↓
ReleaseDC
とやらないとエラーが出る場合があります('A`)
うーん、、、思いっきり環境に依存しそうなエラーですけど。。
っていうか、いちいち GetDC → ReleaseDC をやらなくていいのかも。。
glut ではやってなかったし。
この辺、詳しく知ってる方がいらっしゃるのなら教えてほしいです。。




最近のコメント