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


Структура D3DLIGHT9

Определяет набор свойств освещения.

Синтаксис

typedef struct D3DLIGHT9 {
  D3DLIGHTTYPE  Type;
  D3DCOLORVALUE Diffuse;
  D3DCOLORVALUE Specular;
  D3DCOLORVALUE Ambient;
  D3DVECTOR     Position;
  D3DVECTOR     Direction;
  float         Range;
  float         Falloff;
  float         Attenuation0;
  float         Attenuation1;
  float         Attenuation2;
  float         Theta;
  float         Phi;
} D3DLIGHT9, *LPD3DLIGHT;

Члены

Тип

Тип: D3DLIGHTTYPE

Тип источника света. Это значение является одним из членов перечисленного типа D3DLIGHTTYPE .

Диффузное

Тип: D3DCOLORVALUE

Рассеянный цвет, излучаемый светом. Этот элемент является структурой D3DCOLORVALUE .

Отражающее

Тип: D3DCOLORVALUE

Зеркальный цвет, излучаемый светом. Этот элемент является структурой D3DCOLORVALUE .

Окружающее

Тип: D3DCOLORVALUE

Внешний цвет, излучаемый светом. Этот элемент является структурой D3DCOLORVALUE .

Положение

Тип: D3DVECTOR

Положение света в мировом пространстве, заданное структурой D3DVECTOR . Этот элемент не имеет смысла для направленного освещения и в этом случае игнорируется.

Направление

Тип: D3DVECTOR

Направление, указываемое светом в мировом пространстве, заданное структурой D3DVECTOR . Этот элемент имеет значение только для направления и прожекторов. Этот вектор не обязательно должен быть нормализован, но он должен иметь ненулевой длины.

Диапазон

Тип: float

Расстояние, за которым свет не оказывает никакого влияния. Максимально допустимое значение для этого элемента — квадратный корень FLT_MAX. Этот элемент не влияет на индикаторы направления.

Спад

Тип: float

Уменьшение освещенности между внутренним конусом прожектора (угол, заданный Theta) и внешним краем внешнего конуса (угол, заданный phi).

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

Затухание0

Тип: float

Значение, указывающее, как интенсивность света изменяется на расстоянии. Значения затухания игнорируются для направленного освещения. Этот член представляет константу затухания. Дополнительные сведения об затуханиях см. в разделе Свойства света (Direct3D 9). Допустимые значения для этого элемента варьируются от 0,0 до бесконечности. Для ненаправленных огней все три значения затухания не должны быть равны 0,0 одновременно.

Затухание1

Тип: float

Значение, указывающее, как интенсивность света изменяется на расстоянии. Значения затухания игнорируются для направленного освещения. Этот член представляет константу затухания. Дополнительные сведения об затуханиях см. в разделе Свойства света (Direct3D 9). Допустимые значения для этого элемента варьируются от 0,0 до бесконечности. Для ненаправленных огней все три значения затухания не должны быть равны 0,0 одновременно.

Затухание2

Тип: float

Значение, указывающее, как интенсивность света изменяется на расстоянии. Значения затухания игнорируются для направленного освещения. Этот член представляет константу затухания. Дополнительные сведения об затуханиях см. в разделе Свойства света (Direct3D 9). Допустимые значения для этого элемента варьируются от 0,0 до бесконечности. Для ненаправленных огней все три значения затухания не должны быть равны 0,0 одновременно.

Тета

Тип: float

Угол, в радианах, внутреннего конуса прожектора - то есть полностью освещенного конуса прожектора. Это значение должно находиться в диапазоне от 0 до значения, заданного параметром Phi.

Phi

Тип: float

Угол в радианах, определяющий внешний край внешнего конуса прожектора. Точки за пределами этого конуса не освещаются в центре внимания. Это значение должно находиться в диапазоне от 0 до пи.

Требования

Требование Значение
Заголовок
D3D9Types.h

См. также раздел

Структуры Direct3D

GetLight

SetLight