6 // driver for object source
14 #define WORLD_OBJECT 3
15 #define WIREBOX_OBJECT 4
16 #define NORM_CUBE_OBJECT 5
17 #define SQUARE_OBJECT 6
18 #define PLANE_OBJECT 7
19 #define FIREANT_OBJECT 8
20 #define PYRAMID_OBJECT 9
21 #define STARS_OBJECT 10
23 #define MAX_OBJECTS 11
25 #define GRID_SIZE 300.0f
27 extern GLUquadricObj
*quadric
; // main Quadric Object
30 // major struct for driver objects
32 typedef struct tagDriverObjects
{
34 void (*init
)(int list_id
);
35 void (*compile
)(void);
36 void (*draw
)(void); // used with compile
37 void (*render
)(void); // render object to scenes
39 int call_id
; // id used to compile object
44 void InitObjects(void);
45 void DeleteObjects(void);
46 void RenderObjects(void);
47 void RenderGrid(void);
49 void RenderWalls(void);
51 void RenderBounds(float x
, float y
, float width
);
53 void Bot_Triangle(float x
, float y
);
58 extern DriverObjects colorcube
;
59 extern DriverObjects grid
;
60 extern DriverObjects ant
;
61 extern DriverObjects walls
;
62 extern DriverObjects wirebox
;
63 extern DriverObjects norm_cube
;
64 extern DriverObjects pheromone
;
65 extern DriverObjects plane
;
66 extern DriverObjects fireant
;
67 extern DriverObjects pyramid
;
68 extern DriverObjects stars
;
70 extern DriverObjects
*driver_objects
[MAX_OBJECTS
];
72 void RenderPlane(void);