Сама функция
- Код: Выделить всё
' Добавление напраленного источника света
Public Function AddLightSpot(X As Single, Y As Single, Z As Single, Xto As Single, Yto As Single, Zto As Single, Theta As Integer, Phi As Integer, Range As Single, Optional Attenuation1 As Single = 0.005)
ReDim Preserve Light(LightCount)
With Light(LightCount)
.Type = D3DLIGHT_SPOT ' Задает тип источника света
.Position = CreateVector(X, Y, Z) ' Вектор, задающий местоположение источника света в пространстве
.Ambient = CreateDXColorRGBA(1, 1, 1, 100) ' Цвет фоновой составляющей испускаемого источником света
.Direction = CreateVector(Xto, Yto, Zto) ' Вектор, задающий направление, в котором распространяется свет
.Falloff = 1# ' Определяет как меняется интенсивность света в пространстве между внутренним и внешним конусами
.Theta = Theta ' Pадает угол внутреннего конуса в радианах
.Phi = Phi ' Pадает угол внешнего конуса в радианах
.diffuse = .Ambient ' Цвет рассеиваемой составляющей испускаемого источником света
.specular = .Ambient ' Цвет отражаемой составляющей испускаемого источником света
.Range = Range ' Максимальное расстояние, на которое может распространиться свет
.Attenuation1 = Attenuation1
End With
D3Ddevice.SetLight LightCount, Light(LightCount)
D3Ddevice.LightEnable LightCount, True
LightCount = LightCount + 1
End Function
Вызов
- Код: Выделить всё
xLight.AddLightSpot 0, 1, 0, 0, -10, 0, 0.5, 1, 50
Никаких изминений на картинке не наблюдаю , зоздаю источник света типа point или directional - свет хорошо виден.
Не подскажите в чём может быть дело или где у меня ошибка?
Зарание большое спасибо.