Какие законы физики нужно знать,чтоб запрограммировать свет от лампы в игре компьютерной? - Компьютерные вопросы

Вопрос Какие законы физики нужно знать,чтоб запрограммировать свет от лампы в игре компьютерной?

Регистрация
29 Мар 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
Чтобы реалистично запрограммировать свет от лампы в игре, нужно понимать несколько законов физики и их упрощённые версии, используемые в компьютерной графике:

1. Закон обратных квадратов (Inverse Square Law)

Формула:

Описывает, как интенсивность света уменьшается с расстоянием. В реальном мире яркость падает пропорционально квадрату расстояния, но в играх часто применяют более плавные затухания, чтобы улучшить визуальное восприятие.


2. Отражение света (Law of Reflection)

Формула:

Угол падения света равен углу отражения. Используется для зеркальных поверхностей и расчёта бликов.


3. Рассеивание света (Diffuse Reflection - Ламбертова модель)

Формула:

Свет, падая на поверхность, рассеивается во всех направлениях. Ламбертова модель используется для матовых объектов.


4. Фоновые и рассеянные отражения (Ambient & Specular Reflection - модель Фонга или Блинна-Фонга)

Модель Фонга учитывает три компонента освещения:

1. Ambient (окружающий свет) – базовый уровень освещения сцены.


2. Diffuse (диффузное освещение) – свет, равномерно распределённый по поверхности.


3. Specular (зеркальное отражение) – блики от источника света.




5. Затенение (Shading)

Гуро-затенение (Gouraud shading) – вычисляет освещение только в вершинах и интерполирует его между пикселями.

Фонговское затенение (Phong shading) – вычисляет освещение для каждого пикселя, давая более реалистичный результат.


6. Преломление света (Snell's Law)

Формула:

Нужно для создания эффектов линз, стекла и воды.


7. Ray Tracing (трассировка лучей)

Симулирует реальный путь фотонов от источника света, учитывая отражения, преломления и тени. Используется в современных играх с RTX-графикой.


Если хочешь сделать простое освещение в игре, достаточно Ламбертового освещения и модели Фонга. Для фотореалистичного освещения можно использовать PBR (Physically Based Rendering) и трассировку лучей.
 
Регистрация
15 Сен 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Никакие. По крайней мере в юнити просто ставится источник света
 
Сверху Снизу