2013-02-16 108 views
0

我是OpenGL新手。我閱讀簡單的代碼。我有三個問題。關於重塑功能和gluperspective功能

1-)爲什麼使用gluperspective功能重塑功能?

2-)重塑函數真的有什麼作用?當我使用重塑功能運行程序時,如果沒有它,沒有什麼變化。

3)何時調用reshape函數?如果僅在更改窗口大小時才調用它,則意味着如果我不更改窗口的大小,則不會調用重塑函數,因此不會調用gluperspective。但是不需要至少調用一次?

對不起,英語不好,愚蠢的問題。

+0

有沒有一些你正在談論的代碼?因爲OpenGL沒有「重塑功能」。 – 2013-02-16 17:44:11

回答

0

1-)爲什麼gluperspective功能用於重塑功能?

因爲這樣的代碼通常是由不懂OpenGL的白癡編寫的。設置矩陣(全部)屬於繪圖代碼。

2-)重塑功能真的有什麼作用?當我使用重塑功能運行程序時,如果沒有它,沒有什麼變化。

正確使用reshape函數是執行一次性操作,需要在窗口大小更改時完成。例如重新初始化用作後處理FBO等中的目標的紋理。如果您只是在屏幕上繪製三角形,則不需要重塑處理程序。

3)何時調用reshape函數?如果僅當我們改變窗口的大小時才調用它,(...)

當窗口被創建時,它也被調用,因爲這有效地將窗口從無到有地改變大小。

這意味着如果我不改變窗口的大小,reshape函數將不會調用,因此gluperspective不會調用。

創建一個新窗口還可以重新調整它的大小。

但是不需要至少調用一次?

如果您的願望是gluPerspective預測,那麼是的。從技術上講,你必須做的是設置一些投影變換,這也可能是一種身份。

但是不要在整形處理程序中設置它。這是屬於繪圖代碼的。

和愚蠢的問題

其實這些都是非常好的問題。它們表明你實際上在考慮代碼。我希望更多的人這樣做:)保持它。