Рендеринг BSP с VBO или шейдером?OpenGL - PullRequest
0 голосов
/ 05 февраля 2012

Можно ли рендерить файлы BSP из игр из шейдеров? Возможно ли иметь VBO в шейдере или его нужно визуализировать на стороне клиента?

Также имеет ли смысл для VBO создавать массив видимых граней из ваших текущих PVS и усеченного конуса, а затем рендерить их партиями, сопоставляя текстуры?

Ответы [ 2 ]

2 голосов
/ 05 февраля 2012

Шейдер не может напрямую провоцировать рендеринг. Это не может заставить OpenGL отображать некоторые данные. Шейдеры являются частью конвейера рендеринга, и этот конвейер идет в одну сторону; зацикливание запрещено.

В оборудовании на основе GL 4.x шейдер теоретически может записывать данные в определенном формате, который будет считываться с помощью одной из функций рендеринга "Косвенный". Но клиентский код, центральный процессор, все равно должен фактически выдать команду рисования.

Вероятно, лучше делать вещи видимости на вычислительном языке, таком как OpenCL. Шейдеры OpenGL способны на это, но они не очень хорошо разработаны, чтобы сделать это интуитивно понятным. OpenCL - это общая вычислительная система, и она предназначена для подобных вещей.

0 голосов
/ 05 февраля 2012

Возможно ли рендерить файлы BSP из игр из шейдеров?

С большим количеством PITA это возможно в системах класса OpenGL-4.Но почему?Как только вы начинаете думать в этом направлении, вы делаете что-то в корне неправильно.И держу пари, что такой рендерер BSP на основе чисто шейдеров на текущем графическом процессоре на самом деле превзошел 10-летний GeForce2 и хорошо написанный код на стороне клиента.шейдер = / = Высокая производительность

OpenGL никогда не был и никогда не будет автономным движком рендеринга.Он всегда был задуман как API-интерфейс растеризатора бэкенда для специально созданного средства визуализации.

...