Exemple #1
0
//************************************************************
//write image to the frame buffer
//************************************************************
void writePixels(GLubyte *image, int image_width, int image_height)
{
	int viewport[4];	// Current viewport
    glGetIntegerv(GL_VIEWPORT, viewport);

 	glDisable(GL_BLEND);
	glDisable(GL_LIGHTING);
	glDisable(GL_DEPTH_TEST);
	glDisable(GL_TEXTURE_1D);
	glDisable(GL_TEXTURE_2D);
	glDisable(GL_DITHER);
	glDisable(GL_FOG);
	double inset=5;
	double y1=-1,x1=-1;
	double ys,xs;

	glClearColor(1.0f,1.0f,0.0f,1.0f);
 	glClear(GL_COLOR_BUFFER_BIT);

	x1=-1+inset/image_width;
	y1=-1+inset/image_height;

	glRasterPos4d(x1,y1,0,1);

	xs=((double)viewport[2]-inset)/(double)image_width;
	ys=((double)viewport[3]-inset)/(double)image_height;
	glPixelZoom((float)xs,(float)ys);

	glDrawPixels(image_width,image_height,GL_RGB, GL_UNSIGNED_BYTE,image);

	glPixelZoom(1,1);
	glRasterPos4d(-1,-1,0,1);
	glEnable(GL_DEPTH_TEST);
}
Exemple #2
0
/////////////////////////////////////////////////////////
// Render
//
void GEMglRasterPos4d :: render(GemState *state)
{
  glRasterPos4d (x, y, z, w);
}
Exemple #3
0
template< > inline void glRasterPos4< LDOUBL >			(LDOUBL x,LDOUBL y,LDOUBL z, LDOUBL w )	{	glRasterPos4d((double)x,(double)y,(double)z,(double)w);	};
Exemple #4
0
template< > inline void glRasterPos4< double >			(double x,double y,double z, double w )	{	glRasterPos4d(x,y,z,w);	};
Exemple #5
0
void GraphicEng::DisplayScene()
{
  // czyszczenie bufora koloru, bufora g³êbokoœci i bufora szblonowego
  glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT );
		
	if(LogicLayer::getI()->graphicsShouldRefreshBullets || LogicLayer::getI()->graphicsShouldRefreshCreeps || LogicLayer::getI()->graphicsShouldRefreshPlayer)
	{
		groundGrid->rescanState(LogicLayer::getI()->grid);
	}
	glLineWidth(1);
	glPointSize(10);
	glEnable( GL_DEPTH_TEST );
	glEnable (GL_BLEND);
	glEnable(GL_LINE_SMOOTH);
	glEnable(GL_POINT_SMOOTH);
	glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

	modelViewMatrix.PushMatrix();	
	M3DMatrix44f mCamera;
	cameraFrame.GetCameraMatrix(mCamera);
	modelViewMatrix.MultMatrix(mCamera);
	
	// Draw the world upside down
	modelViewMatrix.PushMatrix();
	modelViewMatrix.Scale(1.0f, 1.0f, -1.0f); // Flips the Y Axis
	modelViewMatrix.Translate(0.0f, 0.0f, 2.5f); // Scootch the world down a bit...
	modelViewMatrix.Rotate(15, 1, 0, 0);

	/*shaderManager.UseStockShader(GLT_SHADER_FLAT, transformPipeline.GetModelViewProjectionMatrix(), clBlue);	
	b.Begin(GL_TRIANGLE_FAN, 10);
	b.Vertex3f(0,0,-1);
	b.Vertex3f(0.8f,0,-1);
	b.Vertex3f(2,1,-1);
	b.End();*/

	//groundGrid->Render((float*)transformPipeline.GetModelViewProjectionMatrix());
		
	//b.Draw();
	for(std::vector<ILayer*>::iterator it = layers.begin(); it<layers.end(); it++)
	{
		(*it)->Render((float*)transformPipeline.GetModelViewProjectionMatrix());
	}

	modelViewMatrix.PopMatrix();

	modelViewMatrix.PopMatrix();
		
	glDisable( GL_DEPTH_TEST );
	std::ostringstream txt;
		
	if(LogicLayer::getI()->gameover)
	{
		txt<<"Koniec gry\nNacisnij enter aby wyjsc";
		shaderManager.UseStockShader(GLT_SHADER_IDENTITY, clWhite);
		glRasterPos3f(-0.15, -0.1, 0);
		glutBitmapString(GLUT_BITMAP_HELVETICA_18, (unsigned char *)txt.str().c_str());
	}
		
	txt = std::ostringstream();
	txt<<"HP: "<<LogicLayer::getI()->player->hp<<"\nPoints: "<<LogicLayer::getI()->points;
	shaderManager.UseStockShader(GLT_SHADER_IDENTITY, clWhite);
	glRasterPos3f(-1, 0.95, 0);
	glutBitmapString(GLUT_BITMAP_HELVETICA_12, (unsigned char *)txt.str().c_str());
	if(LogicLayer::getI()->showFPSinfo)
	{
		txt = std::ostringstream();
		txt << "FPS: " << framesPerSecond;
		glDisable( GL_DEPTH_TEST );
		shaderManager.UseStockShader(GLT_SHADER_IDENTITY, clWhite);
		glColor3f(0, 0, 0); 
		glRasterPos4d(-1, -1, 0, 1);
		glutBitmapString(GLUT_BITMAP_TIMES_ROMAN_24, (unsigned char *)txt.str().c_str());
		glEnable( GL_DEPTH_TEST );
	}
	glEnable( GL_DEPTH_TEST );

	glutSwapBuffers();
}
Exemple #6
0
M(void, glRasterPos4d, jdouble x, jdouble y, jdouble z, jdouble w) {
	glRasterPos4d(x, y, z, w);
}