#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <GL/glut.h>
Go to the source code of this file.
Defines | |
| #define | M_PI 3.14159265 |
Enumerations | |
| enum | { MISSING, EXTENSION, ONE_DOT_ONE } |
| enum | { X, Y, Z, W } |
| enum | { A, B, C, D } |
| enum | { M_NONE, M_MOTION, M_LIGHT, M_TEXTURE, M_SHADOWS, M_REFLECTION, M_DINOSAUR, M_STENCIL_REFLECTION, M_STENCIL_SHADOW, M_OFFSET_SHADOW, M_POSITIONAL, M_DIRECTIONAL, M_PERFORMANCE } |
| enum | displayLists { RESERVED, BODY_SIDE, BODY_EDGE, BODY_WHOLE, ARM_SIDE, ARM_EDGE, ARM_WHOLE, LEG_SIDE, LEG_EDGE, LEG_WHOLE, EYE_SIDE, EYE_EDGE, EYE_WHOLE } |
Functions | |
| static void | controlLights (int value) |
| static void | drawDinosaur (void) |
| static void | drawFloor (void) |
| void | extrudeSolidFromPolygon (GLfloat data[][2], unsigned int dataSize, GLdouble thickness, GLuint side, GLuint edge, GLuint whole) |
| void | findPlane (GLfloat plane[4], GLfloat v0[3], GLfloat v1[3], GLfloat v2[3]) |
| static void | idle (void) |
| static void | key (unsigned char c, int x, int y) |
| int | main (int argc, char **argv) |
| static void | makeDinosaur (void) |
| static void | makeFloorTexture (void) |
| static void | motion (int x, int y) |
| static void | mouse (int button, int state, int x, int y) |
| static void | redraw (void) |
| void | shadowMatrix (GLfloat shadowMat[4][4], GLfloat groundplane[4], GLfloat lightpos[4]) |
| static void | special (int k, int x, int y) |
| static int | supportsOneDotOne (void) |
| static void | visible (int vis) |
Variables | |
| GLfloat | angle = -150 |
| GLfloat | angle2 = 30 |
| static int | animation = 1 |
| static GLfloat | arm [][2] |
| static GLfloat | body [][2] |
| static GLdouble | bodyWidth = 3.0 |
| static char * | circles [] |
| static int | directionalLight = 1 |
| static GLfloat | eye [][2] |
| static GLfloat | eyeColor [] = {1.0, 0.2, 0.2, 1.0} |
| static GLfloat | floorPlane [4] |
| static GLfloat | floorShadow [4][4] |
| static GLfloat | floorVertices [4][3] |
| static int | forceExtension = 0 |
| static float | jump = 0.0 |
| static GLfloat | leg [][2] |
| static float | lightAngle = 0.0 |
| static GLfloat | lightColor [] = {0.8, 1.0, 0.8, 1.0} |
| static float | lightHeight = 20 |
| int | lightMoving = 0 |
| static GLfloat | lightPosition [4] |
| int | lightStartX |
| int | lightStartY |
| static GLboolean | lightSwitch = GL_TRUE |
| static int | linearFiltering = 0 |
| int | moving |
| static int | offsetShadow = 1 |
| int | polygonOffsetVersion |
| static int | renderDinosaur = 1 |
| static int | renderReflection = 1 |
| static int | renderShadow = 1 |
| static int | reportSpeed = 0 |
| static GLfloat | skinColor [] = {0.1, 1.0, 0.1, 1.0} |
| int | startx |
| int | starty |
| static int | stencilReflection = 1 |
| static int | stencilShadow = 1 |
| static int | useMipmaps = 0 |
| static int | useTexture = 1 |
| #define M_PI 3.14159265 |
Definition at line 46 of file dinoshade.c.
| anonymous enum |
Definition at line 68 of file dinoshade.c.
| anonymous enum |
Definition at line 155 of file dinoshade.c.
| anonymous enum |
Definition at line 158 of file dinoshade.c.
| anonymous enum |
| M_NONE | |
| M_MOTION | |
| M_LIGHT | |
| M_TEXTURE | |
| M_SHADOWS | |
| M_REFLECTION | |
| M_DINOSAUR | |
| M_STENCIL_REFLECTION | |
| M_STENCIL_SHADOW | |
| M_OFFSET_SHADOW | |
| M_POSITIONAL | |
| M_DIRECTIONAL | |
| M_PERFORMANCE |
Definition at line 674 of file dinoshade.c.
| enum displayLists |
| RESERVED | |
| BODY_SIDE | |
| BODY_EDGE | |
| BODY_WHOLE | |
| ARM_SIDE | |
| ARM_EDGE | |
| ARM_WHOLE | |
| LEG_SIDE | |
| LEG_EDGE | |
| LEG_WHOLE | |
| EYE_SIDE | |
| EYE_EDGE | |
| EYE_WHOLE |
Definition at line 284 of file dinoshade.c.
| static void controlLights | ( | int | value | ) | [static] |
Definition at line 681 of file dinoshade.c.
| static void drawDinosaur | ( | void | ) | [static] |
Definition at line 303 of file dinoshade.c.
| static void drawFloor | ( | void | ) | [static] |
Definition at line 334 of file dinoshade.c.
| void extrudeSolidFromPolygon | ( | GLfloat | data[][2], |
| unsigned int | dataSize, | ||
| GLdouble | thickness, | ||
| GLuint | side, | ||
| GLuint | edge, | ||
| GLuint | whole | ||
| ) |
Definition at line 223 of file dinoshade.c.
| void findPlane | ( | GLfloat | plane[4], |
| GLfloat | v0[3], | ||
| GLfloat | v1[3], | ||
| GLfloat | v2[3] | ||
| ) |
Definition at line 200 of file dinoshade.c.
| static void idle | ( | void | ) | [static] |
Definition at line 661 of file dinoshade.c.
| static void key | ( | unsigned char | c, |
| int | x, | ||
| int | y | ||
| ) | [static] |
Definition at line 753 of file dinoshade.c.
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 783 of file dinoshade.c.
| static void makeDinosaur | ( | void | ) | [static] |
Definition at line 290 of file dinoshade.c.
| static void makeFloorTexture | ( | void | ) | [static] |
Definition at line 112 of file dinoshade.c.
| static void motion | ( | int | x, |
| int | y | ||
| ) | [static] |
Definition at line 641 of file dinoshade.c.
| static void mouse | ( | int | button, |
| int | state, | ||
| int | x, | ||
| int | y | ||
| ) | [static] |
Definition at line 615 of file dinoshade.c.
| static void redraw | ( | void | ) | [static] |
Definition at line 364 of file dinoshade.c.
| void shadowMatrix | ( | GLfloat | shadowMat[4][4], |
| GLfloat | groundplane[4], | ||
| GLfloat | lightpos[4] | ||
| ) |
Definition at line 164 of file dinoshade.c.
| static void special | ( | int | k, |
| int | x, | ||
| int | y | ||
| ) | [static] |
Definition at line 765 of file dinoshade.c.
| static int supportsOneDotOne | ( | void | ) | [static] |
Definition at line 771 of file dinoshade.c.
| static void visible | ( | int | vis | ) | [static] |
Definition at line 738 of file dinoshade.c.
| GLfloat angle = -150 |
Definition at line 62 of file dinoshade.c.
| GLfloat angle2 = 30 |
Definition at line 63 of file dinoshade.c.
int animation = 1 [static] |
Definition at line 54 of file dinoshade.c.
GLfloat arm[][2] [static] |
{ {8, 10}, {9, 9}, {10, 9}, {13, 8}, {14, 9}, {16, 9},
{15, 9.5}, {16, 10}, {15, 10}, {15.5, 11}, {14.5, 10}, {14, 11}, {14, 10},
{13, 9}, {11, 11}, {9, 11} }
Definition at line 79 of file dinoshade.c.
GLfloat body[][2] [static] |
{ {0, 3}, {1, 1}, {5, 1}, {8, 4}, {10, 4}, {11, 5},
{11, 11.5}, {13, 12}, {13, 13}, {10, 13.5}, {13, 14}, {13, 15}, {11, 16},
{8, 16}, {7, 15}, {7, 13}, {8, 12}, {7, 11}, {6, 6}, {4, 3}, {3, 2},
{1, 2} }
Definition at line 75 of file dinoshade.c.
GLdouble bodyWidth = 3.0 [static] |
Definition at line 73 of file dinoshade.c.
char* circles[] [static] |
{
"....xxxx........",
"..xxxxxxxx......",
".xxxxxxxxxx.....",
".xxx....xxx.....",
"xxx......xxx....",
"xxx......xxx....",
"xxx......xxx....",
"xxx......xxx....",
".xxx....xxx.....",
".xxxxxxxxxx.....",
"..xxxxxxxx......",
"....xxxx........",
"................",
"................",
"................",
"................",
}
Definition at line 92 of file dinoshade.c.
int directionalLight = 1 [static] |
Definition at line 56 of file dinoshade.c.
GLfloat eye[][2] [static] |
{ {8.75, 15}, {9, 14.7}, {9.6, 14.7}, {10.1, 15},
{9.6, 15.25}, {9, 15.25} }
Definition at line 84 of file dinoshade.c.
GLfloat eyeColor[] = {1.0, 0.2, 0.2, 1.0} [static] |
Definition at line 88 of file dinoshade.c.
GLfloat floorPlane[4] [static] |
Definition at line 360 of file dinoshade.c.
GLfloat floorShadow[4][4] [static] |
Definition at line 361 of file dinoshade.c.
GLfloat floorVertices[4][3] [static] |
{
{ -20.0, 0.0, 20.0 },
{ 20.0, 0.0, 20.0 },
{ 20.0, 0.0, -20.0 },
{ -20.0, 0.0, -20.0 },
}
Definition at line 325 of file dinoshade.c.
int forceExtension = 0 [static] |
Definition at line 57 of file dinoshade.c.
float jump = 0.0 [static] |
Definition at line 60 of file dinoshade.c.
GLfloat leg[][2] [static] |
{ {8, 6}, {8, 4}, {9, 3}, {9, 2}, {8, 1}, {8, 0.5}, {9, 0},
{12, 0}, {10, 1}, {10, 2}, {12, 4}, {11, 6}, {10, 7}, {9, 7} }
Definition at line 82 of file dinoshade.c.
float lightAngle = 0.0 [static] |
Definition at line 61 of file dinoshade.c.
GLfloat lightColor[] = {0.8, 1.0, 0.8, 1.0} [static] |
Definition at line 87 of file dinoshade.c.
float lightHeight = 20 [static] |
Definition at line 61 of file dinoshade.c.
| int lightMoving = 0 |
Definition at line 66 of file dinoshade.c.
GLfloat lightPosition[4] [static] |
Definition at line 86 of file dinoshade.c.
| int lightStartX |
Definition at line 66 of file dinoshade.c.
| int lightStartY |
Definition at line 66 of file dinoshade.c.
GLboolean lightSwitch = GL_TRUE [static] |
Definition at line 55 of file dinoshade.c.
int linearFiltering = 0 [static] |
Definition at line 52 of file dinoshade.c.
| int moving |
Definition at line 65 of file dinoshade.c.
int offsetShadow = 1 [static] |
Definition at line 50 of file dinoshade.c.
Definition at line 71 of file dinoshade.c.
int renderDinosaur = 1 [static] |
Definition at line 51 of file dinoshade.c.
int renderReflection = 1 [static] |
Definition at line 51 of file dinoshade.c.
int renderShadow = 1 [static] |
Definition at line 51 of file dinoshade.c.
int reportSpeed = 0 [static] |
Definition at line 53 of file dinoshade.c.
GLfloat skinColor[] = {0.1, 1.0, 0.1, 1.0} [static] |
Definition at line 88 of file dinoshade.c.
| int startx |
Definition at line 65 of file dinoshade.c.
| int starty |
Definition at line 65 of file dinoshade.c.
int stencilReflection = 1 [static] |
Definition at line 50 of file dinoshade.c.
int stencilShadow = 1 [static] |
Definition at line 50 of file dinoshade.c.
int useMipmaps = 0 [static] |
Definition at line 52 of file dinoshade.c.
int useTexture = 1 [static] |
Definition at line 52 of file dinoshade.c.