Загрузил модель, пытаюсь осветить. Создаю источник света над моделью:
// включаем свет в сцене
Device->SetRenderState(D3DRS_LIGHTING, true);
// создаём материал и устанавливаем материал
D3DMATERIAL9 materialAll;
materialAll.Ambient = D3DXCOLOR(255, 0, 0, 1);
materialAll.Diffuse = D3DXCOLOR(255, 0, 0, 1);
materialAll.Specular = D3DXCOLOR(255, 0, 0, 1);
materialAll.Emissive = D3DXCOLOR(0, 0, 0, 1);
materialAll.Power = 5.f;
Device->SetMaterial(&materialAll);
// создаем, помещаем в систему и включаем источник света
D3DLIGHT9 point;
ZeroMemory(&point, sizeof(point));
point.Type = D3DLIGHT_POINT;
point.Diffuse = D3DXCOLOR(255, 255, 255, 1);
point.Specular = D3DXCOLOR(255, 255, 255, 1) * 0.6f;
point.Ambient = D3DXCOLOR(255, 255, 255, 1) * 0.6f;
point.Position = D3DXVECTOR3(0.f, 30.f, 0.f);
point.Range = 1000.0f;
point.Attenuation0 = 1;
point.Attenuation1 = 0;
point.Attenuation2 = 0;
Device->SetLight(0, &point);
Device->LightEnable(0, true);
// устанавливаем режим автонормализации векторов и режим отображения бликов
Device->SetRenderState(D3DRS_NORMALIZENORMALS, true);
Device->SetRenderState(D3DRS_SPECULARENABLE, true);
Однако почему-то не производится затенение — вся модель равномерно насыщенная по всей площади.
Попробовал заменить освещение на насыщенно-синее — модель стала чёрной, то есть источник света применяется.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости