1

我在 iPhone 上的 OpenGL ES2 中渲染 3D 对象,模型是从 .obj 文件加载的。以前渲染引擎是在 ES1 中实现的,我使用相同的结构,相同的元素缓冲区,一切都很好。
现在想迁移到ES2,但是在绘制模型的时候,好像绘制顶点的顺序不同,但是数组缓冲区和元素数组缓冲区是一样的。
这是我的顶点结构:

struct Vertex
{
    union { struct { float x, y, z; }; float position[3]; };
    union { struct { float nx, ny, nz; }; float normal[3]; };
    union { struct { float u, v; }; float uv0[2]; };
};

我的顶点着色器是正确的,因为我渲染了一个立方体,一切都很好。
这是结果的屏幕截图,使用 ES2 渲染:

在此处输入图像描述

4

0 回答 0