Какой тип вершины я должен создать для спрайтов? - PullRequest
1 голос
/ 09 августа 2011

Я использую 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];
};

Мне не нужны значения Normal, и я не уверен, как или почему существуют три координаты текстурыдля одной вершины.

Я думаю, все, что мне нужно, это вершина (XYZ) и одна Texcoord (s0, t0 <- все еще не знаю, что они означают). </p>

1 Ответ

1 голос
/ 09 августа 2011

Это был не более чем пример;не принимайте этот формат вершины как евангелие или даже предложение.Действительно, в любом серьезном приложении нельзя использовать так много поплавков.

В любом случае, если вы хотите удалить эти атрибуты, это нормально.Это зависит от вас.

Относительно того, почему может потребоваться 3 набора координат текстуры, это будет потому, что у одного есть три набора отображения текстуры на поверхности.Есть причины для подобных вещей, но на практике это довольно редко.

Кроме того, в OpenGL есть другой способ именования координат текстуры.Вместо того, чтобы "UV", как это делают большинство других вещей, OpenGL использует "ST".

...