我有一些顶点数据.位置,法线,纹理坐标.我可能从.obj文件或其他格式加载它.也许我正在画一个立方体.但是每个顶点数据都有自己的索引.我可以使用OpenGL/Direct3D渲染这个网格数据吗?
我的程序的目的是加载和显示每个面上具有相同纹理的简单立方体.但问题是输出不是很好(只有4个面被正确纹理化).我在纹理数组中尝试了很多坐标组合,但大多数情况下它更糟糕.是否可以使用glDrawElements函数正确设置纹理?
#define OFFSET_BUFFER(bytes) ((GLfloat *)NULL + bytes)
GLfloat vertices[] =
{
-1.0, -1.0, -1.0,
1.0, -1.0, -1.0,
1.0, 1.0, -1.0,
-1.0, 1.0, -1.0,
-1.0, -1.0, 1.0,
1.0, -1.0, 1.0,
1.0, 1.0, 1.0,
-1.0, 1.0, 1.0,
};
GLubyte indices[] =
{
0, 1, 2, 3,
4, 7, 6, 5,
0, 4, 5, 1,
3, 2, 6, 7,
0, 3, 7, 4,
1, 5, 6, 2
};
GLfloat textures[] =
{
0,0, 1,0, 1,1, 0,1,
0,1, 1,1, 1,0, 0,0,
/*//0,0, 1,0, 1,1, …Run Code Online (Sandbox Code Playgroud)