Proposed: Process the glTF2 input file and return it as is
The Context
We are working on a project that involves the use of the Elixir Membrane Framework. Our goal is to process glTF (GL Transmission Format) files, which are standard file formats for 3D scenes and models.
The Problem Statement
We need to create a job in the Membrane Framework that can take an input glTF file and return it as is. However, we are currently stuck and unable to proceed with this task.
Describe how your proposal will work with code, pseudo-code, mock-ups, or diagrams
defmodule MyPipeline do
use Membrane.Pipeline
@impl true
def handle_init(_) do
= %{
children source: %Membrane.File.Source{location: "input.gltf"},
sink: Membrane.File.Sink
}
= [
links (:source)
link|> to(:sink)
]
{{:ok, %ParentSpec{children: children, links: links}}, %{}}
end
end
This is a basic pipeline that reads a file and writes it back out. It’s not doing any processing yet, but it’s a start.
The Benefits
Implementing this feature will allow us to process glTF files within our application, opening up new possibilities for 3D model manipulation and visualization.
The Downsides
The main downside is the complexity involved in understanding and implementing the Membrane Framework. This could potentially slow down development time.
The Road Not Taken
An alternative approach would have been to use a different framework or language that might be easier to implement but may not offer the same level of control and flexibility as the Membrane Framework.
The Infrequent Use Case
This feature may not be used frequently if our application does not heavily rely on 3D model manipulation.
In Core and Done by Us
This feature will be implemented by the V-Sekai development team.
Status
Status: Proposed
Decision Makers
- V-Sekai development team
Further Reading
- V-Sekai · GitHub - Official GitHub account for the V-Sekai development community focusing on social VR functionality for the Godot Engine.
- V-Sekai/v-sekai-game is the GitHub page for the V-Sekai open-source project, which brings social VR/VRSNS/metaverse components to the Godot Engine.
AI assistant Aria assisted with this article.