luca-piccioni / OpenGL.Net

Modern OpenGL bindings for C#.
MIT License
570 stars 109 forks source link

Support for glTF #41

Open JasSra opened 7 years ago

JasSra commented 7 years ago

The Opengl.net's Object part seems very closely related to glTF implementation with node based architecture. I think the project should support glTF spec to widen the reach of assets and pipleline which can be readily consumed to help developers fast track their development.

Any Views?

luca-piccioni commented 7 years ago

Recently I've noticed glTF; it would be awesome to integrate a scene loader, and I have a special sight for Khronos specifications. However, I don't know how much is diffused that standard, and how many resources using this technology are available.

Just yesterday I moved OpenGL.Net.Objects in a separate github repository. The idea of the library for integrating assets loaders is to allow scalability using a plugin system. Currently a basic plugin infrastructure is implemented for images and for geometries.

In case of geometries, I've already implemented a Wavefront OBJ loaded using this infrastructure, and the sources can be found here. I use it to load some meshes, but I preferred to include it directly in the project to ease the integration, but it will be separated soon or later.

The glTF should be integrated similarly to SceneObjectCodecWavefront, but I fear I have not enough time to follow OpenGL.Net, OpenGL.Net.Objects and another "big" project. I have already in queue the initial commit for Collada.Net, but I was waiting for OpenGL.Net.Object to have a "stable" interface.

Indeed, glTF surely can be added to OpenGL.Net.Objects repository, as a separated binary, implementing the plugin interface. At the current state, static geometries, textures and materials can be supported. Animation is a future target, but I've already managed it with Collada.Net, and the current API should be fine.

JasSra commented 7 years ago

Cool, i will have a look through the plugin system, and if possible i will try to write a plugin that allows glTF assets to be included in the pipeline. Also , i was thinking to set up some demo examples of OpenGl.net object's capabilities.