Basic CAVE program

Compiling

cc -32 -I/usr/local/CAVE/include -L/usr/local/CAVE/lib prog.c
	 -lcave_ogl -lGLU -lGL -lXi -lX11 -lm

cc -n32 -I/usr/local/CAVE/include -L/usr/local/CAVE/lib prog.c
	 -lcave_ogl_n32 -lGLU -lGL -lXi -lX11 -lm

Program outline

#include <cave_ogl.h>

void  app_compute(void), gfx_init(void), gfx_draw(void);

main(int argc,char **argv)
{
 CAVEConfigure(&argc,argv,NULL);
 CAVEInit();  
 CAVEInitApplication(gfx_init,0);  
 CAVEDisplay(gfx_draw,0);       
 while (!CAVEgetbutton(CAVE_ESCKEY))
        app_compute();
 CAVEExit();
}


void app_compute(void)
{
/* ... compute; update shared data ... */
}


void gfx_init(void)
{
/* ... define materials & textures ... */
}


void gfx_draw(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* ... render ... */
}

Sample program

sample.c - basic interaction and navigation

Makefile - makefile for sample.c



Last modified 22 January 2000.
Dave Pape, pape@evl.uic.edu