Git Product home page Git Product logo

proceduralearth's Introduction

ProceduralEarth

WebGL-based renderer for procedural generation of Earth-like planets and surrounding celestial bodies.

Project site: https://debug.tw/proc_earth

Introduction

Procedural Earth renders most of its objects with textures generated from Perlin noise-based fractals. Therefore it does not require pre-authored images (with the exception of a pre-computed look-up table) which greatly reduces loading time.

Many of the 3D graphics features were implemented with their equivalents in modern high-end video games in mind. Some important features are:

  • HDR rendering pipeline
  • Auto exposure (eye adaption)
  • Physically-based atmospheric scattering
  • Cook-Torrance BRDF
  • Procedural Milky Way

The performance goal is on average >50fps for iPhone 6S-level phones and 60fps for mid-range desktops/notebooks in FullHD resolution. It works well with Chrome, Firefox, and Safari but may cause errors in Internet Explorer, which is mostly because floating-point textures are not supported by it.

Directory Contents

  • build/ - Target directory for tool scripts (these scripts generate source files into the directory src/ts/Generated/)
  • dist/ - Target directory
  • src/buildtools/ - Source directory for tool scripts in the directory build/
  • src/shaders/ - Source directory of shader fragments
  • src/ts/ - Source directory of TypeScript source files

Build

The source code is written in TypeScript and requires global installation of the following dependencies:

Before building the project for the very first time, run npm install inside the project directory to install other required Node modules. If all went well, there are two ways available to run Gulp:

  1. Run gulp to rebuild all scripts at once. This may take a short while to finish.
  2. Run gulp watch to enter monitor mode until a Ctrl-C signal being sent. With this mode running, file modification will trigger Gulp to automatically build and only to build for those target scripts affected by the modified source files.

Copyright

Copyright (C) 2017-2018 Mifan Bang https://debug.tw

Should there not be many great works already well done, this project would not exist. This project is distributed with various parts of the following works:

Their individual copyright notices and licenses are listed in the file LICENCE.md.

SPECIAL NOTICE: The part from dat.gui distributed with this project is a modified version of the original work. Details on the modification can be found at the top of the file dist/dep/dat.gui-0.6.3.js.

proceduralearth's People

Contributors

mifanbang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.