2012-05-29 27 views
0

這個問題看起來很簡單,但我找不到HLSL如何處理自己的座標系。HLSL座標系定位

我只想知道哪裏是(0,0)位於(左上角或左下角),並且因爲我與這些着色器概念的總初學者,我無法獨自

扣除其

感謝您的幫助!

+0

此無關用你用來訪問DirectX的語言。 – Puppy

回答

1

在頂點着色器,你可以用幾種工件座標系統或空間...

通常是你的頂點數據在世界座標到達...

然後通過WordViewProjection矩陣轉換頂點數據,該矩陣從世界座標變換到同質投影座標這是在頂點着色器中返回的值...

如果頂點位於屏幕內部,如果用w分量除以x和y座標,則將得到範圍內的點(-1。 .1,-1..1)...我不確定,但我認爲(-1,-1)是左上角...你只需要測試它

你可以發送到顯卡兩個三角形表示這個空間(-1,-1,0),(1,-1,0),(1,1,0),(-1,1,0)中的屏幕邊角的四邊形,這樣您不需要通過任何矩陣轉換頂點數據。

你沒有解釋你想做的事..但我想你想要做一個後處理...

如果是這樣的話......你可以在紋理座標像素着色器的工作。 ..這樣的左上點爲(0,0)和右下點爲(1,1)

在這裏你可以找到的代碼和擴展的解釋:http://ploobs.com.br/?p=1092