簡體   English   中英

OpenGL:最終的坐標系混亂解決方案?

[英]OpenGL: the ultimate coordinate system confusion solution?

我厭倦了思考我的同伙們在每種情況下如何工作。

我聽說可以通過以下代碼翻轉Y軸:

glScalef(1, -1, 1);

但是我應該嗎? 這不會破壞其他一些外部功能和照明等嗎?

我可能會說,習慣於opengl默認值是擺脫混亂的最快方法。

這個問題沒有正確的是/否答案。 調用glScalef(1, -1, 1)意味着使用左手坐標系而不是右手坐標系,這在歷史上一直是例如Direct3D和RenderMan接口的選擇。 有人認為將正z軸指向屏幕而不是指向屏幕更直觀(這是左手坐標系的一種版本,指向下方的y軸是另一種)。

如果選擇切換坐標系,則必須更改OpenGL中的某些標准設置才能使其正常工作。 例如,您可能要調用glCullFace(GL_FRONT) (或反轉發送到OpenGL的所有三角形的順序)。

我可能是錯的,但可能會使您的模型由內而外。 您可能還需要交換頂點纏繞順序。 但是,如果使用雙面多邊形,則無需擔心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM