From 4836c389de45644b97a9e6769617921030301119 Mon Sep 17 00:00:00 2001 From: Kyle K Date: Wed, 13 Oct 2010 23:50:16 -0500 Subject: pyramid: moved code around --- sdl/gltools.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) (limited to 'sdl/gltools.c') diff --git a/sdl/gltools.c b/sdl/gltools.c index 350f3db..d6c518f 100644 --- a/sdl/gltools.c +++ b/sdl/gltools.c @@ -164,6 +164,77 @@ GLbyte *gltLoadTGA(const char *szFileName, GLint *iWidth, GLint *iHeight, return pBits; } +void gltDrawTriangle(void) +{ + M3DVector3f vNormal; + M3DVector3f vCorners[5] = { + { 0.0f, 0.6f, 0.0f }, /* top 0 */ + { -0.5f, -0.2f, -.50f }, /* back left 1 */ + { 0.5f, -0.2f, -0.50f }, /* back right 2 */ + { 0.5f, -0.2f, 0.5f }, /* front right 3 */ + { -0.5f, -0.2f, 0.5f } /* front left 4 */ + }; + + glBegin(GL_TRIANGLES); + /* bottom section - two triangles */ + glNormal3f(0.0f, -1.0f, 0.0f); + + /* map texture to geometry */ + glTexCoord2f(1.0f, 1.0f); + glVertex3fv(vCorners[2]); + glTexCoord2f(0.0f, 1.0f); + glVertex3fv(vCorners[4]); + glTexCoord2f(0.0f, 0.0f); + glVertex3fv(vCorners[1]); + glTexCoord2f(1.0f, 1.0f); + glVertex3fv(vCorners[2]); + glTexCoord2f(1.0f, 0.0f); + glVertex3fv(vCorners[3]); + glTexCoord2f(0.0f, 0.0f); + glVertex3fv(vCorners[4]); + + /* front face */ + m3dFindNormalf(vNormal, vCorners[0], vCorners[4], vCorners[3]); + glNormal3fv(vNormal); + glTexCoord2f(0.5f, 1.0f); + glVertex3fv(vCorners[0]); + glTexCoord2f(0.0f, 0.0f); + glVertex3fv(vCorners[4]); + glTexCoord2f(1.0f, 0.0f); + glVertex3fv(vCorners[3]); + + /* left face */ + m3dFindNormalf(vNormal, vCorners[0], vCorners[1], vCorners[4]); + glNormal3fv(vNormal); + glTexCoord2f(0.5f, 1.0f); + glVertex3fv(vCorners[0]); + glTexCoord2f(0.0f, 0.0f); + glVertex3fv(vCorners[1]); + glTexCoord2f(1.0f, 0.0f); + glVertex3fv(vCorners[4]); + + /* back face */ + m3dFindNormalf(vNormal, vCorners[0], vCorners[2], vCorners[1]); + glNormal3fv(vNormal); + glTexCoord2f(0.5f, 1.0f); + glVertex3fv(vCorners[0]); + glTexCoord2f(0.0f, 0.0f); + glVertex3fv(vCorners[2]); + glTexCoord2f(1.0f, 0.0f); + glVertex3fv(vCorners[1]); + + /* right face */ + m3dFindNormalf(vNormal, vCorners[0], vCorners[3], vCorners[2]); + glNormal3fv(vNormal); + glTexCoord2f(0.5f, 1.0f); + glVertex3fv(vCorners[0]); + glTexCoord2f(0.0f, 0.0f); + glVertex3fv(vCorners[3]); + glTexCoord2f(1.0f, 0.0f); + glVertex3fv(vCorners[2]); + glEnd(); +} + void gltDrawUnitAxes(void) { GLUquadricObj *pObj; /* temporary, used for quadrics */ @@ -276,7 +347,7 @@ void gltDrawTorus(GLfloat majorRadius, GLfloat minorRadius, GLint numMajor, /* this function just specifically draws the jet */ /* FIXME: needs to accepts parameters of location and lightning */ -void DrawJet(int nShadow) +void gltDrawJet(int nShadow) { M3DVector3f vNormal; -- cgit v1.2.3