我是OpenGL新手。我閱讀簡單的代碼。我有三個問題。關於重塑功能和gluperspective功能
1-)爲什麼使用gluperspective功能重塑功能?
2-)重塑函數真的有什麼作用?當我使用重塑功能運行程序時,如果沒有它,沒有什麼變化。
3)何時調用reshape函數?如果僅在更改窗口大小時才調用它,則意味着如果我不更改窗口的大小,則不會調用重塑函數,因此不會調用gluperspective。但是不需要至少調用一次?
對不起,英語不好,愚蠢的問題。
我是OpenGL新手。我閱讀簡單的代碼。我有三個問題。關於重塑功能和gluperspective功能
1-)爲什麼使用gluperspective功能重塑功能?
2-)重塑函數真的有什麼作用?當我使用重塑功能運行程序時,如果沒有它,沒有什麼變化。
3)何時調用reshape函數?如果僅在更改窗口大小時才調用它,則意味着如果我不更改窗口的大小,則不會調用重塑函數,因此不會調用gluperspective。但是不需要至少調用一次?
對不起,英語不好,愚蠢的問題。
1-)爲什麼gluperspective功能用於重塑功能?
因爲這樣的代碼通常是由不懂OpenGL的白癡編寫的。設置矩陣(全部)屬於繪圖代碼。
2-)重塑功能真的有什麼作用?當我使用重塑功能運行程序時,如果沒有它,沒有什麼變化。
正確使用reshape函數是執行一次性操作,需要在窗口大小更改時完成。例如重新初始化用作後處理FBO等中的目標的紋理。如果您只是在屏幕上繪製三角形,則不需要重塑處理程序。
3)何時調用reshape函數?如果僅當我們改變窗口的大小時才調用它,(...)
當窗口被創建時,它也被調用,因爲這有效地將窗口從無到有地改變大小。
這意味着如果我不改變窗口的大小,reshape函數將不會調用,因此gluperspective不會調用。
創建一個新窗口還可以重新調整它的大小。
但是不需要至少調用一次?
如果您的願望是gluPerspective預測,那麼是的。從技術上講,你必須做的是設置一些投影變換,這也可能是一種身份。
但是不要在整形處理程序中設置它。這是屬於繪圖代碼的。
和愚蠢的問題
其實這些都是非常好的問題。它們表明你實際上在考慮代碼。我希望更多的人這樣做:)保持它。
有沒有一些你正在談論的代碼?因爲OpenGL沒有「重塑功能」。 – 2013-02-16 17:44:11