Code Monkey home page Code Monkey logo

planetary-marching-cubes's Introduction

Planetary-Marching-Cubes

Developed originally for HelloPlanet

Planetary Marching Cubes (PMC) is an algorithm that allows the generation of a smooth sophisticated planet mesh.

alt text

When I am still an undergrad student, I have decided that my final year project would be a planet simulating game that could simulate a planet to the best of details for a game. Terrain is one of the key impactors to the simulation. River stems from mountains, plateaus may have a lower temperature and caves is where some animals like bats sleep. Very soon, I started to look into the method common for generating a planet. It seems that previous methods for generating planetary mesh mainly involve using a heightmap.

alt text

Although visually pleasant, the method does not permit the planet to contains features such as caves and cliffhangs. So, I look further in games like ECO. ECO uses a voxel engine to implement a Minecraft-like planet. It also looks very pleasant and allows the features such as caves and overhangs. But, the lack of smooth surfaces disturbs a perfectionist like me XD.

alt text

Using marching cubes is a good way to generate a mesh with smooth surfaces and complex features. However, if it is directly used for generating a planet, there will be sampling issues.

So, when I work on my FYP which I name HelloPlanet, I have taken a bit of time investigating on how to write an algorithm that could generate smooth planetary mesh with complex features like caves and overhangs. The result is what I call as Planetary Marching Cubes. Its results are shown below:

alt text

alt text

A technical paper has been written for PMC and will be submitted soon. You will be able to find the details there! The education paper on utilizing PMC for game-based learning could be found here. Likewise, the PMC code will be released soon as well.

You can give HelloPlanet, and therefore PMC a try, by downloading HelloPlanet's EXE (64bits windows only) below:

HelloPlanet EXE - Normal Version VR Version

HelloPlanet Video - Concept Video VR Demo Video

The EXEs above is only for trial only and is not part of the PMC open source project :)

planetary-marching-cubes's People

Contributors

zackarysin 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.