PMG https://forum.pmg.org.ru/ |
|
Карта высот https://forum.pmg.org.ru/viewtopic.php?f=1&t=6700 |
Страница 1 из 2 |
Автор: | Ipkis [ 12 сен 2008 12:14 ] |
Заголовок сообщения: | Карта высот |
Обращаюсь к вам за помощью. Как мне задать нормали для карты высот . И вообще подскажите какой тип освещения (в смысле методов освещения, e.g.http://pmg.org.ru/ebooks/ "Focus on 3D Terrian" ) лучще использовать, чтобы обеспечить несколько источнтко света, отдельно вращающихся? |
Автор: | MagicWolf [ 15 сен 2008 09:03 ] |
Заголовок сообщения: | Re: Карта высот |
Нормали рассчитываются по геометрии, или на оснований карты нормалей. По геометрии расчет я видел в Focus 3D models (3ds). На основании карты нормалей, можно посмотреть Урок 22. Наложение микрорельефа методом тиснения, мультитекстурирование и использование расширений OpenGL. Не совсем то, но похоже. С освещением труба, это не тривиально. Освещение и тени в OpenGL не представлены аппаратными средствами. Так что придется думать самому. Есть множество алгоритмов на эту тему. Какой из них предпочесть я не знаю . Самое простое делать освещение - по lights map. А тени - stencil. Но не факт, что это идеально и быстро. В принципе шейдеры как раз и нужны для света и тени... |
Автор: | Ipkis [ 15 сен 2008 17:55 ] |
Заголовок сообщения: | Re: Карта высот |
Спасибп,MagicWolf Что-то буду думать... |
Автор: | MagicWolf [ 17 сен 2008 09:04 ] |
Заголовок сообщения: | Re: Карта высот |
Это не есть просто - освещение! Представь себе, что есть "суп" из полигонов, есть n-источников света, и надо найти в этом супе найти все полигоны, которые надо затенить или засветлить. Даже не просто полигоны, а части их. Сама по себе задача вычислительно не простая, в плане алгоритмов, и в плане вычислений. Первое, что приходит на ум, выделить из всего множества полигонов, только ту часть которая связана с камерой. Это резко уменьшает количество полигонов. Здесь на помощь приходят BSP, или квадродеревья. Затем, надо из найти все те полигоны цвета которых надо изменить. И тут есть масса проблем. В принципе простой перебор мало спасает, так как часть полигонов может быть сама источником света или преломления, или рассеивать свет. Другая часть затеняет ... Вообщем, какого-то просто и понятного алгоритма я увы не знаю... Идея трассировки лучей в том, чтобы проследить один луч, и соответственно засветить все нужные пикселы. Photon Mapping - насколько я понял, это вычисление областей с разной освещенностью. Это как бы физические методы вычисления освещенности. Fake методы, это например, lightmaps. Просто в заданном месте накладываешь полигон с ранее рассчитанным освещением. Или bump... Существует множество других методов освещение, в частности в самом OpenGL. Есть методы освещения и наложения теней, которые зависят от типа видео-карты. Вообще, это довольно интенсивное поле разработки ... Так что я не могу посоветовать, что-то определенное. Единственной не доработкой в этом плане на сайте, является отсутствие статьи по lightmaps... |
Автор: | Ipkis [ 17 сен 2008 16:40 ] |
Заголовок сообщения: | Re: Карта высот |
ДА ЭТО ТАК!!! Все, что вы говорите MagicWolf: MagicWolf писал(а): Это не есть просто - освещение! Представь себе, что есть "суп" из полигонов, есть n-источников света, и надо найти в этом супе найти все полигоны, которые надо затенить или засветлить. Даже не просто полигоны, а части их. Сама по себе задача вычислительно не простая, в плане алгоритмов, и в плане вычислений. Пока что это для меня проблема - работаю над этим! Что такое BSP? Просто lightmap, к сведению, не подойдет в случаи если существует два источника: направленный(e.g. луна) и локальный - прожектор, которые влияют на результирующую сцену... Вот как тут учитывать нормали |
Автор: | MagicWolf [ 18 сен 2008 08:39 ] |
Заголовок сообщения: | Re: Карта высот |
BSP - бинарное разделение пространства. Как бы весь мир делишь на две части плоскостью, потом каждую часть еще делишь, и так далее, образуется двоичное дерево. С каждой частью пространства связаны полигоны. Соответственно, когда происходит выбор полигонов при отборе их в зоне камеры довольно прост. Надо пройтись по дереву и вычислить все области, в которые входят в область камеры. Но плоскости BSP не просто делят пространство, как квадродеревья, а проходят по плоскостям полигонов. Это позволяет получать из дерева BSP только те полигоны, которые должны быть отображены. И тут конечно, это не есть просто. http://www.gamedev.ru/articles/?id=30128 |
Автор: | Ipkis [ 23 сен 2008 12:17 ] |
Заголовок сообщения: | Re: Карта высот |
А вот тут еще такой вопросик, подскажите, плиз-з-з-з Я тут не сильно заморачиваюсь и просто беру позиционирование карты высот из http://pmg.org.ru/ebooks/ "Focus on 3D Terrian (класс Camera). Мне ее нужно вращать в плоскости Z cцентром вращения в середине карты. Использовал glTranslatef(-0.5*SIZE_MAP,0,-0.5*SIZE_MAP), но не получается . Подскажите, что тут надо делать? |
Автор: | MagicWolf [ 29 сен 2008 15:47 ] |
Заголовок сообщения: | Re: Карта высот |
Вращать или смещать? |
Автор: | Ipkis [ 02 окт 2008 12:09 ] |
Заголовок сообщения: | Re: Карта высот |
Я как делаю: сначало я смещаю центр в середину карты - glTranslate(), а затем вращаю... Но все равно вращение производится вокруг угла карты Вот как мне решить эту проблему? |
Автор: | MagicWolf [ 06 окт 2008 13:21 ] |
Заголовок сообщения: | Re: Карта высот |
Не совсем понял. Ты выводишь карту относительно угла карты? Потом ее всю смещаешь и делаешь поворот? |
Автор: | Ipkis [ 07 окт 2008 11:20 ] |
Заголовок сообщения: | Re: Карта высот |
Ну, не совсем я , отображаю карту высот по подобию примеров из вышеупомянутой книги, но похоже они выводят ее относительно угла и при вращении она вращается вокруг угла карты... Тогда я ввел перемещение в середину -эффекта ни какого |
Автор: | MagicWolf [ 07 окт 2008 11:28 ] |
Заголовок сообщения: | Re: Карта высот |
Мне кажется ты просто сместил карту, а вращаешь так же относительно угла. По идее у тебя должен быть в центре некий объект (невидимый) относительно которого ты привязываешь карту. И когда ты вращаешь его - вращается карта. Кроме этого, не надо вращать карту, можно вращать камеру (вернее манипулировать ее направлением). |
Автор: | Ipkis [ 25 ноя 2008 11:04 ] |
Заголовок сообщения: | Re: Карта высот |
По поводу освещения карты высот - это мне немного помогло http://gamedev.ru/articles/?id=30119 Тут такой вопросик созрел, помогите разобраться. Когда я освещаю карту высот, это освещение влияет и на надписи в 2Д проекции (карта высот в 3Д, а инорм. надписи в 2Д по образу и подобию к Focus on 3D Terrian). Так как оградить влияние освещения на другие проекции в одном окне? |
Автор: | MagicWolf [ 26 ноя 2008 10:53 ] |
Заголовок сообщения: | Re: Карта высот |
При выводе 2D, отключай освещение. |
Автор: | Opipphync [ 09 ноя 2009 18:14 ] |
Заголовок сообщения: | Карта высот |
вот такая закавыка надо мне карту высот в альфу карты нормалей, чтоб значит это дело под параллакс мапинг. тот же ХСИ допустим с полпинка это делает. а как это сделать в збраше? я змапер использую. подскажите если кто знает как сгенерить карту высот в збраше? |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |