Форум программистов, компьютерный форум, киберфорум
DirectX
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 7
1

Spot Light в directx

05.11.2010, 19:53. Показов 1424. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно вопрос: должен ли свет от Spot-источника при попадании на перпендикулярную поверхность представлять собой круг?
При нижеприведённом коде, свет вообще не освещает перпендикулярные его распространению объекты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
     D3DLIGHT9 spot;
     ::ZeroMemory(&spot, sizeof(spot));
 
     spot.Type      = D3DLIGHT_SPOT;
    
     spot.Attenuation0 = 0.1;
     spot.Attenuation1 = 0.1;
     spot.Attenuation2 = 0.1;
 
     spot.Diffuse.b   = 255;
     spot.Diffuse.a = 0.5;
 
            spot.Ambient.b   = 255 * 0.6f;
            spot.Ambient.a   = 0.5;
 
            spot.Direction = D3DXVECTOR3 (10.0f, 0.0f, 0.0f);
     spot.Position = D3DXVECTOR3(-1.0f, 1.0f, 0.0f);
     spot.Range = 20;
     spot.Phi = D3DX_PI/4;
     spot.Falloff = 1;
     spot.Theta = D3DX_PI/8;
 
     d3dDevice->SetLight(1, &spot);
     d3dDevice->LightEnable(1, true);
Примечание: проблемма точно не в материалах.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2010, 19:53
Ответы с готовыми решениями:

Spot light shader
Пытаюсь реализовать точечное освещение... float4x4 matViewProjection; struct VS_IN { ...

Реализовать DirectX. Или разобраться в том, как программисту наладить работу DirectX у клиента под Windows
Здравствуйте Программисты. Заплачу за решение моего вопроса! 25-50 тыс. рублей. 50 тыс. рублей...

Если у меня видяха поддерживает DirectX 10, то пойдут ли те игры, которые поддерживают DirectX 9?
Если у меня видяха поддерживает DirectX 10, то пойдут ли те игры, которые поддерживают DirectX 9?

XNA является дополнением DirectX или это полноценная альтернатива DirectX не зависящая от него
Предлагаю в этой теме задавать общие вопросы по XNA. Может вопросы покажутся глупыми, но все же:...

3
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 7
13.11.2010, 19:43  [ТС] 2
Хм, спс всем. Разобрался.
0
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
14.11.2010, 11:08 3
Qazy, а решение потомкам выложить?
0
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 7
14.11.2010, 18:33  [ТС] 4
Все-таки дело было в материалах . SDk освещает только те полосы полигона, которые освещает источник света. Для освещения конкретной области спот-лайтом, необходимо разбить материал на большое количество полигонов(сразу, или динамически); только в этом случае будет виден "круг" света от Spot-а. Но лучше, всё же, на мой взгляд, в данном случае использовать мультитекстурирование в пиксельном шейдере.
0
14.11.2010, 18:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2010, 18:33
Помогаю со студенческими работами здесь

Откат DirectX на более раннюю версию. Управление DirectX
Доброго времени суток. Как откатить DirectX11 до DirectX10 на Win 7 x64? А может существуют...

Ошибка DirectX "Cannot instantiate directInput. (DirectX 8 required.)"
При запуске игр серии DayZ или Arma выдаёт такую ошибку: "Cannot instantiate directInput. (DirectX...

Подключение managed directx - Имя типа или пространства имен "DirectX" отсутствует в пространстве имен
Когда пишу using Microsoft.directx; выдаёт ошыбку Имя типа или пространства имен "DirectX"...

Light Alloy
У Light Alloy нет изображения, черный экран. Кодеки установил, раньше помогали, а сейчас нет, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru