Normal Maps w/ Flare Error and gamestates

Trying to put a normal mapped object into my gamestate scene with a LensFlare gives me this error:


Apr 19, 2010 12:57:14 AM com.jmex.game.DefaultUncaughtExceptionHandler uncaughtException
SEVERE: Main game loop broken by uncaught exception
org.lwjgl.opengl.OpenGLException: Cannot use Buffers when Array Buffer Object is enabled
   at org.lwjgl.opengl.GLChecks.ensureArrayVBOdisabled(GLChecks.java:96)
   at org.lwjgl.opengl.ARBVertexProgram.glVertexAttribPointerARB(ARBVertexProgram.java:174)
   at com.jme.scene.state.lwjgl.shader.LWJGLShaderUtil.updateShaderAttribute(LWJGLShaderUtil.java:238)
   at com.jme.scene.state.lwjgl.shader.LWJGLShaderUtil.updateShaderAttribute(LWJGLShaderUtil.java:222)
   at com.jme.scene.state.lwjgl.LWJGLShaderObjectsState.apply(LWJGLShaderObjectsState.java:340)
   at com.jme.renderer.lwjgl.LWJGLRenderer.applyStates(LWJGLRenderer.java:1723)
   at com.jme.renderer.lwjgl.LWJGLRenderer.draw(LWJGLRenderer.java:959)
   at com.jme.scene.TriMesh.draw(TriMesh.java:240)
   at com.jme.scene.Spatial.onDraw(Spatial.java:428)
   at com.jme.scene.Node.draw(Node.java:520)
   at com.jme.scene.Spatial.onDraw(Spatial.java:428)
   at com.jme.scene.Node.draw(Node.java:520)
   at com.jme.scene.Spatial.onDraw(Spatial.java:428)
   at com.jme.scene.Node.draw(Node.java:520)
   at com.jme.scene.Spatial.onDraw(Spatial.java:428)
   at com.jme.scene.Node.draw(Node.java:520)
   at com.jme.scene.Spatial.onDraw(Spatial.java:428)
   at com.jme.scene.Node.draw(Node.java:520)
   at com.jme.scene.Spatial.onDraw(Spatial.java:428)
   at com.jme.renderer.lwjgl.LWJGLRenderer.draw(LWJGLRenderer.java:1200)
   at com.jme.renderer.pass.RenderPass.doRender(RenderPass.java:52)
   at com.jme.renderer.pass.Pass.renderPass(Pass.java:92)
   at com.jme.renderer.pass.BasicPassManager.renderPasses(BasicPassManager.java:90)
   at Universe_Objects.Sun.Render(Sun.java:165)
   at Spacial_Object_Manager.Space_Manager.Render(Space_Manager.java:258)
   at Spacial_Object_Manager.SpatialObjectManager.Render(SpatialObjectManager.java:33)
   at Test.TestStuff.render(TestStuff.java:107)
   at com.jmex.game.state.GameStateNode.render(GameStateNode.java:83)
   at com.jmex.game.StandardGame.render(StandardGame.java:399)
   at com.jmex.game.StandardGame.run(StandardGame.java:251)
   at java.lang.Thread.run(Thread.java:619)

somewhere you set obj.setVBOInfo(new VBOInfo(true)) … dont do that.

Ah yes in the bottom of LensFlareFactory is sets some kind of VBO info.



What is VBO info?



I copied the LensflareFactory file and removed the VBO stuff and the flare still works, and so does the normal maps, so its fixed. thank you :slight_smile:

Eggsworth said:

What is VBO info?


You are telling the engine that it should user Vertex Buffer Objects to render the geometry. That basically means that most of the data needed for rendering can reside in the graphic cards memory instead of the system memory, thus the rendering process becomes faster. But it also has some ramifications, like your problem above and others.

http://en.wikipedia.org/wiki/Vertex_Buffer_Object