.Net Standard port for Opentk
Go to file
thefiddler 02bf55ad7e [ES] Fixed loading of OpenGL ES core API
eglGetProcAddress cannot be used to retrieve
entry points of core functions. Instead, we
use [DllImport] for core functions and function
pointers for extension functions.

Squashed commit of the following:

commit 0b84aa6ef78dfa3600b81fc412eb192f2a87e40c
Author: thefiddler <stapostol@gmail.com>
Date:   Sat Mar 15 02:24:58 2014 +0100

    [Examples] Rolled back changes to Example browser

commit 1acfbaac3d17184debdbbe872c58ac07d1b37c0a
Author: thefiddler <stapostol@gmail.com>
Date:   Sat Mar 15 02:20:57 2014 +0100

    [Examples] Rolled back WinForms example

commit 835d9d6035a890bd3426566929fbfd25c493eca0
Author: thefiddler <stapostol@gmail.com>
Date:   Sat Mar 15 01:15:01 2014 +0100

    [Examples] Rolled back erroneous GLControl mods

commit 056418014f0e835e83fb85b54b8749519a555364
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 23:11:11 2014 +0100

    [Rewrite] Remove calli prototypes

    When a function is called indirectly via a function pointer, its
    prototype is not required (the prototype is added as a callsite at the
    calli invocation.) Removing these prototypes reduces binary size by
    roughly 400KB.

commit 353a16ec2836c597150d2fab28581e7c264b2b39
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 22:31:25 2014 +0100

    [Rewrite] Call DllImports directly

    When a function does not have an allocated slot (i.e. slot = -1), then
    we will call its DllImport signature directly.

commit 9a5313e4b7afb10b698d255e4b5637887bf71cf3
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 22:30:04 2014 +0100

    [Bind] Do not allocate slots for DllImports

commit 6ac5342409363cac0e59f9dc669948b319bd20a9
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 22:29:07 2014 +0100

    [Bind] Added option to use DllImports

    This is necessary for the core functionality of OpenGL ES, where
    eglGetProcAddress returns null or garbage (the latter on Android.)
2014-03-16 19:40:49 +01:00
Dependencies Moved license files to license/ folder 2013-12-06 00:47:38 +01:00
Documentation [Doc] Generate oxygen reference for OpenGL/AL 2014-02-16 17:10:49 +01:00
Installers Updated author information (2/2) 2013-12-16 12:43:11 +01:00
Source [ES] Fixed loading of OpenGL ES core API 2014-03-16 19:40:49 +01:00
.gitattributes [Build] Test build OpenTK with mono 3.2.6 and 2.10.11 2014-02-24 16:23:17 +01:00
.gitignore Ignore *.pidb files from MonoDevelop 2.x 2013-12-25 11:11:29 +01:00
.travis.yml Squashed commit of the following: 2014-02-24 23:27:49 +01:00
OpenTK.sln Squashed commit of the following: 2014-02-24 23:27:49 +01:00
OpenTK.snk Added keyfile and strong-named all projects. 2010-10-04 14:39:42 +00:00
README.md Fixed line breaks in release notes again 2014-02-17 19:46:22 +01:00

OpenTK

The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenGL ES and OpenAL. It is suitable for games, scientific applications and any other project that requires 3d graphics, audio or compute functionality.

Project website: http://www.opentk.com/

Official git repository: https://github.com/opentk/opentk

Features

  • Create cutting-edge graphics with OpenGL 4.4 and OpenGL ES 3.0
  • Spice up your GUI with 3d graphics
  • Improve your code flow with strong types and inline documentation
  • Write once run everywhere!

OpenTK is available on Windows, Linux, Mac OS X, *BSD, SteamOS, Android and iOS. It can be used standalone or integrated into a GUI (Windows.Forms, WPF, GTK+, Qt, VTK, ...)

Current Version 1.1 stable released 2014-Feb-10: http://www.opentk.com/news/opentk-1.1-stable-released

Binaries available at http://www.opentk.com

NuGet packages at http://www.nuget.org/packages/OpenTK/

Roadmap

  • Merge opentk/opentk (upstream) with mono/opentk (Xamarin)
  • Add Portable Class Library (PCL) target
  • Add multitouch API
  • Add new platforms: NaCL, emscripten, Windows Metro, Ouya, Raspberry PI
  • Improve OpenCL bindings
  • Improve math library

Contributing

  1. Install git and a C# IDE (see requirements section below)
  2. Fork the develop branch of https://github.com/opentk/opentk
  3. Commit your changes in small, incremental steps with clear descriptions
  4. When ready, issue a Pull Request (PR) against the develop branch of https://github.com/opentk/opentk

For details on coding style and best practices, refer to https://github.com/opentk/opentk/wiki/Contributing

Requirements

  • Windows (XP/Vista/7/8), Linux, Mac OS X, *BSD, SteamOS, Android or iOS
  • For graphics, OpenGL drivers or a suitable emulator, such as ANGLE
  • For audio, OpenAL drivers or OpenAL Soft
  • To develop desktop applications: Visual Studio, Xamarin Studio, MonoDevelop or SharpDevelop
  • To develop Android applications: Xamarin Studio or the Xamarin Extensions for Visual Studio
  • To develop iOS applications: Xamarin Studio and XCode

Documentation

Your favorite IDE will display inline documentation for all OpenTK APIs. Additional information can be found in the OpenTK Manual and in the opentk/Documentation/ folder.

Technical documentation about the implementation of OpenTK can be found in the Technical Wiki.

Need Help?

Post your questions at the OpenTK forums.

Report bugs at https://github.com/opentk/opentk/issues

License

The Open Toolkit is distributed under the permissive MIT/X11 license and is absolutely free.

http://www.opentk.com/project/license