TINYGL: Added external interface for tglBlendFunc

This commit is contained in:
Stefano Musumeci 2014-06-15 18:24:14 +02:00
parent 7712eb6c5e
commit 10c25d49d4
6 changed files with 20 additions and 0 deletions

View file

@ -165,6 +165,16 @@ void tglColorMask(TGLboolean r, TGLboolean g, TGLboolean b, TGLboolean a) {
TinyGL::gl_add_op(p); TinyGL::gl_add_op(p);
} }
void tglBlendFunc(TGLenum sfactor, TGLenum dfactor) {
TinyGL::GLParam p[3];
p[0].op = TinyGL::OP_BlendFunc;
p[1].i = sfactor;
p[2].i = dfactor;
TinyGL::gl_add_op(p);
}
void tglPolygonMode(int face, int mode) { void tglPolygonMode(int face, int mode) {
TinyGL::GLParam p[3]; TinyGL::GLParam p[3];

View file

@ -791,6 +791,7 @@ void tglGetIntegerv(int pname, int *params);
void tglGetFloatv(int pname, float *v); void tglGetFloatv(int pname, float *v);
void tglFrontFace(int mode); void tglFrontFace(int mode);
void tglColorMask(TGLboolean r, TGLboolean g, TGLboolean b, TGLboolean a); void tglColorMask(TGLboolean r, TGLboolean g, TGLboolean b, TGLboolean a);
void tglBlendFunc(TGLenum sfactor, TGLenum dfactor);
void tglSetShadowMaskBuf(unsigned char *buf); void tglSetShadowMaskBuf(unsigned char *buf);
void tglSetShadowColor(unsigned char r, unsigned char g, unsigned char b); void tglSetShadowColor(unsigned char r, unsigned char g, unsigned char b);

View file

@ -125,6 +125,7 @@ void glInit(void *zbuffer1) {
c->render_mode = TGL_RENDER; c->render_mode = TGL_RENDER;
c->select_buffer = NULL; c->select_buffer = NULL;
c->name_stack_size = 0; c->name_stack_size = 0;
c->enable_blend = false;
// matrix // matrix
c->matrix_mode = 0; c->matrix_mode = 0;

View file

@ -61,6 +61,9 @@ void glopEnableDisable(GLContext *c, GLParam *p) {
case TGL_DEPTH_TEST: case TGL_DEPTH_TEST:
c->depth_test = v; c->depth_test = v;
break; break;
case TGL_BLEND:
c->enable_blend = v;
break;
case TGL_POLYGON_OFFSET_FILL: case TGL_POLYGON_OFFSET_FILL:
if (v) if (v)
c->offset_states |= TGL_OFFSET_FILL; c->offset_states |= TGL_OFFSET_FILL;
@ -101,6 +104,9 @@ void glopEnableDisable(GLContext *c, GLParam *p) {
} }
} }
void glopBlendFunc(GLContext *c, GLParam *p) {
}
void glopShadeModel(GLContext *c, GLParam *p) { void glopShadeModel(GLContext *c, GLParam *p) {
int code = p[1].i; int code = p[1].i;
c->current_shade_model = code; c->current_shade_model = code;

View file

@ -49,6 +49,7 @@ ADD_OP(CullFace, 1, "%C")
ADD_OP(FrontFace, 1, "%C") ADD_OP(FrontFace, 1, "%C")
ADD_OP(PolygonMode, 2, "%C %C") ADD_OP(PolygonMode, 2, "%C %C")
ADD_OP(ColorMask, 1, "%08x") ADD_OP(ColorMask, 1, "%08x")
ADD_OP(BlendFunc, 2, "%d %d")
ADD_OP(CallList, 1, "%d") ADD_OP(CallList, 1, "%d")
ADD_OP(Hint, 2, "%C %C") ADD_OP(Hint, 2, "%C %C")

View file

@ -209,6 +209,7 @@ struct GLContext {
gl_draw_triangle_func draw_triangle_front, draw_triangle_back; gl_draw_triangle_func draw_triangle_front, draw_triangle_back;
// selection // selection
bool enable_blend;
int render_mode; int render_mode;
unsigned int *select_buffer; unsigned int *select_buffer;
int select_size; int select_size;