Shader_1337_Skybox



 

Skyboxes in the Quake 3 Engine

Skyboxes in the Quake 3 Engine consist of several types.

 

Necessary materials

 

Seamless tiling image

 

Because of the skybox nature we need a high-res tiling image of a sky. This means that the image itself should not be obviously tiling and thus repeating distinct marks are not desired. Obvious tiling comes from distinct features like a nebula or particulary easily distinguishable star.

 

Example can be viewed here

 

Resize your source image to 1024x1024 and save it as sky_clouds.tga

 

Sometimes a sky_mask.tga is included for further manipulation. It looks like this

 

Env images

 

These 6 images decide the landscape. In a starscape they should be 8x8 pixel .tga consisting of the color you want the lower half of the skybox to be viewed as. They are all the same colour and should be located in textures/MAPNAME/env.

 

Shader

You will also need to add a shader in your MAPNAME.shader for it to operate correctly.

 

 

Stationary Shader

The following makes a stationary shader with a red sunlight coming in under an angle.

 

textures/MAPNAME/sky

{

skyparms textures/MAPNAME/env/sky 1024 -

q3map_lightImage textures/MAPNAME/sky_clouds.tga

 

//*** VARIABLES START ***

q3map_sunExt 200 80 30 80 20 55 2 12

q3map_lightmapFilterRadius 0 8

q3map_skyLight 70 3

q3map_sun 200 80 30 80 20 55

//*** VARIABLES END ***

 

surfaceparm sky

surfaceparm noimpact

surfaceparm nolightmap

surfaceparm nodlight

 

nopicmip

nomipmaps

 

qer_editorimage textures/MAPNAME/sky_clouds.tga

{

map textures/MAPNAME/sky_clouds.tga

rgbGen identityLighting

}

}

 

Moving shader (original Ydnar's 1337 shader tutorial)

Used [http://i2.photobucket.com/albums/y50/Drietand/Q3Wtower/sky_clouds.jpg>|this image] originally. Creates a moving cloudsky. Using another image would make that image scroll by, so might be usefull for a drifting spaceship.

 

textures/MAPNAME/sky

{

qer_editorimage textures/MAPNAME/sky_clouds.tga

 

q3map_lightImage textures/MAPNAME/sky_clouds.tga

 

// light values tuned for -gamma 2 -compensate 4

q3map_sunExt 1 1 1 400 -30 45 2 12

q3map_skyLight 75 3

 

surfaceparm sky

surfaceparm noimpact

surfaceparm nolightmap

q3map_sun 3 2 2 70 315 65

q3map_surfacelight 75

skyparms - 512 -

 

skyparms textures/MAPNAME/env/sky 1337 -

 

nopicmip

 

{

map textures/MAPNAME/sky_clouds.tga

tcMod scroll 0.0025 -0.0075

rgbGen identityLighting

}

{

map textures/MAPNAME/sky_mask.tga

blendFunc GL_ONE_MINUS_SRC_ALPHA GL_SRC_ALPHA

tcMod transform 0.25 0 0 0.25 0.1075 0.1075

rgbGen identityLighting

}

}

 

Usage

Load up your textureset and apply the shader named 'sky' to all brushes you intend to be viewed as such.