gpt4 book ai didi

c++ - 在 C++ 中使用 SOIL 在屏幕中加载图片不起作用

转载 作者:行者123 更新时间:2023-11-28 07:19:54 25 4
gpt4 key购买 nike

我尝试使用 SOIL 库在我绘制的网格下方加载图像;这是此功能的代码:

void ModelGL:: LoadTexture()
{
texture[0] = SOIL_load_OGL_texture("images/GolSa.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_INVERT_Y);

//if(texture[0] == 0)
//exit(1);


// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
//Bottom Face (true)
glTexCoord2f(1.0f, 1.0f); glVertex3f(1.0f, -1.0f, -1.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f( -1.0f, -1.0f, -1.0f);
glTexCoord2f(0.0f, 0.0f); glVertex3f( -1.0f, -1.0f, 1.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f(1.0f, -1.0f, 1.0f);
glEnd();

glDisable(GL_TEXTURE_2D);

}

但在输出中我没有看到图片;

最佳答案

glBindTexture(...) 之前或之后尝试 glActiveTexture(GL_TEXTURE0)

编辑:
由于您正在使用 glTexCoords*(...),因此您必须先使用 glEnable(GL_TEXTURE_2D) 启用它们,然后再使用它们。

这是一个纹理立方体的例子:
http://www.gamasutra.com/view/feature/131768/understanding_and_using_opengl_.php?print=1
阅读第一次尝试纹理化

部分

关于c++ - 在 C++ 中使用 SOIL 在屏幕中加载图片不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19658866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com