예제 #1
0
//-----------------------------------------------------------------------------------------------
void CommandConsole::Render() const
{
	Renderer* renderer = Renderer::GetRenderer();

	renderer->EnableFeature( Renderer::SHAPE_RESTART_INDEXING );
	renderer->EnableArrayType( Renderer::VERTEX_ARRAYS );
	renderer->EnableArrayType( Renderer::COLOR_ARRAYS );

	const ShaderProgram* activeShader = renderer->GetActiveShaderProgram();
	unsigned int shaderTextureToggleID = renderer->GetUniformVariableLocation( activeShader, "u_texturesEnabled" );
	renderer->SetUniformVariable( shaderTextureToggleID, 0 );

	RenderBackgroundPanes();

	renderer->SetUniformVariable( shaderTextureToggleID, 1 );

	RenderConsoleText();

	renderer->SetUniformVariable( shaderTextureToggleID, 0 );

	renderer->EnableArrayType( Renderer::VERTEX_ARRAYS );
	renderer->EnableArrayType( Renderer::COLOR_ARRAYS );

	RenderBorders();

	if( m_prompt.cursorIsShowing )
		RenderTextCursor();

	renderer->SetUniformVariable( shaderTextureToggleID, 1 );

	renderer->DisableArrayType( Renderer::COLOR_ARRAYS );
	renderer->DisableArrayType( Renderer::VERTEX_ARRAYS );
	renderer->DisableFeature( Renderer::SHAPE_RESTART_INDEXING );
}
예제 #2
0
//-----------------------------------------------------------------------------------------------
void Game::Render() const
{
	static const double NEAR_CLIPPING_PLANE_DISTANCE = 0.1;
	static const double FAR_CLIPPING_PLANE_DISTANCE = 1000.0;

	Renderer* renderer = Renderer::GetRenderer();

	renderer->PushMatrix();

	renderer->SetPerpectiveProjection( m_horizontalFOVDegrees, m_aspectRatio, NEAR_CLIPPING_PLANE_DISTANCE, FAR_CLIPPING_PLANE_DISTANCE );

	RenderGame();
	Debug::RenderDrawings();

	renderer->PopMatrix();

	renderer->PushMatrix();

	renderer->SetOrthographicProjection( 0.0, static_cast< double >( m_screenWidth ), 0.0, static_cast< double >( m_screenHeight ), 0.0, FAR_CLIPPING_PLANE_DISTANCE );
	renderer->DisableFeature( Renderer::DEPTH_TESTING );
	renderer->DisableDepthBufferWriting();

	RenderUI();

	if( m_consoleVisible )
		m_console->Render();

	renderer->EnableDepthBufferWriting();
	renderer->EnableFeature( Renderer::DEPTH_TESTING );

	renderer->PopMatrix();
}