我正在保存我驅動的X/Y座標,然後使用將座標轉換爲米的函數,並將1280添加到每個點(因此它將很好地適合2560x2560圖像),然後在「點',導致某種賽車線。但是一旦我生成了多邊形並將其保存爲圖像,它就會以某種方式垂直翻轉。垂直翻轉圖像將使其與軌道位圖完美匹配。我被告知這是由於DirectX內部有Y軸翻轉。爲什麼DirectX使用翻轉的Y軸?爲什麼DirectX使用翻轉的Y軸?
0
A
回答
5
嗯,問題是,DirectX是否有翻轉的Y軸或圖像?
DirectX使用3D/4D座標系,其中X軸指向右側,Y軸指向上方,而不應用轉換。這是因爲屏幕(Y軸指向下)是必須處理圖像的最後一個實例。之前的每一步都使用帶有向上Y軸的座標系。由於Direct3D是爲三維世界設計的,因此像世界一樣對齊並且像數學中大多數座標系一樣的座標系對程序員和設計人員來說更爲方便。想象一下,你會創建一個3D模型。如果你設計Y軸是向下指向的話,它會不會有點奇怪?
如果您完全沒有任何可以允許透視等的轉換,則您具有相同的座標系。忽略Z軸,左上角是(-1 | 1),右下角是(1,-1)。這等於例如用於例如數學。最後,這個座標系用視口轉換,這將導致左上角爲(0 | 0),右下角爲(ResolutionX | ResolutionY)。
所以,這一切的一切,之所以向上Y軸點是Direct3D的主要目的是描述在獨立屏幕的物理屬性的一種方便的方式世界。
相關問題
- 1. 爲什麼某些語言使用翻轉的Y軸?
- 2. 翻轉Y軸?
- 3. 在vtk中翻轉Y軸
- 4. 爲什麼Z軸旋轉在Nexus S的y軸上反射?
- 5. 在OpenGL ES中翻轉Y軸?
- 6. QQuickFramebufferObject在QML中翻轉Y軸
- 7. 如何翻轉CALayer圍繞其Y軸?
- 8. 爲什麼vi的y會翻兩行?
- 9. 使用jQuery.flot反轉Y軸
- 10. matplotlib:爲什麼我的Y軸扭曲?
- 11. 如何在翻轉的Y軸角度處理翻譯矩陣
- 12. 使用窗口/視口翻轉QPainter y軸
- 13. JavaScript Canvas翻譯y軸
- 14. 爲什麼我的Flot y軸標籤出現在軸上? JQM
- 15. 爲什麼縱軸數據中的y軸包裹在xyplot中?
- 16. Excel圖表:將Y軸值轉換爲Y軸類別
- 17. AVMutableComposition y軸反轉
- 18. ggplot2翻轉Y軸不顯示正確設置的限制
- 19. Xcode:爲什麼我的翻轉動畫翻轉兩次?
- 20. 使用css選擇軸來翻轉div
- 21. Three.JS旋轉投影使y軸成爲z軸
- 22. 爲什麼大多數人使用y軸作爲xna中的向上矢量?
- 23. Achartengine:反轉y軸,該怎麼辦?
- 24. 爲什麼使用jQuery的.attr(X,Y)
- 25. Raphael svg翻譯y軸座標
- 26. 如何翻譯svg元素沿y軸?
- 27. 如何在GLSL着色器中翻轉Y軸之前gl_FragColor = texture2D(*,*);
- 28. 如何在X或Y軸上翻轉一個精靈cocos2d-python
- 29. 如何翻轉一個遊戲物體繞Y軸團結
- 30. 在Excel自定義圖表上翻轉X和Y軸
謝謝你,那可以解釋得更好。 – 2012-04-20 04:17:24
有沒有這樣的事情作爲默認約定。您將軸點指向您最喜歡的位置。你可以在D3DX中使用助手函數,比如「make orhtorgonal projection matrix,right handed」,它可以幫助你創建矩陣。矩陣「隱含」了你的座標系,然後你在頂點着色器中做的就取決於你。 – 2013-07-19 03:44:05
對於傳統的DirectX9固定功能流水線,它確實假定所有視圖座標都是爲左手的行主座標設置的。通過可編程管線,您可以根據需要設置慣例,但必須與您的內容,代碼和着色器保持一致。從歷史上看,DirectX使用左手行主座標,這是DXUT使用的座標。 [DirectX Tool Kit](http://go.microsoft.com/fwlink/?LinkId=248929)中的XNA Game Studio和SimpleMath使用右手的行主座標。歷史上OpenGL使用右手,列專業。 – 2014-09-30 06:19:22