【问题标题】:What kind of Vertex should I create for sprites?我应该为精灵创建什么样的顶点?
【发布时间】:2011-08-09 09:46:40
【问题描述】:

我正在使用 OpenGL 和 C 来创建 2D 渲染引擎。我正在学习 VBO 以及如何将它们用于非即时模式渲染。我一直在阅读:http://www.opengl.org/wiki/Vertex_Buffer_Object

本教程建议如下:

struct MyVertex
{
float x, y, z;        //Vertex
float nx, ny, nz;     //Normal
float s0, t0;         //Texcoord0
float s1, t1;         //Texcoord1
float s2, t2;         //Texcoord2
float padding[4];
};

我不需要法线值,我不确定单个顶点如何或为什么有三个纹理坐标。

我认为我只需要顶点 (XYZ) 和一个 Texcoord (s0, t0

【问题讨论】:

  • 您的目标是固定功能还是可编程硬件?

标签: c opengl sprite vbo vertex


【解决方案1】:

这只是一个例子;不要把这种顶点格式当作福音,甚至是建议。事实上,在任何严肃的应用程序中,都不会使用这么多的浮点数。

无论如何,如果您想删除这些属性,那很好。这取决于你。

至于为什么一个人可能需要 3 组纹理坐标,那是因为一个人有 3 组纹理映射到表面。这样做是有原因的,但实际上很少见。

此外,OpenGL 有一种不同的方式来命名其纹理坐标。 OpenGL 使用“ST”,而不是像大多数其他事情那样使用“UV”。

【讨论】:

  • 非常感谢您的解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-07
相关资源
最近更新 更多