Gawain: add v functions to immediate mode

Legacy OpenGL has a matching Vertex3fv for every Vertex3f, and so on. Add something similar to Gawain, just for a few common functions. Might add more as the need arises.
This commit is contained in:
Mike Erwin 2016-08-16 21:45:17 -04:00
parent b92d76000d
commit 6b34eed217
2 changed files with 13 additions and 0 deletions

View File

@ -72,12 +72,14 @@ void immAttrib3f(unsigned attrib_id, float x, float y, float z);
void immAttrib3ub(unsigned attrib_id, unsigned char r, unsigned char g, unsigned char b);
void immAttrib4ub(unsigned attrib_id, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
void immAttrib4ubv(unsigned attrib_id, const unsigned char data[4]);
void immEndVertex(void); // and move on to the next vertex
// provide 2D or 3D attribute value and end the current vertex, similar to glVertex:
void immVertex2f(unsigned attrib_id, float x, float y);
void immVertex3f(unsigned attrib_id, float x, float y, float z);
void immVertex3fv(unsigned attrib_id, const float data[3]);
// provide values that don't change for the entire draw call
void immUniform4f(const char* name, float x, float y, float z, float w);

View File

@ -616,6 +616,11 @@ void immAttrib4ub(unsigned attrib_id, unsigned char r, unsigned char g, unsigned
data[3] = a;
}
void immAttrib4ubv(unsigned attrib_id, const unsigned char data[4])
{
immAttrib4ub(attrib_id, data[0], data[1], data[2], data[3]);
}
void immEndVertex()
{
#if TRUST_NO_ONE
@ -664,6 +669,12 @@ void immVertex3f(unsigned attrib_id, float x, float y, float z)
immEndVertex();
}
void immVertex3fv(unsigned attrib_id, const float data[3])
{
immAttrib3f(attrib_id, data[0], data[1], data[2]);
immEndVertex();
}
void immUniform4f(const char* name, float x, float y, float z, float w)
{
int loc = glGetUniformLocation(imm.bound_program, name);