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


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

lz : (2 недель назад) Оно там просто всё вместе лежит.
Folgen : (2 недель назад) Даже сам Товарищ Майор не нашел бы.
Folgen : (2 недель назад) Ого, ребусы.
lz : (2 недель назад) Я там постоянно.
lz : (2 недель назад) Можно початиться в реалтайме в телеге - https://t.me/joincha...j5MKUrxakTyCPwQ
lz : (2 недель назад) Тулзы качаются программой bootstrap_tools из бутстраппера (как скачать - у меня в подписи). Если хочется самим собирать, отпишитесь ещё, я инструкции по сборке допишу.
PA3UJIb : (2 недель назад) по ходу это из LLVM
PA3UJIb : (2 недель назад) cmake скрипты недописаны. А заголовочники сначала подумал, что из boost, но и там такого не нашел
Folgen : (2 недель назад) У меня вообще фигня с СиМэйк. Я уж подумал ну его. А там хедеры нужны от Полигона4.
Folgen : (2 недель назад) Вот-вот!
PA3UJIb : (2 недель назад) Не знаю, я не смог его "tools" собрать - многих заголовочных нету и хз где их брать.
Гость : (3 недель назад) У кого-нибудь есть полный пак инструментария от lz?
Yakim (Watco... : (14 Июль 2018 - 00:06) :D
Yakim (Watco... : (14 Июль 2018 - 00:06) nope
Yandersen : (13 Июль 2018 - 22:07) Айаяй. Поди Якимко заспамил чат стикерами. :)
Yandersen : (13 Июль 2018 - 22:06) Да лан, тут каждый день кто-нить из админов заглядывает. Как пропустили?
Nextovoy : (13 Июль 2018 - 01:04) Я писал
Гость : (10 Июль 2018 - 22:42) Сорьки, что так у нас. Чего три года так и не попытался в чат писнуть? :)
Nextovoy : (06 Июль 2018 - 16:15) Спасибо
lz : (04 Июль 2018 - 19:44) Активировал.
Гость : (03 Июль 2018 - 16:30) Активируйте его.
Гость : (03 Июль 2018 - 16:30) Мой профиль - Nextovoy
Гость : (03 Июль 2018 - 16:25) Написать в чат. Профиль в ручную админы активируют.
Гость : (03 Июль 2018 - 15:47) Ох уж эта дурацкая привычка писать всё раздельно засоряя чат. Это всё классно, конечно, но ребята, одменестраторы, так называемые. Третий год пытаюсь зарегистрироваться (буквально, третий) на этом форуме, но ПИСЬМО С ПОДТВЕРЖДЕНИЕМ НА ПОЧТУ ТАК И НЕ ПРИХОДИТ. Что делать?
Гость : (03 Июль 2018 - 15:46) Перешёл я всё же по ссылке Redoctor'a...
Гость : (03 Июль 2018 - 15:41) Пора уже M4
Гость : (29 Июнь 2018 - 00:18) итак м3
lz : (28 Июнь 2018 - 16:01) Мы тебе и тут передадим.
Гость : (28 Июнь 2018 - 13:13) Зачем в телеграмме делать?!Я вот например не могу зайти,написать в чат,подписаться и не только у меня это.
Redoctor : (24 Июнь 2018 - 19:35) https://vk.com/away....0_23001&cc_key=
Redoctor : (24 Июнь 2018 - 19:34) Тогда в телеграмме в поисковике набери Механоиды 3
Гость : (24 Июнь 2018 - 19:05) Не открывается.
Redoctor : (24 Июнь 2018 - 18:00) https://t.me/mechanoids3 Для тех кто в танке.
Yakim (Watco... : (15 Июнь 2018 - 01:33) КРУЗИИИС!!!11

Изображение
lz : (15 Июнь 2018 - 00:09) КРУЗИС!
lz : (15 Июнь 2018 - 00:09) ЗИС
lz : (15 Июнь 2018 - 00:09) КРУ
Yakim (Watco... : (14 Июнь 2018 - 14:50) Крузис и Королева тоже не в моем вкусе, а проигрывать нечего =D
lz : (14 Июнь 2018 - 13:55) Конечно, полюбить - так королеву, проиграть - так миллион, сделать - так крузис.
smt005 : (14 Июнь 2018 - 00:22) И от третьего лица тоже можно сделать простенькую игру. Простая игра это лучше чем ничего.
smt005 : (14 Июнь 2018 - 00:21) А, ты хочеш что-бы хит был, с "Crysis" графоном и контентом на 100500 часов игры?
Yakim (Watco... : (14 Июнь 2018 - 00:18) Ни топдовншутеры, ни стратежки)
Yakim (Watco... : (14 Июнь 2018 - 00:15) Не, спасибо, не в моем вкусе=)
smt005 : (13 Июнь 2018 - 23:13) Помнится за пару недель от скуки сделал. Делал по вечерам.
smt005 : (13 Июнь 2018 - 23:13)

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

Terrain Engine

OpenGL Heightmap

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

#21 OFFLINE   PA3UJIb

PA3UJIb

    Серый

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

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

Уже качаю

 

-----------------------------------

 

Ай, эти довороты камеры меня укачивают  :wacko:

 

-----------------------------------

 


глянуть файлы FBO.hpp (класс фреймбуффер обжекта описан), Origin.hpp (система координат), Camera.hpp (мой ноу-хау подход к камерам в ОпенГЛ)

Класс "система координат" ну, сделал, да, сделал, хотя по-моему и повороты, и точка начала отсчета - все они в матрице трансформаций есть. Оттуда и вытягивать всё. Но в отдельном классе тоже хорошо.

Класс камеры "тяжеловат" - многие функции бы убрать. Вообще, на мой косой взгляд, в камере должны быть только позиция, ориентация и матрица проекций - то есть "откуда", "куда" и "как" смотрит. Это как сделано у меня :-Р

Класс ФБО - ну, с классом проще, да. Я пока просто мало с ним работал, чтобы найти там фичи, которые в ООП надо было бы заворачивать.


 


#22 OFFLINE   Yandersen

Yandersen

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

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

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

Так я тебе чисто для примеров кода посоветовал глянуть - как ОпенГЛ функции применять. На случай если ты ещё не до конца вкурил работу с ФБО.

Кста, выяснил, наконец, что FBO хранит в своих пропертях read и write буфферы - так что glReadBuffer и glDrawBuffers не нужно более одного раза вызывать - только вьюпорт каждый раз при биндиньи другого ФБО.

 

Класс "система координат" ну, сделал, да, сделал, хотя по-моему и повороты, и точка начала отсчета - все они в матрице трансформаций есть. Оттуда и вытягивать всё.

Ага, ты так и не просёк фишку. Обратная матрица будет использоваться не намного реже обычной. Если хранить и использовать в виде матрицы, то нахождение обратной для 4х4 требует значительных вычислений. Плюс 4-я строка (0,0,0,1) только место занимает и никогда не меняется - зачем лишние 16 байт тратить? А в виде трех ортоганальных векторов и точки отсчёта нахождение обратной матрицы сводится к простому транспонированию тройки координатных осей и умножению точки отсчёта на матрицу 3х3 - это много проще нахождения обратной матрицы для 4х4.

 

Короче говоря, так рациональнее хранить систему координат, чем в виде матрицы. Хотя по сути, тройка осей и точка отсчёта - это матрица mat4x3.

 

Класс камеры "тяжеловат" - многие функции бы убрать. Вообще, на мой косой взгляд, в камере должны быть только позиция, ориентация и матрица проекций - то есть "откуда", "куда" и "как" смотрит. Это как сделано у меня :-Р

А я мыслил о камере как о виртуальном объекте, представляющем собой прямоугольную проекционную плоскость шириной xSize, высотой ySize и находящуюся на расстоянии zNear от центра системы координат, к которой камера "прилеплена" (Origin). С моим ноу-хау подходом zNear может быть настолько маленькой, что такая объект-камера в зрачке персонажа поместится. Хм, для большего реализма такой камеро-симуляции перспектива должна задаваться не углом, а двиганьем проекционной плоскости (изменением zNear) ближе-дальше к центру проекции, что есть центр системы координат, к которой камера прилеплена. Типа как выдвигание объектива камеры при зуме: плоскость ближе - угол обзора шире, плоскость дальше - угол обзора меньше (т.е. всё укрупняется). Хм, в реале как у камеры эффект получаецца... :rolleyes:



#23 OFFLINE   PA3UJIb

PA3UJIb

    Серый

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

Отправлено 14 Апрель 2015 - 21:22


Хотя по сути, тройка осей и точка отсчёта - это матрица mat4x3

Ну, если так подходить, то да, тогда согласен. Чутка больше математики только, не?


А я мыслил о камере как о виртуальном объекте, представляющем собой прямоугольную проекционную плоскость шириной xSize, высотой ySize и находящуюся на расстоянии zNear от центра системы координат

Интересно, можно ли визуализировать такой фруструм?


 


#24 OFFLINE   Yandersen

Yandersen

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

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

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

Ну, если так подходить, то да, тогда согласен. Чутка больше математики только, не?
Наоборот. И вапще, я имел в виду, что содержимое COrigin (m,p) можно просто интерперитировать как mat4x3 и так и использовать. Но только напрямую, т.к. обратная матрица определена лишь для квадратных матриц.


Интересно, можно ли визуализировать такой фруструм?
Точно так же он визуализируется, как обычный фрустум, только бОльшего основания нет - оно бесконечно далеко, т.к. задней плоскости отсечения нет.

#25 OFFLINE   Yandersen

Yandersen

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

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

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

---

Наткнулся на артикл, рассказывающий как хаймапа у эпиков сделана. Внимание привлёк этот абзац:

 
Static Render Data Stored as Textures in GPU Memory

The Landscape system stores the render data for the terrain in Textures in GPU memory, allowing data to be looked up in the vertex shader. The data is packed into a 32-bit Texture with the height occupying 16-bits in the form of the R and G channels and X and Y offsets stored as 8-bit values in the B and A channels, respectively.

Гениальное решение, как оно не пришло мне в голову? Это позволяет плотнее кучковать вершины в местах с большим перепадом высот, оттягивая их от ровных участков. Т.е. топология трегуов сохраняется, хоть конкретные позиции вершин и не привязаны к квадратной сетке. Так можно даже овраги и навесы делать. И не будет растянутостей на вертикальных склонах.

Но тут проблема с терраформингом возникает. Ведь если сетка регулярная, то можно чётко сказать, какая вершина находится на конкретных горизонтальных координатах. Но когда у каждой есть своё смещение, то уже нельзя. Так что такой способ хорош лишь для рендера, наверное, и терраформинг тогда отпадает. Хотя хз, нужно ещё помозговать...







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

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

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