protected override void OnStartBatch() { base.OnStartBatch(); if ( Camera != null ) GL.Uniform1( myFogDensityLoc, 2.0f / Camera.ViewDistance ); GL.Enable( EnableCap.DepthTest ); GL.Enable( EnableCap.Blend ); GL.Enable( EnableCap.PrimitiveRestart ); GL.CullFace( CullFaceMode.Back ); GL.BlendFunc( BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha ); GL.PrimitiveRestartIndex( 0xffff ); myCurrentModel = null; }
public void Render( Model model ) { if ( model != myCurrentModel ) { if ( myCurrentModel != null ) myCurrentModel.VertexBuffer.EndBatch( this ); lock( model ) if ( model.VertexBuffer == null ) model.SetupVertexBuffer(); model.VertexBuffer.StartBatch( this ); myCurrentModel = model; } model.Render( this ); }