Welcome

GLAM (GL And Markup) is a declarative language for 3D web content.

GLAM combines the power of WebGL with a set of easy-to-use markup tags and style properties. With GLAM, 3D authoring is like any other web authoring. To make 3D, you create elements, set their attributes, add event listeners, and define styles. Just like DOM used to make! Content is easy to animate: keyframes and tweens can be defined in a compact set of markup tags, or as standard CSS3 animations or transitions.

GLAM is also fully extensible: to add custom behavior, write JavaScript event handlers. If you want fancy shading written in GLSL, simply specify your vertex and fragment shaders as properties of the object's style. GLAM renders with WebGL, using Three.js, and adds behaviors, interaction and lots of easy-to-use features on top. But most importantly, GLAM defines a markup language and set of stylesheet extensions that make 3D programming a snap.


News

Cardboard VR Comes to GLAM!

Thanks to the generous support of our DIYVR Kickstarter backers, we have added Cardboard VR rendering and head tracking to GLAM. Just point your mobile browser at this link, drop your phone in a Cardboard viewer, and go!
To learn how to add Cardboard VR to your GLAM apps, check out the tutorial.

Demos

BUBBLE POP! GLAM CITY
ANIMATED CUBE
POSTPROCESSING

Examples

BASIC CUBE
SCENE
ANIMATED CUBE
ANIMATED SCENE
INTERACTION
MESHES
LINES
3D TEXT
PARTICLE SYSTEMS
IMPORTS
BUMP MAPPING
NORMAL MAPPING
FRESNEL SHADER
SUN SHADER
SKYBOX
SKYSPHERE
DOT SHADER EFFECT
BLOOM EFFECT
OCULUS - GLAM CITY
OCULUS - SKYSPHERE

Contribute

GLAM is young and we're just getting started. We could use your help!

Take a look at the code in the Github repo, and if you'd like to help out, check out issues page, fork the repo and let's get to work!