因爲正常的人比較多用於計算度數 - OpenGL旨在用於簡單。請注意,所有對度進行操作的函數都是「高級」函數。
對於OpenGL本身,它是否接收弧度或度數沒有區別 - 它們在內部轉換爲轉換矩陣,所以沒有使用其中一個或另一個的計算收益。
那麼,爲什麼如果你可以允許他們使用度,讓人們變得複雜呢?任何在OpenGL中認真編碼的人都會提供他們自己的從四元數計算出來的矩陣。
本着同樣的精神,我們可以問,爲什麼要有glRotatef
和gluPerspective
,因爲矩陣在各方面都更加優雅,並且允許更高的控制等級。
逐點:
- 雍容華貴 - 矩陣是在各方面
- C庫更優雅 - C庫使用他們,因爲計算的原因,拍攝角度GL功能都註定不會被用於計算繁重的任務(直接使用矩陣),並且可能實現有一個度數查找表。
- 任何其他庫 - 出於與Clib相同的原因在C庫之後 - 也是不真實的 - 許多C++庫允許進行選擇,有些則使用後者。計算的便利性 - 無所謂 - 內部表示法是矩陣,如果意味着要高效計算probablye使用查找表完成的 - 有對角沒有直接的操作,所以表示沒關係
還要注意:所有的使用度的功能在目前的標準(3.2)已棄用。 glRotatef
是只有功能取得程度,或者事實上,一個角度。glu是一種不適合重型部署的實用程序庫,因此它專爲可讀性量身定製,並且gluPerspective(... 60.0f..)
在提供FOV方面的可讀性和「標準」要比gluPerspective(... M_PI/3.0f ...)
多得多。
最後說明:
雖然我從來沒有使用過非常多的OpenGL - 我也想知道爲什麼度數而不是弧度!正如你所說,顯而易見,弧度在每個方面都更加優雅。 – sabiland 2010-01-27 12:54:58
對於投票結束的人來說:這是一個真正的問題,並且在那裏必須有一個確定的和決定性的答案。也許在SGI的一些會議上有幾分鐘的時間,我不知道...... – Thomas 2010-01-27 13:03:58