对于 JOGL 应用程序,我有一个实际大小的对象模型。我的模型有点大(它可以被一个半径为 3 米的球体包围)。在处理这个问题时,有几个问题让我感到困惑:
- 模型的大小对渲染时间有影响吗?更准确地说,如果我将模型缩小 0.01 倍,我会有更快的渲染速度吗?(在导入之前缩小模型而不使用 glScale)
- 考虑一下我正在使用具有一定强度的光源来照亮我的场景。如果我缩放(向上/向下)我的模型,为了获得相同的外观,我是否也应该缩放我的光强度?
为什么要呢?模型的顶点位置只是数字,并由图形硬件处理,无论它们是什么数字。以同样的方式,它们总是被当前的变换矩阵变换,无论这是一个比例矩阵还是只是恒等矩阵。但这会影响您的模型在屏幕上的大小(或者它是否可见)。因为您的模型在屏幕上覆盖的像素越多,光栅化和每个片段的操作(片段着色器或固定功能纹理)就越多。但是,当光栅化和片段处理时间被顶点处理时间(反过来不关心模型大小或可见性)超过时,这种差异可能不会对整体性能产生任何影响。
我不明白这个问题。光强度完全独立于模型尺寸。当然,较小的模型对光的反应与较大的模型不同,但是如果您预先缩放模型或glScale
在运行时使用 do 转换它,则没有任何区别。