diff options
author | Kyle K <kylek389@gmail.com> | 2010-10-13 23:50:16 -0500 |
---|---|---|
committer | Kamil Kaminski <kamilkss@gmail.com> | 2010-10-13 23:52:07 -0500 |
commit | 4836c389de45644b97a9e6769617921030301119 (patch) | |
tree | 39d5eadd19d26673c27bb3d45a4b39a594f2e345 /sdl/gltools.c | |
parent | 87b0bdb5e61472d33f4987d92d60c12cc21a6fe6 (diff) | |
download | GLPyramid-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.c | 73 |
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; |