Войти
ПрограммированиеФорумГрафика

Terrain

Страницы: 1 2 3 4 Следующая »
#0
14:21, 18 дек. 2017

Кто-нибудь на пальцах может пояснить как эта технология работает : https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter02.html

Не ясно, как у них Vertex и Index буфферы при реализации на GPU становятся константами.


#1
14:29, 18 дек. 2017

О, мегатекстуры!

#2
15:06, 18 дек. 2017

1) Да, но как формируются Vertex и Index буферы ?
2) Как "сшиваются" места изменений деталезации ?

И почему указывают,  что  Vertex и Index буфферы - constants !

#3
15:51, 18 дек. 2017

bykabak
> Не ясно, как у них Vertex и Index буфферы при реализации на GPU становятся
> константами.

Я делал так:
Подготавливается 16 индексных буферов на все варианты стыковок разных лодов по сторонам чанка.
Террейн рисуется регулярной сеткой, поэтому вершинный буфер тоже всего один для всех чанков, меняется лишь высота вершин в шейдере, которая считывается из текстуры, а сетка скейлится/смещается как тебе нужно прямо в шейдере.

#4
17:13, 18 дек. 2017

Ivashka
> Так, тогда получается при расчёте физики так же надо брать высоту из текстурки,

При чем тут физика?

> не лучше сразу генерить честно все 3 координаты и заливать

Заливать куда?

#5
17:33, 18 дек. 2017

Ivashka
> 1.Ну вдруг в игре есть физика, например игрок перемещается по ландшафту,
> сооттветственно проверка пересечений.

Для этого вообще геометрия не нужна, достаточно только карты высот.

> 2.Заливать в вершиный буфер.

Где логика, как вершинный буфер связан с физикой?

#6
17:54, 18 дек. 2017

0xc0de
> Я делал так:
> Подготавливается 16 индексных буферов на все варианты стыковок разных лодов по
> сторонам чанка.
Да, я тоже так делал, и как выяснилось у многих такая реализация. Без динамических буферов, отсутствие загрузки CPU, легкий шейдер. Если высоту тоже в буфер писать без текстуры, то в качестве бонуса работа на мобильных GPU без поддержки VTF.

#7
18:06, 18 дек. 2017

Andrey
> Да, я тоже так делал, и как выяснилось у многих такая реализация. Без
> динамических буферов,

да, делал всего лишь лет пять или семь - это НЕКОММЕРЧЕСКИЙ вариант

#8
19:40, 18 дек. 2017

Ребята, я спрашиваю про конкретную технику.  Мне не ясно как у них получаются VB и IB неизменными при реализации на GPU. Как тогда рисуется террейн на стыках ? При перемещении камеры как бы перемещается место склейки уровней детализации и соответственно, как минимум, должен измениться индексный буфер, чтобы правильно нарисовать и "склеить" примитивы разных уровней детализации на VB, который - константа. Т.е. как минимум IB - индексный буфер должен обновляться каждый кадр при перемещении камеры.  Или я что-то не понимаю ?

0xc0de,
16 индексных буферов - это как вариант. Но, как вы "склеиваете" их в один буфер на стыках детализации ?

#9
22:35, 18 дек. 2017

Ivashka,

Каким образом связываются стыки на границе детализации ?

#10
22:56, 18 дек. 2017
вам хардварную тесселяцию завезли а вы хернёй какой-то маетесь, извините...
#11
23:34, 18 дек. 2017

Misanthrope,
Да, вот осталось понять как этим пользоваться.

#12
23:45, 18 дек. 2017

bykabak
> Да, вот осталось понять как этим пользоваться.
ну тут есть пример земли луны с тесcелляцией.
https://developer.nvidia.com/dx11-samples

#13
0:03, 19 дек. 2017

Ivashka ,  У них, типо, нарисовано всё и расписано, но нигде ни слова про Hull Shader, например.  т.е.  по сути типа всё - и ничего толком. ;)

Misanthrope, Джек Аллигатор
Благодарю за ссылки.

#14
4:17, 19 дек. 2017

Ненужны там никакие hullshader и т.д. Нужен фетчинг текстуры в вершинном шейдере для чтения высоты,  один константный вершинный буфер, и несколько константных индексных которые связывают разные уровни детализации (LOD).
несколько индексных можно залить в один и рендерить со смещением.  Они предлагают схему на рисунке 2-5 чтобы сшивать разные LOD, мне не кажется такой поход оптимальным.

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.