Поделиться через


Математика освещения

Модель Direct3D Light охватывает окружающую, диффузную, зрительную и эмистивную освещение. Это достаточно гибкости, чтобы решить широкий спектр ситуаций освещения. Общее количество света в сцене называется глобальным освещением.

Глобальное освещение вычисляется следующим образом:

global_illumination = ambient_lighting + diffuse_lighting + specular_lighting + emissive_lighting;

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

Диффузное освещение зависит как от направления света , так и от нормальной поверхности объекта. Диффузное освещение зависит от поверхности объекта в результате изменения направления света и изменяющегося числового вектора поверхности. Для вычисления диффузного освещения требуется больше времени, так как он изменяется для каждой вершины объекта, однако преимущество использования заключается в том, что он затеняет объекты и дает им трехмерную глубину (3D).

Спекулярное освещение определяет яркие зрительные выделения, которые происходят при попадании света на поверхность объекта и отражается обратно к камере. Зрительное освещение является более интенсивным, чем диффузный свет и падает быстрее по всей поверхности объекта. Для вычисления зеркального освещения требуется больше времени, чем диффузное освещение, однако преимущество использования заключается в том, что он добавляет значительные детали к поверхности.

Эмистивное освещение — это свет , который генерируется объектом, например свечение. Выброс делает отрисованный объект, как представляется, самосветящимся. Выброс влияет на цвет объекта и может, например, сделать темный материал более ярким и принимать участие в излучаемом цвете.

Реалистичное освещение можно достичь, применяя каждый из этих типов освещения к трехмерной сцене. Значения, вычисляемые для внешних, эмисивных и диффузных компонентов, выводятся как цвет диффузной вершины; Значение для компонента зрительного освещения выводится в виде зрительного цвета вершины. Внешние, диффузные и зримые значения света могут влиять на затухание данного света и фактор внимания. См . сведения о аттенуации и факторе внимания.

Чтобы добиться более реалистичного эффекта освещения, вы добавляете больше света; однако сцена занимает больше времени для отрисовки. Для достижения всех эффектов дизайнер хочет, некоторые игры используют больше мощности ЦП, чем обычно доступны. В этом случае обычно уменьшается количество вычислений освещения до минимума с помощью карт освещения и карт среды для добавления освещения в сцену при использовании карт текстур.

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

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

В этом разделе

Раздел Описание

Окружающее освещение

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

Диффузное освещение

Диффузное освещение зависит как от направления света , так и от нормальной поверхности объекта. Диффузное освещение зависит от поверхности объекта в результате изменения направления света и изменяющегося числового вектора поверхности. Для вычисления диффузного освещения требуется больше времени, так как он изменяется для каждой вершины объекта, однако преимущество использования заключается в том, что он затеняет объекты и дает им трехмерную глубину (3D).

Зрительное освещение

Спекулярное освещение определяет яркие зрительные выделения, которые происходят при попадании света на поверхность объекта и отражается обратно к камере. Зрительное освещение является более интенсивным, чем диффузный свет и падает быстрее по всей поверхности объекта. Для вычисления зеркального освещения требуется больше времени, чем диффузное освещение, однако преимущество использования заключается в том, что он добавляет значительные детали к поверхности.

Emissive освещение

Эмистивное освещение — это свет , который генерируется объектом, например свечение. Выброс делает отрисованный объект, как представляется, самосветящимся. Выброс влияет на цвет объекта и может, например, сделать темный материал более ярким и принимать участие в излучаемом цвете.

Преобразования пространства камеры

Вершины в пространстве камеры вычисляются путем преобразования вершин объектов с матрицей представления мира.

Аттенуация и фактор внимания

Диффузные и спекулярные компоненты освещения в уравнении глобального освещения содержат термины, описывающие освещение и конус в центре внимания.

 

Свет и материалы