protected Composition(Context context, Texture texture, Depth depth, FrameBuffer frameBuffer) : base(context) { this.Size = texture.Size; this.Type = texture.Type; this.Texture = texture; this.Depth = depth; this.FrameBuffer = frameBuffer; this.Create(); this.Texture.Composition = this; this.Renderer = this.CreateRenderer(this.Context, () => this.Size, () => this.Type); }
protected Renderer(Context context, Func<Geometry2D.Integer.Size> getSize, Func<TextureType> getType) { this.Context = context; this.getSize = getSize; this.getType = getType; }
protected Program(Context context) : base(context) { this.Identifier = GL.CreateProgram(); }
protected Control(Context context) : base() { this.Context = context; }
protected FrameBuffer(Context context) : base(context) { this.Identifier = this.CreateIdentifier(); }
protected Window(Context context) : this() { this.Context = context; }
protected Shader(Context context, ShaderType type) : base(context) { this.Identifier = this.Create(this.type = type); }
protected Depth(Context context) : base(context) { this.Identifier = this.CreateIdentifier(); }
protected abstract Renderer CreateRenderer(Context context, Func<Geometry2D.Integer.Size> getSize, Func<TextureType> getType);
protected internal virtual void Delete() { this.Context = null; }
protected Resource(Context context) { this.Context = context; }
protected Texture(Context context) : base(context) { this.Identifier = this.CreateIdentifier(); }