質問

私は、OpenGLのGLSLます。

「古い」からポートへのについてのすべての私のレンダリングをしています 今私はちょうどテクスチャを変更するためにbindTextureを使用GLので、「古い」に、異なるテクスチャとメッシュを持っています。私は推測する、私のすべては最初のテクスチャをレンダリングしているように見えることから、私はまだこれを実行する必要がありますが、何かが欠落している。

uniform sampler2D tex;
void main() {
    gl_FragColor = tex2D(tex, gl_TexCoord[0].st);
}

「テックスは、」私はこのようなGLSLに入れたテクスチャの名前です。

int loc = glGetUniformLocationARB(id, "tex");
glUniform1iARB(loc, 0);

注:私は、マルチテクスチャの話ではないのです! : - )

役に立ちましたか?

解決

あなたはsampler2Dにテクスチャユニット0にバインドされているが、あなたはよくとしてテクスチャユニットにテクスチャをバインドする必要があります。ようにすることは、単にglBindTexture呼び出しがあると思います。

他のヒント

は、私はだけでなく、サンプラーに使用するテクスチャユニットGLSLを指示する方法で混乱していました。 私は私の問題のために時間を検索し、私はこのトピックは非常によく、そこからすべての文献で説明していないと思うので、それを解決することができませんでした。

ここで貴重な、について説明です(「テクスチャでGLSLを使用する」の部分を参照してください) http://nehe.gamedev.net/data/articles/article.asp ?記事= 21

多分このことができます誰か!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top