virtex
three.js object viewer.
Setup
Clone the repo then run:
npm install
npm start
A three.js object viewer written in TypeScript
License: MIT License
three.js object viewer.
Clone the repo then run:
npm install
npm start
http://threejs.org/examples/webgl_lod.html
http://threejs.org/docs/#Reference/Objects/LOD
Maybe worthwhile for very large meshes. Can levels of detail be added dynamically after async download?
Currently Virtex limits vertical rotation to +/- 1 radian. Make this configurable via the options object.
A value of 0 could imply no limit.
three touches or right click to pan.
On mouse over an object, set the cursor to cursor:grab
and cursor:-webkit-grab
.
On clicking an object, set the cursor to cursor:grabbing
and cursor:-webkit-grabbing
.
Having the bounding box of the object, it's possible to translate the scene so that the center of rotation / origin matches the one of the object's bounding box.
gzipping prevents loading bar:
investigate applying an unlit material - with the diffuse not being modulated by anything (ie 100% 'emissive')
Currently Virtex uses Y as the default "up axis". Make this configurable via the options object: https://stackoverflow.com/questions/8272297/three-js-rotate-projection-so-that-the-y-axis-becomes-the-z-axis
Perhaps this could be included in IIIF manifests?
https://github.com/kottenator/jquery-circle-progress
you can pass in a canvas: kottenator/jquery-circle-progress#62
would this work with an in-memory canvas?
https://github.com/mrdoob/three.js/blob/dev/examples/webgl_loader_gltf.html#L92
Skybox texture could be specified in a IIIF manifest? An image annotation with a different motivation to painting?
https://threejs.org/docs/#api/cameras/OrthographicCamera
Should be possible to turn this on and off with an external button.
Add a config option to set the initial rotation of the camera about the target object.
Perhaps the best approach is to first check which axis is 'up' (#24), then rotate the camera about that axis by whatever the configured radian rotation value is while mainting cameraZ
distance (which should be renamed to cameraDistance
to be axis agnostic).
Mesh compression: http://vcg.isti.cnr.it/corto
Mesh multiresolution: http://vcg.isti.cnr.it/nexus
Making interfaces: http://3dhop.net/
A server which takes care of the model conversion to multiresolution format for 3d and RTI, hosting and some configuration:
Three.js loads .obj and .mtl files separately.
Is there a way to just use the .obj file to get the .mtl path and have a single file to reference (as required) in a IIIF manifest?
Aframe also specifies separate files: https://aframe.io/docs/master/components/obj-model.html
Related issue exporting diffuse texture from Blender: http://blender.stackexchange.com/questions/76697/cant-get-diffuse-texture-to-be-included-in-mtl-file
Lighting values can already by controlled via these config options:
ambientLightColor: 0xd0d0d0,
ambientLightIntensity: 1,
directionalLight1Color: 0xffffff,
directionalLight1Intensity: 0.75,
directionalLight2Color: 0x002958,
directionalLight2Intensity: 0.5
These values could be included in the IIIF manifest to allow per-object customisation.
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.