LWJGL Forum

Programming => OpenGL => Topic started by: Mickelukas on June 01, 2009, 10:29:11

Title: [SOLVED] Removing VBOs causes Display.update() to throw Out of memory (1285)
Post by: Mickelukas on June 01, 2009, 10:29:11
Since the move to LWJGL I get memory exceptions sometimes which crashes the whole application. I've been reading around a bit on the web and found that it can be because of several reasons. Three I found was:
Textures not at a power of two (I made sure mine were)
Not newest gfx driver (I have the newest I can use)
Not rewinding buffers before adding them to the VBO (Mine are rewinded)

When I just let the game stand still I don't run into the problem but once I start creating and removing VBOs it crashes.

I came to the conclusion that it doesn't occur if I don't run the following line but I kind of need to run that one...:
ARBBufferObject.glDeleteBuffersARB(Buffers);

I have three "containers" that generate, populate and delete VBOs. If I only delete VBO's in one of them it works but if I delete VBOs in two or three of them it causes the above error.

Any known issue with deleting buffers?
Title: Re: Removing VBOs causes Display.update() to throw Out of memory (1285)
Post by: Mickelukas on June 01, 2009, 12:31:49
Adding getGLError here and there made it clear that it happens after I call glDrawArrays.

I tried with glDrawElements as well but it gave the same error. I also changed a float array I still had since the JOGL time into a FloatBuffer but it didn't help

Any ideas?

[EDIT]Ah, if I call glBindBufferARB with an buffer id that doesn't exist I get the same error. Seeing as I'm not getting it when I don't delete the buffers I somewhere delete a buffer that I try to use in the display loop.

[EDIT2] I had also mixed ARBVertexBufferObject calls with ARBBufferObject calls. Making it all VBO solved the last issues.

I hope this helps anyone that runs into the same issue.