我正在制作一个天空盒(在它的 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}
};
我根据 vertices 数组定义了我的三角形(四边形在 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 平面图像,其中我的纹理以一种奇怪的方式重复。绝对没有立方体
绘图部分正在工作,我认为我的问题是基于纹理坐标,对吗?我做错了什么?