OpenGL/JOGL: Интенсивность света и время рендеринга связаны с размером модели?

Для приложения JOGL у меня есть модель объекта в реальном размере. Моя модель немного великовата (ее можно окружить сферой радиусом 3 метра). Во время работы над этим у меня возникло несколько вопросов:

  1. Влияет ли размер модели на время рендера? Точнее, если я уменьшу свою модель в 0,01 раза, будет ли у меня более быстрый рендеринг? (уменьшение масштаба модели перед импортом и без использования glScale)
  2. Представьте, что я осветляю свою сцену источником света определенной интенсивности. Если я масштабирую (вверх/вниз) свою модель, чтобы получить такой же внешний вид, должен ли я также масштабировать интенсивность света?

person Pouya    schedule 31.01.2012    source источник


Ответы (1)


  1. Почему? Позиции вершин модели — это просто числа, и они обрабатываются графическим оборудованием, независимо от того, какие это числа. Точно так же они всегда преобразуются текущей матрицей преобразования, независимо от того, является ли это масштабной матрицей или просто тождеством. Но имеет значение, насколько велика ваша модель на экране (или видна ли она вообще). Поскольку чем больше пикселей ваша модель покрывает на экране, тем больше выполняется растеризация и операций над фрагментами (фрагментный шейдер или текстурирование с фиксированными функциями). Но опять же, эта разница может не иметь никакого влияния на общую производительность, когда время растеризации и обработки фрагментов перевешивается временем обработки вершин (которое, в свою очередь, не зависит от размера или видимости модели).

  2. Я не понимаю этот вопрос. Интенсивность света полностью не зависит от размера модели. Конечно, меньшая модель реагирует на свет иначе, чем большая, но это не имеет никакого значения, если вы предварительно масштабируете свою модель или используете glScale для преобразования ее во время выполнения.

person Christian Rau    schedule 31.01.2012
comment
Ragarding 2: Если вы масштабируете свою модель и положение источника света вместе с ней, нормализованное распределение освещения останется постоянным. Однако затухание света зависит от абсолютного размера. Таким образом, вам придется либо настроить параметры затухания, либо интенсивности, если вы хотите сохранить постоянное распределение абсолютных значений. - person datenwolf; 31.01.2012