Sunday, March 4, 2007

Some More Screenshots

Looks like I'll be grinding out the Economy design for the rest of my time on the project this weekend. I've had, so far, just a rough outline - a few enums for commodities and building types and some skeletal classes. Only enough to support operations in a highly abstract manner. In order to continue, this stuff will need to be fully specified. That's going to take a while.
Thought I'd post a couple earlier screen shots

Here's a ringed gas giant and a couple of its moons.

Both ring and planet are rendered from a 512x256 noise texture I keep around for all sorts of uses. Each planet gets a "TerrainSeed" during generation and that value is used to select a column from the noise. The texture v runs from 0 at the north pole to 1 at the south pole. Then its a straight 2D texture lookup in the shader.

The rings work on the same principle but the tv goes from 0 at the inner edge to 1 at the outer edge. The vertices for the ring are built as a list of degenerate trianlges, with all vertices packed in at a radius of 1 unit. Then I use their tv to scale the positions in the shader based on the inner and outer ring radii for the planet.

Or at least that's how its supposed to work. In fact, something in the bowels of the XNA framework is messing up my texture coords after I load the vertices into the Vertex Buffer. By the time they arrive at the shader, they've been remapped to a standard tu/tv layout. Have no idea what's doing that. So I've hacked in some different handling for the time being. It requires a bunch of length calculations so its a lot lesss efficient than it could be.
I blend the inner and outer edges of the ring down to black. I was going to alpha blend but I kind of like that opaque black edges. Sort of a cartoonish rendering style. I'm going to leave it alone for the time being and see how I can integrate that sort of thing into my overall aesthetic.

This is a long shot of a solar system. It gives a pretty good impression of scales. This particular image I took a while ago and I've since reduced the size of stars by about a third.

So that sphere represents the entire volume that will be occupied by the star's rendering. The empty space I created when I shrunk the sphere will be occupied by some sort of corona. Might do it with a blur, or maybe with some sort of particles. The surface itself will get an animated turbulence.

All the specs in the background are stars and and planets in other solar systems. I wasn't doing any sort of culling when I took this image and so the smaller planets also show. I've since added a simple distance cull on non-gas giant planets. Its a rather stark scene - I need to come up with a livlier deepspace background as a skybox of some sort.




No comments: