protected void Dispose(bool disposing) { if (!disposing || partID == -1) { return; } GLWrapper.DeleteShader(this); Compiled = false; partID = -1; }