void reb_display_init(int argc, char* argv[], struct reb_simulation* r, sem_t* mutex){ reb_dc.r = r; reb_dc.mutex = mutex; // Default parameters reb_dc.spheres = 2; reb_dc.pause_sim = 0; reb_dc.pause = 0; reb_dc.wire = 0; reb_dc.clear = 1; reb_dc.ghostboxes = 0; reb_dc.reference = -1; glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH ); glutInitWindowSize(700,700); glutCreateWindow("rebound"); zprInit(reb_dc.r->boxsize_max); glutDisplayFunc(reb_display); glutKeyboardFunc(reb_display_keyboard); glDepthMask(GL_TRUE); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE); // Sphere #ifdef _APPLE reb_dc.dlist_sphere = glGenLists(1); GLUquadricObj *sphere; glNewList(reb_dc.dlist_sphere, GL_COMPILE); sphere = gluNewQuadric(); gluSphere(sphere, 1.f, 20, 20); gluDeleteQuadric(sphere); glEndList(); #endif // _APPLE // Setup lights glCullFace(GL_BACK); glShadeModel ( GL_SMOOTH ); glEnable( GL_NORMALIZE ); glEnable(GL_COLOR_MATERIAL); static GLfloat light[] = {0.7f, 0.7f, 0.7f, 1.f}; static GLfloat lightspec[] = {0.2f, 0.2f, 0.2f, 1.f}; static GLfloat lmodel_ambient[] = { 0.15, 0.14, 0.13, 1.0 }; glLightfv(GL_LIGHT0, GL_DIFFUSE, light ); glLightfv(GL_LIGHT0, GL_SPECULAR, lightspec ); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); static GLfloat sphere_mat[] = {0.8f, 0.8f, 0.8f, 1.f}; static GLfloat sphere_spec[] = {1.0f, 1.0f, 1.0f, 1.f}; glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, sphere_mat); glMaterialfv(GL_FRONT, GL_SPECULAR, sphere_spec); glMaterialf(GL_FRONT, GL_SHININESS, 80); glutTimerFunc(100,reb_display_timer,0); // Enter glut run loop and never come back. glutMainLoop(); }
void display_init(int argc, char* argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH ); glutInitWindowSize(700,700); glutCreateWindow("rebound"); zprInit(0.85/boxsize_max); glutDisplayFunc(display); glutIdleFunc(iterate); glutKeyboardFunc(displayKey); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE); // Sphere #ifdef _APPLE display_dlist_sphere = glGenLists(1); GLUquadricObj *sphere; glNewList(display_dlist_sphere, GL_COMPILE); sphere = gluNewQuadric(); gluSphere(sphere, 1.f, 20, 20); gluDeleteQuadric(sphere); glEndList(); #endif // _APPLE // Setup lights glCullFace(GL_BACK); glShadeModel ( GL_SMOOTH ); glEnable( GL_NORMALIZE ); glEnable(GL_COLOR_MATERIAL); static GLfloat light[] = {0.7f, 0.7f, 0.7f, 1.f}; static GLfloat lightspec[] = {0.2f, 0.2f, 0.2f, 1.f}; static GLfloat lmodel_ambient[] = { 0.15, 0.14, 0.13, 1.0 }; glLightfv(GL_LIGHT0, GL_DIFFUSE, light ); glLightfv(GL_LIGHT0, GL_SPECULAR, lightspec ); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); static GLfloat sphere_mat[] = {0.8f, 0.8f, 0.8f, 1.f}; static GLfloat sphere_spec[] = {1.0f, 1.0f, 1.0f, 1.f}; glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, sphere_mat); glMaterialfv(GL_FRONT, GL_SPECULAR, sphere_spec); glMaterialf(GL_FRONT, GL_SHININESS, 80); // Enter glut run loop and never come back. display_init_done =1; glutMainLoop(); }
int main(int argc, char *argv[]) ///////////////////////////////////////////////////////////////////////////////////////// { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGB); glutInitWindowSize(640, 640); glutInitWindowPosition(100, 100); glutCreateWindow("Vertex Arrays"); initRendering(); zprInit(); // register callbacks glutDisplayFunc(display); glutIdleFunc(display); glutKeyboardFunc(keyboard); glutReshapeFunc(resize); glutMainLoop(); return 0; }
int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE); glutInitContextVersion(3, 2); glutInitWindowSize(W, H); glutCreateWindow ("Project"); glutDisplayFunc(display); //Startar tidsfunktionen glutTimerFunc(5, &onTimer, 0); //Startar knappfunktionen glutSpecialFunc(key); //Initialiserar partikelsystemet initParticleSystem(); //Initialiserar ritandet av partiklar initDrawParticles(); zprInit(&viewMatrix, cam, point); glutMainLoop(); }
int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE); glutInitContextVersion(3, 2); glutInitWindowSize(W, H); glutCreateWindow ("Project"); glutDisplayFunc(display); glutTimerFunc(5, &onTimer, 0); glutReshapeFunc(reshape); glutSpecialFunc(key); initParticleSystem(); initDrawParticles(); zprInit(&viewMatrix, cam, point); glutMainLoop(); return 0; }
void init(void) { dumpInfo(); // shader info // GL inits glClearColor(0.1, 0.1, 0.3, 0); glClearDepth(1.0); glEnable(GL_TEXTURE_2D); glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); // Load shader shader = loadShaders("shaders/projekt.vert", "shaders/projekt.frag"); phongshader = loadShaders("shaders/phong.vert", "shaders/phong.frag"); passShader = loadShaders("shaders/plaintextureshader.vert", "shaders/plaintextureshader.frag"); joinshader = loadShaders("shaders/joinshader.vert", "shaders/joinshader.frag"); lightShader = loadShaders("shaders/illuminati.vert", "shaders/illuminati.frag"); cameraDepthShader = loadShaders("shaders/cameraDepth.vert", "shaders/cameraDepth.frag"); lightDepthShader = loadShaders("shaders/lightDepth.vert", "shaders/lightDepth.frag"); thickness = loadShaders("shaders/thickness.vert", "shaders/thickness.frag"); //shadow shaders projTexShaderId = loadShaders("shaders/depth1V.vert", "shaders/depth1F.frag"); projTexShaderId2 = loadShaders("shaders/depth2V.vert", "shaders/depth2F.frag"); projTexMapUniform = glGetUniformLocation(projTexShaderId,"textureUnit"); plainShaderId = loadShaders("shaders/plain.vert", "shaders/plain.frag"); // Init FBOs fbo_phong = initFBO(W, H, 0); //fbo2 = initFBO(W, H, 0); fbo_depth = initFBO2(W,H, 0, 1); fbo_depth2 = initFBO2(W,H, 0, 1); fbo3 = initFBO(W, H, 0); fbo_sub = initFBO(W,H,0); fbo_lightDepth = initFBO(W,H,0); squareModel = LoadDataToModel( square, NULL, squareTexCoord, NULL, squareIndices, 4, 6); cam = SetVector(0, 0, 0.01); point = SetVector(0, 0, -10); axis = SetVector(0, 1, 0); // load the model bunny = LoadModelPlus("objects/bunny2/bunny_unwrap_noextras_blender.obj"); LoadTGATextureSimple("textures/badBunny.tga", &thicknessBunny); modelMatrix = Mult( modelMatrix, ArbRotate(axis, -0.6)); statue = LoadModelPlus("good_objects/statue_unwrapped_blender.obj"); LoadTGATextureSimple("textures/statue.tga", &thicknessStatue); box = LoadModelPlus("good_objects/box_standard_blender.obj"); LoadTGATextureSimple("textures/box.tga", &thicknessBox); box_bulge = LoadModelPlus("good_objects/box_bulge.obj"); box_valley = LoadModelPlus("good_objects/box_valley.obj"); box_stretched = LoadModelPlus("good_objects/box_stretched.obj"); // load the scenemodels bottom = LoadModelPlus("objects/bottom.obj"); side1 = LoadModelPlus("objects/side1.obj"); side2 = LoadModelPlus("objects/side2.obj"); // load sphere sphere = LoadModelPlus("objects/sphere.obj"); printf("%d vertices\n", sphere->numVertices); printf("%d indices\n", sphere->numIndices); //Light stuff lightPosition = SetVector(-5.0,5.0,-4.0); sphereModelMatrix = Mult(T(lightPosition.x, lightPosition.y, lightPosition.z), sphereModelMatrix); lightColor = SetVector(1.0,1.0,1.0); //Colors bunnyColor = SetVector(1.0,0.4,1.0); sceneColor = SetVector(0.2,0.2,0.7); glutTimerFunc(5, &OnTimer, 0); moveValue = 0.002; moveX = moveValue; zprInit(&viewMatrix, cam, point); //modelMatrix = Mult( T(0.0, -2.4,0.0),modelMatrix); }