2017-12-31 207 views
0

FBOにテクスチャをレンダリングして、そのテクスチャに表示する前にエフェクトを適用できるようにしたいと考えました。私はFBOアレイにアクセスしてそれを変更する方法を理解できません。何か案が?お時間をいただきありがとうございますFBOのバイトへのアクセス

+0

あなたはそれを詳しく説明できますか?シェーダでは不十分です。 –

+0

FBOは配列ではありません。これはさまざまなレンダリングターゲットの状態コンテナに過ぎず、レンダーターゲット自体は配列でもなく、データ配列は2D配列よりはるかに複雑(特に最適化)されています。 – derhass

+0

@derhass表示デバイス(モニタ)に送信される最終的な画像は、2D配列だけではないことを意味しますか?それはどうしましたか? – Zebrafish

答えて

1

エフェクトを追加することで何を意味するか教えてください。 fboの基本的な考え方は、すべてをそのfboにレンダリングし、そのfboをテクスチャに適用することです。そのフレームバッファをテクスチャにバインドする方法を知りたい場合は、空のデータセットを持つテクスチャを簡単に作成して設定し、glTexImage2Dを設定します。次に、フレームバッファオブジェクトにバインドされたglFramebufferTexture2Dを呼び出し、テクスチャを引数の1つとして渡します。フレームバッファにレンダリングするには、glBindFramebufferを呼び出します。フレームバッファテクスチャをバインドするには、他のテクスチャと同様にglBindTextureを呼び出します。

+0

申し訳ありませんが私は十分な明確さwasnt。私は水や木々や植物などの反射を含むシーンをレンダリングしています。植物のいくつかは非常に低いディテール(低ポリ)です。私は反射に波及効果を適用したいが、頂点数が低いため、その効果は醜いように見える。最初にfboにレンダリングすることで、個々のピクセルにアクセスできるようになり、(頂点ではなく最終的にレンダリングされたテクスチャを操作することによって)はるかに良い波紋効果を適用できるようになりました。 – carpman

関連する問題