Unlock the power of OpenGL in any .NET application. SharpGL wraps all modern OpenGL features, provides helpful wrappers for advanced objects like Vertex Buffer Arrays and shaders, as well as offering a powerful Scene Graph and utility library to help you build your projects.
Check out the Samples, they're a great place to start learning how to use SharpGL.
- Getting Started
- Developer Guide
- Sample Applications
- Documentation
- Credits, Sponsorship & Thanks
- Built with SharpGL
Install SharpGL packages with NuGet, either by using the Package Explorer or the Package Manager tool, e.g:
PM> Install-Package SharpGL
The available packages are:
There are project templates available for SharpGL WinForms and WPF projects - just search for SharpGL on the Visual Studio Extensions gallery, or get the extensions directly:
To build the code, clone the repo and open the SharpGL, Samples or Tools solution. The Extensions solution is used for the Visual Studio Project Templates and requires additional components - you can find out more on the Wiki on the 'Developing SharpGL' page.
You can also use the following scripts to run the processes:
Script | Notes |
---|---|
config.ps1 |
Ensure your machine can run builds by installing necessary components such as nunit . Should only need to be run once. |
build.ps1 |
Build all solutions. Ensures that we build both 32/64 bit versions of native components. |
test.ps1 |
Run all tests, including those in samples. |
coverage.ps1 |
Create a coverage report. Reports are written to ./artifacts/coverage |
These scripts will generate various artifacts which may be useful to review:
artifacts\
\tests # NUnit Test Reports
\coverage # Coverage Reports
To make and publish a release:
- Update the
SharedAssemblyInfo.cs
file with the version - Create the version tag (e.g.
git tag v3.2.1
) - Push the code and tags (e.g.
git push --follow-tags
)
AppVeyor will automatically push the release to NuGet and GitHub.
There are a large number of sample applications that show how to use SharpGL. Check out the 'Samples' solution to see the samples that are available - they'll be documented soon.
This WinForms sample shows how to load an object file with materials, using the Serialization library. It also has great support for internationalization (thanks odalet
!
This sample demonstrates:
- Loading
*.obj
files and associated materials - Building polygons from
*.obj
files - Arcball rotation
All documentation is available on the Wiki.
SharpGL is written and maintained by me. Special thanks go to the following contributors:
robinsedlaczek
- Code and documentation updates, tireless patience while I get through a backlog of work!odalet
- amazing work on internationalization and making the serialization code work in all locales
NDepend
SharpGL is proudly sponsored by NDepend! Find out more at www.NDepend.com.
Red Gate
Many thanks to Red Gate who have kindly provided SharpGL with a copy of their superb .NET Developer Bundle
JetBrains
Thanks for JetBrains for sponsoring SharpGL with Resharper!
If you've got a project that uses SharpGL and you'd like to show it off, just add the details here in a PR!
Checkout https://sites.google.com/site/gahvogel/ to see a free, open source project which supports aerodynamics!
This is the very first open source Precision Agricultural App! Built by Brian Tischler, you can see the discussions and excitement on this project with farmers across the world!