我將一些代碼從HSLSL和XNA轉換爲CG和OpenGL。ModelViewProjection與WorldViewProjection相同嗎?
該代碼用於渲染體積數據。但是體積數據也不是在每個維度上使用相同的距離進行採樣,例如(0.9f,1f,1f)。所以需要應用一個比例因子。
在XNA和HLSL例如,他們執行以下操作:
mul(input.Position * ScaleFactor, WorldViewProj);
凡WorldViewProj傳遞到着色器。
在OpenGL中,我的印象是glstate.matrix.mvp是ModelViewProjection,其中ModelView是World * View。很明顯,我錯了,因爲當我做下面的事情時,沒有任何東西被繪製。
output.Position = mul(input.Position * scale, glstate.matrix.mvp);
使用設置爲GL_MODELVIEW的glMatrixMode渲染該卷。我需要創建自己的矩陣嗎?如果是這樣,任何好的教程? :D
啊,我完全忘了OpenGL和DX在處理矩陣方面的區別,謝謝! – Benzino