sanegl

annotate sanegl.c @ 0:00b315b6db1e

sanegl initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 23 Jun 2011 05:19:40 +0300
parents
children
rev   line source
nuclear@0 1 #include <stdio.h>
nuclear@0 2
nuclear@0 3 #define SANEGL_IMPL_
nuclear@0 4 #include "sanegl.h"
nuclear@0 5
nuclear@0 6 struct vertex {
nuclear@0 7 float pos[4];
nuclear@0 8 float color[4];
nuclear@0 9 float tex[2];
nuclear@0 10 float norm[3];
nuclear@0 11 };
nuclear@0 12
nuclear@0 13 static const int mode_verts[] = {
nuclear@0 14 1, /* GL_POINTS */
nuclear@0 15 2, /* GL_LINES */
nuclear@0 16 -1, /* GL_LINE_LOOP TODO */
nuclear@0 17 -1, /* GL_LINE_STRIP TODO */
nuclear@0 18 3, /* GL_TRIANGLES */
nuclear@0 19 -1, /* GL_TRIANGLE_STRIP TODO */
nuclear@0 20 -1, /* GL_TRIANGLE_FAN TODO */
nuclear@0 21 6, /* GL_QUADS (two triangles) */
nuclear@0 22 -1, /* GL_QUAD_STRIP TODO */
nuclear@0 23 -1 /* GL_POLYGON TODO */
nuclear@0 24 };
nuclear@0 25
nuclear@0 26 static struct vertex vcur = {
nuclear@0 27 {0, 0, 0, 1}, /* position */
nuclear@0 28 {1, 1, 1, 1}, /* color */
nuclear@0 29 {0, 0}, /* tex-coord */
nuclear@0 30 {0, 0, 0} /* normal */
nuclear@0 31 };
nuclear@0 32
nuclear@0 33
nuclear@0 34 void glBegin(GLenum mode)
nuclear@0 35 {
nuclear@0 36 printf("glBegin\n");
nuclear@0 37 }
nuclear@0 38
nuclear@0 39 void glEnd(void)
nuclear@0 40 {
nuclear@0 41 printf("glEnd\n");
nuclear@0 42 }
nuclear@0 43
nuclear@0 44 void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
nuclear@0 45 {
nuclear@0 46 vcur.pos[0] = x;
nuclear@0 47 vcur.pos[1] = y;
nuclear@0 48 vcur.pos[2] = z;
nuclear@0 49 vcur.pos[3] = w;
nuclear@0 50
nuclear@0 51 varr[nvert++] = vcur;
nuclear@0 52 }
nuclear@0 53
nuclear@0 54 void glColor4f(GLfloat r, GLfloat g, GLfloat, b, GLfloat a)
nuclear@0 55 {
nuclear@0 56 vcur.color[0] = r;
nuclear@0 57 vcur.color[1] = g;
nuclear@0 58 vcur.color[2] = b;
nuclear@0 59 vcur.color[3] = a;
nuclear@0 60 }
nuclear@0 61
nuclear@0 62 void glNormal3f(GLfloat x, GLfloat y, GLfloat z)
nuclear@0 63 {
nuclear@0 64 vcur.normal[0] = x;
nuclear@0 65 vcur.normal[1] = y;
nuclear@0 66 vcur.normal[2] = z;
nuclear@0 67 }
nuclear@0 68
nuclear@0 69 void glTexCoord4f(GLfloat x, GLfloat y)
nuclear@0 70 {
nuclear@0 71 vcur.tex[0] = x;
nuclear@0 72 vcur.tex[1] = y;
nuclear@0 73 }