Development of a client side webgl application for the viewing and dynamic interacting with meshes loaded from obj/mtl files

Job ID: 32037555

Budget: €30 – €250 EUR

The inspiration for this application is the one used on dmccooey's website (http://dmccooey.com/polyhedra/Platonic.html).
The difference with this application is that it only deals with convex meshes.
I have tried using it on my own meshes and the display of the faces is incorrect.
I have tried building a similar application myself using three.js or babylon.js but I could not make it work properly

My requirements are the following:
- display a mesh with an orbit camera so that one can inspect the mesh by rotation and scaling, the mesh may need some automatic repositionning and rescaling
(so that edge length is 1) on its center at loading.
- support for the display of multiple meshes (up to a hundred) on the same webpage with each mesh inside its own canvas
- load the mesh data from an obj file
- load the coloring of the faces from the mtl file
- have the mesh properties displayed below the render window (number of vertices, edge, faces, mesh name, number of vertices and faces of a specific type, volume, surface area, ...)
all the metadata could be either computed when loading the mesh or precomputed and provided in an additionnal json file for instance,
I can take charge of computing these properties.
- a way to reset the camera to the default position
- to work on my website

Additional optional work:
- a mode with face transparency so that the back of the mesh can be viewed at the same time as the front
- find a way to load any obj stored locally on the computer of the client
- find a way to display any mesh from a list of meshes just by clicking on its name
- make it work with my graph idea

I have not thought about the kind of shading I want to use yet, a render close to what is done on dmccooey'app is fine.
Related categories: JavaScript HTML5 HTML 3D Modelling 3D Visualization