Пример #1
0
void display()
{
	if(lastTime == 0)
	{
		lastTime = glutGet(GLUT_ELAPSED_TIME);
	}
	now = glutGet(GLUT_ELAPSED_TIME);

	delta_t = (now - lastTime) / 1000.0f;
	//lastTime = now; //1 / delta_t here means the frame rate.

	fpsTracker.timestamp();
	//update camera information per frame
	updateCamera();
	checkClear();
	if(moved)
		lastTime = now;
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	//do raytrace
	raytrace();
	
	//render result as texture
	displayTexture();
	//draw tool bar
	TwDraw();
	drawFps();

	glutSwapBuffers();
	glutPostRedisplay();
}
Пример #2
0
void endScreen(){
	
	over=true;
	
	//make a final score screen
	SDL_SetRenderDrawColor( gRenderer, 0xFF, 0xFF, 0x00, 0xFF );
	SDL_RenderClear( gRenderer );
	
	background_image = loadImage("end.png");
	displayTexture(background_image, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_FLIP_NONE);
	
	SDL_SetRenderDrawColor( gRenderer, 0xFF, 0x00, 0xFF, 0xFF );

	//point tallies
	int thickness=5;
	int j,i,k;		
	for (j=0; j<points;j++){
		for( i = SCREEN_HEIGHT/3.5; i < 13*SCREEN_HEIGHT/14; i++ )
		{
			for (k=0;k<thickness;k++){
				SDL_RenderDrawPoint( gRenderer, (j+1)*(SCREEN_WIDTH)/(points)+k, i );
			}
		}
//		SDL_RenderDrawLine( gRenderer, 0,10,20,10);
	}
			
	SDL_RenderPresent( gRenderer ); //update screen	
	
}
void SmokeRenderer::render()
{
	switch(mDisplayMode) {
	case POINTS:
		glColor3f(1.0, 1.0, 1.0);
		m_simpleProg->enable();
		drawPoints(0, mNumParticles, false);
		m_simpleProg->disable();
		break;
	case SPRITES:
        glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR);
		glColor4f(1.0, 1.0, 1.0, m_spriteAlpha);
		drawPointSprites(m_particleProg, 0, mNumParticles, false);
		break;
	case VOLUMETRIC:
		drawSlices();
		compositeResult();
		break;
	case NUM_MODES:
		break;
	}

    if (m_displayLightBuffer) {
        // display light buffer to screen
        glViewport(0, 0, m_lightBufferSize, m_lightBufferSize);
        glDisable(GL_DEPTH_TEST);
        displayTexture(m_lightTexture[m_srcLightTexture]);
        glViewport(0, 0, mWindowW, mWindowH);
    }

    glutReportErrors();
}
// composite final volume image on top of scene
void SmokeRenderer::compositeResult()
{
    glViewport(0, 0, mWindowW, mWindowH);
    glDisable(GL_DEPTH_TEST);
    glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
    glEnable(GL_BLEND);
    displayTexture(m_imageTex);
    glDisable(GL_BLEND);
}
Пример #5
0
void QHoneycombWidget::paintGL()
{
  glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
  glClear(GL_COLOR_BUFFER_BIT);
  computeTexture();
  
  displayTexture(imWidth, imHeight);
  
  update();
  
  
}
Пример #6
0
void Renderer::compositeResult()
{
	/*m_imageFbo->Disable();
	m_postprocessingFbo->Disable();
	glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);

	m_displayTexProg->enable();
	m_displayTexProg->bindTexture("tex", m_imageTex, GL_TEXTURE_2D, 0);
	drawQuad();
	m_displayTexProg->disable();*/


	glViewport(0, 0, mWindowW, mWindowH);
	glDisable(GL_DEPTH_TEST);
	glEnable(GL_BLEND);
	glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
	//glEnable(GL_BLEND); GL_SRC_ALPHA
	displayTexture(m_imageTex);
	//m_postprocessingTex m_imageTex
	glDisable(GL_BLEND);
}
Пример #7
0
void MonaEv::displayShapes(const std::array<int, 2> &winSize)
{
    if (ppainter_) {
        displayTexture(ppainter_->getShapesTexture(), ppainter_->getImageSize(), winSize);
    }
}
Пример #8
0
void Car::display ()
{
   //displayWireFrame ();
   //displaySolidCube ();
   displayTexture ();
}