Class ShaderWindow
Creates and renders a window using the specified resources and a programmable shader pipeline.
public class ShaderWindow : GameWindow, IGameWindow, INativeWindow, IDisposable
- Inheritance
-
ShaderWindow
- Implements
- Inherited Members
-
GameWindow.MakeCurrent()GameWindow.Run()GameWindow.SwapBuffers()GameWindow.RenderFrequencyGameWindow.RenderPeriodGameWindow.RenderTimeGameWindow.TargetRenderFrequencyGameWindow.TargetRenderPeriodGameWindow.TargetUpdateFrequencyGameWindow.TargetUpdatePeriodGameWindow.UpdateFrequencyGameWindow.UpdatePeriodGameWindow.UpdateTimeGameWindow.VSyncGameWindow.WindowStateGameWindow.LoadGameWindow.RenderFrameGameWindow.UnloadGameWindow.UpdateFrameGameWindow.OnUpdateThreadStarted
Constructors
ShaderWindow(ShaderWindowSettings)
Initializes a new instance of the ShaderWindow class using the specified window configuration settings.
public ShaderWindow(ShaderWindowSettings configuration)
Parameters
configuration
ShaderWindowSettingsThe configuration settings used to initialize the shader window.
Properties
ClearColor
Gets or sets the color used to clear the framebuffer before rendering.
public Color ClearColor { get; set; }
Property Value
ClientSize
Gets or sets the size of the OpenGL surface in window coordinates. The coordinates are specified in device-dependent pixels.
public Size ClientSize { get; set; }
Property Value
Height
Gets or sets the height of the OpenGL surface in window coordinates. The coordinates are specified in device-dependent pixels.
public int Height { get; set; }
Property Value
ResourceManager
Gets the resource manager used to load and release sets of render resources to the shader window.
public ResourceManager ResourceManager { get; }
Property Value
Scissor
Gets or sets the active scissor box, in normalized coordinates. Any fragments falling outside the scissor box will be discarded.
public RectangleF Scissor { get; set; }
Property Value
Shaders
Gets the collection of shaders specifying the active render pipeline.
public IEnumerable<Shader> Shaders { get; }
Property Value
Viewport
Gets or sets the active viewport for rendering, in normalized coordinates.
public RectangleF Viewport { get; set; }
Property Value
Width
Gets or sets the width of the OpenGL surface in window coordinates. The coordinates are specified in device-dependent pixels.
public int Width { get; set; }
Property Value
Methods
OnClosed(EventArgs)
Called when the NativeWindow has closed.
protected override void OnClosed(EventArgs e)
Parameters
e
EventArgsNot used.
OnKeyDown(KeyboardKeyEventArgs)
Occurs whenever a keyboard key is pressed.
protected override void OnKeyDown(KeyboardKeyEventArgs e)
Parameters
OnLoad(EventArgs)
Called after an OpenGL context has been established, but before entering the main loop.
protected override void OnLoad(EventArgs e)
Parameters
e
EventArgsNot used.
OnRenderFrame(FrameEventArgs)
Called when the frame is rendered.
protected override void OnRenderFrame(FrameEventArgs e)
Parameters
e
FrameEventArgsContains information necessary for frame rendering.
Remarks
Subscribe to the OpenTK.GameWindow.RenderFrame event instead of overriding this method.
OnResize(EventArgs)
Called when this window is resized.
protected override void OnResize(EventArgs e)
Parameters
e
EventArgsNot used.
Remarks
You will typically wish to update your viewport whenever the window is resized. See the Viewport(int, int, int, int) method.
OnUnload(EventArgs)
Called after GameWindow.Exit was called, but before destroying the OpenGL context.
protected override void OnUnload(EventArgs e)
Parameters
e
EventArgsNot used.
OnUpdateFrame(FrameEventArgs)
Called when the frame is updated.
protected override void OnUpdateFrame(FrameEventArgs e)
Parameters
e
FrameEventArgsContains information necessary for frame updating.
Remarks
Subscribe to the OpenTK.GameWindow.UpdateFrame event instead of overriding this method.
Update(Action)
Queues a render command or state update.
public void Update(Action action)
Parameters
action
ActionThe action that will execute when the next frame is rendered.