作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将地球纹理添加到 glutSolidSphere。问题是我无法弄清楚如何使纹理在整个球体上拉伸(stretch)并且仍然能够旋转。
我们正在启用纹理。
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glEnable(GL_TEXTURE_2D);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
//drawcode...
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
最佳答案
glutSolidSphere
不提供正确的纹理坐标,并且 OpenGL 内置的纹理生成只允许从顶点位置到顶点纹理坐标的线性映射,这本质上意味着您不能使用它们来纹理具有 2 平面、有界纹理的 3 球体(有关数学解释,请查看流形拓扑和映射理论的主题)。
所以,你可以做什么?有许多可能的解决方案:
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP);
glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_NORMAL_MAP);
关于opengl - 纹理化 glutSolidSphere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61563227/
我使用 twill 在受登录表单保护的网站上导航。 from twill.commands import * go('http://www.example.com/login/index.php')
我是一名优秀的程序员,十分优秀!