簡體   English   中英

OpenGL:glRotatef旋轉了什么?

[英]OpenGL: What does glRotatef rotate?

當我像這樣調用glRotatef

glRotatef(angle,0.0,1.0,0.0) //rotate about y-axis

我知道它是圍繞y axis旋轉angle
但是, 這里正在旋轉? 究竟是哪個對象?

可能是一個愚蠢的問題,但我對此完全陌生。

我能夠使用這里的答案旋轉關於它的端點的一條線,但我真的不明白它是如何在內部工作的。

沒有任何東西在旋轉,因為OpenGL不會“存儲”對象。

glRotatef與glMultMatrixf一樣,用於修改當前選擇的轉換矩陣。 這會影響隨后的繪制方式。 一個人設置矩陣(和其他東西!)一個人想要的,然后一個人繪制一個人的對象。

有關更多信息,請參閱OpenGL紅皮書,並查看“保留模式”和“立即模式”之間的區別。

glRotate將作用於當前矩陣,默認情況下為GL_MODELVIEW 這樣做會影響您在序列中繪制的任何3D對象。 使用glMatrixMode更改當前矩陣。 然后將模型視圖矩陣應用於使用glVertexglDrawArrays等渲染的任何幾何體。

OpenGL端矩陣現已棄用。 如果您使用核心OpenGL 3+,則這些功能將不再可用。 如果您是OpenGL的新手,我建議您跳過學習舊方法並專注於面向着色器的現代OpenGL。 您可以查看以下鏈接以獲得一些好的教程。

  1. open.gl
  2. opengl-tutorial.org
  3. ogldev

暫無
暫無

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

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