summaryrefslogtreecommitdiffstats
path: root/sdl/gltools.c
diff options
context:
space:
mode:
Diffstat (limited to 'sdl/gltools.c')
-rw-r--r--sdl/gltools.c73
1 files changed, 72 insertions, 1 deletions
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;