Sky (Source 1 shader): Difference between revisions
ReverendV92 (talk | contribs) mNo edit summary |
SirYodaJedi (talk | contribs) (Flag for cleanup; still deciding how to do so. Also change LDR to SDR, as per industry standard.) |
||
Line 1: | Line 1: | ||
{{cleanup|This article misrepresents the difference between {{code|$hdrbasetexture}} and {{code|$hdrcompressedtexture}}; {{code|$hdrbasetexture}} is used both if there is only an SDR texture , '''and''' if the HDR texture does not use [[VTF#HDR compression|compressed HDR]]. This page should be reworded accordingly; see the page on [[HDR Skybox Creation]].}} | |||
'''Sky''' is a shader for materials in [[Source]] meant for [[Skybox_(2D)|2D skyboxes]]. The old method of making skyboxes before [[Source 2007]] involved using the [[UnlitGeneric]] shader with <code>[[$ignorez|$ignorez 1]]</code>. This shader expands the amount of usable parameters and also allows for [[HDR]] skyboxes. | '''Sky''' is a shader for materials in [[Source]] meant for [[Skybox_(2D)|2D skyboxes]]. The old method of making skyboxes before [[Source 2007]] involved using the [[UnlitGeneric]] shader with <code>[[$ignorez|$ignorez 1]]</code>. This shader expands the amount of usable parameters and also allows for [[HDR]] skyboxes. | ||
=== With an HDR Compressed Skybox Texture === | === With an HDR Compressed Skybox Texture === | ||
Most of the time, VMTs should only exist for [[High Dynamic Range|HDR]] skyboxes that have an | Most of the time, VMTs should only exist for [[High Dynamic Range|HDR]] skyboxes that have an SDR fallback. An example of an HDR skybox with a fallback will look like this: | ||
<source lang=vmt> | <source lang=vmt> | ||
sky | sky | ||
{ | { | ||
$basetexture skybox/sky_wasteland_00up // Sky texture to use for | $basetexture skybox/sky_wasteland_00up // Sky texture to use for SDR | ||
$hdrcompressedtexture skybox/sky_wasteland_00_hdrup // HDR-compressed Sky texture to use for HDR-enabled maps | $hdrcompressedtexture skybox/sky_wasteland_00_hdrup // HDR-compressed Sky texture to use for HDR-enabled maps | ||
$nofog 1 | $nofog 1 | ||
Line 23: | Line 24: | ||
sky | sky | ||
{ | { | ||
$basetexture skybox/sky_wasteland_00up // Sky texture to use for | $basetexture skybox/sky_wasteland_00up // Sky texture to use for SDR | ||
$hdrbasetexture skybox/sky_wasteland_00up // Sky texture to use for HDR, if the texture has NOT been specifically compiled for HDR | $hdrbasetexture skybox/sky_wasteland_00up // Sky texture to use for HDR, if the texture has NOT been specifically compiled for HDR | ||
$nofog 1 | $nofog 1 |
Revision as of 12:09, 13 December 2022

Sky is a shader for materials in Source meant for 2D skyboxes. The old method of making skyboxes before Source 2007 involved using the UnlitGeneric shader with $ignorez 1
. This shader expands the amount of usable parameters and also allows for HDR skyboxes.
With an HDR Compressed Skybox Texture
Most of the time, VMTs should only exist for HDR skyboxes that have an SDR fallback. An example of an HDR skybox with a fallback will look like this:
sky
{
$basetexture skybox/sky_wasteland_00up // Sky texture to use for SDR
$hdrcompressedtexture skybox/sky_wasteland_00_hdrup // HDR-compressed Sky texture to use for HDR-enabled maps
$nofog 1
$ignorez 1
$nomip 1
}
Without an HDR Compressed Skybox Texture
When an HDR skybox is needed for a texture that has not been compiled for HDR, an alternative command is used instead of $hdrcompressedtexture: $hdrbasetexture.
sky
{
$basetexture skybox/sky_wasteland_00up // Sky texture to use for SDR
$hdrbasetexture skybox/sky_wasteland_00up // Sky texture to use for HDR, if the texture has NOT been specifically compiled for HDR
$nofog 1
$ignorez 1
$nomip 1
}
Issues
You might find that skyboxes sometimes fit the entire projection area of a level. To re-scale the material to fit, use $basetexturetransform or add the following line:
$basetexturetransform "center 0 0 scale 1 2 rotate 0 translate 0 0" // For cutting off the bottom halves of the skybox
The scale 1 2
segment will maintain the fill-sizing of the X-axis, while locking the texture to the center line of the Y-axis (i.e. the absolute horizon line).