Exemplo n.º 1
0
	GLBox()
	{
		App = new sf::Window(sf::VideoMode(RES_WIDTH, RES_HEIGHT, 32), "Bubbles!");

		// Setting up shaders
		FILE * logFile;
		logFile = fopen("log text", "wb");
		if(NULL == logFile)
		{
			printf("Unable to open log file. Exiting...\n");
			exit(2);
		}
		__glewInit(logFile);

		ShaderManager shaders = ShaderManager(logFile);
		char const * bubbleDrawVert = "BubbleShaders/bubbleRender3dModel.vert";
		char const * bubbleDrawFrag = "BubbleShaders/bubbleRender3dModel.frag";
		bubbleShaderProg = shaders.buildShaderProgram(&bubbleDrawVert, &bubbleDrawFrag, 1, 1);

		Clock = sf::Clock();
		mode = BUBBLE_MODE;
		gfxinit();

		while (App->IsOpened())
		{
			App->SetActive();
			handleEvents();
			setShader();
			setShaderVariables(bubbleShaderProg);
			display();
			App->Display();
		}

		fclose(logFile);
	}
	GLBox()
	{
		App = new sf::Window(sf::VideoMode(RESOLUTION, RESOLUTION, 32), "Spherio");

		glEnable(GL_LIGHTING);
		
		cameraLookMode = false;
		lastPos[0] = -1;
		lastPos[1] = -1;
		cameraTheta = tiltX = tiltZ = 0;
		cameraPhi = 50;
		buttonPressed[0] = buttonPressed[1] = buttonPressed[2] = buttonPressed[3] = false;
		gfxinit();
		
		double a[] = {20, 0, -20};
		double b[] = {20, 10, -20};

		double block1Color[3] = {1, 0, 0};
		double block1Center[3] = {0, 0, 0};
		level[0] = Block(block1Color, block1Center, 4, 1, 4, 0, 0);
		double ballColor[3] = {0,1,1};
		double ballCenter[3] = {0,3,0};
		ball = Sphere(ballColor,ballCenter,0.314159);

		//double block2Color[3] = {0, 0, 1};
		//double block2Center[3] = {2, 0, -5};
		//level[1] = Block(block2Color, block2Center, 1, 1, 1, 0, 45);
		/*level[2] = Block(0, 0, -200, 0, 10, -200, 2);
		level[3] = Block(0, -10, -20, 0, 10, -20, 2);
		level[4] = Block(-10, 0, -20, 10, 0, -2, 2);
		*/
		//level[0].toString();

		FILE * logFile;
		logFile = fopen("log.txt", "wb");
		if(logFile == NULL)
		{
			printf("Unable to open log file. Exiting...\n");
			exit(2);
		}
		
		__glewInit(logFile);
		ShaderManager shaders = ShaderManager(logFile);
		
		const char * vertPath = "Shaders/Render3dModel.vert";
		const char * fragPath = "Shaders/Render3dModel.frag";
		prog = shaders.buildShaderProgram(&vertPath, &fragPath, 1, 1);
		vertPath = "Shaders/BallShader.vert";
		fragPath = "Shaders/BallShader.frag";
		ballProg = shaders.buildShaderProgram(&vertPath, &fragPath, 1, 1);
		while (App->IsOpened())
		{
			App->SetActive();
			
			handleEvents();
			glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
			
			updateModelviewMatrix();
			glUseProgram(prog);
			setShaderVariables(prog);
			setShaderVariables(ballProg);
			for (int i = 0; i < 1; ++i)
			{
				level[i].display();
			}
			glUseProgram(ballProg);
			ball.display();
			App->Display();
		}
	}