protected virtual void Dispose(bool disposing) { if (!disposedValue) { gl.DeleteShader(ShaderId); disposedValue = true; } }