【发布时间】:2012-09-19 12:29:04
【问题描述】:
我正在制作一个天空盒(在它的 6 个面上每个面都有不同纹理的立方体),这就是我所做的:
我定义了我的顶点:
const float vertices[8u][3u] = {
{-1.0f, -1.0f, -1.0f},
{-1.0f, -1.0f, 1.0f},
{-1.0f, 1.0f, -1.0f},
{-1.0f, 1.0f, 1.0f},
{1.0f, -1.0f, -1.0f},
{1.0f, -1.0f, 1.0f},
{1.0f, 1.0f, -1.0f},
{1.0f, 1.0f, 1.0f}
};
我根据顶点数组定义我的三角形(四边形在 ES 版本中不可用):
const unsigned short elements[8u][3u] = {
{4u, 6u, 2u},
{4u, 0u, 2u},
{6u, 3u, 2u},
{6u, 3u, 7u},
{7u, 1u, 5u},
{7u, 1u, 3u},
{5u, 0u, 4u},
{5u, 0u, 1u}
};
据我所知,我现在需要定义纹理坐标,我尝试了很多不同的方法,现在看起来像这样:
float texCoords[4u][2u] = {
{0.0f, 0.0f},
{1.0f, 0.0f},
{1.0f, 1.0f},
{0.0f, 1.0f}
};
编辑:天空盒绝对不会显示自己,我只看到一个 2d 平面图像,其中我的纹理以一种奇怪的方式重复。绝对没有立方体
绘图部分正在工作,我认为我的问题是基于纹理坐标,对吗?我做错了什么?
【问题讨论】:
-
您的问题到底是什么?你写了那幅画作品,但不是,什么不起作用。
-
我的意思是绘图功能应该可以工作。我的问题是显示器绝对不是一个立方体,而是一个 2D 平面图像,我的纹理在其上随机重复
-
好吧,没有截图,也没有显示功能的源代码,我只能做比推测更糟糕的事情。我需要您提供更多信息,以便提供有用的帮助。
标签: opengl-es textures texture-mapping