(click to enlarge)
Just a minor update – I’ve added billboard sprites to the mix where as before I was just using point sprites. I also added an extra line to the noise shader like this:
noiseSum = pow(noiseSum / powerAmount);
This allows me to control the slope of the noise gradient so it is more steep or more gradual, which is something I needed for masks.
The image above really taxes my system (3-4 fps). It has 12 layers: one ridged noise mask for the brightest stars, then another for the middle level of stars and then two more ridged noise haze layers and the rest are mixes of billboard and point stars.
For kicks I threw the generated skybox into the planet app and it’s definitely a bit over the top and low-res/blurry. Still it is “fun”
(click images to enlarge)
As usual, I uploaded these images and more to the My First Planet gallery.
I re-implemented writeToFile() in the plugin so I can save to files. I also added a writeToMaterial() function to the plugin so I can preview the skybox in ogre.
One thing I’ve noticed is that the resolution of skybox really affects the brightness of small stars. When I save a 2048×2048 skybox out the single pixel point stars are crisp, but get lost when imported into a program with a low screen resolution. So you kinda have to take that into account when making the skyboxes. It might look great at the resolution on your monitor, but not at the resolution on someone else’s monitor. This is where the writeToMaterial() function will be useful so you can preview the skybox at different resolutions to see if it works OK at low resolutions.
I might mess with the mipmap generation for lower levels so that stars don’t loose their brightness as quickly when the high resolution image is scaled down.
Here’s a sample generated skybox (click for 1024×1024 version – open in new window):
right
left
top
bottom
front
back
And here’s a funny little screenshot of what a skybox layered sphere looks like from the outside (not the same as the one above):