new background method

Started by
16 comments, last by yxyou 22 years, 7 months ago
I said SkyBox is moving forward and backward, because it really gives people such feeling, though not real moving, i know this. another words, the common SkyBox makes people feel the sky is not the same far from them as they look around.
I heard SkyBox could be use with predistorted texture, but never seen one. i haven''t found proper tools to make predistorted texture also.
I have read the one quad skybox paper in flipcode. i think the idea is similar, but mine is more advanced for it is fit for some kind of fly sim. i mean if the camera moves very high, common skybox can seem funny. but mine will not. it will need one texture, which can save the time for texture switching and the memory to store more texture. Is it still not clear?

zed''s suggestion is good, but couldn''t change the funny as he also said.

My method still have shortages, that''s why i am here discussing! If anyone want to try it, email me, i''ll send it to you to hear your advices. thank you!


Advertisement
heres how to get a distortion free skybox in terragen.
rendering control->camera settings->zoom magnification set this to 1.0.
generate a picture from all 6 directions and vola a distortion free skybox
Yeah, terragen kicks butt.
A skybox without predistorted textures looks *horrible*. If the textures a predistorted (better: pre-projected) the right way (perspective projection, camera angle 90 degrees, 1:1 ratio), then a skybox won''t show *any* artifacts. As I said above: you won''t notice anything ''strange'' about it. But your preprojections have to be very accurate, especially on the box corners to avoid visible ''lines''. Ofcourse the size and expecially the texture resolution will make a difference and has to match your preprojection.

About the sky seeming ''far'' or ''near'': This is an optical illusion. It depends on scale hints. A skybox is nothing but a light incidence environment texture, collecting the incident light over all directions from a single point. There is no scale in such a process. In order to give the human brain a hint that the sky is ''far away'' you need additional clues: large scale scene geometry, fog, moving clouds, stars, etc...

> personally i dont use a skybox cause it looks fake, hey ive been walking for hours yet those hills aint coming any closer!!

That''s why it''s called a ''skybox'' not a ''hills''n''buildings''n''whatever-else-box''

- AH
what i said is not scaling. not that simple!

A skybox moves with the player, and is drawn behind everything . Because it never moves in relation to the player, a skybox appears "infinitely distant" - which is what you normally want for a sky. Although it is true that clouds, etc, aren't really infinitely distant, in most games your movement is limited to a few square miles of space - if that much. For something of that scale, a skybox works just fine.

So I think I've helped to emphasize the point that a skybox is NOT just walls and a ceiling with sky textures on them, but an environment map (a point the last Anonymous Poster made).

A proper skybox consists of 6 (of 5, if you never see the bottom) pictures taken from the same point with 90 degree camera angles and 90 degree angles between the camera angles. So there's a shot straight up, due North, South, East, and West, and, if applicable, straight down. All the shots fit together correctly, and, because they have perspective, the composite formed by the skybox is completely geometrically accurate. It's the same concept behind the use of hemicubes in radiosity rendering - another thing which works just fine.

I admit a poorly done skybox looks horrible. But a poorly done skybox ISN'T a proper skybox. It's sides AREN'T 90-degree view angle perspective-correct images. And that's the problem. But if a skybox IS done correctly, there's nothing fake about it.

Nothing fake, that is, unless you're coding a flight sim or something similar in which you can move over hundreds of miles of ground. A standard skybox, as I mentioned before, moves with the viewer, and is thus infinitely distant. And, because of the small scale of player movement, any changes in screen position due to the influence of a lower of higher distance in perspective calculations is negligible - something that, if the sky were "real" would probably not even be enough to change the positions of the pixels on the screen. But, for extremely large-scale movement, I will admit they do have their limitations. But they are NOT the fake-looking things you make them out to be.

If you are making a flight sim and need a large-scale sky one option might be to make a "skysphere" surrounding the Earth for each of several altitudes, and interpolate between them. But that seems like overkill in almost all cases. I have trouble believing you're making something in which a standard properly-implemented skybox isn't enough.

But I'll assume for the moment that you are making something that requires something even better than a skybox. In that case, a more robust solution might be applicable, perhaps like the one I just posted.

It would be useful for this discussion - that is, assuming you really are posting here because you want advice and constructive criticism - if you were to actually explain your sky system, instead of simply providing links to source code. And, besides the fact that source code in and of itself generally isn't enough on a forum, your links don't even work. So just explain your algorithm so that we can actually have some useful discussions about it.

Edited by - TerranFury on September 8, 2001 8:29:50 PM
Well, I am not very sure if I could post the whole idea into the forum! It''s something my supervisor wanted to publish. But since I''ve said it needs only one texture, you can imagine a little.
Well, I am not very sure if I could post the whole idea into the forum! It''s something my supervisor wanted to publish. But since I''ve said it needs only one texture, you can imagine a little.

This topic is closed to new replies.

Advertisement