summaryrefslogtreecommitdiffstats
path: root/sdl/gltools.c
diff options
context:
space:
mode:
authorKyle K <kylek389@gmail.com>2010-10-13 23:50:16 -0500
committerKamil Kaminski <kamilkss@gmail.com>2010-10-13 23:52:07 -0500
commit4836c389de45644b97a9e6769617921030301119 (patch)
tree39d5eadd19d26673c27bb3d45a4b39a594f2e345 /sdl/gltools.c
parent87b0bdb5e61472d33f4987d92d60c12cc21a6fe6 (diff)
downloadGLPyramid-4836c389de45644b97a9e6769617921030301119.tar.gz
GLPyramid-4836c389de45644b97a9e6769617921030301119.tar.bz2
GLPyramid-4836c389de45644b97a9e6769617921030301119.zip
pyramid: moved code around
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;