I'm posting one demo per day all 2021!
I improved the previous demo by adding new attributes to the <lume-scene>
element that give the rendering an "environment map" that reflects off of shiny surfaces in the scene.
This what it looks like now:
And this is what it looked like before:
The gist of it is you can write HTML like the following and you'll have a 3D model on your web site:
<lume-scene id="scene" webgl disable-css background="https://assets.codepen.io/191583/airplane-hanger-env-map.jpg" equirectangular-background="true" environment="https://assets.codepen.io/191583/airplane-hanger-env-map.jpg" > <lume-point-light position="200 -200 200" intensity="1" color="white"></lume-point-light> <lume-ambient-light color="white" intensity="1.2"></lume-ambient-light> <lume-node id="cameraRig" rotation="0 200 0"> <lume-perspective-camera size="0 0 0" position="0 0 1000" rotation="0 0 0" active></lume-perspective-camera> </lume-node> <lume-gltf-model id="model" src="https://rawcdn.githack.com/KhronosGroup/glTF-Sample-Models/c99173c645f47fae603dcb2e7263e656e265cf06/2.0/DamagedHelmet/glTF-Binary/DamagedHelmet.glb" size="2 2 0" scale="400 400 400" > </lume-gltf-model> </lume-scene>
The demo is built with LUME, a software developer toolkit for making interactive 2D or 3D experiences with HTML. We're working towards its initial release.
lume / lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
A toolkit that simplifies the creation of rich and interactive 2D or 3D experiences for any device from mobile to desktop to AR/VR.
Home · Documentation · Examples · Forum · Chat · Source
npm install lume
Features
LUME is composed of several packages that can be used individually, or together as a whole:
lume
- HTML elements for rich graphics
HTML elements for easily defining rich and interactive 2D or 3D applications powered by both CSS and WebGL.
This package uses and re-exports features from the below packages.
glas
- WebGL engine written in AssemblyScript
This is a port of Three.js to AssemblyScript (TypeScript that compiles to WebAssembly) for running WebGL graphics with consistent performance.
@lume/element
- System for defining HTML elements
This is a web component system that allows you to create new, fast, and performant HTML elements in a simple way. It provides the foundation for LUME's…
topics: #webgl #threejs #html #css #webdev #javascript #365DaysOfCode2021
Top comments (0)