структура D3DDDI_LIGHT (d3dumddi.h)

Структура D3DDDI_LIGHT описывает набор свойств освещения.

Синтаксис

typedef struct _D3DDDI_LIGHT {
  [in] D3DLIGHTTYPE  Type;
  [in] D3DCOLORVALUE Diffuse;
  [in] D3DCOLORVALUE Specular;
  [in] D3DCOLORVALUE Ambient;
  [in] D3DVECTOR     Position;
  [in] D3DVECTOR     Direction;
  [in] FLOAT         Range;
  [in] FLOAT         Falloff;
  [in] FLOAT         Attenuation0;
  [in] FLOAT         Attenuation1;
  [in] FLOAT         Attenuation2;
  [in] FLOAT         Theta;
  [in] FLOAT         Phi;
} D3DDDI_LIGHT;

Члены

[in] Type

D3DLIGHTTYPE типизированное значение, указывающее тип источника света. Дополнительные сведения о D3DLIGHTTYPE см. в документации по Microsoft Windows SDK.

[in] Diffuse

Структура D3DCOLORVALUE, указывающая рассеянный цвет, излучаемый светом. Дополнительные сведения о D3DCOLORVALUE см. в документации по Windows SDK.

[in] Specular

Структура D3DCOLORVALUE, указывающая отражающий цвет, излучаемый светом.

[in] Ambient

Структура D3DCOLORVALUE, указывающая внешний цвет, излучаемый светом.

[in] Position

Структура D3DVECTOR, указывающая положение света в мировом пространстве. Этот элемент не имеет значения для направленных огней (то есть, если D3DLIGHT_DIRECTIONAL задан в элементе Type ) и игнорируется в этой ситуации. Дополнительные сведения о D3DVECTOR см. в документации по Windows SDK.

[in] Direction

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

[in] Range

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

[in] Falloff

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

[in] Attenuation0

Коэффициент постоянного затухания света. Значения затухания указывают, как изменяется интенсивность света на расстоянии. Затухание не влияет на направленные источники света. Допустимые значения для этого элемента варьируются от 0,0 до бесконечности.

[in] Attenuation1

Коэффициент линейного затухания света. Значения затухания указывают, как изменяется интенсивность света на расстоянии. Затухание не влияет на направленные источники света. Допустимые значения для этого элемента варьируются от 0,0 до бесконечности.

[in] Attenuation2

Коэффициент затухания квадратии света. Значения затухания указывают, как изменяется интенсивность света на расстоянии. Затухание не влияет на направленные источники света. Допустимые значения для этого элемента варьируются от 0,0 до бесконечности.

[in] Theta

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

[in] Phi

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

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

SetLight