.NET core opengl
- prerequisite
apt install libglfw3
using SearchAThing;
- controls xaml
xmlns:opengl="clr-namespace:SearchAThing;assembly=netcore-opengl"
using static SearchAThing.OpenGlToolkit;
- run examples
cd netcore-opengl
code .
hit F5 to start example ( change by edit .vscode/launch.json )
mkdir ~/opensource
git clone https://github.com/devel0/netcore-util.git
git clone https://github.com/devel0/netcore-sci.git
git clone https://github.com/devel0/netcore-opengl.git
cd netcore-opengl
dotnet build
👉 To make dependency netcore-util/netcore-sci debuggable comment PackageReference
and uncomment ProjectReference
for corresponding reference from csproj
- create a derived class from OpenGlModelBase:
- OnInitialized can be used to init VertexArray and VertexBuffer objects for static data; compile shaders; retrieve attrib and uniform locations; define attrib pointers
- Render can be used to draw frame
- create a derived class from OpenGlControl or use directly in xaml if not need to specialize
- glue Model to the control
- draw something using vertex manager ; it will rendered as coloured triangles
- set Debug in OpenGlModelOptions to get notified on console about GL error and break debugger in DEBUG mode
Triangle
STL map
- OrthoFit
- GridSplitManager
Show how to highlight mouse hovered 3d elements even in perspective mode
mkdir netcore-opengl
cd netcore-opengl
dotnet new sln
dotnet new classlib -n netcore-opengl
cd netcore-opengl
dotnet add package netcore-util --version 1.6.1
dotnet add package netcore-sci --version 1.8.0
dotnet add package Silk.NET --version 1.4.0
dotnet add package QuantumConcepts.Formats.STL.netcore --version 1.3.1
dotnet add package Avalonia --version 0.10.0-preview2
cd ..
dotnet sln add netcore-opengl
dotnet restore
dotnet build