Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 

 Home / 3D Theory & Graphics / SkyMapping Account Manager
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
LittlePuzzled

July 29, 1999, 05:14 PM

I want to add skymapping to my 3d engine. First I tried putting an image in the
background that moves left and right as you turn left and right. This however looks like
crap when you look up and then turn. Then I tried making a huge plane with the image
as it's texture and putting that overhead the main character. This also doesn't look
that good. first of all the linear fogging I have set up makes it look bad in the first
place, but i just don't like how it looks overall. What is a good way to do skymapping
then? In C/C++, because I can't read assembly for my life and a lot of skymapping
code seems to be written in that. If you've ever seen Starsiege Tribes, I want sky like
that!!!

 
Raven

July 30, 1999, 11:02 AM

>> I want to add skymapping to my 3d engine. First I tried putting an image in the
>> background that moves left and right as you turn left and right. This however looks like
>> crap when you look up and then turn. Then I tried making a huge plane with the image
>> as it's texture and putting that overhead the main character. This also doesn't look
>> that good. first of all the linear fogging I have set up makes it look bad in the first
>> place, but i just don't like how it looks overall. What is a good way to do skymapping
>> then? In C/C++, because I can't read assembly for my life and a lot of skymapping
>> code seems to be written in that. If you've ever seen Starsiege Tribes, I want sky like
>> that!!!

The usual way to do sky is to put a box(like a bounding box for the entire world) and use seamless texturemaps for each side. If you are hardware-bound however your maximum resolution for textures could very well be 256x256(3dfx). This looks like a pixel soup(bilinear filtered!:) when mapped to a really big poly, probably what you were getting. 2 ways around this. Way 1: tesselate each side of the box into more squares and specify a texturemap for each one. This way you will increase your skybox resolution. I haven't played starsiege tribes, but if you've seen Unreal they do the same thing, i think, though i wouldn't know:( Or there is the more "contemporary" way, ie a skysphere. A sky-hemisphere actually. Make a bounding hemisphere for the world(ie a radius and a normal, starts at (0,0,0) usually), tesselate it and apply texturemaps to it. How many maps thats up to you. The beauty of this is that you can tesselate it to a resolution high enough so that you can light it with a dynamic light through gouraud shading, and you can have a sun going through your sky like in LithTech2 or Crystal Space. That looks nice. Another thing you can do is multiple levels of sky. Say at the back you got stars that are not affected by any light, then you got your lightsource(sun) and then the clouds etc. That also looks nice. The intro level in Unreal uses that. Just type ghost in the consoloe and go really high up to see how epic did it.

Hope this helps,
- Raven

 
Luke

July 30, 1999, 11:13 AM



LittlePuzzled wrote:
>>I want to add skymapping to my 3d engine. First I tried putting an image in the
>>background that moves left and right as you turn left and right. This however looks like
>>crap when you look up and then turn. Then I tried making a huge plane with the image
>>as it's texture and putting that overhead the main character. This also doesn't look
>>that good. first of all the linear fogging I have set up makes it look bad in the first
>>place, but i just don't like how it looks overall. What is a good way to do skymapping
>>then? In C/C++, because I can't read assembly for my life and a lot of skymapping
>>code seems to be written in that. If you've ever seen Starsiege Tribes, I want sky like
>>that!!!

Sky boxes. With this method you have 6 textures (top, bottom, north, south, east, west) that match at their edges, and when mapped onto a large box, make it look like a large outdoor scene. This is the way quake 2 skies work. When rendering, you can just rotate the box the same amount you do to the world, except you never perform any translation on the box. This looks good, and is generally fast. The only hard part is generating the textures so that they look good when mapped on the box. Make the coords of the box the size of the textures and center it on the origin.

Another similar way to do it is build a dome and map a texture to it. Same rules apply when viewing it as the sky box.

I also think the Tribes sky is very nice, and may use the sky box but I really don't know.
(but i think unreal sky is better... )

Hope this helps. =)
Luke

 
This thread contains 3 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.