using now 3d asteroids
This commit is contained in:
		
							parent
							
								
									5c58595f35
								
							
						
					
					
						commit
						419ebc8783
					
				@ -269,20 +269,6 @@ void View::Draw() {
 | 
			
		||||
		DrawWorld ();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	glPushMatrix();
 | 
			
		||||
	
 | 
			
		||||
	glEnable (GL_LIGHTING);
 | 
			
		||||
	glEnable (GL_LIGHT0);
 | 
			
		||||
 | 
			
		||||
	glRotatef (90, 1., 0., 0.);
 | 
			
		||||
//	glScalef (10., 10., 10.);
 | 
			
		||||
	DrawOBJModel (mAsteroidModel);
 | 
			
		||||
 | 
			
		||||
	glDisable (GL_LIGHT0);
 | 
			
		||||
	glDisable (GL_LIGHTING);
 | 
			
		||||
 | 
			
		||||
	glPopMatrix();
 | 
			
		||||
 | 
			
		||||
	DrawUi ();
 | 
			
		||||
 | 
			
		||||
	// Perform post-Draw actions
 | 
			
		||||
@ -677,6 +663,8 @@ void View::DrawUiLevelIntro() {
 | 
			
		||||
		GetModel()->SetPlayerLives(100);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	glEnable(GL_BLEND);
 | 
			
		||||
 | 
			
		||||
	stringstream level_info_stream;
 | 
			
		||||
	level_info_stream << "Level " << GetModel()->GetCurrentLevelIndex() + 1;
 | 
			
		||||
 | 
			
		||||
@ -760,6 +748,8 @@ void View::DrawUiLevelIntro() {
 | 
			
		||||
			level_author_dest_y - Engine::GetTimer("LevelIntroLevelAuthor") * level_author_delta_y
 | 
			
		||||
			);
 | 
			
		||||
 | 
			
		||||
	glDisable(GL_BLEND);
 | 
			
		||||
 | 
			
		||||
	if (Engine::CheckTimer("LevelIntroLevelStart")) {
 | 
			
		||||
		if(Engine::GUI::Button (1, "Start", (screen_right - button_width) * 0.5, screen_bottom * 0.5 + 180, button_width, button_height)) {
 | 
			
		||||
			PopViewState();
 | 
			
		||||
@ -1661,8 +1651,24 @@ void View::DrawShip (ShipEntity *ship) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void View::DrawAsteroid (AsteroidEntity *asteroid) {
 | 
			
		||||
	mAsteroidSprite.SetScale (2. * asteroid->mPhysicState->mRadius / mAsteroidSprite.GetWidth());
 | 
			
		||||
	mAsteroidSprite.DrawAt(0., 0., 0.);
 | 
			
		||||
//	mAsteroidSprite.SetScale (2. * asteroid->mPhysicState->mRadius / mAsteroidSprite.GetWidth());
 | 
			
		||||
//	mAsteroidSprite.DrawAt(0., 0., 0.);
 | 
			
		||||
 | 
			
		||||
	glPushMatrix();
 | 
			
		||||
	
 | 
			
		||||
	glEnable (GL_LIGHTING);
 | 
			
		||||
	glEnable (GL_LIGHT0);
 | 
			
		||||
 | 
			
		||||
//	glRotatef (90, 1., 0., 0.);
 | 
			
		||||
	float scale = 1.8 * asteroid->mPhysicState->mRadius;
 | 
			
		||||
	glScalef (scale, scale, scale);
 | 
			
		||||
	DrawOBJModel (mAsteroidModel);
 | 
			
		||||
 | 
			
		||||
	glDisable (GL_LIGHT0);
 | 
			
		||||
	glDisable (GL_LIGHTING);
 | 
			
		||||
 | 
			
		||||
	glPopMatrix();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef DRAW_BOUNDARIES
 | 
			
		||||
	glColor3f (1., 1., 1.);
 | 
			
		||||
 | 
			
		||||
@ -651,9 +651,6 @@ void ViewBase::DrawOBJModelShaded (OBJModelPtr obj_model) {
 | 
			
		||||
	std::map<std::string, GLuint>::const_iterator iter;
 | 
			
		||||
	GLuint texture = 0;
 | 
			
		||||
 | 
			
		||||
	glEnable(GL_BLEND);
 | 
			
		||||
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 | 
			
		||||
 | 
			
		||||
	for (int i = 0; i < obj_model->getNumberOfMeshes(); ++i)
 | 
			
		||||
	{
 | 
			
		||||
		pMesh = &obj_model->getMesh(i);
 | 
			
		||||
@ -721,7 +718,7 @@ void ViewBase::DrawOBJModelShaded (OBJModelPtr obj_model) {
 | 
			
		||||
				glEnable(GL_TEXTURE_2D);
 | 
			
		||||
				glBindTexture(GL_TEXTURE_2D, texture);
 | 
			
		||||
			} else {
 | 
			
		||||
				LogMessage ("bumpmap %s not found", pMaterial->bumpMapFilename.c_str());
 | 
			
		||||
				LogError ("bumpmap %s not found", pMaterial->bumpMapFilename.c_str());
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// Bind the color map texture.
 | 
			
		||||
@ -735,7 +732,7 @@ void ViewBase::DrawOBJModelShaded (OBJModelPtr obj_model) {
 | 
			
		||||
				if (iter != mGLTextures.end()) {
 | 
			
		||||
					texture = iter->second;
 | 
			
		||||
				}	else {
 | 
			
		||||
					LogMessage ("color map %s not found", pMaterial->colorMapFilename.c_str());
 | 
			
		||||
					LogError ("color map %s not found", pMaterial->colorMapFilename.c_str());
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@ -812,17 +809,13 @@ void ViewBase::DrawOBJModelShaded (OBJModelPtr obj_model) {
 | 
			
		||||
 | 
			
		||||
	// as we might be using multiple textures (at least for the normal mapping
 | 
			
		||||
	// case) we have to disable both textures
 | 
			
		||||
	glActiveTexture(GL_TEXTURE0);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, 0);
 | 
			
		||||
	
 | 
			
		||||
	glActiveTexture(GL_TEXTURE1);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, 0);
 | 
			
		||||
 | 
			
		||||
	glActiveTexture(GL_TEXTURE0);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, 0);
 | 
			
		||||
	
 | 
			
		||||
	glUseProgram(0);
 | 
			
		||||
	glDisable(GL_BLEND);
 | 
			
		||||
 | 
			
		||||
	// disable texture drawing
 | 
			
		||||
//	glDisable(GL_TEXTURE_2D);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user