A Vertex Buffer Object (VBO) is an OpenGL feature that provides methods for uploading data to the video device for non-immediate-mode rendering.

learn more… | top users | synonyms

13
votes
3answers
6k views

Why does OpenGL >= 3 only allow VBOs?

I see that OpenGL versions 3 and up eliminate the use of client-side rendering. Immediate mode has been eliminated, and vertex arrays seem to be deprecated. Instead, if I understand correctly, VBOs ...
11
votes
2answers
3k views

What OpenGL version(s) to learn and/or use?

So, I'm new to OpenGL... I have general knowledge of game programming but little practical experience. I've been looking into various articles and books and trying to dive into OpenGL, but I've ...
10
votes
2answers
5k views

OpenGL: VBO or glBegin() + glEnd()?

I recently was given this link to a tutorial site from someone who I gave the original OGL Redbook to. The third header down says distinctly to forget glBegin() & glEnd() as the typical render ...
9
votes
1answer
2k views

Should I give each character its own VBO or should I batch them into a single VBO?

I'm making a 3D first person game. Should I give each character its own VBO or should I batch all characters into a single VBO? What are the pros/cons?
9
votes
1answer
4k views

How to use multi-thread OpenGL application to update VBO and use it at the same time?

I have simple application. It has two threads. Each thread has it's own rendering context, but they share one VBO (this is working, I tested it). Now what I want: One thread is rendering some data ...
7
votes
1answer
3k views

Interleaving Arrays in OpenGL

In my pursuit to write code that matches todays OpenGL standards I have found that I am completely clueless about interleaving arrays. I've tried and debugged just about everywhere I can think of but ...
6
votes
1answer
779 views

How would one draw many objects using the same VBO

I'm kind of stuck with this question for some time now, maybe because I don't know exactly what to search for, it might be a term I have not heard of yet as most tutorials ends after drawing one ...
6
votes
1answer
452 views

Why do mesh classes still contain vertex arrays if VBO's exist?

I find I'm a bit confused about the practical use of resource management in combination with memory not tied to the CPU. Correct resource management is often recommended in game tutorials, books and ...
6
votes
1answer
1k views

How is animation handled in non-immediate OpenGL?

I'm a newbie to modern OpenGL. I'm comfortable with the immediate OpenGL methodology, but I've never done any serious use of VBOs. My question is about animation. In immediate mode, to achieve ...
6
votes
1answer
255 views

How to debug framerate drops with VBOs, OpenGL

I'm working on an experimental app to test how VBOs perform when rendering a minecraft-like world. If the performance is better than what I use now I'll update my actual game. Based on what everyone ...
5
votes
2answers
3k views

OpenGL: Is it possible to use VAO's without specifying a VBO

On all the tutorials I can find about VAO's (Vertex Array Objects), they show on how to use them by configuring vertex attributes and binding a VBO (Vertex Buffer Object). But I want to create a VAO ...
5
votes
2answers
819 views

How can I make the switch from immediate mode to VBOs?

I've been using OpenGL for a short time now- and I'd like some clarification on VBOs. As I understand it, a VBO is an object stored on VRAM. In immediate mode, to apply a texture we simply bind it and ...
5
votes
1answer
923 views

VBO and gl*Pointer management practises?

I'm aware it's not a simple yes/no question and for the moment I can't tell if it can be simply answered, or is it topic for a long discussion which is not suitable for our Q&A format. I want to ...
5
votes
2answers
381 views

Are display lists faster than VBOs?

I'm making a voxel rendering engine. My "chunks" are 32 * 32 * 256 blocks and I can render a 16 * 16 square of them (which corresponds to Minecraft's maximal render distance). I'm using VBOs holding ...
4
votes
2answers
265 views

How does a general Renderer::drawRect(0, 0, 100, 100) handle VBO's?

Lots of game engines and GUI systems have a general Renderer class with functions like: renderer.drawRect(0, 0, 100, 100); renderer.drawText(204, 452, "Hello, world!"); I understand how this could ...
4
votes
2answers
1k views

Manage VBO/VAO in a graphic engine

I'm trying to make a 2D Graphic engine for training me. I've actually made it with immediate draw and I've made the renderer outside (so I can switch between OpenGL and DirectX). How can I manage ...
4
votes
3answers
795 views

Error when trying to use VBO “array vertex_buffer_object must be disabled to call this method”

EDIT I have effectivley re-wrote this question in order to greatly imrpove its quality - see revision logs if you must I have narrowed down my problem to the initialisation phase of my program, when ...
3
votes
2answers
331 views

2D games and modern OpenGL

Preconcepts Ok, so what I've gathered so far is this: don't use fixed pipeline (deprecated or going to be deprecated) vbos store "object models" (n vertex data, mostly) vaos describe how data is ...
3
votes
2answers
247 views

How can I improve the performance of this rendering code?

I've created a practice application for rendering triangles/squares/cubes using VBOs. This is mainly so I can get it right before upgrading a 3D block world game I've written that currently is using ...
3
votes
1answer
340 views

OpenGL - Drawing multiple meshes at once using VBOs and IBOs

I have been learning OpenGL 2.1 but using shaders, VBOs, IBOs, etc. I have gotten a rendering engine that can load and draw meshes, materials, forward lighting (no shadows yet), SceneNodes, and ...
3
votes
1answer
223 views

When do I use VBO?

My drawing code currently draws by calling glVertex3f(x, y, z) for each of my object's vertexes, and I've been suggested to use VBO as it'd enhance the performance of my drawing code. After checking ...
3
votes
1answer
1k views

Proper way to maintain Vertex Buffer Objects

I've started learning WebGL, currently I'm building a 2D lighting system, but there is some confusion going on inside my head. How the lighting works is based on this tutorial ...
2
votes
2answers
2k views

VBO with texture index buffer different than vertex index buffer

I am trying to write my own OBJ importer and renderer in OpenGL (yes, I know, reinventing the wheel) and I found a problem that I don't knwo how to handle. In an OBJ file faces are defined by a list ...
2
votes
2answers
136 views

OpenGL - How to draw each nth triangle using glVertexAttribPointer

I have a vertex buffer. There are situations when I don't want to render the whole mesh, but let's say each nth triangle of the mesh. I am using VAOs and VBOs. My data in the buffer is like this: ...
2
votes
2answers
530 views

Can I optimize my voxel meshing regardless of different textured blocks?

At the moment, I mesh every voxel in my terrain data to a block with 4 vertices for each face. This makes assigning texture coordinates of my texture atlas very easy, since I can just pick the desired ...
2
votes
1answer
2k views

OpenGL VBO - load a normals index

Okay I have the following code that works correctly. It loads a vertex array, a normal array and a vertex index array then draws them with some simple light shading. To load the buffers: //Load ...
2
votes
2answers
682 views

OpenGL - drawElements 2D imposible z-sorting (textured)

I am creating a 2D program in OpenGL 3.2 Now to render what I do is have a VBO for each texture and add the elements of the objects that use that texture to this vbo. Now as you know the order you ...
2
votes
1answer
812 views

How to modify VBO data

I am learning LWJGL so i can start working on my game. In order to learn LWJGL I got the idea to implement the map builder so I can get comfortable with graphics programming. Now, for the map ...
2
votes
1answer
266 views

VBO and shaders confusion, what's their connection?

Considering OpenGL 2.1 VBOs and 1.20 GLSL shaders: When creating an entity like "Zombie", is it good to initialize just the VBO buffer with the data once and do N glDrawArrays() calls per each N ...
2
votes
2answers
625 views

VBO triangle not rendered using Freeglut Opengl 3.x, not understanding the weird fixes

I've just started to learn OpenGL 3 and I'm using freeglut for the context. I ask for a 3.3 context using: glutInitContextVersion(3,3); glutInitContextFlags(GLUT_FORWARD_COMPATIBLE | GLUT_DEBUG); I ...
2
votes
1answer
147 views

Add vertices to “middle” of VBO

I've been playing around with VBOs as of late (mostly because my game necessitates it), and I've found the need to add new vertices to a VBO, but not necessarily at the end. The game in question is a ...
2
votes
2answers
514 views

How to convert a Maya object to a VBO?

I'm currently trying to teach myself OpenGL... and quickly discovering that the Immediate Mode taught in old OpenGL tutorials is basically obsolete... which leads me to VBO's... which I kind of get ...
2
votes
0answers
237 views

VBO = glGenBuffers() IllegalStateException [closed]

i'm kinda noob in OpenGL but I have this problem: I get an IllegalStateException at this code: int vboVertex = glGenBuffers(); In-detail exception: Exception in thread "main" ...
2
votes
0answers
599 views

Geometry Shader and Stream Output with Directx11

I am having trouble trying to send verticies generated in the Geometry Shader to Stream Output. What I am trying to accomplish is to generate verticies from the Geometry Shader and store them to a ...
2
votes
0answers
422 views

FPS Drop after upgrading to XCode 4.3 [closed]

I'm hoping someone else has experienced this and subsequently found a solution as I am about to light my own hair on fire in frustration. Simply put, I was creating a Cocos2D app using XCode 3.2.6 ...
2
votes
1answer
803 views

Need some help implementing VBO's with Frustum Culling

i'm currently developing my first 3D game for a school project, the game world is completely inspired by minecraft (world completely made out of cubes). I'm currently seeking to improve the ...
1
vote
4answers
288 views

Are VBOs only for OpenGL 3.x?

Are VBOs only for OpenGL 3.x? I'm using immediate mode and I know it's bad, slow, and deprecated. But then I looked at display lists but they are deprecated too. I guess the VBO is the only one left ...
1
vote
2answers
261 views

LWJGL - If I use VBOs what can I do about separate textures?

So basically this is my problem: I am creating a game that needs a texture for each object. Now I would use a sprite sheet but the textures are different sizes. I am using VBOs and I need to some how ...
1
vote
1answer
1k views

Why doesn't my texture display with this GLSL shader?

I am trying to display a DXT1 compressed texture on a quad using a VBO and shaders, but I have been unable to get it working. All I get is a black square. I know my texture is uploaded properly ...
1
vote
2answers
521 views

Chessboard colors with VBO

I am trying to draw a chessboard pattern using VBO. Geometrywise, I have it implemented and working nicely. However, I have come to the point where I want to color up the board and I have realized ...
1
vote
1answer
159 views

What should I do when a VBO becomes too large in OpenGL?

Currently I have one buffer for my vertex data and one buffer for normals data. I fill them and then pass them to OpenGL for rendering. The problem is when I load too large mesh file like "Lucy" from ...
1
vote
2answers
482 views

How can I create a VBO when I don't yet know how many vertices it will contain?

I'm trying to convert my 3D block work rendering from immediate mode and display lists to VBOs. I'm having trouble understanding how to properly handle creating the buffers: I really don't know how ...
1
vote
1answer
83 views

IBO interfering with VBO data?

I have a vertex and color VBO that render a plane (2 triangles) just fine. However, when I attempt to use an IBO to render the plane, the vertices are completely off. My nice square looks all crumpled ...
1
vote
1answer
236 views

How should I setup my minecraft-like world rendering for the best performance?

I want to know what technique will give me most fps in game. I have minecraft-like world and I need to display it. Now I have only one cube, created as VBO and if i need to display cube I just display ...
1
vote
1answer
88 views

For Vertex Buffer Steaming, Multiple glBufferSubData VS Orphaning?

I was learning OpenGL recently. In games, we need to update the position of game objects frequently, and they will come in & out of screen constantly. So it means in rendering we need to update ...
1
vote
2answers
1k views

Drawing multiple objects from one Vertex Buffer Object in OpenGL/OpenTK

I am trying to experimenting drawing method using VBO in OpenGL. Many people normally use 1 vbo to store one object data array. I was trying to do something quite opposite which is storing multiple ...
1
vote
2answers
1k views

Changing the sprite position: Modify VBO data or translate it?

I am beginning with VBO and I want to know if it's better use GL_STATIC_DRAW to make a quad and them translate it, or use DYNAMIC_DRAW and modify the vertex position data directly. Also when I modify ...
1
vote
1answer
632 views

Octrees and Vertex Buffer Objects

As many others I want to code a game with a voxel based terrain. The data is represented by voxels which are rendered using triangles. I head of two different approaches and want to combine them. ...
1
vote
1answer
79 views

Tons of textures using vbo

I recently learned how to create shaders and was looking to make a simple top down game, starting with a tilemap. The problem I encountered, Whilke I can store a vbo of all the blocks in a "chunk" of ...
1
vote
1answer
61 views

I don't understand why one of my vbo is overwritten by another

to create a vbo I use this function: public void loadVBO(){ vboID = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vboID); ...