Game Development Reference
In-Depth Information
// clockwise winding order
unsigned short cw_indices[] = { 0, 1, 2 };
// counter clockwise winding order
unsigned short ccw_indices[] = { 0, 2, 1 };
Immediate mode:
glBegin(GL_TRIANGLES);
glVertex3f(0.f, 0.f, 0.f);
glVertex3f(0.f, 1.f, 0.f);
glVertex3f(1.f, 0.f, 0.f);
glEnd();
Counter-Clockwise
As with clockwise culling, counter-clockwise will cull any back facing vertices defined in
counter clockwise order.
Figure
36
- Counter-clockwise winding order of a triangle's vertices.
Using a vertex buffer:
vertex_type vertices[] = {
{0,0,0},
{1,0,0},
{0,1,0} }; // clockwise winding order
Using indices:
// clockwise winding order
unsigned short cw_indices[] = { 0, 2, 1 };
// counter clockwise winding order
unsigned short ccw_indices[] = { 0, 1, 2 };
Immediate mode: