Пример #1
0
// static method used for glut callbacks
static void Key(unsigned char key, int x, int y) {

	VHFluidSolver* fluidSolver = VHFluidSolver::solverList[0];

    switch (key) {
        case 27:

            //exit(0);
		 case 'r':
			 fluidSolver->resetFluid();
			 break;
		  case 'p':
			 if(pause==0)
				 pause = 1;
			 else
				pause = 0;
			 break;
    }
}
Пример #2
0
int main( void ) {

	int c=1;
    char* dummy = "";
	
	int width = 512;
	int height = 512;

    glutInit( &c, &dummy );
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA );
    glutInitWindowSize( width, height );
	//glutInitWindowPosition(100, 100);
    glutCreateWindow( "bitmap" );

	glewInit();
	cu::cutilSafeCall(cu::cudaGLSetGLDevice( cu::cutGetMaxGflopsDeviceId() ));

	int dim = 200;

	VHFluidSolver* fluidSolver = new VHFluidSolver();

	fluidSolver->initFluidSolver(dim,dim);
	fluidSolver->resetFluid();

    glutKeyboardFunc(Key);
    glutDisplayFunc(Draw);
   // if (clickDrag != NULL)
   //     glutMouseFunc( mouse_func );
    glutIdleFunc( idle_func );
	glutReshapeFunc(reshapeFunc);


	cu::cutCreateTimer( &timer);

    glutMainLoop();

	delete fluidSolver;

	cu::cudaThreadExit();
}