Объемный рендеринг: путаница с компоновкой спереди назад

В, например, GPU Gems уравнение компоновки спереди назад (для цвета) равно

C ' i = (1 - A ' i-1 ) C i + C' i-1

где C ' i - накопленное на выходе значение цвета; A ' i-1 - это накопленное значение альфа (непрозрачности) до предыдущего вокселя; C i - значение цвета текущего вокселя; и C ' i-1 - это накопленное значение цвета до предыдущего вокселя.

Эта формулировка вызывает у меня два вопроса:

  1. Прекращение прямого перехода происходит, когда накопленная непрозрачность достигает приблизительно 1. Что же тогда делать с цветовыми каналами (RGB), которые превышают максимум до того, как будет достигнут предел непрозрачности? Вы просто ограничиваете значения между 0..255 (например, 500,1000,2000 будет 255,255,255) или посмотрите на соотношение между каналами (например, 500,1000,2000 станет 64,128,255).

  2. Ответ на вопрос Возможно, предыдущий вопрос связан с этим. Цветовой вывод текущего вокселя зависит от единицы минус накопленная непрозрачность. Что если накопленная непрозрачность равна нулю и текущая непрозрачность вокселя равна нулю? - на выходе получается полностью непрозрачный воксель, поскольку (1 - A ' i-1 ) = 1, даже если это якобы прозрачный воксель!?

Любые намеки приветствуются.

9
задан Bart 24 May 2011 в 09:22
поделиться