TINYGL: Implement tglDrawArrays.
This commit is contained in:
parent
0b823ac2e9
commit
500803fc38
3 changed files with 23 additions and 0 deletions
|
@ -77,6 +77,18 @@ void glopArrayElement(GLContext *c, GLParam *param) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void glopDrawArrays(GLContext *c, GLParam *p) {
|
||||||
|
GLParam array_element[2];
|
||||||
|
GLParam begin[2];
|
||||||
|
begin[1].i = p[1].i;
|
||||||
|
glopBegin(c, begin);
|
||||||
|
for (int i=0; i < p[3].i; i++) {
|
||||||
|
array_element[1].i = p[2].i + i;
|
||||||
|
glopArrayElement(c, array_element);
|
||||||
|
}
|
||||||
|
glopEnd(c, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
void glopEnableClientState(GLContext *c, GLParam *p) {
|
void glopEnableClientState(GLContext *c, GLParam *p) {
|
||||||
c->client_states |= p[1].i;
|
c->client_states |= p[1].i;
|
||||||
}
|
}
|
||||||
|
@ -117,6 +129,15 @@ void tglArrayElement(TGLint i) {
|
||||||
gl_add_op(p);
|
gl_add_op(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tglDrawArrays(TGLenum mode, TGLint first, TGLsizei count) {
|
||||||
|
TinyGL::GLParam p[4];
|
||||||
|
p[0].op = TinyGL::OP_DrawArrays;
|
||||||
|
p[1].i = mode;
|
||||||
|
p[2].i = first;
|
||||||
|
p[3].i = count;
|
||||||
|
gl_add_op(p);
|
||||||
|
}
|
||||||
|
|
||||||
void tglEnableClientState(TGLenum array) {
|
void tglEnableClientState(TGLenum array) {
|
||||||
TinyGL::GLParam p[2];
|
TinyGL::GLParam p[2];
|
||||||
p[0].op = TinyGL::OP_EnableClientState;
|
p[0].op = TinyGL::OP_EnableClientState;
|
||||||
|
|
|
@ -836,6 +836,7 @@ void tglSetShadowColor(unsigned char r, unsigned char g, unsigned char b);
|
||||||
void tglEnableClientState(TGLenum array);
|
void tglEnableClientState(TGLenum array);
|
||||||
void tglDisableClientState(TGLenum array);
|
void tglDisableClientState(TGLenum array);
|
||||||
void tglArrayElement(TGLint i);
|
void tglArrayElement(TGLint i);
|
||||||
|
void tglDrawArrays(TGLenum mode, TGLint first, TGLsizei count);
|
||||||
void tglVertexPointer(TGLint size, TGLenum type, TGLsizei stride, const TGLvoid *pointer);
|
void tglVertexPointer(TGLint size, TGLenum type, TGLsizei stride, const TGLvoid *pointer);
|
||||||
void tglColorPointer(TGLint size, TGLenum type, TGLsizei stride, const TGLvoid *pointer);
|
void tglColorPointer(TGLint size, TGLenum type, TGLsizei stride, const TGLvoid *pointer);
|
||||||
void tglNormalPointer(TGLenum type, TGLsizei stride, const TGLvoid *pointer);
|
void tglNormalPointer(TGLenum type, TGLsizei stride, const TGLvoid *pointer);
|
||||||
|
|
|
@ -91,6 +91,7 @@ ADD_OP(NextBuffer, 1, "%p")
|
||||||
|
|
||||||
// opengl 1.1 arrays
|
// opengl 1.1 arrays
|
||||||
ADD_OP(ArrayElement, 1, "%d")
|
ADD_OP(ArrayElement, 1, "%d")
|
||||||
|
ADD_OP(DrawArrays, 3, "%C %d %d")
|
||||||
ADD_OP(EnableClientState, 1, "%C")
|
ADD_OP(EnableClientState, 1, "%C")
|
||||||
ADD_OP(DisableClientState, 1, "%C")
|
ADD_OP(DisableClientState, 1, "%C")
|
||||||
ADD_OP(VertexPointer, 4, "%d %C %d %p")
|
ADD_OP(VertexPointer, 4, "%d %C %d %p")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue