PMG
https://forum.pmg.org.ru/

Карта высот
https://forum.pmg.org.ru/viewtopic.php?f=1&t=6700
Страница 1 из 2

Автор:  Ipkis [ 12 сен 2008 12:14 ]
Заголовок сообщения:  Карта высот

Обращаюсь к вам за помощью.
Как мне задать нормали для карты высот :oops: .
И вообще подскажите какой тип освещения (в смысле методов освещения, 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), но не получается :oops:. Подскажите, что тут надо делать?

Автор:  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/