/// <summary> /// Used to override Detach /// </summary> protected override void OnDetach() { batchingBuffer = null; materialVariable = null; if (RenderCore is IMaterialRenderParams core) { core.MaterialVariables = null; } base.OnDetach(); }
/// <summary> /// This function initialize the Geometry Buffer and Instance Buffer /// </summary> /// <param name="host"></param> /// <returns> /// Return true if attached /// </returns> protected override bool OnAttach(IRenderHost host) { if (base.OnAttach(host)) { batchingBuffer = Collect(new DefaultStaticMeshBatchingBuffer()); batchingBuffer.Geometries = Geometries; batchingBuffer.Materials = materials; if (RenderCore is IGeometryRenderCore r) { r.GeometryBuffer = batchingBuffer; } AttachMaterial(); return(true); } else { return(false); } }
protected override bool OnAttach(IEffectsManager effectsManager) { if (base.OnAttach(effectsManager)) { batchingBuffer = new DefaultStaticMeshBatchingBuffer(); batchingBuffer.Geometries = Geometries; batchingBuffer.Materials = materials; if (RenderCore is IGeometryRenderCore r) { r.GeometryBuffer = batchingBuffer; } AttachMaterial(); return(true); } else { return(false); } }
/// <summary> /// Used to override Detach /// </summary> protected override void OnDetach() { batchingBuffer = null; base.OnDetach(); }