-
-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build Godot Engine as a shared library #4773
Comments
I am probably missing something, but why would there be a need for a library version of Godot? Looking at the resulting implementation it essentially provides same functionality as if it was running as a standalone version. |
It exposes all the functions from godot engine on Linux. So I can run: Setup
Each tick
|
I get that, and that is what's bugging me about this. If this simply exposes main engine loop to be called manually from the outside code, why would you need something like this? This is not a critique in any way, I simply dont understand a practical application of running an engine that enforces its way or running processing code, event dispatch/poll, function call order e.t.c., e.t.c, e.t.c., as an external lib. |
Language integration
Calling as a process
For example I want to call a process to resize a mesh and output a gltf as a batch job. |
I am interested in this as well for a separate reason. I'm pretty ignorant on Godot's rendering pipeline and rendering in general, so what I'm talking about or proposing might not make any sense or might be impossible to do... but I was thinking about Godot Engine as a static/dynamic library as a way of creating an agnostic 3D viewport renderer for embedding into applications. In Godot, you can save the contents of a viewport to an image, or capture the results on a If there was a fast way of getting the image data from the viewport without encoding it as an image, would it be possible to embed a Godot Viewport in another applications? Dear ImGUI is agnostic in the sense that you can hook it up to any rendering and input system - is something like this possible in Godot? Like Godot handles all the rendering using OpenGL/Vulkan, but since it'd be a library then we can take the image/buffer data and display it somewhere? |
Hosting Godot in MAUI as feedback from this discussion |
I'm developing a prototype of an HTML multiplayer game that interacts with Colyseus.js on the client, on the server I want to use Godot as a Game Server running inside Node.js, so I removed the calls to WebGL (like the server version of Godot) and other things, and exported the template. I was thinking of opening a proposal for that, but maybe this proposal covers what I described. Am I right? Does this proposal cover that case? |
For Godot 3.x, this can be done by porting the For Godot 4.0, this can be done by running an HTML5 export template with the |
Superseded by #6267 The other proposal has an open pr |
Closing per the above comment. |
Describe the project you are working on
Multiplayer Video game - https://github.com/V-Sekai
Describe the problem or limitation you are having in your project
I want to have dynamic mesh plugins and Houdini and Houdini like effects from OpenMeshEffect.
@punto- Mentioned wanted to use Godot Engine from nodejs.
I want to call libgodot from elixir.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
The standard architecture of Godot Engine is that we want things to be Godot Engine Extensions.
It should be possible to embed Godot Engine into a shared library for OpenMeshEffect standard and also as an Extension.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Build Godot Engine as a shared library.
Replace the entry points of main.
See pull request.
If this enhancement will not be used often, can it be worked around with a few lines of script?
No! This is a buildsystem change to Godot Engine.
Is there a reason why this should be core and not an add-on in the asset library?
Changing the build system of Godot Engine is difficult to most people.
The text was updated successfully, but these errors were encountered: