-1
画面に表示された四角形にテクスチャを追加しようとしていますが、すべてのコードを完了した後も正方形はまだ白です。私はテクスチャをロードした後に何かが欠けているかもしれないと思う。SOLを使用してOpenGlテクスチャを読み込むときにテクスチャが表示されない
これは私がテクスチャを作成するために使用するコードです:
void textureManager::createTexture(const char* fileName) {
GLuint textureID = SOIL_load_OGL_texture(fileName, SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_FLAG_INVERT_Y);
if (0 == textureID) {
cout << "error" << endl;
}
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textureID);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
}
そして、私はシェーダが
をコンパイルする前に、これは私の頂点とフラグメントシェーダで、頂点とインデックスバッファデータの後にこの関数を呼び出しますコード:
#version 430
in layout(location = 0) vec2 position;
in layout(location = 1) vec2 texCoord;
out vec2 vertex_texCoord;
void main()
{
gl_Position = vec4(position, 0.0, 1.0);
vertex_texCoord = texCoord;
}
#version 430
out vec4 fragmentColor;
in vec2 vertex_texCoord;
uniform sampler2d textureSampler;
void main()
{
fragmentColor = texture(textureSampler, vertex_texCoord);
}
誰かが私を助けることができますしてください
[mcve]で編集します。私たちが知っているすべてのために 'glUniform()'呼び出しが欠落している可能性があります。 – genpfault