Jump to content
  • Advertisement
  • entries
  • comments
  • views

Planet engine integration (cont.)

Sign in to follow this  


I haven't posted any screenie for a while, because i don't have new "visual" things to show.. but here is a new one:

(Sorry, i forgot to turn on antialiasing when i took it).

Since i'm debugging the terrain engine, clouds are missing (ah! at least you can see the terrain and the atmosphere shading).

If you look closely, you'll see on the bottom right two chains of mountains that repeat. These are the experimental "DEMs" spawned randomly on the planet (in empty, flat areas). They won't be that close in the final algorithm, of course.

I fixed many bugs today, including:
- some shader parameter tracker code, which didn't detect a change in a matrix. This caused the starfield to not appear at the correct place.. heh.
- some terrain patches that were incorrectly positionned during a single frame, just after they are generated. This was again caused by a shader parameter bug, which took at least a full frame to update (let's just say that the order of the operations was not correct).

Bugs/artefacts remaining in the terrain engine:
- some black pixels in the horizon, which are caused by the cracks between the planet's cube faces. The terrain engine is crack-proof within a same planet's face (approximately 10,000 km x 10,000 km), but not between two adjacent planet's faces.
- popping... lots. I've disabled the morphing coefficients right now for easier testing, but i have to re-enable them. This won't fix all the popping (what terrain engine can really be 100% popping-free ?), but it should make it unnoticeable to the majority of people.
- seams between terrain patches textures.. yeah, i still haven't fix that. The next big work IMO.

Next features to implement:
- atmosphere transparency (to see stars in the night area of the planet)
- surface detail textures
- clouds
Sign in to follow this  


Recommended Comments

Sweet - pretty pictars! Or pictar. Whatever. I come here for the pics, so good thing you posted one cause otherwise I may have gotten irate. Heads would have rolled

Share this comment

Link to comment
Ooops.. must remember that. A head might be helpful to continue working, and i have a sentimental attachment to mine.

Share this comment

Link to comment
Would it be possible to see a wireframe shot of this scene? How are you managing to achieve such great resolution on the terrain? It looks awesome.

Edit: I read your texture generation info on page 2, but wasn't quite able to make sense of it.

Share this comment

Link to comment
Would it be possible to see a wireframe shot of this scene? How are you managing to achieve such great resolution on the terrain? It looks awesome.

Share this comment

Link to comment
A wireframe shot wouldn't show anything special, at that distance it would basically just appear as a tesselated sphere.

As for the resolution of the terrain, are you speaking of the texture, or the heightfield ?

The "global" texture (as seen from space) in this shot is 1024^2^6 (a cube map). I'm planning to use 2048^2 at one point, but these are taking much longer to generate, so i stick to 1024^2 now. The "local" texturing at low altitude is done procedurally on the GPU. The two textures are blended together depending on the camera altitude. It's pretty hard to see the transition, since both are generated using the same algorithm.

The heightfield is a bit different: i also have a "global" heightfield (1024^2^6 too), but when i start to generate the higher frequencies, i use something similar to diamond-square, except using pseudo-random noise based on the planet coordinates, to always give back the same height. This system allows a good control over the features (continents, mountains, etc.. ) while all the little details (lower than the km level) are added procedurally.

Share this comment

Link to comment
Guest Anonymous Poster


Amazing looking screenshot...keep it up.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!