2012-01-31 20 views
0

對於JOGL應用程序,我有一個對象的實際大小模型。我的模型有點大(它可以被一個半徑爲3米的球體包圍)。在解決這個問題時,有幾個問題讓我困惑:OpenGL/JOGL:光照強度和渲染時間,是否與模型的大小有關?

  1. 模型的大小是否對渲染時間有影響?更確切地說,如果我將我的模型縮小0.01倍,那麼我的渲染速度會更快嗎? (在導入之前縮小模型並且不使用glScale)
  2. 考慮我用具有一定強度的光源照亮我的場景。如果我縮放(上/下)我的模型,爲了獲得相同的外觀,我是否也應該調整光強度?

回答

3
  1. 爲什麼要這樣呢?模型的頂點位置只是數字,由圖形硬件處理,無論它們是什麼數字。以同樣的方式,它們總是由當前的變換矩陣變換,不管這是一個比例矩陣還是僅僅是身份。但是它會影響你的模型在屏幕上的大小(或者甚至是可見的)。因爲模型在屏幕上覆蓋的像素越多,就會完成更多的光柵化和每片段操作(片段着色器或固定功能紋理化)。但是,當光柵化和碎片處理時間超過頂點處理時間(反過來不關心模型大小或可見性)時,這種差異可能對整體性能沒有任何影響。

  2. 我不明白這個問題。光強度與模型尺寸完全無關。當然,較小的模型對光線的反應與較大的模型不同,但如果您對模型進行預分頻或在運行時使用glScale進行轉換,則沒有任何區別。

+0

甩尾2:如果您將您的模型和燈光位置一起縮放,照度的標準化分佈將保持不變。但光衰減取決於絕對尺寸。因此,如果您想保持絕對值分佈不變,那麼您必須調整衰減或強度參數。 – datenwolf 2012-01-31 18:08:06