public Membrane() { MeshProgram = new GLSLProgram("Shaders/Membrane.vert", null, null, null, "Shaders/Membrane.frag"); PointProgram = new GLSLProgram("Shaders/Point.vert", null, null, "Shaders/Point.geom", "Shaders/Point.frag"); PointGizmoProgram = new GLSLProgram("Shaders/Point.vert", null, null, "Shaders/PointGizmo.geom", "Shaders/Point.frag"); PointModelProgram = new GLSLProgram("Shaders/PointModel.vert", null, null, null, "Shaders/PointModel.frag"); SelectionTexture = ImageTexture.FromMRC("Shaders/unicorn.mrc"); PointGroups.CollectionChanged += PointGroups_CollectionChanged; ActiveGroup = new PointGroup { Color = ColorHelper.SpectrumColor(0, 0.3f), Name = "Default Group", Size = 10 }; PointGroups.Add(ActiveGroup); Patches.CollectionChanged += Patches_CollectionChanged; }