Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Свет в Managed Direct3D

9.6K
28 июля 2006 года
Ozz
32 / / 06.03.2006
Начал изучение Direct3D на C#. И вот дошло дело до света.
Делаю как написано в хелпе по 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 хватило :)
5.7K
28 июля 2006 года
N-John
52 / / 05.07.2006
Кстати а где можно раздобыть DirectX9.0 SDK?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог