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

[РЕШЕНО] Быстрая отрисовка растровой модели, OpenGL (2 стр)

Страницы: 1 2 3 Следующая »
#15
18:36, 13 мар 2023

innuendo
Подозреваю, что  халф на CPU плохо работать будет.

stratego
Смысл в том, чтоб готовый буфер высот (размером в 100М точек) кидать прямиком в GPU и разбирать там. Я не хочу его прореживать на проце. Проц занят.

Читаю про тесселяционный шейдер, возможно, с его помощью выйдет, если карту высот в текстуру закинуть.

#16
19:52, 13 мар 2023

fecaloid666
Набросал тут тебе примерчик с геометрическим шейдером, посмотри, можешь модифицировать под себя, добавить нормали или текстуру.
https://github.com/DangerousCriminalFuntik/fecaloid666

#17
22:06, 13 мар 2023

Funtik

Спасибище! Я не знал, что в геом. шейдере можно из текстуры читать. Предварительно - именно то, что нужно.

#18
8:53, 14 мар 2023

Лоды не предлагали?

#19
11:51, 14 мар 2023

Всё равно же 100м вершин вершинному шейдеру придётся обработать, а потом еще разгребать в геометрическом. Думаю тормозить это всё всё равно будет, тем более пересылать надо постоянно будет этот объём данных.

#20
11:56, 14 мар 2023

Зачем посылать постоянно ?
Нужно сразу послать так послать

#21
16:26, 14 мар 2023

innuendo

Попробую параметрически навыпускать нужное кол-во вершин из геом. шейдера.

#22
17:38, 14 мар 2023

fecaloid666
В твоём кейсе геом шейдер это самое последнее

#23
21:23, 18 мар 2023

Пытаюсь сделать отрисовку, отправляя одну точку:  glDrawArraysInstanced(GL_POINTS, 0, 1,(Raster->Width-1)*(Raster->Height-1));
Работает неплохо, ~10ФПС для 100М поликов без расчета нормалей и с пустым вершинным и фрагментным шейдерами.
Но появилась другая проблема: GS упорно не делает выборку из нормализованной float-текстуры.  Вначале пробовал GL_TEXTURE_RECTANGLE, не взлетело. Переделал для GL_TEXTURE_2D, тот же результат. В шейдере читается 0.0f В чем может быть проблема?

Init:

+ Показать

Render:

+ Показать

VS:

+ Показать

GS:

+ Показать

FS:

+ Показать
#24
21:29, 18 мар 2023

fecaloid666
Попробуй заменить текчя на текчялод

#25
21:54, 18 мар 2023

innuendo
Ничего не изменилось. Пробовал при значениях lod 0.0f и 1.0f. Не оч понятно, как должен работать lod на текстуре без mipmapping'a.

#26
21:59, 18 мар 2023

fecaloid666
Короче посмотри рендердоком

#27
23:24, 18 мар 2023

fecaloid666
> GS упорно не делает выборку из нормализованной float-текстуры.
Ты переломил мне мозг. Ты скажи, что ты сделать хоть пытаешься?

#28
23:39, 18 мар 2023

innuendo
API: OpenGL, unsupported
Поищу аналоги.

#29
23:41, 18 мар 2023

std::variant
Считать тексель и использовать это значение как высоту(Z)

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

Тема закрыта.