OpenTK Structure - jeske/opentk GitHub Wiki
The OpenTK solution provides the following public namespaces:
- OpenTK: contains classes to create windows (GameWindow, NativeWindow), perform 3d math, interact with the monitor (DisplayDevice, DisplayResolution) as well as query the platform configuration.
- OpenTK.Graphics: contains bindings for OpenGL and OpenGL|ES.
- OpenTK.Audio: contains bindings for OpenAL.
- OpenTK.Compute: contains bindings for OpenCL.
- OpenTK.Input: contains classes to interact with input devices (Keyboard, Mouse, Joystick).
- OpenTK.Platform: contains classes to extend OpenTK or interact with the underlying platform.
The public API of OpenTK is completely cross-platform. All platform-specific code is contained in internal interfaces under the OpenTK.Platform namespace. In that sense, most public classes act as façades that forward method calls to the correct platform-specific implementation.
public class Foo : IFoo
IFoo implementation;
public Foo
implementation = OpenTK.Platform.Factory.Default.CreateFoo;
#region IFoo Members
public void Bar
implementation.Bar;
#endregion