Skip to content
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

Interest in a Godot Engine host? #66

Open
fire opened this issue May 19, 2022 · 6 comments
Open

Interest in a Godot Engine host? #66

fire opened this issue May 19, 2022 · 6 comments

Comments

@fire
Copy link

fire commented May 19, 2022

Wanted to see if there's interest.

@fire fire changed the title Interest in a blender host? Interest in a Godot Engine host? May 19, 2022
@eliemichel
Copy link
Owner

There is interest, I have a base in Unity because the Blender -> game engine workflow is a priority!
The content of the host directory can be reused as is, then what you need to adapt is the content of blender, starting by subclassing OpenMfx::MfxHost like it is done in BlenderMfxHost.h.

@fire
Copy link
Author

fire commented May 19, 2022

Can you describe what is the exchange format? Like meshes or materials?

How do you map these concepts of:

  1. input pins
  2. output pins
  3. pin primitive types / pin extensible types
  4. source node
  5. filter node
  6. sink node
  7. graphs vs sub graphs
  8. synchronization mechanisms like pull vs push vs clock

@eliemichel
Copy link
Owner

We are currently working on using USD as a base for our exchange format. OpenMfx would add extra Schema to handle node graphs defining parametric shapes. In the meantime you can focus on loading a single OpenMfx effect (plugin) because this is the first building block for integrating OpenMfx.

Input/output pins are defined here (the API uses the word 'input' to mean 'pin' actually) If you are using the C++ SDK see MfxInput and MfxInputDef.

A source node is a node that does not define any input pin. A filter node is any node that has an input. The definition of which node should be used as output is left to the WIP interexchange file, same goes for subgraphs.

Not sure what you mean with 3 and 8.

@fire
Copy link
Author

fire commented May 19, 2022

I'll read the definitions.

It would be difficult for Godot Engine to implement USD. https://github.com/syoyo/tinyusdz has been attempting for the last like 3-4 years. I'd assume if we started from scratch we may take longer.

The use of USD is for skinned 3d characters due to subdivision surfaces support.

We implemented a gltf importer / exporter.

@fire
Copy link
Author

fire commented May 19, 2022

I've also made a proof of concept for MaterialX definitions https://github.com/V-Sekai/godot_material_x for parametric materials.

@eliemichel
Copy link
Owner

The way MaterialX is handled in USD is a possible source of inspiration indeed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants