Ограничение размера текстуры или UBO, нужна помощь в поиске другого решения - PullRequest
0 голосов
/ 12 июля 2019

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

Для этого я передаю высоту каждой вершины с помощью текстуры, но у меня огромный предел, я не могу пропустить более 16384 с плавающей точкой в ​​текстуре. Поэтому я подумал, что могу использовать UBO, но оно ограничено таким же образом, так что мне делать? Есть ли другой способ отправить плавающее число в каждую вершину каждого экземпляра? Или мне придется использовать другие методы рендеринга?

Если мне нужно изменить метод рендеринга, какая замена будет наилучшей, чтобы сохранить максимально возможную производительность?

1 Ответ

1 голос
/ 12 июля 2019

Буферы хранения шейдеров очень похожи на UBO, но без ограничений по размеру. В качестве альтернативы вы можете посмотреть на использование трехмерного индексирования для текстур (то есть использовать двухмерные текстурные массивы) или просто разбить рендеринг на несколько кусков, которые соответствуют текущим максимумам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...