Из того, что я прочитал, кажется, что VBO предназначены исключительно для производительности.
Я работаю над очень элементарным учебным проектом в lwjgl, и я просто пытаюсь выяснить, в какие более продвинутые функции библиотеки мне следует вникнуть, и для чего они используются.
Насколько я понимаю, VBO позволяют человеку сохранять вершины в VRAM, пока они не рисуются в сцене. В моем случае я просто рисую четырехугольники, и производительность, вероятно, совсем не беспокоит, но я пытаюсь собрать воедино то, что происходит под капотом. Если я рисую напрямую, я рисую из памяти процессора, правильно? Кроме того, если я не проверяю видимость, значит ли это, что я отображаю абсолютно все в «сцене», независимо от того, находится ли она в поле зрения? Являются ли VBO способом хранить объекты и отображать только то, что нужно?
Буферы массива OpenGL (= то, что мы называем VBO) служат одной единственной цели: хранить ваши геометрические данные в памяти GPU, а не в клиентской памяти, так что вам не нужно будет пересылать их каждый кадр.
Так просто :-)
источник