public override void Initialize() { CreateSelectionSate(GeometrySelectionMode.Object); _renderEngine = GetComponent <RenderEngineComponent>(); _lineGeometry = new LineMeshRender(Game.Content); VertexRenderer = new VertexInstanceMesh(GraphicsDevice, Game.Content); _wireframeEffect = new BasicShader(GraphicsDevice); _wireframeEffect.DiffuseColor = Vector3.Zero; _selectedFacesEffect = new BasicShader(GraphicsDevice); _selectedFacesEffect.DiffuseColor = new Vector3(1, 0, 0); _selectedFacesEffect.SpecularColor = new Vector3(1, 0, 0); _selectedFacesEffect.EnableDefaultLighting(); base.Initialize(); }
public void Dispose() { _wireframeEffect.Effect.Dispose(); _wireframeEffect = null; _selectedFacesEffect.Effect.Dispose(); _selectedFacesEffect = null; VertexRenderer.Dispose(); VertexRenderer = null; _lineGeometry.Dispose(); _lineGeometry = null; if (SelectionChanged != null) { foreach (var d in SelectionChanged.GetInvocationList()) { SelectionChanged -= (d as SelectionChangedDelegate); } } _currentState?.Clear(); _currentState = null; }