2011-03-20 42 views
0

這次我已成功加載模型!好極了!!當加載一個OBJ我得到這個

,但那裏有一個小問題,一個我曾與另一OBJ裝載機...

繼承人是什麼樣子:

http://img132.imageshack.us/i/newglitch2.jpg/

繼承人另一個角度,如果ü不能看到它的時候了:

http://img42.imageshack.us/i/newglitch3.jpg/

現在,這是應該看起來像一個立方體,但你可以看到,ED立方體面的GES正在非常波濤洶涌

被其他任何人有這個問題,或者如果有人知道如何解決這個問題,然後讓我知道

如果theres還評論說,需要顯示的任何代碼,很高興發佈它。

嘿,我的代碼(改變了一些東西)發揮各地,這就是我想出了

ORIGINAL:

glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 
    gluPerspective(50.f,(double)800/(double)600,0.f,200.f); 
    glTranslatef(0.f, 0.f, -10.0f); 

結果:choopy圖像(看圖片)

CURRENT:

glMatrixMode(GL_MODELVIEW); 
    gluPerspective(50.f,(double)800/(double)600,0.f,200.f); 
    glTranslatef(0.f, 0.f, -50.0f); 
    glLoadIdentity(); 

結果:模型不是波濤洶涌,但不能移動相機(型號爲r在我面前)

+0

gluPrespective屬於投影矩陣,而不是模型視圖。 – datenwolf 2011-03-21 00:24:08

+0

不要刪除這樣的內容,它不是一個遊戲。你使答案變得毫無意義 - 請回滾,如果你有與原始問題有關的新問題,請將**添加到問題中。 – 2011-03-21 16:11:28

+0

圖像不工作,我沒有他們與我.......繼承人的新問題鏈接:http://stackoverflow.com/questions/5380314/i-see-some-transparency – Molmasepic 2011-03-21 16:55:58

回答

2
gluPerspective(50.f,(double)800/(double)600,0.f,200.f); 
               ^^^ 
               | 
That's your problem right there ---------------+ 

對於透視投影,近剪取距離必須大於0。其實你應該儘可能選擇儘可能遠的距離,並且儘可能靠近遠端的剪輯平面。

假設您的深度緩衝區是16位寬,那麼您將場景切片爲32768個切片。切片分佈遵循1/x定律。從技術上講,你除以零。

+0

和那與原?或更改(當前) – Molmasepic 2011-03-21 00:29:40

+0

它的工作.____。 – Molmasepic 2011-03-21 00:34:37

0

那麼這看起來像一個投影設置問題。當轉換爲剪輯空間時,立方體的某些部分會超出近/遠平面。

從我看到您使用正交投影矩陣 - 它是製作2D UI的標準。請檢查您的glOrtho電話的nearVal和farVal。對於2D UI,它們通常分別設置爲-1和1(或0和1),因此可能需要scale down立方體或通過修改提及的參數來增加視錐體深度。

+0

嗯...實際上我甚至沒有在我的項目中使用glOrtho調用..有一個特定的地方,我應該設置它嗎?(就像我自己調用它或在像某個對象中使用它一樣。glOrtho()「 – Molmasepic 2011-03-20 23:42:35

+0

如果這是一個投影問題,那麼對象不會像在兩個屏幕截圖上一樣被剪切掉,只需在第二張屏幕截圖中查看頂部。投影不會像這樣剪切你的臉。 – fazo 2011-03-20 23:43:45

+0

嘗試縮放這個立方體,然後我們將有一個答案,無論它是否是投影矩陣問題。 – gwiazdorrr 2011-03-20 23:48:18

相關問題