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


Излучающее освещение (Direct3D 9)

Излучаемое освещение описывается одним условием.

Излучаемое освещение = Cₑ

Где:

Параметр Значение по умолчанию Тип Описание
Cₑ (0,0,0,0) D3DCOLORVALUE Излучаемый цвет.

 

Значение Cₑ равно:

  • vertex color1, if EMISSIVEMATERIALSOURCE = D3DMCS_COLOR1, и первый цвет вершины указан в объявлении вершины.
  • цвет вершины2, если EMISSIVEMATERIALSOURCE = D3DMCS_COLOR2, а второй цвет вершины указан в объявлении вершины.
  • испускающий цвет материала

Примечание

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

 

Пример

В этом примере объект окрашен с помощью внешнего света сцены и внешнего цвета материала. Код показан ниже.

// create material
D3DMATERIAL9 mtrl;
ZeroMemory( &mtrl, sizeof(mtrl) );
mtrl.Emissive.r = 0.0f;
mtrl.Emissive.g = 0.75f;
mtrl.Emissive.b = 0.0f;
mtrl.Emissive.a = 0.0f;
m_pd3dDevice->SetMaterial( &mtrl );
m_pd3dDevice->SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL);

Согласно уравнению, полученный цвет вершин объекта — это цвет материала.

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

иллюстрация зеленой сферы

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

иллюстрация зеленой сферы с излучаемым освещением

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