#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