首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中使用SOIL加载屏幕中的图片不起作用

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

Stack Overflow用户
提问于 2013-10-29 20:56:49
回答 1查看 237关注 0票数 0

使用SOIL库,我试图在我绘制的Grid下面加载一个图像;这是此函数的代码:

代码语言:javascript
复制
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);

}

但在输出中,我看不到图片;

EN

回答 1

Stack Overflow用户

发布于 2013-10-29 21:20:24

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

编辑:

由于您正在使用glTexCoords*(...),因此在使用它们之前,必须先用glEnable(GL_TEXTURE_2D)启用它们。

下面是一个带纹理的立方体的示例:

http://www.gamasutra.com/view/feature/131768/understanding_and_using_opengl_.php?print=1

请阅读A First Try at Texturing部分

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19658866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档