Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Освещение полигонов. 
:(
    Опции темы
Elfet
Дата 28.6.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



Нашел вот такую формулу:
Цитата

интенсивность = интенсивность_источника * Max ( (n*s)/(|n|*|s|) , 0 )
n - нормаль к поверхности
s - вектор соединяющий источник света и точку на поверхности.

Эта штука работает, но освещает поверхность с двух сторон одинаково. Как сделать так что бы учитывались стороны? Что бы расматривая поверхность с разных сторон освещение было разное?
 Нужно как-то проверять лицевую сторону? (та которая повёрнута к источнику)


--------------------
PM MAIL WWW Skype   Вверх
Elfet
Дата 28.6.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



Как я понял нужно определить нахожусь ли я вместе с одной стороны с источником или с разных. А как?


--------------------
PM MAIL WWW Skype   Вверх
cardinal
Дата 28.6.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Elfet
Дата 28.6.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



cardinal, что это? smile Я не совсем понял где там то что мне нужно? smile


--------------------
PM MAIL WWW Skype   Вверх
cardinal
Дата 28.6.2007, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Ну посмотри тут
CG05-Lighttransport.pdf
CG06-Brdf.pdf
может в других коспектах тоже чего найдешь нужного. А в архивах в принципе все реализации есть...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Elfet
Дата 28.6.2007, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



cardinal, посмотрел smile у меня в книжке лучше написано (Ф.Хилл 'OpenGL. Программирование компьютерной графики') Там то всё понятно, а вот как это прикрутить к своему движку - не очень понимаю. Такое ощущение что упущены какие-то моменты, так как всё очень просто или я не правильно понимаю то что там пишут smile


--------------------
PM MAIL WWW Skype   Вверх
cardinal
Дата 28.6.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



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

Но это больше мысли вслух. smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
maxim1000
Дата 28.6.2007, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 2
Всего: 110



Цитата(Elfet @  28.6.2007,  21:46 Найти цитируемый пост)
Max ( (n*s)/(|n|*|s|) , 0 )

судя по всему, здесь уже учтён этот случай, так что надо, чтобы нормаль (у которой есть два возможных противоположных направления)была направлена к пользователю


--------------------
qqq
PM WWW   Вверх
cardinal
Дата 28.6.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



n* вектор от точки к пользователю > 0 то тогда поверхность видна, нет так нет... Может выглядеть немного подругому - это так на скорую руку...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Elfet
Дата 29.6.2007, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



maxim1000, а вот да, я же незнаю как у меня нормали ориентированы? Или нужно все нормали переориентировать к камере?
cardinal
Цитата(cardinal @  29.6.2007,  00:31 Найти цитируемый пост)
можно сделать чисто исходя из угла нормали поверхности к направлению света

угу, что-то вот такое и пытаюсь реализовать, не очень сложное smile


--------------------
PM MAIL WWW Skype   Вверх
maxim1000
Дата 29.6.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 2
Всего: 110



нужно смотреть знак координаты, соответствующей оси, перпендикулярной плоскости экрана
ну или
Цитата(cardinal @  28.6.2007,  23:52 Найти цитируемый пост)
n* вектор от точки к пользователю > 0

более общий случай, когда система координат не связана с экраном...


--------------------
qqq
PM WWW   Вверх
Elfet
Дата 29.6.2007, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



maxim1000, не совсем понял smile Все точки у меня находятся в координатах камеры


--------------------
PM MAIL WWW Skype   Вверх
maxim1000
Дата 29.6.2007, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 2
Всего: 110



а... ну тогда, по идее одна из осей должна быть вдоль линии зрения, вот знак соответствующей координаты и надо смотреть...


--------------------
qqq
PM WWW   Вверх
Elfet
Дата 29.6.2007, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



maxim1000,  smile 


--------------------
PM MAIL WWW Skype   Вверх
Elfet
Дата 29.6.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: 1
Всего: 16



Не, не совсем это правильно поворачивать нормаль таким вот способом. Нужно определить лицевую сторону, а это вот так вот не получается, иногда нормаль и вектор камеры со направлены и является лицевой стороной.
user posted image


--------------------
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.1693 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.