Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 12 Oct 2011
Offline Last Active Oct 20 2015 11:43 AM

Posts I've Made

In Topic: What if I have more models per level than available VBO memory?

13 July 2013 - 09:49 AM

Replying to the original post. You will never fill up a graphics card with just Vertex data in a typical game.

It was always more of a hypothetical question. Questions like this which cover extreme situations help me understand what is going on behind the scenes. It's not just about optimization, it's about understanding how it works. If I can understand how it works, I'm less likely to use it wrong.

In Topic: What if I have more models per level than available VBO memory?

12 July 2013 - 07:25 PM

OpenGL never specifies where buffers are stored, this is to let drivers decide what's the best thing to do. The upside is that if hardware changes the drivers will adapt accordingly without the program having to do anything.

So, I could create a VBO for every model upon game load (assuming it totals less than system RAM size)?

The nature of my original concern was doubling the memory requirements of the game, since I'd otherwise be storing the model data outside the VBO as well as within one during rendering.

Ideally, I'd like to load the model data for all the objects within the player area, directly creating VBO's for those objects whether or not they are visible.


As said in the post above, you can give hints that tell the driver how you plan to use it and then the driver decides where to store it.

How does one go about giving hints to the driver? I'm feeling like that would be vital to good performance.

In Topic: What if I have more models per level than available VBO memory?

11 July 2013 - 11:40 PM

Now if you were to assign this vertex to a VBO then this model would be sent to the GPU RAM, if the GPU supports this.  Otherwise, if the GPU does not support VBO's then it will still go to system RAM.  These days it's safe to say that it will go to the GPU and as a consequence can be processed much faster.



Does this mean that if there is not enough VRAM, the vbo will be stored on ram instead? Or will it just throw a memory error and not store it?

In Topic: Ragnarok Sprite replication

10 July 2013 - 02:35 PM

Btw, if you are a student you can get 3D Studio Max for free in non-commercial license.


Or, check out Blender. It's free, and has everything you could possibly ever need. From motion tracking to GLSL shading preview, and a sculpt mode with dynamic tessellation.

(Oh, and the Student Autodesk license is nasty. You don't own what you create with it -> http://wiki.blender.org/index.php/User:Ton/Autodesk_EULA It's from 2012 but probably still relevant.)

In Topic: What if I have more models per level than available VBO memory?

06 July 2013 - 12:47 PM

VAOs are mainly for convenience, I am not sure if they actually improve performance, and if so it's probably by a little. They are used to store the current state of your context related to rendering (so vertex and element VBO bindings, shader attribute bindinds, etc.), so that when you want to draw something you need to only bind the VAO and it binds the context in it for you.


So, what if I have the same Shader and camera matrix for all objects, could I use a VAO to bind those two things, then manually bind each of my vbos after? It would make things much simpler. But wouldn't that then bind all those VBOs to the VAO state?