2016-03-05 54 views
0

我一直在地形上工作,不得不完全停下來。我使用C++,DirectX9和HLSL編程來創建地形,但我也使用BMP格式的高度貼圖。我在C++端以及着色器端從高度圖中加載信息。在C++端,我使用D3DXCreateTextureFromFile和曲面(D3DXSaveSurfaceToFile)來加載信息,而在着色器端,我使用tex2Dlod來加載我的地​​形頂點信息。這兩個人從高度圖中獲得不同的值。經過進一步的研究,我發現tex2Dlod函數利用了mip貼圖(仍然不完全理解)來加載信息。地形高度貼圖 - C++ /頂點着色器有不同的值

有人會知道如何讓兩個數字匹配的方法?如果你需要更多的信息(數字,圖片或其他),請讓我知道!

謝謝!

回答

0

第一個問題是爲什麼你堅持使用DX9是什麼原因?我至少會理解DX10。你能告訴我HLSL代碼嗎?

tex2Dlod是紋理採樣函數,它需要兩個參數。 1. sampler2D 2. float4(紋理座標)。

Actualy tex2dlod是進行紋理貼圖貼圖(紋理細節)和紋理貼圖偏移的函數。但完全我不明白哪裏是問題?你能更具體嗎?

並且順便說一句,整個函數至少只支持着色器模型3.0。