如何绑定纹理openGL的一部分
how to bind part of the texture opengl
我希望在立方体上绑定纹理(使用glutsolidcube而不是glvertex创建立方体),但整个纹理是绑定的。在图像文件中,我将所有纹理都放在一起(为了速度,并且因为老师的要求),我只希望一部分纹理被绑定。我怎样才能做到这一点????
纹理是纹理绑定的单位。如果您想"切出"纹理的一部分,则可以通过调整使用的纹理坐标来做到这一点。
而不是使用0..1的整个范围,而是使用匹配纹理内部位置的较小值。
您想要做的是不可能的,因为glutSolidCube
不会生成纹理坐标。
但是,您还将注意到该问题的答案表明您可以使用以下内容使OpenGL生成纹理坐标,以便您在glutSolidCube
:
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
此处提供了有关使用OpenGL自动纹理坐标生成的更多信息。但是,我想指出的是,这似乎是在即时模式OpenGL的日子中出现的,这是不推荐使用的。另外,不再维护插口,但是freeglut是。
总而言之,您最好使用glVertex
调用并指定自己的特定纹理坐标,如Undind所建议的那样。您可以尝试OpenGL的纹理坐标生成,但是它可能太严格了,无法处理所需的东西。
相关文章:
- OpenGL大的3D纹理(>2GB)非常慢
- OpenGL将纹理四边形渲染为(0,0)
- OpenGL 4.3 错误地将第 4 个纹理坐标映射到与第 3 个纹理坐标相同的位置
- Qt OpenGL 渲染到纹理性能问题
- 使用 C++在 OpenGL 中对 3D 多边形进行纹理处理
- 无法获取要在 OpenGL ES2 中显示的 RGB 纹理
- 在 OpenGL 中加载纹理C++
- 添加新纹理OpenGL时,模型消失了
- 初始化多个纹理 OpenGL、SDL C++ 时出现问题
- 将多个纹理 OpenGL 绑定到不同的四边形
- 如何加载纹理Opengl
- 读写一个纹理(OpenGL)
- 渲染时加载纹理 (OpenGL)
- 如何绑定纹理openGL的一部分
- 将两个图像堆栈的非电源加载到 3D 纹理 OpenGL C++
- 我的精灵在纹理opengl之间切换
- 使用深度纹理OpenGL/GLSL的深度遮挡(3.3/330)
- 加载多纹理opengl 2.0
- 将位置写入纹理OpenGL/GLSL
- 为纹理OpenGL C++加载多个.bmp文件时出现问题