Перейти к содержимому


Свернуть чат Чат Открыть чат во всплывающем окне

Yakim (Watco... : (4 дней назад) :D
Yakim (Watco... : (4 дней назад) nope
Yandersen : (4 дней назад) Айаяй. Поди Якимко заспамил чат стикерами. :)
Yandersen : (4 дней назад) Да лан, тут каждый день кто-нить из админов заглядывает. Как пропустили?
Nextovoy : (5 дней назад) Я писал
Гость : (неделю назад) Сорьки, что так у нас. Чего три года так и не попытался в чат писнуть? :)
Nextovoy : (неделю назад) Спасибо
lz : (неделю назад) Активировал.
Гость : (2 недель назад) Активируйте его.
Гость : (2 недель назад) Мой профиль - Nextovoy
Гость : (2 недель назад) Написать в чат. Профиль в ручную админы активируют.
Гость : (2 недель назад) Ох уж эта дурацкая привычка писать всё раздельно засоряя чат. Это всё классно, конечно, но ребята, одменестраторы, так называемые. Третий год пытаюсь зарегистрироваться (буквально, третий) на этом форуме, но ПИСЬМО С ПОДТВЕРЖДЕНИЕМ НА ПОЧТУ ТАК И НЕ ПРИХОДИТ. Что делать?
Гость : (2 недель назад) Перешёл я всё же по ссылке Redoctor'a...
Гость : (2 недель назад) Пора уже M4
Гость : (2 недель назад) итак м3
lz : (2 недель назад) Мы тебе и тут передадим.
Гость : (2 недель назад) Зачем в телеграмме делать?!Я вот например не могу зайти,написать в чат,подписаться и не только у меня это.
Redoctor : (3 недель назад) https://vk.com/away....0_23001&cc_key=
Redoctor : (3 недель назад) Тогда в телеграмме в поисковике набери Механоиды 3
Гость : (3 недель назад) Не открывается.
Redoctor : (3 недель назад) https://t.me/mechanoids3 Для тех кто в танке.
Yakim (Watco... : (4 недель назад) КРУЗИИИС!!!11

Изображение
lz : (4 недель назад) КРУЗИС!
lz : (4 недель назад) ЗИС
lz : (4 недель назад) КРУ
Yakim (Watco... : (4 недель назад) Крузис и Королева тоже не в моем вкусе, а проигрывать нечего =D
lz : (4 недель назад) Конечно, полюбить - так королеву, проиграть - так миллион, сделать - так крузис.
smt005 : (4 недель назад) И от третьего лица тоже можно сделать простенькую игру. Простая игра это лучше чем ничего.
smt005 : (4 недель назад) А, ты хочеш что-бы хит был, с "Crysis" графоном и контентом на 100500 часов игры?
Yakim (Watco... : (4 недель назад) Ни топдовншутеры, ни стратежки)
Yakim (Watco... : (4 недель назад) Не, спасибо, не в моем вкусе=)
smt005 : (4 недель назад) Помнится за пару недель от скуки сделал. Делал по вечерам.
smt005 : (4 недель назад)
smt005 : (4 недель назад) Или например такое, только с моделями из игры -> https://youtu.be/RFDdN5dcX8s
smt005 : (4 недель назад) Yakim, да сами себя пните... :) Сделайте что-то, хотя бы уровня "Scrolling TopDown Shooter".
Yakim (Watco... : (12 Июнь 2018 - 22:17) так что, думаю завтра с утреца стартану марафон)
Yakim (Watco... : (12 Июнь 2018 - 22:15) хе-хе, не сомневайся, я в чате по уе уже поинтересовался, сказали обалденный сериал)))
Yandersen : (12 Июнь 2018 - 20:56) Оооооо, поди ща залипнет на пару дней, стопудофф. :)
Yakim (Watco... : (12 Июнь 2018 - 18:28) Окей гляну)
Yandersen : (12 Июнь 2018 - 16:23) Сериал Пространство посмотри. Не по части Мехов, просто шикарен, авось ману доставит.
Yakim (Watco... : (11 Июнь 2018 - 18:50) Дуст и ты уже закаленные и пустые, надож где-то ману доставать)))
Yakim (Watco... : (11 Июнь 2018 - 18:49) Думаю, кого быть пнуть, что-бы тот пнул в ответ да по сильнее.
Yakim (Watco... : (11 Июнь 2018 - 18:48) Давненько и не маленько хе-хе, делать нечего, прокрастинирую =)
Yandersen : (11 Июнь 2018 - 17:46) Якимка, ты там шо, упоролсо маленько? Чиво картинами опспамилсо?
Yakim (Watco... : (09 Июнь 2018 - 22:27) Изображение

Фотография
- - - - -

Terrain Engine

OpenGL Heightmap

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 24

#1 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 27 Март 2015 - 18:02

Коли у нас есть карты высот старых добрых секторов, то я занялся вопросом загрузки и создания ландшафта.
И поднимаю тему о терраформинге от Шамана.
Можно ли сочетать две таких штуки? Что если сделать ландшафт изменяемым - скажем, на повороте перед подъемом мехи постоянно мочат друг друга. От постоянных взрывов земля на этом повороте разлетается по окрест, так что образуется углубление, окруженное бруствером (мехи прозвали это место "черная дыра")...

Попутно я тут взобрался таки на гору: https://youtu.be/hBo_ERYbDOw


 


#2 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 27 Март 2015 - 18:35

Разужиб, на самом деле там совсем немного надо допилить в моём движке, чтобы указанные файлы карт высот и текстур импортировать (карты цвета в моём движке не используются - я решил замест этого увеличить количество текстур до 256, чтоб разные цветовые вариации отдельными картинками были). Но чессгря, я что-то как-то уже не знаю, насколько целесообразен вопрос терраформинга вапще. Это была интересная задумка, но она более ресурсоёмка, нежели геймплей-бенефициальна. К тому же, желаемые сотни километров до горизонта достигаются с сеткой вершин в 1м. При этом воронки от ракет глайдеров будут выглядеть треугольными - с такой детализацией разве что ядерные взрывы анимировать. Крутые овраги выглядят убого, нависные скалы и пещеры при карте высот могут быть реализованы лишь сторонними объектами. Так что я подумал, что такой терраформинг не имеет особого смысла. Воксельный ландшафт более перспективен, но эта задача много сложнее.



#3 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 29 Март 2015 - 08:52

Чота попробовал карту высот представить в виде меша (кешировать все данные, создать вертексы, напихать их в VAO/VBO) - проседает ФПС. И это еще без текстур и нормалей.

Курим дальше...


 


#4 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 29 Март 2015 - 10:19

Шо, целиком всю карту разом рисовать вздумал?! Это никакая видюхане потянет. В мехах карта кусочками рисовалась, у меня метод ЛОДов. ЛОДами во много раз бОльшую площадь рендерить можно, но плясок с бубном это требует.



#5 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 29 Март 2015 - 11:34

Ну дык я ж только понимать начинаю, как оно грузится и показывается, а потом уже и к ЛОДам перейдем.

http://youtu.be/yE6KtHqY898

Ясен пень, что всю карту отображать в максимальном качестве не стоит.


 


#6 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 29 Март 2015 - 11:59

И всё равно прикольно себя ощущаешь, когда такое выходит

Это же я всё сам, всё сам! И оно еще показывает, то что надо!


 


#7 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 29 Март 2015 - 19:57

Ну так кусочками карту отображать совсем не сложно же. Раздели карту на квадратики, скажем, 100х100вершин, и отправляй в рисовку только те, что не дальше Х метров от камеры.



#8 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 08 Апрель 2015 - 19:29

Вкуриваю код TerrainEngine. Поставил в качестве карты высот сектор Скал 2500х2500, повысил скорость передвижения и всё. Пока на месте стоишь, то всё норм, а как начинаешь двигаться со скоростью 100.0, то карта не успевает прогружаться. И надо бы ПОЛНОЕ объяснение, для чего там что. Да даже не полное, а хотя бы без текстур. Одна только карта высот. Моск плавится...

 

А еще я прикольный алгоритм надыбал - SOARX называется. Только, плин, на нем демка аж 2003 года. А так, полигоны уходят в ЛОД, если камера на них не смотрит или не видит.


 


#9 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 09 Апрель 2015 - 07:02

повысил скорость передвижения и всё. Пока на месте стоишь, то всё норм, а как начинаешь двигаться со скоростью 100.0, то карта не успевает прогружаться.

Ну а чего ты ожидал? Вся карта ведь не может в видеопамяти умещаться - она динамически подгружается с диска по кусочкам и выгружается туда же. Чем быстрее двигаться, тем больше чтений/записей за единицу времени происходит. У железа же есть ограничения. Правда, алгоритм там не очень совершенный - нет мультитрединга, чтоб подгружать ожидаемонужные кусочки карты заранее, в бэкграунде.

 

И надо бы ПОЛНОЕ объяснение, для чего там что. Да даже не полное, а хотя бы без текстур. Одна только карта высот. Моск плавится...

О да, помню, это было эпохальное извращение над моим разумом... :rolleyes: Но я и не рассчитывал, что кто-то будет пытаться в этом разобраться. Рассчёт был на то, что весь менеджер карты будет описан в нескольких хеадерах, которые подключаются независимо к стороннему проекту и обеспечивают работу с картой высот. Вот только я кинул проект на пол-дороги, когда осознал, что такие территории просто невозможно корректно и эффективно рендерить из-за проблем с буффером глубины. Недавно, кстати, я обнаружил, что ОпенГЛ4.5, наконец, поддерживается моей видюхой, и там есть пара фич, которые позволят эту проблему решить. Вот пишу щас классы FBO и камеры, использующие эти фичи (DSA, Clip Control). Протестю, и если всё будет гладко, вернусь, наверное к своему Terrain Engine. ;)

А так, полигоны уходят в ЛОД, если камера на них не смотрит или не видит.

Вот это я и хотел доработать - нерисовку участков вне пирамиды видимости камеры. У меня ведь шла рисовка ВСЕЙ карты вокруг центра. Но там итак очень сложный алгоритм из-за необходимости сшивать соседние ЛОДы, моск вскипел и я плюнул на это дело.

Я бы не советовал тебе, Разужиб, тратить время на разбор моего алгоритма рисовки карты - там сафсем ненаглядное вуду, не годящееся в образовательных целях. Слишком закручено всё. Лучше сам попробуй что-нить попроще организовать. Как в мехах - кусочками карту на рендер выводи, проверяя попадание в пирамиду видимости.



#10 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 09 Апрель 2015 - 10:31

Кстати, твой Terrain Engine с легкостью запускается на OpenGL 2.1, потому как у тебя используется... OpenGL2.1 ! Единственное, что там было из 4.3 это в шейдере функция GLSL fma(a, b, c) заменив которую на a*b+c запустил демку на древней 8 летней машине. На самом деле дрова новые (этого года), так что все адреса в дровишках есть, твой LoadGL всё правильно подгружает. Compiler Warning за ошибку не считаются.

Попытку разобраться как оно работает у тебя, я не брошу. Добью. А попутно разберусь в квадродеревьями - их дюже много в View-Dependent (Distance-Dependent) Level of Detail алгоритмах используют. Разница между ними всеми, я так понял, в различных вариациях представления данных, их обработке и "сшивание" разных уровней LOD.


 


#11 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 09 Апрель 2015 - 17:05

Брехня. У меня ж там даже шейдер геометрии юзается, который в 3-м ОпенГЛ только появился. И фреймбуффер обжекты в 3-м ввели. Плюс лайауты текстурных слотов и выходы фрагментных шейдеров в 4-м ГЛ. Запусти GLView, проверь какая реально версия поддерживается на видюхе. Там точно выше двойки будет. Моя ЖиФорс 520-я,три года назад купленная, последнюю версию ГЛ поддерживает.

Хотя есть вероятность, что просто отдельными расширениями прокатило. Но слабо верится.



#12 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 10 Апрель 2015 - 03:28


Запусти GLView, проверь какая реально версия поддерживается на видюхе

Хорошая программа. В своём движке я определяю максимальную поддерживаемую версию ГЛ, так что да, на работе у меня 3.3 максималка. А дома, на видюхе, купленной в прошлом году, 4.4. Так что, по ходу, минимально требуемая версия ГЛ для TerrainEngine это 3.


 


#13 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 10 Апрель 2015 - 06:54

Значит расширения нужные поддерживаются. Должно быть GL Shading Language version 4+ там есть, не так ли?



#14 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 10 Апрель 2015 - 15:53

Не удалось прогу запустить на работе - там машина без выхода в интернет.

Да и сама программа не идеальна - мне дома например говорит, что только GL 4.4, хотя расширенный контекст версии 4.5 могу создавать и использовать.


 


#15 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 10 Апрель 2015 - 18:42

Та же байда. У меня из 4.5 не поддерживается лишь шейдинг лэнгвидж, остальное всё есть. Я щас наслаждаюсь DSA из 4.5. О боги, как долго ГЛ к этому шла, и как теперь всё классно! Не надо почти ничего биндить - просто запросил или выставил нужную пропертю нужному объекту - и счастье. ^_^



#16 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 11 Апрель 2015 - 08:26

Ололо, продолжаю наслаждаться коденьем под ГЛ4.5. Наконец освоился с FBO с float'овым буффером глубины - работает. glClipControl(GL_LOWER_LEFT,GL_ZERO_TO_ONE) - работает. Класс камеры написал, задроченный под особый способ перспективной проекции - без дальней плоскости отсечения и сверблизкой ближней плости отсечения. Знаменательный день! Завтра, надеюсь, внедрю енто дело в Террэйн Энджин и тогда буду рендерить огромные территории максимально эффективно и без извратов с линейным буффером глубины в шейдерах. Нада паспаць, моск в порядок привести...



#17 OFFLINE   PA3UJIb

PA3UJIb

    Серый

  • Создатель
  • 171 сообщений

Отправлено 11 Апрель 2015 - 12:12

Комментарии! Комментарии!! Комментарии!!!

Я долго тупил над числом 0.017453292519943295769236908 пока не догадался, что это pi/180


 


#18 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 13 Апрель 2015 - 05:31

Первый испыт настроек камеры без дальней плоскости отсечения и сверхблизкой ближней плоскостью отсечения прошёл удачно - артефактов нет даже на дистанции в 240км при ближней плоскости отсечения в 1мм. Зачем это нужно? А я всё с конструктором глайдеров не успокоюсь. Вот хочу реальную камеру симулировать как игровой объект, чтоб она маленькая была и в корпус глайда засовывалась без артефактов отсечения, и при этом не имела ограничений на дальность прорисовки сцены.

Проект Terrain Engine перезалит на Гугл-драйв (если *вдруг* кому интересно новые коды посмотреть). Теперь требует OpenGL4.5. Слеплен на Вижуалке 2013.

Дальше буду интегрировать класс FBO в рисовалку карты, наверное.

 

Но поразмыслив над оптимиальностью рисовки карты я что-то слегка приуныл. Если включить вайрфреймовый режим (кнопка R), то видно, что горизонтальные треуги рендерятся как линии, т.е. целая пачка треугов результирует в несколько пикселей. А вертикальные треуги вытянуты, поэтому каждый занимает большую экранную плоскость. И это как бы неоптимально. Но как уравнять треуги в экранном размере, идей нет. Наверное, есть какие-нить тесселяционные алгоритмы...



#19 OFFLINE   lz

lz

    True Warrior

  • Админ
  • 213 сообщений

Отправлено 13 Апрель 2015 - 10:03

В архив упакуй, чтобы одним файлом стянуть можно было.


Polygon-4
Документация и инструкции по установке доступны по ссылке:
 

#20 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 13 Апрель 2015 - 15:45

В архив упакуй, чтобы одним файлом стянуть можно было.

https://drive.google...fUHM&authuser=0

Там кнопочка сверху незаметная - download.

---

Апдэйтнут GLSL.hpp (там нашёлся баг в инициализации матриц методом расширения).

Разужибу рекомендую глянуть файлы FBO.hpp (класс фреймбуффер обжекта описан), Origin.hpp (система координат), Camera.hpp (мой ноу-хау подход к камерам в ОпенГЛ). Сетап настроек ОпенГЛ перешёл в WindowGL.cpp в функцию CWindowGL::OnCreated, их там стало совсем немного.







Темы с аналогичным тегами OpenGL, Heightmap

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных