瀏覽代碼

Merge pull request #1519 from Azaezel/alpha41/openglCleanups

misc opengl cleanups
Brian Roberts 2 月之前
父節點
當前提交
214b72ca7d
共有 1 個文件被更改,包括 8 次插入11 次删除
  1. 8 11
      Engine/source/gfx/gl/gfxGLDevice.cpp

+ 8 - 11
Engine/source/gfx/gl/gfxGLDevice.cpp

@@ -451,20 +451,15 @@ GFXPrimitiveBuffer *GFXGLDevice::allocPrimitiveBuffer( U32 numIndices, U32 numPr
 
 void GFXGLDevice::setVertexStream( U32 stream, GFXVertexBuffer *buffer )
 {
-   AssertFatal(stream <= 1, "GFXGLDevice::setVertexStream only support 2 stream (0: data, 1: instancing)");
-
-   //if(mCurrentVB[stream] != buffer)
+   // Reset the state the old VB required, then set the state the new VB requires.
+   if (mCurrentVB[stream])
    {
-      // Reset the state the old VB required, then set the state the new VB requires.
-      if( mCurrentVB[stream] )
-      {
-         mCurrentVB[stream]->finish();
-      }
+      mCurrentVB[stream]->finish();
+   }
 
-      mCurrentVB[stream] = static_cast<GFXGLVertexBuffer*>( buffer );
+   mCurrentVB[stream] = static_cast<GFXGLVertexBuffer*>(buffer);
 
-      mNeedUpdateVertexAttrib = true;
-   }
+   mNeedUpdateVertexAttrib = true;
 }
 
 void GFXGLDevice::setVertexStreamFrequency( U32 stream, U32 frequency )
@@ -511,6 +506,8 @@ void GFXGLDevice::endSceneInternal()
 {
    // nothing to do for opengl
    mCanCurrentlyRender = false;
+   mVolatileVBs.clear();
+   mVolatilePBs.clear();
 }
 
 void GFXGLDevice::copyResource(GFXTextureObject* pDst, GFXCubemap* pSrc, const U32 face)