aboutsummaryrefslogtreecommitdiffstats
path: root/3rdparty/tinygl-0.4-ugfx/src/clear.c
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/tinygl-0.4-ugfx/src/clear.c')
-rw-r--r--3rdparty/tinygl-0.4-ugfx/src/clear.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/3rdparty/tinygl-0.4-ugfx/src/clear.c b/3rdparty/tinygl-0.4-ugfx/src/clear.c
new file mode 100644
index 00000000..f5b75585
--- /dev/null
+++ b/3rdparty/tinygl-0.4-ugfx/src/clear.c
@@ -0,0 +1,30 @@
+#include "zgl.h"
+
+
+void glopClearColor(GLContext *c,GLParam *p)
+{
+ c->clear_color.v[0]=p[1].f;
+ c->clear_color.v[1]=p[2].f;
+ c->clear_color.v[2]=p[3].f;
+ c->clear_color.v[3]=p[4].f;
+}
+void glopClearDepth(GLContext *c,GLParam *p)
+{
+ c->clear_depth=p[1].f;
+}
+
+
+void glopClear(GLContext *c,GLParam *p)
+{
+ int mask=p[1].i;
+ int z=0;
+ int r=(int)(c->clear_color.v[0]*65535);
+ int g=(int)(c->clear_color.v[1]*65535);
+ int b=(int)(c->clear_color.v[2]*65535);
+
+ /* TODO : correct value of Z */
+
+ ZB_clear(c->zb,mask & GL_DEPTH_BUFFER_BIT,z,
+ mask & GL_COLOR_BUFFER_BIT,r,g,b);
+}
+