MyFirstPlanet.com

MyFirstPlanet Mesh
url:
coming soon
my role:
everything (for now)
tags:
Ogre 3D, OpenGL, DirectX, HLSL, Visual Studio, XCode
image gallery
YouTube channel


Planet With Shadows, Atmosphere, Shadows and Animated Water

Planet near edge of space in the sunset zone.

Planet from far away.

Planet shading with atmosphere haze.

For the longest time I've wanted to create a multiplayer game that focused on creativity and fun, where you could manipulate the environment in a fun way like Little Big Planet or Spore. I am also a huge fan of Ysaneya's work on Infinity, quest for earth and Sean O'Neil's work on his real time procedural universe. They've really pioneered the whole quad tree planet idea and proven that we can create an entire universe of planets for users to explore and play in. I want to take the quad tree planet and make it accessible on all major platforms (Windows, OSX, Linux) on both DirectX and OpenGL and use it as the environment for my multiplayer game.

My First Planet - Work In Progress - Ogre3d Engine from petrocket on Vimeo.

I've chosen the Ogre 3D engine because it provides a graphics api that is a layer above DirectX and OpenGL and it runs on most major platforms. Ogre 3D is also an open source engine and is very versatile. Fortunately, I'm not the only one attempting the quad tree planet on Ogre 3D and between guys like HexiDave and Sean O'Neil, I've had enough code and information to get started.

My current implementation uses Sean O'Neils chunked quad tree approach with cube to sphere mapping. The actual mesh object is based on HexiDave's OgrePlanet code - it overrides Renderable. Each patch has its' own vertex buffer, and has a pointer to one of 16 index buffers (there are 16 possible index orders). For project updates, check out http://petrocket.blogspot.com.

Below is some older video showing some normal blending experiments.

Ogre 3D Vertex Normal Blending from petrocket on Vimeo.