All Projects → opentk → Opentk

opentk / Opentk

Licence: other
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.

Programming Languages

C#
18002 projects
F#
602 projects
python
139335 projects - #7 most used programming language
ruby
36898 projects - #4 most used programming language
tcl
693 projects
powershell
5483 projects

Projects that are alternatives of or similar to Opentk

Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (-76.62%)
Mutual labels:  game-development, openal, opengl, graphics, graphics-library, opencl, scientific-visualization
Lwjgl3
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.
Stars: ✭ 3,540 (+54.99%)
Mutual labels:  openal, opengl, opengl-es, opencl
Mos
Lightweight game engine.
Stars: ✭ 153 (-93.3%)
Mutual labels:  game-development, game-engine, openal, opengl
Klayge
KlayGE is a cross-platform open source game engine with plugin-based architecture.
Stars: ✭ 1,646 (-27.93%)
Mutual labels:  game-engine, openal, opengl, graphics
Limonengine
3D FPS game engine with full dynamic lighting and shadows
Stars: ✭ 331 (-85.51%)
Mutual labels:  game-development, game-engine, openal, opengl
Daemon
The Dæmon game engine. With some bits of ioq3 and XreaL.
Stars: ✭ 136 (-94.05%)
Mutual labels:  game-development, game-engine, openal, opengl
Ouzel
C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers
Stars: ✭ 607 (-73.42%)
Mutual labels:  game-development, game-engine, openal, opengl
Mini3d
3D Software Renderer in 700 Lines !!
Stars: ✭ 1,320 (-42.21%)
Mutual labels:  game-engine, opengl, graphics
Gdx Vfx
LibGDX post-processing visual effects
Stars: ✭ 105 (-95.4%)
Mutual labels:  game-development, opengl, opengl-es
Silenceengine
A cross platform 2D / 3D Java Game Engine (Desktop / Html5 / Android)
Stars: ✭ 116 (-94.92%)
Mutual labels:  game-engine, openal, opengl
Pharaohstroy
A maplestory IDE which can develop the multi-platform maplestory game
Stars: ✭ 69 (-96.98%)
Mutual labels:  game-engine, opengl, opengl-es
Veldrid
A low-level, portable graphics library for .NET.
Stars: ✭ 1,784 (-21.89%)
Mutual labels:  game-development, opengl, graphics
Alimer
Cross-platform game engine.
Stars: ✭ 172 (-92.47%)
Mutual labels:  game-development, game-engine, graphics
Rust Game Development Frameworks
List of curated frameworks by the **Game Development in Rust** community.
Stars: ✭ 81 (-96.45%)
Mutual labels:  game-development, opengl, graphics
Duality
a 2D Game Development Framework
Stars: ✭ 1,231 (-46.1%)
Mutual labels:  game-development, game-engine, opengl
Bgrabitmap
📜 BGRABitmap graphics library made with Lazarus (Free Pascal).
Stars: ✭ 112 (-95.1%)
Mutual labels:  opengl, graphics, graphics-library
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (-96.98%)
Mutual labels:  game-engine, opengl, opengl-es
Blue Flame Engine
A 3D/2D game engine that supports both DirectX11 and OpenGL 4.5
Stars: ✭ 129 (-94.35%)
Mutual labels:  game-development, game-engine, opengl
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+369%)
Mutual labels:  game-development, game-engine, opengl
Matplotplusplus
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
Stars: ✭ 2,433 (+6.52%)
Mutual labels:  graphics, graphics-library, scientific-visualization

OpenTK

OpenTK is a large project. There are many components to work on, and we'd welcome almost any contribution. The community is friendly, welcoming and always ready to help you get your PRs merged!

We have a very active discord server, if you need help, want to help, or are just curious, come join us!

Discord

The Open Toolkit library is a fast, low-level C# binding for OpenGL, OpenGL ES, OpenAL, and OpenCL. It runs on all major platforms and powers hundreds of apps, games and scientific research.

Use OpenTK to add cross-platform 3d graphics, audio, compute and haptics to your C# application. Integrate it into your existing user interface or use it standalone without any external dependencies.

OpenTK comes with simple and easy to follow tutorials for learning modern OpenGL. These are written by the community and represent all of the best practices to get you started.

Learn how to use OpenTK here: https://github.com/opentk/LearnOpenTK

Older OpenTK 3 tutorials here: https://opentk.net/learn/index.html

Project website: https://opentk.net

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

Build Status

Platform Status
Windows Build status
Mono/Linux Build status

Features

  • Create cutting-edge graphics with OpenGL 4.6 and OpenGL ES 3.0
  • Spice up your GUI with 3d acceleration
  • Improve your code flow with strong types and inline documentation
  • Windowing systems to help get you started
  • Input, and other game essentials.
  • Performant, highly optimized and reliable linear algebra library
  • Write once run everywhere

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

An old, unsupported version of OpenTK 1.0 may be included in the Xamarin Android and iOS distribution. The Xamarin fork is not supported or maintained by this project.

Adding support for mobile again is a future goal of the OpenTK project, but is somewhat frustrated by Apple's deprecation of OpenGL. Contributions to re-add support for these platforms are welcomed.

Instructions

OpenTK is available as a NuGet Package.

News

2020-10-02

OpenTK 4.0.0 is released with full availability.

Key changes:

  • Full support for .Net Core 3.1
  • Brand new GLFW-based windowing system
  • Brand new GLFW-based input system
  • Removed all platform-specific backends (and fixed every xplat bug!)
  • Math library performance improvements and fixes
  • All new OpenAL bindings
  • All new OpenCL Bindings
  • Total restructure of all packages into a modular system with a number of packages. The OpenTK Nuget package is now a metapackage that will automatically download all of these for you.

OpenTK 4.0.0 is entirely MIT licensed.

We're excited to see what you can build with this!

https://www.nuget.org/packages/OpenTK

2020-04-06

Oops! Forgot to update the news! OpenTK 4.0.0 PREVIEW is now available on Nuget.

https://www.nuget.org/packages/OpenTK

2020-04-06

OpenTK 3.2.0 is available.

This adds bindings for the wgl_dx_interop extension and support for joysticks with > 64 buttons.

https://www.nuget.org/packages/OpenTK/3.2.0

2019-08-04

OpenTK 3.1.0 is available.

https://www.nuget.org/packages/OpenTK/3.1.0

https://www.nuget.org/packages/OpenTK.GLControl/3.1.0

2018-10-19

Work is well underway on OpenTK 4.0, which targets .netstandard 2.0.

We would welcome any contributions!

Click here to view the tracking issue.

2018-06-07

OpenTK 3.0.1 is available.

https://www.nuget.org/packages/OpenTK/3.0.1

https://www.nuget.org/packages/OpenTK.GLControl/3.0.1

2018-01-05

OpenTK 3.0.0 is available.

https://www.nuget.org/packages/OpenTK/3.0.0

https://www.nuget.org/packages/OpenTK.GLControl/3.0.0

Building from source

git clone https://github.com/opentk/opentk   # Download source code from git
cd opentk                                    # Enter the source directory
./build.cmd / ./build.sh                     # Run the bootstrap/build script for your platform

Contributing

OpenTK uses and encourages Early Pull Requests. Please don't wait until you're done to open a PR!

  1. Install Git and the .Net Core SDK
  2. Fork OpenTK
  3. Create a branch on your fork.
  4. Add an empty commit to start your work off (and let you open a PR): git commit --allow-empty -m "start of [thing you're working on]"
  5. Open a Pull request with [WIP] in the title. Do this before you actually start working.
  6. Make your commits in small, incremental steps with clear descriptions.
  7. Tag a maintainer when you're done and ask for a review!

Click here for good first issues.

Click here for everything we need help with.

Requirements

  • Windows (7/8,10), 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, Rider, or the command line tools.
  • To develop Android applications: Visual Studio and Xamarin
  • To develop iOS applications: Visual Studio, Xamarin and XCode

Documentation

API Documentation is available on the official website or inline from favourite IDE.

You can also browse the full API on the official website

Additional information can be found in the OpenTK Manual.

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

Need Help?

Come chat with us on Discord.

We're happy to help with anything from learning OpenGL to advanced OpenTK questions.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].