以前のプロジェクトを新しい Qt5 OpenGL クラスに移植しようとしています。FBO を使用してテクスチャにレンダリングしたいと考えています。前のコードでは、FBO オンデマンドにアタッチした複数のテクスチャを利用しました。そのため、特定のテクスチャ オブジェクトをアタッチしてレンダリングを実行し、別のテクスチャをアタッチして別の操作を実行し、出力を新しくアタッチされたテクスチャにレンダリングする、などを行います。
Qt5 OpenGL クラスを使用してこれを行うにはどうすればよいか疑問に思っていました。たとえば、特定のQOpenGLTexture
オブジェクトをにアタッチしQOpenGLFrameBufferObject
てレンダリングできるようにする方法がわかりません。texture()
方法と方法があることがわかりますtakeTexture()
。しかし、どちらもテクスチャ ID を返すだけです。また、アクティブなテクスチャ ユニットを変更するにはどうすればよいですか? たとえば、シェーダー プログラムで 2 つのテクスチャからサンプリングしたいとします。そのため、2 つのテクスチャを異なるテクスチャ ユニットにバインドする必要があります。
明確にするために、私が新しい API で抱えている主な問題は、オブジェクトQOpenGLFrameBufferObject
を返すメソッドが見当たらないことです。メソッドとandメソッドQOpenGLTexture
しかありません。from から返されたを使用して を構築できたと思います。しかし、それが効率的かどうかはわかりません。toImage()
texture()
takeTexture()
QOpenGLTexture
QImage
toImage()
texture()
とについてtakeTexture()
は、新しいクラスを使用してそれらの戻り値をどのように使用できるかわかりません。