Platinumoxicity on 6/7/2012 at 15:24
Am I alone in saying that the dark night skies in The Dark Project look really awesome compared to any night skies in any modern games? I mean, I've never seen skies rendered that way in any other game. The stars are actually single pixels of light, and it makes them really look like stars, as opposed to a texture of a starmap.
I think this type of skybox should be used more often in games. And in an improved way. To make certain stars look brighter or bigger, just use a bright shade in the star pixel. To make most of the stars dim and hard to see, move closer to the shade of the brightest part of the background sky. That's how I draw stars in my pixel art. I think the only way for stars in the sky to ever look realistic is that one star should never reach past a single pixel. Because in human vision, I don't think stars are even that big, meaning a "pixel" size. The night sky in TDP looks better than made other sky renderings precisely because the stars look real. Even though all the stars are the same pure white hue, the rest is just pitch black.
This is how I do it. The sky fades from black to blue towards the horizon, and the dimmest stars are a little more luminous than the brightest shade of the horizon. The brightest stars are pure white, there are a very few of them, and none of the stars are bigger than one pixel. How would something like this work in a game? I mean, if the graphics engine is rendering this, how would it make sure that it would look like this all the time? That the stars wouldn't flicker out of view when they are aligned between two pixels, or smear into looking like a texture when they aren't, or that they wouldn't appear to be moving all the time by constantly realigning themselves to reserve their own pixel piece on the screen?
Inline Image:
http://a0.vsoh.com/starrs.png
jermi on 7/7/2012 at 09:16
Didn't you just answer your own question? Single pixel stars are fine in still images (although a little dull and uninteresting), but for smooth movement there must be more than just one pixel. There is no way around that.
Platinumoxicity on 8/7/2012 at 12:56
I just noticed... the stars in the sky in the Tafferpatcher skies are actually individual objects. They are not a texture map. They are the same size no matter how much you zoom. Therefore someone made a conscious decision to make the angular size of the stars very big.
...and therefore, there exists a texture for the stars. Change the texture to have one single pixel of light, and presto. A sky that looks like a sky, and not a 2D set. I think that could be one optional feature in a future version.
And as I said, smaller or dimmer stars are not smaller objects in textures. With a pixel, you can't go smaller. So you need to go dimmer. A realistic pixel-based starfield has a lot of dim pixels, a smaller amount of brighter ones, and a few white ones.
jermi on 8/7/2012 at 18:15
The stars are 3x3 pixel polygons, which makes a lot of sense in terms of rendering and it's close to the smallest size you'd ever want to use. So I wouldn't call it very big, unless your screen is 640x480. On a full HD screen it looks pretty damn good.
That's how it always was, Tafferpatcher doesn't really have anything to do with it. t2skies, included in Tafferpatcher, simply increases the amount of stars and uses data from a real star catalog. Actually the original T2 stars were also drawn from a catalog but the magnitude to brightness mapping was terrible.
Regardless, no display device that I'm aware of is able to render a realistic starry sky, so let's refrain from using the word "realistic" in this discussion anymore. Please. :)
Platinumoxicity on 9/7/2012 at 06:45
Quote Posted by jermi
The stars are 3x3 pixel polygons, which makes a lot of sense in terms of rendering and it's close to the smallest size you'd ever want to use. So I wouldn't call it very big, unless your screen is 640x480. On a full HD screen it looks pretty damn good.
Regardless, no display device that I'm aware of is able to render a realistic starry sky, so let's refrain from using the word "realistic" in this discussion anymore. Please. :)
Firstly, how can polygon sizes be determined by pixels, and what keeps one from making it a 1x1 pixel size instead? Secondly, if display devices can't render single pixel objects, what on earth is rendering the single-pixel stars in TDP if not the display device? :cheeky:
jermi on 9/7/2012 at 18:06
We've completely hijacked the thread.
The way it works in the Dark engine is that the view transform gives the screen coordinates of the center of a star (x, y) and then IIRC a (
http://en.wikipedia.org/wiki/Triangle_fan) triangle fan is drawn with the vertex list [(x-1.5, y-1.5), (x+1.5, y-1.5), (x+1.5, y+1.5), (x-1.5, y+1.5)].
Nothing prevents one from making the polygon smaller (or larger), but the smaller you make it, the worse it looks, due to aliasing effects.
Quote Posted by Platinumoxicity
if display devices can't render single pixel objects
What I meant was that display devices do not have the dynamic range of real stars as seen by the naked eye. Also, pixels tend to look like squares, so multiple pixels are needed to make stars look less like squares.