用乙個土辦法證明RedBook的錯誤

2022-03-02 07:02:12 字數 751 閱讀 3748

根據redbook的解釋,在自動紋理座標生成中,gl_object_linear模式不需要使用模型檢視矩陣,gl_eye_linear模式需要使用模型檢視矩陣。那麼我們可以做一系列試驗驗證上述結論:

1 使用gl_eye_linear模式生成紋理座標。設定模型檢視矩陣與投影矩陣,讓ogl用固定渲染管線進行座標變換。

2 使用gl_eye_linear模式生成紋理座標。將模型檢視矩陣置為單位矩陣,自己進行模型檢視變換,僅讓ogl在固定管線中做投影變換。

試驗結果:程式結果正常。

3 使用gl_object_linear模式生成紋理座標。設定模型檢視矩陣與投影矩陣,讓ogl用固定渲染管線進行座標變換。

4 使用gl_object_linear模式生成紋理座標。將模型檢視矩陣置為單位矩陣,自己進行模型檢視變換,僅讓ogl在固定管線中做投影變換。

試驗結果:程式結果異常,效果同gl_eye_linear模式。

結論:gl_eye_linear模式不需要使用模型檢視矩陣;gl_object_linear模式需要使用模型檢視矩陣。

另外,如果我們假設redbook確實弄反了,那麼gl_object_linear模式下的自動紋理座標生成的公式就是:

t = (p * m-1) * vt;

在試驗4中我們將模型檢視矩陣設定為單位矩陣,那麼就又有:

t = (p * m-1) * vt = p * vt;

結果同gl_eye_linear模式。這和我們實際觀察到的結果相同。

也許redbook真的錯了。

乙個難看的證明和乙個漂亮的證明

matrix67.com 北大出的那本 離散數學教程 是我所見過的最破的教材,裡面頻繁出現一些諸如假設m和n怎麼怎麼樣結果推出了p和q怎麼怎麼樣的印刷錯誤 在短短三頁紙中,peano 被拼寫錯了四次,而且每次錯的都不一樣。離散數學本身是相當科學的。離散數學中的證明,特別是圖論證明,都是相當有趣的。但...

需要乙個證明自己的機會

如果這次沒有找到想要的工作的話,我想我也不會停止學習。工作也好,考試也好,對於目前的我而言,都是急需的鼓勵和證明。也不是證明給別人看,而是給自己乙個交代,給當初的選擇乙個判斷。累了倦了的時候會想,考個博士再回去逍遙幾年算了。可是生活真是由奢入簡難,估計現在過不了不買小熊的生活了。困得腦袋有點兒混,其...

用乙個屬性儲存乙個動態陣列

用乙個屬性儲存乙個動態陣列,可是弄了半天就是存不下來,象imagelist,等可以動態新增的控制項是如何實現儲存的,用動態陣列能實現嗎?請高手指點 如果不需要在設計時賦值,可以用tlist,tstringlist,tobjectlist儲存,然後宣告屬性及訪問方法,以字串為例 private fli...