2009-07-06 8 views
1

Was mit diesem falsch:Zeichnen eines Vollbildschirms Quad?

pVertexBuffer[0].Position = D3DXVECTOR3(0.0f,0.0f,0.0f); 
pVertexBuffer[0].TexCoord = D3DXVECTOR2(0.0f,0.0f); 

pVertexBuffer[1].Position = D3DXVECTOR3(m_ScreenResolutionX,0.0f,0.0f); 
pVertexBuffer[1].TexCoord = D3DXVECTOR2(1.0f,0.0f); 

pVertexBuffer[2].Position = D3DXVECTOR3(0.0f,m_ScreenResolutionY,0.0f); 
pVertexBuffer[2].TexCoord = D3DXVECTOR2(0.0f,1.0f); 

pVertexBuffer[3].Position = D3DXVECTOR3(0.0f,m_ScreenResolutionY,0.0f); 
pVertexBuffer[3].TexCoord = D3DXVECTOR2(0.0f,1.0f); 

pVertexBuffer[4].Position = D3DXVECTOR3(m_ScreenResolutionX,0.0f,0.0f); 
pVertexBuffer[4].TexCoord = D3DXVECTOR2(1.0f,0.0f); 

pVertexBuffer[5].Position = D3DXVECTOR3(m_ScreenResolutionX,m_ScreenResolutionY,0.0f); 
pVertexBuffer[5].TexCoord = D3DXVECTOR2(1.0f,1.0f); 

wenn ich versuche, dies zu machen, ich sehe nichts. Im Vertex-Shader verwende ich diese Eckpunktpositionen, ohne sie zu transformieren.

Antwort

4

Vertex-Shader geben Vertices in homogenen Screenspace-Koordinaten aus; Sie sind normalerweise unabhängig von der Bildschirmauflösung. Mit anderen Worten, Sie sollten Koordinaten von (-1, -1,0) nach (1, 1, 0) ausgeben.