예제 #1
0
//--------------------------------------------------------------
void testApp::draw()
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

	glPushMatrix();
	glTranslatef((GLfloat)(ofGetWidth() / 2), (GLfloat)(ofGetHeight() / 2), 0.0f);
	gluLookAt(eyeX*100, eyeY*100, eyeZ*100, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);

	//glRotatef(cities[cities.size()-1].lat, 1.0f, 0.0f, 0.0f);		// Rotate On The X Axis
	//glRotatef(-cities[cities.size()-1].lng, 0.0f, 1.0f, 0.0f);		// Rotate On The Y Axis
	glRotatef(rotX, 1.0f, 0.0f, 0.0f);		// Rotate On The X Axis
	glRotatef(-rotY, 0.0f, 1.0f, 0.0f);		// Rotate On The Y Axis
	glRotatef(180.0f, 0.0f, 1.0f, 0.0f);		// Rotate On The X Axis
	
	//glRotatef(rotX, 1.0f, 0.0f, 0.0f);		// Rotate On The X Axis
	//glRotatef(rotY, 0.0f, 1.0f, 0.0f);		// Rotate On The Y Axis

	earth->draw();

	for (int j = 0; j < maxLongitude; ++j) {
		for (int i = 0; i < maxLatitude; ++i) {
			points[j * maxLatitude + i]->draw();
		}
	}

	for (int i = 0; i < cities.size(); ++i) {
		cities[i].draw();
	}

	if (showXYZ) drawXYZ();
	glPopMatrix();

	drawString();
	displayFPS();
}
예제 #2
0
void Game::Draw()
{
	displayFPS();
	window->clear();
	if (isInMenu)
		menu->Draw();
	else
		world->draw();

	window->setView(window->getDefaultView());
	window->draw(fpsCounter);
	window->display();
}
예제 #3
0
파일: ui.cpp 프로젝트: kkthx/spaceexplorer
void CUI::drawUI(void)
{
	if (data->debugMode)
	{
		float color[4] = { 1.0f, 0.0f, 0.0f, 1.0f };
		glLightModelfv(GL_LIGHT_MODEL_AMBIENT, color);
	}
	else
	{
		float color[4] = { 1.0f, 1.0f, 1.0f, 1.0f };
		glLightModelfv(GL_LIGHT_MODEL_AMBIENT, color);
	}

	//reset light
	float amb[] = { 1.0f, 1.0f, 1.0f };
	float dif[] = { 0.0f, 0.0f, 0.0f };
	float spe[] = { 0.0f, 0.0f, 0.0f };
	glMaterialfv(GL_FRONT, GL_AMBIENT, amb);
	glMaterialfv(GL_FRONT, GL_DIFFUSE, dif);
	glMaterialfv(GL_FRONT, GL_SPECULAR, spe);


	glDisable(GL_DEPTH_TEST);
	glMatrixMode(GL_PROJECTION);

	glPushMatrix();
	glLoadIdentity();
	glOrtho(0.0, glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT), 0.0, -1.0, 10.0);
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();

	glClear(GL_DEPTH_BUFFER_BIT);
	glColor3f(0.1f, 0.1f, 0.1f);

	displayHUD();
	displayFPS();

	displayDebug();


	glMatrixMode(GL_PROJECTION);
	glPopMatrix();

	glMatrixMode(GL_MODELVIEW);
	glEnable(GL_DEPTH_TEST);
	textLines = 0;
}
예제 #4
0
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------
GLvoid ChessGame::drawScene(GLvoid)
{
	chessCam();	
	drawChessBoard();

	glEnable(GL_BLEND);
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

	glDisable(GL_TEXTURE_2D);
	glEnable(GL_LIGHTING);

	for(int i = 0; i < (int)Lighting::lights.size(); i++)
		Lighting::lights[i]->updateLight();


	glEnable(GL_BLEND);	



	//drawGrid();	

	glEnable(GL_LIGHTING);
	glDisable(GL_TEXTURE_2D);

	//TODO:: GET EMITTER WORKING
	//emitter->Update( SDL_GetTicks() );

	glDisable(GL_LIGHTING);
	setOrtho(windowWidth, windowHeight); //ortho for 2D text

	glMatrixMode(GL_MODELVIEW); //back to 3D
	glLoadIdentity();


	displayFPS();
	drawControls();


	glFlush();

	//This line IS MODIFIED in different interfaces
	SDL_GL_SwapBuffers();

}