FramebufferObject挙動違い -その2-

AMD製グラフィックボード時でも正常動作できる組み合わせを発見しました。テクスチャの生成時がポイントです。

解決方法(AMDオンリー)

これを従来通りにFramebufferObjectにデプス用としてアタッチしてあげると、
正常に動作することができました。

問題点

このコード、AMD製カード搭載時はうまくいくのですが、
NVIDIA製カード搭載時にはうまく動作しないのです。

解決方法

前述の方法を発展させて、NVIDIA/AMD双方で動く設定を以下に示します。
やはりテクスチャの作成がポイントです。

このコードを見て、「あぁNVIDIAはデプス D24以上しか対応してなかった」と思い出しました。
D16とかNVIDIAでは使えないんですよね。

懸念点

この方法だとStencil使いたくなったときに、もう1枚テクスチャが必要に。
さてさて、どうするか。
packed depth stencilの拡張が何かあったけど、これがテクスチャで使えたりしないだろうか。
要調査と言うことで。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする