0
我必須使用託管DirectX繪製地圖。地圖以MapInfo格式(線,多段線,區域/多邊形)到達。多邊形已經被三角化(用GLUtesselator完成)。DirectX Z順序
的想法:
- GPS座標轉換爲X,Y點(墨卡託投影)
- 我使用PositionColored VertexFormat
- 中心的視圖[X,Y](可通過修改的鼠標移動)
- 相機總是被定位到[x,y,z],其中z是縮放(默認爲-100,可以通過鼠標滾輪修改)
- 相機目標是:[x,y,0],攝像頭向上:[0,1,0]
- 地圖的層位於通過Z(1.0,0.99,0.98,0.97 ...等)
我已經可以做到:
- 繪製的線和折線
- 繪製一層多邊形
我的問題是:當我想繪製所有圖層時,我只看到它們中的一個。我認爲z排序有一些問題。我該怎麼做才能解決這個問題?修改RenderState?最好的情況是,如果我能像GDI那樣抽籤(先在後面,後面在前面)。
其他問題:如何獲得鼠標光標下像素的座標? (在GDI版本的地圖中,我可以這樣做,因爲我使用自己的視口進行渲染,但現在directx可以做所有事情)
謝謝!