структура 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 см. в документации по пакету SDK для Microsoft Windows.
[in] Diffuse
Структура D3DCOLORVALUE, указывающая диффузный цвет, который генерируется светом. Дополнительные сведения о D3DCOLORVALUE см. в документации по пакету SDK для Windows.
[in] Specular
Структура D3DCOLORVALUE, которая указывает на видный цвет, который генерируется светом.
[in] Ambient
Структура D3DCOLORVALUE, указывающая внешний цвет, который генерируется светом.
[in] Position
Структура D3DVECTOR, указывающая положение света в мировом пространстве. Этот элемент не имеет значения для указателей (то есть если D3DLIGHT_DIRECTIONAL задан в элементе типа) и игнорируется в этой ситуации. Дополнительные сведения о D3DVECTOR см. в документации по пакету SDK для Windows.
[in] Direction
D3DVECTOR структура, указывающая направление, которое свет указывает на мир. Этот элемент имеет значение только для указателей и внимания (то есть, если D3DLIGHT_DIRECTIONAL и D3DLIGHT_SPOT заданы в type). Этот вектор не является обязательным для нормализации, но он должен иметь ненулевое значение длины.
[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 (include D3dumddi.h) |