Table of Contents

Class ShaderWindow

Namespace
Bonsai.Shaders
Assembly
Bonsai.Shaders.dll

Creates and renders a window using the specified resources and a programmable shader pipeline.

public class ShaderWindow : GameWindow, IGameWindow, INativeWindow, IDisposable
Inheritance
NativeWindow
GameWindow
ShaderWindow
Implements
IGameWindow
INativeWindow
Inherited Members
GameWindow.Dispose()
GameWindow.Exit()
GameWindow.MakeCurrent()
GameWindow.Run()
GameWindow.SwapBuffers()
GameWindow.Context
GameWindow.IsExiting
GameWindow.RenderFrequency
GameWindow.RenderPeriod
GameWindow.RenderTime
GameWindow.TargetRenderFrequency
GameWindow.TargetRenderPeriod
GameWindow.TargetUpdateFrequency
GameWindow.TargetUpdatePeriod
GameWindow.UpdateFrequency
GameWindow.UpdatePeriod
GameWindow.UpdateTime
GameWindow.VSync
GameWindow.WindowState
GameWindow.Load
GameWindow.RenderFrame
GameWindow.Unload
GameWindow.UpdateFrame
GameWindow.OnUpdateThreadStarted
NativeWindow.Close()
NativeWindow.ProcessEvents()
NativeWindow.EnsureUndisposed()
NativeWindow.OnKeyPress(KeyPressEventArgs)
NativeWindow.OnKeyUp(KeyboardKeyEventArgs)
NativeWindow.OnMouseDown(MouseButtonEventArgs)
NativeWindow.OnMouseUp(MouseButtonEventArgs)
NativeWindow.OnMouseMove(MouseMoveEventArgs)
NativeWindow.OnMouseWheel(MouseWheelEventArgs)
NativeWindow.OnFileDrop(FileDropEventArgs)
NativeWindow.Bounds
NativeWindow.ClientRectangle
NativeWindow.Cursor
NativeWindow.Exists
NativeWindow.Focused
NativeWindow.Icon
NativeWindow.Location
NativeWindow.Size
NativeWindow.Title
NativeWindow.Visible
NativeWindow.WindowBorder
NativeWindow.WindowInfo
NativeWindow.X
NativeWindow.Y
NativeWindow.CursorVisible
NativeWindow.CursorGrabbed
NativeWindow.IsDisposed
NativeWindow.Closed
NativeWindow.Closing
NativeWindow.Disposed
NativeWindow.FocusedChanged
NativeWindow.IconChanged
NativeWindow.KeyDown
NativeWindow.KeyPress
NativeWindow.KeyUp
NativeWindow.Move
NativeWindow.MouseEnter
NativeWindow.MouseLeave
NativeWindow.Resize
NativeWindow.TitleChanged
NativeWindow.VisibleChanged
NativeWindow.WindowBorderChanged
NativeWindow.WindowStateChanged
NativeWindow.MouseDown
NativeWindow.MouseUp
NativeWindow.MouseMove
NativeWindow.MouseWheel
NativeWindow.FileDrop

Constructors

ShaderWindow(ShaderWindowSettings)

Initializes a new instance of the ShaderWindow class using the specified window configuration settings.

Properties

ClearColor

Gets or sets the color used to clear the framebuffer before rendering.

ClientSize

Gets or sets the size of the OpenGL surface in window coordinates. The coordinates are specified in device-dependent pixels.

Height

Gets or sets the height of the OpenGL surface in window coordinates. The coordinates are specified in device-dependent pixels.

ResourceManager

Gets the resource manager used to load and release sets of render resources to the shader window.

Scissor

Gets or sets the active scissor box, in normalized coordinates. Any fragments falling outside the scissor box will be discarded.

Shaders

Gets the collection of shaders specifying the active render pipeline.

Viewport

Gets or sets the active viewport for rendering, in normalized coordinates.

Width

Gets or sets the width of the OpenGL surface in window coordinates. The coordinates are specified in device-dependent pixels.

Methods

OnClosed(EventArgs)

Called when the NativeWindow has closed.

OnKeyDown(KeyboardKeyEventArgs)

Occurs whenever a keyboard key is pressed.

OnLoad(EventArgs)

Called after an OpenGL context has been established, but before entering the main loop.

OnRenderFrame(FrameEventArgs)

Called when the frame is rendered.

OnResize(EventArgs)

Called when this window is resized.

OnUnload(EventArgs)

Called after GameWindow.Exit was called, but before destroying the OpenGL context.

OnUpdateFrame(FrameEventArgs)

Called when the frame is updated.

Update(Action)

Queues a render command or state update.