Свет в Managed Direct3D
Делаю как написано в хелпе по DirectX9.0 SDK, т.е в соответствующем месте настраиваю свет:
device.Lights[0].Type = LightType.Directional;
device.Lights[0].Diffuse = Color.Wight;
device.Lights[0].Direction = new Vector3(0, 1.0f, 0);
device.Lights[0].Enabled = true;
На картинке видно, что объект освещается, но когда я начинаю менять параметры источника света (кординаты самого источника, кординаты цели(Target) или ещё какие), ничего не происходит. Всё как было, так и остаётся, как будто я ничего и не меняю. Вот код функции Rander'а:
public void Rander()
{
if (device == null)
return;
device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, System.Drawing. Color.Blue, 1.0f, 0);
device.BeginScene();
cam.Show();//
obj.Paint();///Мои классы камеры, 3D-объектов и текста
txt.Paint();///
device.Lights[0].ZPosition-=10; //А вот это не даёт никакого эффекта. Впрочем, как и другие манипуляции со светом.
device.EndScene();
device.Present();
}
Вобщем буду безгранично благодарен, если подскажете в чём дело или дадите ссылочку на какой-нибудь умный электронный учебник. Желательно на русском. На английском мне и мануала по SDK хватило :)
Кстати а где можно раздобыть DirectX9.0 SDK?