2011-12-13 28 views
0

我正在開發一個基本來了在OpenGL和GLUT的C++中,您將「相機」作爲播放器移動。OpenGL對象和相機阻力?

簡而言之:

,當我看一個雪人我的相機減慢

充分說明:

一切都很好,直到我決定終於在一個對象中添加(實際上是一個巨大的雪人),但現在我已經添加了它,我正在經歷非常奇怪的行爲。

如果我看着雪人的物體並試圖向前移動,那感覺就像我在反抗一種力量,就好像我是在泥地裏走動一樣。

現在,如果我面對雪人,用相機向後走,它移動得很好,但是當我看着它時......我放慢了速度。我嘗試過不同規模的雪人,雪人越大,我越能感受到這種效果。

請注意,它似乎不會導致我滯後,只會放慢速度。

任何見解將不勝感激,我會發布代碼,如果需要,但目前..我不知道什麼代碼將是相關的!

+0

聽起來像你可能會遇到[視差效果](http://en.wikipedia.org/wiki/Parallax)。 – 2011-12-14 00:03:36

回答

2

當你說速度變慢,你的意思是你的幀速率下降?聽起來像你的雪人是非常多邊形的,當它被渲染時,會導致幀速下降,從而減慢速度。

當您正在遠離堆雪人時,它正在被裁剪,它不在視線中,因此構成模型的多邊形不會一直髮送到3D管道。

如果您沒有開啓背面剔除功能,則可能需要這樣做 - 否則可能需要稍微簡化該模型。如果你在那裏渲染一個立方體會發生什麼?

根據您使用的是什麼硬件,即使是一個低多邊形模型如果沒有很大的填充率(硬件的速度來填充渲染緩衝區中的像素),也可能會導致問題,但假設它是一個模型,並且硬件應該超過一次能夠充滿屏幕的能力,我認爲這是不太可能的情況。

+0

是的,這可能是它。我在一個名爲GLRex的程序中設計了雪人,它就像一個原始編輯器。即使我把雪人做得很小,仍然有一些緩慢的元素:(我嘗試了一個巨大的空心立方體,它並沒有放慢速度。有任何提示我可能會減少poly的方式,但是保留原始雪人?謝謝! – BlackBox 2011-12-14 00:42:28