首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将纹理应用于glutSolidCube

如何将纹理应用于glutSolidCube
EN

Stack Overflow用户
提问于 2008-11-29 02:09:44
回答 3查看 44K关注 0票数 16

我可以找到关于将纹理映射到多边形、指定顶点等的教程,但是没有关于如何将纹理应用到使用glut (glutSolidCube)绘制的立方体(或其他东西)的教程。

我正在做一些类似的事情:

代码语言:javascript
运行
复制
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, decal);
glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, repeat);
glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, repeat);
glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, nearest);
glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, nearest);

glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, 4, myImageWidth, myImageHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid *)myImage);

//...

glEnable(GL_TEXTURE_2D);

//now draw the cube
glutSolidCube(N);

这样做,我得到了纹理应用于立方体,但整个立方体获得了纹理中第一个字节的颜色!

使用glutSolidCube时,是否可以将纹理映射到实体立方体(和其他实体)?

EN

Stack Overflow用户

发布于 2011-02-16 08:51:49

实际上有一个解决方案。

您可以使用生成纹理坐标,如下所示

代码语言:javascript
运行
复制
    glEnable(GL_TEXTURE_GEN_S); //enable texture coordinate generation
    glEnable(GL_TEXTURE_GEN_T);
    glBindTexture(GL_TEXTURE_2D, theTexture[2]);
    glutSolidCube(2);
    glDisable(GL_TEXTURE_GEN_S); //enable texture coordinate generation
    glDisable(GL_TEXTURE_GEN_T);
票数 16
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/327043

复制
相关文章

相似问题

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