OSDN Git Service

* More checkFrameBufferError() only when setting an FBO, and not when setting main FB
authorshadowislord <shadowislord@75d07b2b-3a1a-0410-a2c5-0572b91ccdca>
Sun, 4 Sep 2011 23:22:38 +0000 (23:22 +0000)
committershadowislord <shadowislord@75d07b2b-3a1a-0410-a2c5-0572b91ccdca>
Sun, 4 Sep 2011 23:22:38 +0000 (23:22 +0000)
git-svn-id: http://jmonkeyengine.googlecode.com/svn/trunk@8184 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

engine/src/lwjgl-ogl/com/jme3/renderer/lwjgl/LwjglRenderer.java

index 594352d..983e34b 100644 (file)
@@ -1462,7 +1462,6 @@ public class LwjglRenderer implements Renderer {
             }\r
         }\r
 \r
-\r
         if (fb == null) {\r
             // unbind any fbos\r
             if (context.boundFBO != 0) {\r
@@ -1540,13 +1539,13 @@ public class LwjglRenderer implements Renderer {
             assert fb.getId() >= 0;\r
             assert context.boundFBO == fb.getId();\r
             lastFb = fb;\r
-        }\r
-\r
-        try {\r
-            checkFrameBufferError();\r
-        } catch (IllegalStateException ex) {\r
-            logger.log(Level.SEVERE, "Problem FBO:\n{0}", fb);\r
-            throw ex;\r
+            \r
+            try {\r
+                checkFrameBufferError();\r
+            } catch (IllegalStateException ex) {\r
+                logger.log(Level.SEVERE, "Problem FBO:\n{0}", fb);\r
+                throw ex;\r
+            }\r
         }\r
     }\r
 \r
@@ -1947,6 +1946,8 @@ public class LwjglRenderer implements Renderer {
             vb.setId(bufId);\r
             objManager.registerForCleanup(vb);\r
 \r
+            //statistics.onNewVertexBuffer();\r
+            \r
             created = true;\r
         }\r
 \r
@@ -1957,12 +1958,18 @@ public class LwjglRenderer implements Renderer {
             if (context.boundElementArrayVBO != bufId) {\r
                 glBindBuffer(target, bufId);\r
                 context.boundElementArrayVBO = bufId;\r
+                //statistics.onVertexBufferUse(vb, true);\r
+            }else{\r
+                //statistics.onVertexBufferUse(vb, false);\r
             }\r
         } else {\r
             target = GL_ARRAY_BUFFER;\r
             if (context.boundArrayVBO != bufId) {\r
                 glBindBuffer(target, bufId);\r
                 context.boundArrayVBO = bufId;\r
+                //statistics.onVertexBufferUse(vb, true);\r
+            }else{\r
+                //statistics.onVertexBufferUse(vb, false);\r
             }\r
         }\r
 \r
@@ -2070,6 +2077,8 @@ public class LwjglRenderer implements Renderer {
             intBuf1.position(0).limit(1);\r
             glDeleteBuffers(intBuf1);\r
             vb.resetObject();\r
+            \r
+            //statistics.onDeleteVertexBuffer();\r
         }\r
     }\r
 \r
@@ -2127,6 +2136,9 @@ public class LwjglRenderer implements Renderer {
                 if (context.boundArrayVBO != bufId) {\r
                     glBindBuffer(GL_ARRAY_BUFFER, bufId);\r
                     context.boundArrayVBO = bufId;\r
+                    //statistics.onVertexBufferUse(vb, true);\r
+                }else{\r
+                    //statistics.onVertexBufferUse(vb, false);\r
                 }\r
 \r
                 glVertexAttribPointer(loc,\r
@@ -2171,6 +2183,9 @@ public class LwjglRenderer implements Renderer {
         if (context.boundElementArrayVBO != bufId) {\r
             glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, bufId);\r
             context.boundElementArrayVBO = bufId;\r
+            //statistics.onVertexBufferUse(indexBuf, true);\r
+        }else{\r
+            //statistics.onVertexBufferUse(indexBuf, true);\r
         }\r
 \r
         int vertCount = mesh.getVertexCount();\r