رسم كامل الشاشة رباعية؟
-
23-08-2019 - |
سؤال
ما المشكلة في هذا:
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);
إذا حاولت تقديم هذا، فأنا لا أرى أي شيء. في Vertex Shader، استخدم مواقع قمة الرأس هذه دون تحويلها.
المحلول
رؤوس إخراج تظليل قمة الرأس في إحداثيات قبض الشاشة متجانسة؛ وعادة ما تكون دقة الشاشة مستقلة. بمعنى آخر، يجب عليك إخراج الإحداثيات من (-1، -1،0) إلى (1، 1، 0).
لا تنتمي إلى StackOverflow