#include <m_vector.h>
Has additional fields compared to the other vectors to help us track of different vertex sizes, and whether we need to clean columns out because they contain non-(0,0,0,1) values.
The start field is used to reserve data for copied vertices at the end of _mesa_transform_vb, and avoids the need for a multiplication in the transformation routines.
Data Fields | |
GLfloat(* | data )[4] |
may be malloc'd or point to client data | |
GLfloat * | start |
points somewhere inside of <data> | |
GLuint | count |
size of the vector (in elements) | |
GLuint | stride |
stride from one element to the next (in bytes) | |
GLuint | size |
2-4 for vertices and 1-4 for texcoords | |
GLbitfield | flags |
bitmask of VEC_x flags | |
void * | storage |
self-allocated storage | |
GLuint | storage_count |
storage size in elements |
GLfloat(* GLvector4f::data)[4] |
may be malloc'd or point to client data
GLfloat* GLvector4f::start |
points somewhere inside of <data>
GLuint GLvector4f::count |
size of the vector (in elements)
GLuint GLvector4f::stride |
stride from one element to the next (in bytes)
GLuint GLvector4f::size |
2-4 for vertices and 1-4 for texcoords
GLbitfield GLvector4f::flags |
bitmask of VEC_x flags
void* GLvector4f::storage |
self-allocated storage
GLuint GLvector4f::storage_count |
storage size in elements