В OpenGL (и других систем) коэффициент затухания расстояния для точечных ламп является то , как 1/(c+kd+sd^2)
, где d
расстояние от света и c
, k
и s
являются константами.
Я понимаю sd^2
компонент, который моделирует хорошо известное физически точное затухание в "законе обратных квадратов", ожидаемое в реальности.
Я предполагаю, что константа c
, обычно одна, предназначена для очень маленьких значений d
(и, возможно, для деления на ноль защиты?).
Какую роль играет линейный kd
компонент в модели (по умолчанию k
в OpenGL ноль). Когда бы вы использовали другие значения для k
? Я знаю, что это называется компонентом «линейное затухание», но какое поведение он моделирует в модели освещения? Кажется, это не проявляется ни в одной физической модели света, о которой я знаю.
[РЕДАКТИРОВАТЬ]
Дэвид Гувейя отметил, что линейный фактор может быть использован для того, чтобы «приблизить» сцену к тому, что задумал разработчик / художник, или чтобы лучше контролировать скорость, с которой свет падает. В этом случае мой вопрос звучит так: «Есть ли у линейного коэффициента ослабления физический аналог или он просто используется как фактор выдумки, чтобы помочь контролировать качество света в сцене?»