Void CWidgetCanvas::Render(CRenderer& renderer, CShader& shader) { CGuiRenderPass& uiPass = *renderer.GetGuiRenderPass(); if( m_NinePatch ) { shader.GetParameter("UseTexture")->SetValue( (Bool) TRUE ); // shader.GetParameter("Texture")->SetValue( *m_NinePatch ); } else { shader.GetParameter("UseTexture")->SetValue( (Bool) FALSE ); } const CColor& col = m_Color; uiPass.DrawQuad(shader, GetRect(), col); CWidget::Render(renderer, shader); }
Void CScreenQuad::Render( CRenderer& renderer, const CVector2f& pos, const CVector2f& size, CShader& shader ) { DebugGraphicCommandGroup( "CScreenQuad::Render" ); CShaderParameter* p; p = shader.GetParameter( "Size" ); if( p ) p->SetValue( CShaderParameterData( size ) ); p = shader.GetParameter( "Position" ); if( p ) p->SetValue( CShaderParameterData( pos ) ); renderer.Activate( m_VertexBuffer, 0 ); renderer.Activate( m_VertexLayout ); renderer.Activate( m_IndexBuffer ); renderer.Activate( shader ); GraphicsManager.GetImpl().DrawIndexed( nPrimitiveType_TriangleList, 6, 0, 0 ); }