Какие понятия и различия между фреймбуфер и Renderbuffer в OpenGL?



Я запутался в концепции фреймбуфера и рендербуфера. Я знаю, что они должны отображаться, но я хочу понять их перед использованием.

Я знаю, что для хранения временного результата рисования требуется буфер растрового изображения. Задний буфер. И другой буфер должен быть виден на экране, когда эти чертежи находятся в процессе. Передний буфер. И переверните их, и нарисуйте снова. Я знаю эту концепцию, но трудно связать эти объекты с этим концепция.

Что такое понятие и отличия от них?

136   2  

2 ответов:

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

конечное назначение рендеринга конвейера OpenGL называется [the]фреймбуфер.

при этом:

Объект Renderbuffer
Кроме того, объект renderbuffer вновь вводится для закадрового рендеринга. Это позволяет визуализировать сцену непосредственно в объект renderbuffer, вместо рендеринга в объект текстуры. Renderbuffer-это просто объект хранения данных, содержащий одно изображение внутреннего формата для визуализации. Он используется для хранения логических буферов OpenGL, которые не имеют соответствующего формата текстуры, например трафарета или буфера глубины.

The фреймбуфер объект на самом деле не буфер, а объект агрегатора, который содержит одно или несколько вложений, которые, в свою очередь, являются фактическими буферами. Вы можете понять фреймбуфер как структура, где каждый элемент является указателем на буфер. Без всякой привязанности, a фреймбуфер объект имеет очень низкий след ноги.

теперь каждый буфер прикреплен к фреймбуфер может быть Renderbuffer или a текстуры.

The Renderbuffer - это фактический буфер (массив байтов, целых чисел или пикселей). Элемент Renderbuffer сохраняет значения пикселей в собственном формате, поэтому он оптимизирован для закадрового рендеринга. Другими словами, рисование до Renderbuffer может быть намного быстрее, чем рисование текстуры. Недостатком является то, что pixels использует собственный, зависящий от реализации формат, так что чтение из Renderbuffer намного сложнее, чем читать по текстуре. Тем не менее, один раз Renderbuffer был окрашен, можно скопировать его содержимое непосредственно на экран (или на другой Renderbuffer, Я думаю), очень быстро, используя операции передачи пикселей. Это означает, что Renderbuffer может использоваться для эффективной реализации шаблона двойного буфера, который вы упомянули.

Renderbuffers это относительно новая концепция. Перед ними,фреймбуфер был использован для визуализации в текстуры, который может быть медленнее, потому что текстуры использует стандартный формат. По-прежнему можно визуализировать текстуру, и это очень полезно, когда нужно выполнить несколько проходов над каждым пикселем, чтобы построить сцену или нарисовать сцену на поверхности другой сцены!

в Вики OpenGL есть на этой странице что показывает более подробную информацию и ссылки.

    Ничего не найдено.

Добавить ответ:
Отменить.