image2Dとsampler2Dと同じテクスチャを使用することは合法ですか?OpenGL 4.2では、画像と同じテクスチャをサンプラとして使用します。
現在、GLSLシェーダ内でimageLoad()およびimageStore()を使用して、image2Dから書き込みおよび読み込みを行います。しかし、私はテクスチャのいくつかのミップマップレベルからも(書き込みではなく)読みたいですが、これはimageLoadではサポートされていません(それぞれのmipMapレベルを個別のimage2Dとしてバインドする必要がありますが、かなり限られている)。ですから私の質問は、imageLoad()用のimage2Dとして使用するのと同じテクスチャをtextureLod()で使用するsampler2Dとしても使用できますか?
現在、ミップマップはまったく使用していません。私はimage2Dとして使用するのと同じテクスチャをsampler2Dとして使用しようとしています(imageLoadとimageSaveを使用する前に、今はtexelFetchでimageLoadを再開したい)。しかし、サンプラー上でtexelFetchを使用すると(前のimageLoadと同じ座標で)、私はただ黒くなります。 – user1282931
@ user1282931:「それは問題になるだろう」のどの部分を理解できませんでしたか?私はあなたのためにそれを綴りましょう:あなたは*これをすることはできません。それは実際に動作するので(単にあなたが適切なメモリの壁などを持っていると仮定して) 'imageLoad'を使用してください。 1回のパスで –
、私は決して同じテクセルから読み書きします。私はいつも特定のピクセルを読んだり、書き込んだりするだけです – user1282931