All Projects → enesser → earth-webgl

enesser / earth-webgl

Licence: MIT license
Photorealistic 3D earth and space scene demo rendered and animated in WebGL.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to earth-webgl

Patches
Patches is a visual programming editor for building WebVR and WebGL experiences.
Stars: ✭ 164 (+127.78%)
Mutual labels:  vr, three-js
A Mmd
A-Frame MMD component
Stars: ✭ 74 (+2.78%)
Mutual labels:  vr, three-js
WebVRExamples
yonet.github.io/webvrexamples/examples/cubes.html
Stars: ✭ 19 (-73.61%)
Mutual labels:  vr, three-js
lvr
👓 Augmented Reality for everyone - Out of the world experiences
Stars: ✭ 92 (+27.78%)
Mutual labels:  vr, three-js
ls-psvr-encoder
A simple command line tool to encode your 180 and 360 videos for sideloading with Littlstar's VR Cinema app for PSVR.
Stars: ✭ 61 (-15.28%)
Mutual labels:  vr
cardboard-vr-display
A JavaScript implementation of a WebVR 1.1 VRDisplay
Stars: ✭ 84 (+16.67%)
Mutual labels:  vr
QuietVR
A Quiet Place in VR: Generate any 3D object with your voice. It's magic!
Stars: ✭ 17 (-76.39%)
Mutual labels:  vr
awesome-3d
Awesome list of 3D resources. AR/MR/VR is the future, and 3D model is the basics of all of them.
Stars: ✭ 42 (-41.67%)
Mutual labels:  vr
aframe-xylayout
Flexbox like 2D layout + UI components for A-Frame.
Stars: ✭ 23 (-68.06%)
Mutual labels:  vr
harfang3d
HARFANG 3D source code public repository
Stars: ✭ 173 (+140.28%)
Mutual labels:  vr
openfpc
A 2D CAD tool built on React, Three.js, and Immutable
Stars: ✭ 34 (-52.78%)
Mutual labels:  three-js
EduSmart
It utilizes 3D, Augmented reality to give real-life simulations or feels of various models and make the learning process more impactful and fascinating. With an interactive live feature, students can ask the teacher their doubts instantly and also discuss.
Stars: ✭ 23 (-68.06%)
Mutual labels:  three-js
Joy2OpenVR
Interface to OpenVR Input Emulator to translate any Direct Input controllers commands into VR Controller commands
Stars: ✭ 25 (-65.28%)
Mutual labels:  vr
revit-family-web-viewer
Revit Web Viewer is a Three.js-based project viewer. Revit projects / families must be exported using RvtVa3cExporter (https://github.com/va3c/RvtVa3c)
Stars: ✭ 48 (-33.33%)
Mutual labels:  three-js
aframe-chromakey-material
A chromakey material for green screening in A-Frame. Perfect for blockbuster hollywood effects in VR! 🤗🎬💚
Stars: ✭ 53 (-26.39%)
Mutual labels:  vr
Atlas
An extensible 3D GIS application for visualization, analysis and research.
Stars: ✭ 113 (+56.94%)
Mutual labels:  vr
Manim.three.js
A web compatible html5 canvas based mathematical rendering engine like the manim by 3b1b
Stars: ✭ 14 (-80.56%)
Mutual labels:  three-js
openPerform
Check out the various styles and effects OpenPerform has to offer with our BVH animation demo!
Stars: ✭ 24 (-66.67%)
Mutual labels:  three-js
Streamlit-Applications
Deep Learning and Computer Vision Applications using Streamlit
Stars: ✭ 55 (-23.61%)
Mutual labels:  vr
defisheye
convert ricoh-theta dual fisheye video to equirectangular format
Stars: ✭ 47 (-34.72%)
Mutual labels:  vr

Earth WebGL Demo

“Earth ‒ Where we keep all of our stuff.”

Build Status

This animated demo includes a photorealistic 3D earth and space scene, rendered in WebGL with three.js and served with Express 4.

3D Scene Screenshot

Visit the live demo on CodePen: http://codepen.io/enesser/full/pgWjoW/.

Only the low-quality version is available on CodePen due to asset constraints.

Controls

Controls Screenshot

Setting Description
sunColor Color of sunlight.
sunIntensity Intensity of the sunlight.
ambientLight Color of ambient light in the scene.
atmosphereVisible Toggle visiblity of the atmosphere.
atmosphereColor Color of the atmosphere.
atmosphereOpacity Opacity value of the atmosphere.
atmosphereWireframe Toggle wireframe view on the atmosphere material.
cloudsVisible Toggle visibility of the cloud layer.
cloudsOpacity Opacity value of the cloud layer.
cloudsWireframe Toggle wireframe view of the cloud layer material.
cloudsRotate Toggle auto-rotation of the cloud layer.
cloudsVelocity Speed of cloud layer rotation. Negative value rotates backwards.
terrainVisible Toggle visibility of terrain.
terrainBumpScale Bump height of terrain bump mape. Can be negative for inset.
terrainWireframe Toggle wireframe view of terrain.
terrainRotate Toggle auto-rotation of terrain.
terrainVelocity Speed of terrain rotation. Negative value rotates backwards.

You can also control the camera position by dragging the mouse and holding the right or left mouse button.

Mobile

This demo is supported on all modern mobile devices where WebGL is supported.

Mobile Screenshot

Virtual Reality

Virtual reality mode can be toggled using the vr query string (true/false) documented under Launch Options. In VR mode, the camera is locked at a different perspective, the UI is hidden, and there are currently no controls.

This mode is still highly experimental. Default values are calibrated for Google Cardboard but this demo can work with other HMDs like the Oculus Rift.

VR Screenshot

Launch Options

You can toggle quality modes using the quality query string (high/low):

http://localhost:3000?quality=low

UI can also be toggled using the ui query string (true/false):

http://localhost:3000?ui=false

VR mode for virtual reality support can be toggled by using the vr query string (true/false):

http://localhost:3000?vr=true

VR mode also supports optionally setting eyeSeparation and focalLength:

http://localhost:3000?vr=true&vr-eyeSeparation=-.04
http://localhost:3000?vr=true&vr-focalLength=15

Installing

You’ll need Node to get started.

$ git clone https://github.com/enesser/earth-webgl && cd earth-webgl
$ npm install -g gulp      # Install Gulp task runner
$ npm install              # Install requirements
$ npm start                # Run the demo

For development, you can run Gulp:

$ npm install -g nodemon   # Install nodemon
$ gulp                     # Run the demo in development mode w/ nodemon

Project Structure

|-- public/               # auto-generated client assets (via Gulp), do not edit
|-- raw/                  # source directory for client assets
|   |-- js/               # source JavaScript
|   |-- models/           # source models for high and low quality
|   |-- scss/             # source Sass
|
|-- routes/               # controllers for site pages
|-- views/                # handlebars templates for site pages

Intro to 3D & VR on the Web

This demo was created for a talk I did at Designory in February 2016: “Intro to 3D & VR on the Web.”

Topics:

  • 3D modeling in Blender
  • UV mapping
  • bump maps
  • specular maps
  • composite materials
  • OBJ and three.js JSON exporting and importing
  • three.js camera, scene, lighting, and mesh basics
  • Stereoscopic rendering and virtual reality

If you’re interested in this talk, please let me know.

Additional Credits

Special thanks:

  • Blender Guru for tips on creating a realistic 3D earth.
  • NASA for source material for the model textures.

Donations

BTC 18N1g2o1b9u2jNPbSpGHhV6x5xs6Qou3EV

License

Copyright (c) 2016-2017 Eric J Nesser, MIT

Original source material for the model textures provided by NASA.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].