我有一些关于在OpenGL中为对象添加颜色和纹理的问题。我有一个小场景。在这个场景中,我有两个盒子。
问题:
假设我想要一个纯色的盒子和另一个带有纹理的盒子。
在我画箱子之前。 1我做glcolor
并设置我的立方体的颜色。只要我没有为下一个立方体绑定纹理,这项工作就很好。当我绑定纹理时,我的立方体最终都具有相同的纹理。我如何才能很好地发挥这个作用?我可以在同一个“场景”中同时使用glColor和绑定纹理吗?
看起来纹理不会拉伸以适应盒子的整个侧面。这是因为我弄乱了纹理坐标还是某个地方的设置?
假设我想在平面上多次重复纹理。我该怎么做呢?
答案 0 :(得分:0)
1 您需要首先绑定该纹理,绘制立方体,然后用glBindTexture(..., 0)
取消绑定纹理,然后绘制其他立方体
还要注意将纹理立方体的颜色设置为白色,这样就可以看到立方体的所有颜色。
2 您可能没有正确设置纹理坐标,请注意您需要正确发送多边形
实施例
glBegin(GL_TRIANGLES);
<texture coordinates for point 1 of polygon 1>
<coordinates for point 1 of polygon 1>
<texture coordinates for point 2 of polygon 1>
<coordinates for point 2 of polygon 1>
<texture coordinates for point 3 of polygon 1>
<coordinates for point 3 of polygon 1>
<texture coordinates for point 1 of polygon 2>
<coordinates for point 1 of polygon 2>
...
3 只需设置为texturecoordinates一个大于1.0的值,并将纹理模式设置为表示