#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <GL/gdi.h>
#include <GL/gl.h>
#include "glu.h"
#include "ui.h"
Go to the source code of this file.
|
void | Heel1Add (void) |
|
void | Heel1Subtract (void) |
|
void | Heel2Add (void) |
|
void | Heel2Subtract (void) |
|
void | Ankle1Add (void) |
|
void | Ankle1Subtract (void) |
|
void | Ankle2Add (void) |
|
void | Ankle2Subtract (void) |
|
void | RotateAdd (void) |
|
void | RotateSubtract (void) |
|
void | MechTiltSubtract (void) |
|
void | MechTiltAdd (void) |
|
void | elbow1Add (void) |
|
void | elbow1Subtract (void) |
|
void | elbow2Add (void) |
|
void | elbow2Subtract (void) |
|
void | shoulder1Add (void) |
|
void | shoulder1Subtract (void) |
|
void | shoulder2Add (void) |
|
void | shoulder2Subtract (void) |
|
void | shoulder3Add (void) |
|
void | shoulder3Subtract (void) |
|
void | shoulder4Add (void) |
|
void | shoulder4Subtract (void) |
|
void | lat1Raise (void) |
|
void | lat1Lower (void) |
|
void | lat2Raise (void) |
|
void | lat2Lower (void) |
|
void | FireCannon (void) |
|
void | RaiseLeg1Forward (void) |
|
void | LowerLeg1Backwards (void) |
|
void | RaiseLeg1Outwards (void) |
|
void | LowerLeg1Inwards (void) |
|
void | RaiseLeg2Forward (void) |
|
void | LowerLeg2Backwards (void) |
|
void | RaiseLeg2Outwards (void) |
|
void | LowerLeg2Inwards (void) |
|
void | TurnRight (void) |
|
void | TurnLeft (void) |
|
void | TurnForwards (void) |
|
void | TurnBackwards (void) |
|
void | LightTurnRight (void) |
|
void | LightTurnLeft (void) |
|
void | LightForwards (void) |
|
void | LightBackwards (void) |
|
void | Box (float width, float height, float depth, char solid) |
|
void | Octagon (float side, float height, char solid) |
|
void | SetMaterial (GLfloat spec[], GLfloat amb[], GLfloat diff[], GLfloat shin[]) |
|
void | MechTorso (char solid) |
|
void | MechHip (char solid) |
|
void | Shoulder (char solid) |
|
void | UpperArm (char solid) |
|
void | VulcanGun (char solid) |
|
void | ForeArm (char solid) |
|
void | UpperLeg (char solid) |
|
void | Foot (char solid) |
|
void | LowerLeg (char solid) |
|
void | RocketPod (char solid) |
|
void | Enviro (char solid) |
|
void | Toggle (void) |
|
void | disable (void) |
|
void | lighting (void) |
|
void | DrawMech (void) |
|
void | display (void) |
|
void | init (void) |
|
void | reshape (int w, int h) |
|
void | animation_walk (void) |
|
void | animation (void) |
|
GLenum | key (int key, GLenum mask) |
|
void | printHelp (void) |
|
void | idle (void) |
|
int | main (int argc, char **argv) |
|
void | draw () |
|
◆ ANIMATION
◆ ANKLE_RATE
◆ CANNON_RATE
◆ COLOR
◆ DRAW_ENVIRO
◆ DRAW_MECH
◆ ELBOW_RATE
◆ GLUT
◆ GLUT_KEY
◆ GLUT_SPEC
◆ HEEL_RATE
◆ HIP
◆ LAT_RATE
◆ LIGHT
◆ LIGHT_TURN_RATE
#define LIGHT_TURN_RATE 10 |
◆ LOWER_ARM
◆ LOWER_LEG
◆ MOVE_LIGHT
◆ NO_NORM
◆ PI
◆ ROCKET_POD
◆ ROTATE_RATE
◆ SHOULDER
◆ SHOULDER_RATE
◆ SOLID_ENVIRO
◆ SOLID_MECH_FOOT
#define SOLID_MECH_FOOT 7 |
◆ SOLID_MECH_FOREARM
#define SOLID_MECH_FOREARM 5 |
◆ SOLID_MECH_HIP
◆ SOLID_MECH_ROCKET
#define SOLID_MECH_ROCKET 8 |
◆ SOLID_MECH_SHOULDER
#define SOLID_MECH_SHOULDER 3 |
◆ SOLID_MECH_TORSO
#define SOLID_MECH_TORSO 1 |
◆ SOLID_MECH_UPPER_ARM
#define SOLID_MECH_UPPER_ARM 4 |
◆ SOLID_MECH_UPPER_LEG
#define SOLID_MECH_UPPER_LEG 6 |
◆ SOLID_MECH_VULCAN
#define SOLID_MECH_VULCAN 9 |
◆ SPHERE
program : glutmech V1.1 author : Simon Parkinson-Bates. E-mail : sapb@.nosp@m.yall.nosp@m.ara.c.nosp@m.s.rm.nosp@m.it.ed.nosp@m.u.au Copyright Simon Parkinson-Bates. "source if freely avaliable to anyone to copy as long as they
acknowledge me in their work."
Funtional features
- online menu system avaliable by pressing left mouse button
- online cascading help system avaliable, providing information on the several key strokes and what they do.
- animation sequence coded which makes the mech walk through an environment. Shadows will soon be added to make it look more realistic.
- menu control to view mech in wireframe or sold mode.
- various key strokes avaliable to control idependently the mechs many joints.
- various key strokes avaliable to view mech and environment from different angles
- various key strokes avaliable to alter positioning of the single light source.
Program features
- uses double buffering
- uses display lists
- uses glut to manage windows, callbacks, and online menu.
- uses glpolygonfill() to maintain colors in wireframe and solid mode.
Definition at line 37 of file mech.c.
◆ TILT_RATE
◆ TORSO
◆ UPPER_ARM
◆ UPPER_LEG
◆ UPPER_LEG_RATE
◆ UPPER_LEG_RATE_GROIN
#define UPPER_LEG_RATE_GROIN 10 |
◆ VIEW_TURN_RATE
#define VIEW_TURN_RATE 10 |
◆ animation()
◆ animation_walk()
void animation_walk |
( |
void |
| ) |
|
◆ Ankle1Add()
◆ Ankle1Subtract()
void Ankle1Subtract |
( |
void |
| ) |
|
◆ Ankle2Add()
◆ Ankle2Subtract()
void Ankle2Subtract |
( |
void |
| ) |
|
◆ Box()
void Box |
( |
float |
width, |
|
|
float |
height, |
|
|
float |
depth, |
|
|
char |
solid |
|
) |
| |
◆ disable()
◆ display()
◆ draw()
◆ DrawMech()
◆ elbow1Add()
◆ elbow1Subtract()
void elbow1Subtract |
( |
void |
| ) |
|
◆ elbow2Add()
◆ elbow2Subtract()
void elbow2Subtract |
( |
void |
| ) |
|
◆ Enviro()
void Enviro |
( |
char |
solid | ) |
|
◆ FireCannon()
◆ Foot()
◆ ForeArm()
void ForeArm |
( |
char |
solid | ) |
|
◆ Heel1Add()
◆ Heel1Subtract()
void Heel1Subtract |
( |
void |
| ) |
|
◆ Heel2Add()
◆ Heel2Subtract()
void Heel2Subtract |
( |
void |
| ) |
|
◆ idle()
◆ init()
- glEnable( GL_CULL_FACE );*/
- glEnable( GL_DEPTH_TEST ); */
Definition at line 1252 of file mech.c.
◆ key()
◆ lat1Lower()
◆ lat1Raise()
◆ lat2Lower()
◆ lat2Raise()
◆ LightBackwards()
void LightBackwards |
( |
void |
| ) |
|
◆ LightForwards()
void LightForwards |
( |
void |
| ) |
|
◆ lighting()
◆ LightTurnLeft()
void LightTurnLeft |
( |
void |
| ) |
|
◆ LightTurnRight()
void LightTurnRight |
( |
void |
| ) |
|
◆ LowerLeg()
void LowerLeg |
( |
char |
solid | ) |
|
◆ LowerLeg1Backwards()
void LowerLeg1Backwards |
( |
void |
| ) |
|
◆ LowerLeg1Inwards()
void LowerLeg1Inwards |
( |
void |
| ) |
|
◆ LowerLeg2Backwards()
void LowerLeg2Backwards |
( |
void |
| ) |
|
◆ LowerLeg2Inwards()
void LowerLeg2Inwards |
( |
void |
| ) |
|
◆ main()
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
◆ MechHip()
void MechHip |
( |
char |
solid | ) |
|
◆ MechTiltAdd()
void MechTiltAdd |
( |
void |
| ) |
|
◆ MechTiltSubtract()
void MechTiltSubtract |
( |
void |
| ) |
|
◆ MechTorso()
void MechTorso |
( |
char |
solid | ) |
|
◆ Octagon()
void Octagon |
( |
float |
side, |
|
|
float |
height, |
|
|
char |
solid |
|
) |
| |
◆ printHelp()
◆ RaiseLeg1Forward()
void RaiseLeg1Forward |
( |
void |
| ) |
|
◆ RaiseLeg1Outwards()
void RaiseLeg1Outwards |
( |
void |
| ) |
|
◆ RaiseLeg2Forward()
void RaiseLeg2Forward |
( |
void |
| ) |
|
◆ RaiseLeg2Outwards()
void RaiseLeg2Outwards |
( |
void |
| ) |
|
◆ reshape()
void reshape |
( |
int |
w, |
|
|
int |
h |
|
) |
| |
◆ RocketPod()
void RocketPod |
( |
char |
solid | ) |
|
◆ RotateAdd()
◆ RotateSubtract()
void RotateSubtract |
( |
void |
| ) |
|
◆ SetMaterial()
◆ Shoulder()
void Shoulder |
( |
char |
solid | ) |
|
◆ shoulder1Add()
void shoulder1Add |
( |
void |
| ) |
|
◆ shoulder1Subtract()
void shoulder1Subtract |
( |
void |
| ) |
|
◆ shoulder2Add()
void shoulder2Add |
( |
void |
| ) |
|
◆ shoulder2Subtract()
void shoulder2Subtract |
( |
void |
| ) |
|
◆ shoulder3Add()
void shoulder3Add |
( |
void |
| ) |
|
◆ shoulder3Subtract()
void shoulder3Subtract |
( |
void |
| ) |
|
◆ shoulder4Add()
void shoulder4Add |
( |
void |
| ) |
|
◆ shoulder4Subtract()
void shoulder4Subtract |
( |
void |
| ) |
|
◆ Toggle()
◆ TurnBackwards()
void TurnBackwards |
( |
void |
| ) |
|
◆ TurnForwards()
void TurnForwards |
( |
void |
| ) |
|
◆ TurnLeft()
◆ TurnRight()
◆ UpperArm()
void UpperArm |
( |
char |
solid | ) |
|
◆ UpperLeg()
void UpperLeg |
( |
char |
solid | ) |
|
◆ VulcanGun()
void VulcanGun |
( |
char |
solid | ) |
|
◆ anim
◆ ankle1
◆ ankle2
◆ distance
◆ elbow1
◆ elbow2
◆ elevation
◆ fire
◆ frame
◆ heel1
◆ heel2
◆ hip11
◆ hip12
◆ hip21
◆ hip22
◆ lat1
◆ lat2
◆ leg
◆ lightturn
◆ lightturn1
◆ mat_ambient
Initial value:=
{0.24725, 0.1995, 0.0745, 1.0}
Definition at line 123 of file mech.c.
◆ mat_ambient2
Initial value:=
{0.19225, 0.19225, 0.19225, 1.0}
Definition at line 132 of file mech.c.
◆ mat_ambient3
Initial value:=
{0.25, 0.20725, 0.20725, 1.0}
Definition at line 141 of file mech.c.
◆ mat_ambient4
Initial value:=
{0.0215, 0.1745, 0.0215, 1.0}
Definition at line 150 of file mech.c.
◆ mat_ambient5
Initial value:
Definition at line 159 of file mech.c.
◆ mat_diffuse
Initial value:=
{0.75164, 0.60648, 0.22648, 1.0}
Definition at line 125 of file mech.c.
◆ mat_diffuse2
Initial value:=
{0.50754, 0.50754, 0.50754, 1.0}
Definition at line 134 of file mech.c.
◆ mat_diffuse3
Initial value:
Definition at line 143 of file mech.c.
◆ mat_diffuse4
Initial value:=
{0.07568, 0.61424, 0.07568, 1.0}
Definition at line 152 of file mech.c.
◆ mat_diffuse5
Initial value:
Definition at line 161 of file mech.c.
◆ mat_shininess
Initial value:
Definition at line 127 of file mech.c.
◆ mat_shininess2
Initial value:
Definition at line 136 of file mech.c.
◆ mat_shininess3
Initial value:
Definition at line 145 of file mech.c.
◆ mat_shininess4
Initial value:
Definition at line 154 of file mech.c.
◆ mat_shininess5
Initial value:
Definition at line 163 of file mech.c.
◆ mat_specular
Initial value:=
{0.628281, 0.555802, 0.366065, 1.0}
Definition at line 121 of file mech.c.
◆ mat_specular2
Initial value:=
{0.508273, 0.508273, 0.508373, 1.0}
Definition at line 130 of file mech.c.
◆ mat_specular3
Initial value:=
{0.296648, 0.296648, 0.296648, 1.0}
Definition at line 139 of file mech.c.
◆ mat_specular4
Initial value:=
{0.633, 0.727811, 0.633, 1.0}
Definition at line 148 of file mech.c.
◆ mat_specular5
Initial value:=
{0.60, 0.60, 0.50, 1.0}
Definition at line 157 of file mech.c.
◆ pivot
◆ shoulder1
◆ shoulder2
◆ shoulder3
◆ shoulder4
◆ solid_part
◆ tilt
◆ turn
◆ turn1