Вниз
Скачать: CL | DM;

direct3dim   Найти похожие ветки 

 
3d[Power] ©   (2002-01-28 22:38) [0]

Как в сабже(d3d immediate mode) работать с освещением (light)? А конкретно как освещать примитивы?


 
drpass ©   (2002-01-29 11:18) [1]

Ты под какой DX пишешь? Если под седьмой или восьмой, то заполняешь структуру TD3DLight7(TD3DLight8), в ней указываешь тип источника света (точечный, направленный или рассеянный), его цветовые составляющие, позицию на сцене, направление и дальность. Параметров много, смотри их в DirectX SDK.
После этого в DX8 делай
D3DDevice.SetLight(0, D3DLight);//первая цифра - номер источника
D3DDevice.LightEnable(0, true);
Про DX7 я без доки не вспомню, там, кажется, источники света активизировались немного иначе


 
3d[Power] ©   (2002-01-29 19:12) [2]

2 drpass. Ну если я написал что d3dim то значит не под восьмой.
Дело то в том что, я делаю все правильно:
SetRenderState(D3DRENDERSTATE_LIGHTING, 1);
Cвойства на light навесил, добавил, только эта лампочка не светит.

Вот что по поводу этого написано в SDK:
The lighting render state is entirely independent of lighting computations that can be performed on vertices within a vertex buffer. The IDirect3DVertexBuffer7::ProcessVertices and IDirect3DVertexBuffer7::ProcessVerticesStrided methods accept their own flags to control lighting calculations during vertex processing.

Может из-за того что я vertex использую?


 
drpass ©   (2002-01-30 11:13) [3]

А, я тоже когда-то с этой фишкой столкнулся. В свойствах сцены сначала указывал максимальные значения рассеянного света, и, конечно, источник уже ничего не мог добавить.
Яркость сцены (да и примитивов) убери хотя бы вполовину, и все заработает.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
1-40071
Hopsit
2002-06-02 14:42
2002.06.13
Сохранение Word документа из Delphi


3-39943
kserg@ukr.net
2002-05-13 19:31
2002.06.13
Вопрос по выборке с датами MSSQL


1-39999
Dimedrol
2002-05-31 17:12
2002.06.13
Пишу наследника TMemo...


6-40138
Gloomy
2002-04-04 16:15
2002.06.13
Коллеги, кто знает ответ на этот вопрос?


1-40091
VID
2002-06-02 20:51
2002.06.13
Определение имени функции/процедуры, вызвавшей другую функция




   Наверх