Code Monkey home page Code Monkey logo

elm-gltf's People

Contributors

christophp avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

coballast

elm-gltf's Issues

Set up glTF model viewer demo

  • Publish a page where you can upload and view glTF models.
  • whenever a model cannot be rendered or parsed the demo should display the error and encourage the user to open an issue with the error along with the model that was uploaded
  • should have a CI pipeline that always redeploys when the code is updated.

Improve error messages

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 Results would help here.

Consider different shapes of Mesh primitive attributes

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:

  • figure out which combinations of attributes are realistic (i.e. is COLOR needed when TEX_COORD is there?)
  • support the most common ones with an easy API
  • expose some API that lets you do the rest (uncommon combinations and custom properties that start with _ as explained here)

Elm WebGL Meshes vs GLTF primitives

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.

License?

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.

Open issue on `elm/http` about parallel HTTP request

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.