OpenGL中的glPushMatrix()和glPopMatrix()函數用于操作矩陣棧頂的矩陣。
glPushMatrix()函數將當前矩陣(模型視圖矩陣或投影矩陣)壓入矩陣棧的棧頂。當前矩陣是指通過glMatrixMode()函數設置的當前矩陣模式(GL_MODELVIEW或GL_PROJECTION)下的矩陣。
壓入棧頂后,當前矩陣被復制到新的棧頂位置。
glPopMatrix()函數將矩陣棧頂的矩陣彈出,同時將彈出的矩陣設置為當前矩陣。彈出后,矩陣棧頂的下一個矩陣成為新的棧頂,并成為當前矩陣。
如果彈出后矩陣棧為空,則當前矩陣被設置為單位矩陣。
這兩個函數通常是一起使用的,用于保存和恢復矩陣狀態,例如在進行多個變換操作后,恢復到最初的狀態。
示例代碼:
// 在OpenGL渲染循環的開始部分,保存初始狀態glMatrixMode(GL_MODELVIEW); // 設置當前矩陣模式為模型視圖矩陣glPushMatrix(); // 保存當前模型視圖矩陣// 執行變換操作glLoadIdentity(); // 將當前模型視圖矩陣設置為單位矩陣glTranslatef(0.0f, 0.0f, -5.0f); // 平移變換// 繪制物體// ...// 恢復初始狀態glPopMatrix(); // 恢復之前保存的模型視圖矩陣
這樣,在每次渲染循環中,通過glPushMatrix()和glPopMatrix()函數,可以保證每次繪制物體時都使用初始狀態的矩陣,并在變換操作完成后恢復到初始狀態。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
隨著社會越來越發達,大家都選擇在網絡上汲取相關知識內容,比如為什么我電腦12306登不上去,為了更好的解答大家的問題,小編也是翻閱整理了相應內容,下面就一起來看一下吧!【資料圖】12306出現不能正常瀏覽的原因通常是以下兩點:1、證書未安裝或者安裝不正確;2、證書相關的服務出現異常。上述兩種問題的解決方法為:1、登錄12306網站首頁;2、在最新動態那欄下方點擊安裝根證書;3、下載完成后解壓到電腦...
什么是二八理論?“二八定律”又名80/20定律、帕累托法則(定律)也叫巴萊特定律、最省力的法則、不平衡原則等,被廣泛應用于社會學及企業管理學等。是19世紀末20世紀初意大利經濟學家巴萊多發現的,80/20分析法檢驗兩組類似數據之間的關系,并用來改變它們所描述的關系。第一個主要用途是去發現該關系的關鍵起因—20%的投入就有80%的產出,并在取得最佳業績的同時減少資...
在如今,很多支付寶的用戶,都想提高自己的芝麻信用分,這樣可以使用更多的服務,很多人對此的認識不多,那么芝麻信用分多久更新一次?芝麻信用分怎么提高?下文就來帶大家了解一下。芝麻信用分是一個月更新一次的。從2015年7月起,芝麻信用分每月評估一次,每個月6號芝麻信用會重新對您的信用狀況進行評估。芝麻信用分從五個維度來評估,也就是說,只要用戶增加守約記錄、多積累消費、還款的行為、多在支付寶中進行理財、完...