|
Модераторы: Rickert |
|
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
Нашел вот такую формулу:
Эта штука работает, но освещает поверхность с двух сторон одинаково. Как сделать так что бы учитывались стороны? Что бы расматривая поверхность с разных сторон освещение было разное? Нужно как-то проверять лицевую сторону? (та которая повёрнута к источнику) |
|||
|
||||
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
Как я понял нужно определить нахожусь ли я вместе с одной стороны с источником или с разных. А как?
|
|||
|
||||
cardinal |
|
|||
Инженер Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
cardinal, что это? Я не совсем понял где там то что мне нужно?
|
|||
|
||||
cardinal |
|
|||
Инженер Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Ну посмотри тут
CG05-Lighttransport.pdf CG06-Brdf.pdf может в других коспектах тоже чего найдешь нужного. А в архивах в принципе все реализации есть... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
cardinal, посмотрел у меня в книжке лучше написано (Ф.Хилл 'OpenGL. Программирование компьютерной графики') Там то всё понятно, а вот как это прикрутить к своему движку - не очень понимаю. Такое ощущение что упущены какие-то моменты, так как всё очень просто или я не правильно понимаю то что там пишут
|
|||
|
||||
cardinal |
|
|||
Инженер Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Я тоже долго вникал, но на самом деле модель очень похожа на реальную ситуацию. Описано там конечно не ах, но вообще попробуй запустить те проекты, что там можно скачать, если результаты понравятся, то копай в этом направлении, если нет, то конечно можно сделать чисто исходя из угла нормали поверхности к направлению света. Там в одно случае получится минус по идее, а в другом плюс (если рассматривать противоположные стороны). А вообще можно же определить (помоему просто перемножив вектор нормали поверхности на вектор к источнику света от поверхности) попадает свет на поверхность или нет, если нет, то она соответственно просто черная...
Но это больше мысли вслух. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
судя по всему, здесь уже учтён этот случай, так что надо, чтобы нормаль (у которой есть два возможных противоположных направления)была направлена к пользователю -------------------- qqq |
|||
|
||||
cardinal |
|
|||
Инженер Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
n* вектор от точки к пользователю > 0 то тогда поверхность видна, нет так нет... Может выглядеть немного подругому - это так на скорую руку...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
||||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
нужно смотреть знак координаты, соответствующей оси, перпендикулярной плоскости экрана
ну или более общий случай, когда система координат не связана с экраном... -------------------- qqq |
|||
|
||||
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
maxim1000, не совсем понял Все точки у меня находятся в координатах камеры
|
|||
|
||||
maxim1000 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
а... ну тогда, по идее одна из осей должна быть вдоль линии зрения, вот знак соответствующей координаты и надо смотреть...
-------------------- qqq |
|||
|
||||
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
maxim1000,
|
|||
|
||||
Elfet |
|
|||
Белый и Пушистый Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: 1 Всего: 16 |
Не, не совсем это правильно поворачивать нормаль таким вот способом. Нужно определить лицевую сторону, а это вот так вот не получается, иногда нормаль и вектор камеры со направлены и является лицевой стороной.
|
|||
|
||||
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |