Axiom.RenderSystems.OpenGLES.GLESHardwareIndexBuffer.UpdateFromShadow C# (CSharp) Method

UpdateFromShadow() protected method

protected UpdateFromShadow ( ) : void
return void
		protected override void UpdateFromShadow()
		{
			if ( useShadowBuffer && shadowUpdated && !suppressHardwareUpdate )
			{
				IntPtr srcData = shadowBuffer.Lock( lockStart, lockSize, BufferLocking.ReadOnly );
				OpenGL.BindBuffer( All.ElementArrayBuffer, _bufferId );
				GLESConfig.GlCheckError( this );

				// Update whole buffer if possible, otherwise normal
				if ( lockStart == 0 && lockSize == sizeInBytes )
				{
					OpenGL.BufferData( All.ElementArrayBuffer, new IntPtr( sizeInBytes ), srcData, GLESHardwareBufferManager.GetGLUsage( usage ) );
					GLESConfig.GlCheckError( this );
				}
				else
				{
					OpenGL.BufferSubData( All.ElementArrayBuffer, new IntPtr( lockStart ), new IntPtr( lockSize ), srcData );
					GLESConfig.GlCheckError( this );
				}
				shadowBuffer.Unlock();
				shadowUpdated = false;
			}
		}