christophp / elm-gltf Goto Github PK
View Code? Open in Web Editor NEWLoading and working with 3D models in the GLTF format
Loading and working with 3D models in the GLTF format
A lot of functions work with Maybes currently. So if you get a Nothing it is really unclear why something didn't work. Changing things to use Result
s would help here.
The GLTF spec goes into detail of the different properties of mesh attributes here.
There can even be custom properties that start with an underscore. The point is, the shape is very dynamic and you can't know before loading the GLTF, which is way it is hard to pass the correct type ahead of time. Currently I am limiting the options to just POSITION
and NORMAL
for a first proof of concept.
TODO:
_
as explained here)There seems to be some degree of difficult of mapping GLTF primitives to the Mesh attributes
type in Elm. Apparently some other frameworks such as Babylonjs have loaders where each primitive is treated a one mesh. In this case they even merge those meshes later on.
Just to legally disambiguate things when people collaborate on this project? I suggest the Mozilla Public License 2.0, since it requires sharing modifications to the software itself, but it can still be included in a larger proprietary software project.
Problem
GLTF is a hyperlinked format in the sense that in can reference other assets such as texture images or mesh buffers via url. That means in those cases additional requests are necessary to download the entire scene. Currently there is no out-of-the-box way to make concurrent HTTP requests in Elm, which will make this scenerio slow since all linked assets will need to be downloaded sequentially.
Action
Open issue on elm/http
repo describing this use case.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.