Проблема со светом

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

alaska81
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.02.2005 (Пт) 9:30

Проблема со светом

Сообщение alaska81 » 05.09.2005 (Пн) 23:11

Кто знает как решить такую проблемку? при повороте камеры пропадает свет на вертикальной поверхности (как то странно).

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 05.09.2005 (Пн) 23:34

объясни поподробней...
ХЎ

alaska81
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.02.2005 (Пт) 9:30

Сообщение alaska81 » 06.09.2005 (Вт) 9:24

Имеется цилинд, D3DLIGHT_POINT находится внутри и свободно перемещающаяся камера. Дык вот при перемещениях/поворотах камеры заметил исчезновение света на поверхности цилиндра.
У вас нет доступа для просмотра вложений в этом сообщении.

alaska81
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.02.2005 (Пт) 9:30

Сообщение alaska81 » 06.09.2005 (Вт) 22:16

Нашел!!! Забыл прописать Attenuation0.
Attenuation0[1,2] – коэффициенты, определяющие изменение интенсивности освещения в зависимости от расстояния от источника света.
Возник вопрос: как работает Attenuation (какие нужно ставить коэф)?
Кто знает поделитесь опытом.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 06.09.2005 (Вт) 22:19

Attenuation - затенение, а какие коефициенты ставить рассчитывай из того, какого размера у тебя сцена.
ХЎ

alaska81
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.02.2005 (Пт) 9:30

Сообщение alaska81 » 06.09.2005 (Вт) 22:29

К примеру 30х30х30, сколько нужно поставить?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 06.09.2005 (Вт) 22:40

:lol:

не знаю сколько тебе нужно =) посмотри, попробуй разные значения. оставь, что подойдет =)
ХЎ

alaska81
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.02.2005 (Пт) 9:30

Сообщение alaska81 » 06.09.2005 (Вт) 22:43

Ладно, попробую метод "научного тыка". Я вот тут заметил: свет проходит сквозь всё - это не как не лечится?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 06.09.2005 (Вт) 22:50

у... видно ты совсем начинающий... будем терпимы и участливы.

свет рассчитывается для каждого полигона отдельно. а еще если точнее для каждой точки по ее нормали и позиции. Затем для окраски полигона цвет трех точек интерполируется и закрашивается весь треугольник. Этот полигон и знать не знает о том, что есть другие треугольники, и что свет через них не должен проходить. Если хочешь тени, то тут есть много техник, но тебе сначала придется как минимум с полгода тренироваться с DX, если ты только начал.
ХЎ

alaska81
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.02.2005 (Пт) 9:30

Сообщение alaska81 » 06.09.2005 (Вт) 23:09

Да, я начинающий. Спасибо за помощь.
Но разве DX не должен сам расчитывать цвет для окраски треугольника в зависимости от интенсивности света.
Сейчас вроде работает (за исключением прозрачности объектов для света).

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 06.09.2005 (Вт) 23:21

ну да, он и рассчитывает. У тебя с этим проблемы?
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 07.09.2005 (Ср) 9:30

Как написал d3drm, цвет трех точек интерполируется и закрашивается весь треугольник, если размеры треугольника значительно меньше расстояния до источника света - все выглядит нормально, если нет - будут искажения, чтобы от них избавиться, нужно использовать попиксельный свет, либо дробить треугольники на меньшие.


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

    TopList  
cron