私は openGL を使用しており、シーンをテクスチャにレンダリングし、そのテクスチャを保存して、フラグメント シェーダに渡して別のものをレンダリングするために使用できるようにします。
glGenTexture() を使用してテクスチャを作成し、それをフレーム バッファーにアタッチしてから、glBindFrameBuffer() でフレーム バッファーをレンダリングしました。次に、フレームバッファを 0 に戻して画面にレンダリングし直しましたが、スタックしてしまいました。
私のフラグメント シェーダーには、テクスチャを格納するために使用したい均一なサンプラー 2D 'myTexture' があります。どうすればこれを行うことができますか?
オンラインで見つけた .jpg/png 画像の場合、次のコードを使用しました。
glUseProgram(Shader->GetProgramID());
GLint ID = glGetUniformLocation(
Shader->GetProgramID(), "Map");
glUniform1i(ID, 0);
glActiveTexture(GL_TEXTURE0);
MapImage->Bind();
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
ただし、このコードは、作成した glTexture では機能しません。特に、同じ方法で myTexture->Bind() を呼び出すことはできません。