Using Godot's renderer as a library
Hello! I'm new to the Godot community and I hope this is the right place to ask questions like this and get feedback.
We're interested in using Godot's render engine as a library
Some background: we develop and maintain open source robotics simulators (gazebo, ignition) that currently use Ogre3d as the underlying render engine. However, there is growing interest in using an alternative rendering engine. We understand that Godot is a full game engine (and not a rendering engine / library) but after evaluating various open source rendering / game engines out there, we decided that we may devote some effort to investigate and come up with a minimal prototype of using Godot's renderer as a standalone C++ library that allows us to do things from initializing the rendering engine, to creating scenes, objects, lights, and importing assets.
I've found some related posts that suggest it's currently not supported out of the box:
I think GDNative APIs may not be able to do what we want to achieve (launching the rendering engine, etc all without using the editor)? We also understand that Godot is probably not intended to be use this way and there are frequent changes in internal APIs. So we would like to get some feedback on our plan before we dive deep into this.
The first step in our plan is to either tweak the SCons scripts or create separate build scripts to build and package all source files and shaders used by Godot' renderer as a shared library with APIs that allows us to do things mentioned above all without using the editor.
- Is this a crazy idea? i.e. we really should not be doing this
- Are you aware of any similar efforts?
- Assuming everything goes well, are build changes like this welcome upstream in Godot?
Thanks for reading this long post. Feedback and suggestions appreciated!