-
-
Notifications
You must be signed in to change notification settings - Fork 444
Closed
Labels
area-DocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershacktoberfesthelp wantedExtra attention is neededExtra attention is needed
Milestone
Description
Summary
#619 pointed out that we currently have zero resources demonstrating our Assimp bindings, and because Assimp is usually used with C++ there aren't many resources for the C API which we bind to as is.
We should make a demo model loader using Silk.NET.OpenGL and Silk.NET.Assimp.
In my eyes, this looks like:
- An ImGui interface allowing you to paste in a file path and load a 3D model (look at
examples/CSharp/OpenGL Demos/ImGuiand ImGui documentation on how to do this) - When the "Load" button is pressed, call into Silk.NET.Assimp and load the model into OpenGL
- Loads vertices & indices, and can render meshes (triangulation can be done by Assimp)
- Maybe loads textures if time permits?
- Use a Camera similar to the ones demonstrated in
examples/CSharp/OpenGL Tutorialsto explore the model- However, we'll need a button which will unload the model, put the mouse cursor back into normal mode, and bring the ImGui UI back up again so we can load another model
Resources to Get You Started
- Voltium's usage of Silk.NET.Assimp (very old version): https://github.com/john-h-k/Voltium/blob/master/sources/Voltium.ModelLoader/ModelLoader.cs#L151
- LearnOpenGL + Assimp (using C++ API, doesn't match 1:1 with C API): https://learnopengl.com/Model-Loading/Assimp
- Assimp Simple OpenGL example (uses C API ✅, but uses Old OpenGL 🤢): https://github.com/assimp/assimp/blob/master/samples/SimpleOpenGL/Sample_SimpleOpenGL.c
Metadata
Metadata
Assignees
Labels
area-DocumentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershacktoberfesthelp wantedExtra attention is neededExtra attention is needed