Core (shader): Difference between revisions
Jump to navigation
Jump to search

Important:In order for this shader to work properly, it must be used with a prop_coreball at the position of (2688,12139,5170). This value is hardcoded into the shader.
Note:This shader does not exist in engine branches after the Orange Box.
m (minor fixes) |
Le Glaconus (talk | contribs) (formatting) |
||
| Line 1: | Line 1: | ||
{{ | {{languageBar}} | ||
[[File:Citadel_core_shader.jpg|thumb|right|200px|The Citadel Core, which uses this shader.]] | [[File:Citadel_core_shader.jpg|thumb|right|200px|The Citadel Core, which uses this shader.]] | ||
{{this is a|pixel shader|name=Core|since=Half-Life 2: Episode One}} It is used to create a unstable, reflecting and refracting core of energy, used exclusively for the Core reactor in the Citadel in Episode One. | {{this is a|pixel shader|name=Core|since=Half-Life 2: Episode One}} It is used to create a unstable, reflecting and refracting core of energy, used exclusively for the Core reactor in the Citadel in Episode One. | ||
{{ | {{important|In order for this shader to work properly, it must be used with a {{ent|prop_coreball}} at the position of ({{mono|2688,12139,5170}}). This value is hardcoded into the shader.}} | ||
{{note|This shader does not exist in engine branches after the [[Orange Box]].}} | {{note|This shader does not exist in engine branches after the [[Orange Box]].}} | ||
==Shader Parameters== | ==Shader Parameters== | ||
{{MatParam|$corecolortexture|texture|The texture to use for the colors that get dynamically modified by the shader. The alpha channel of the | {{MatParam|$corecolortexture|texture|The texture to use for the colors that get dynamically modified by the shader. The alpha channel of the {{code|$corecolortexture}} determines the translucency of the core.}} | ||
{{MatParam|$corecolortextureframe|integer|The frame to start an animated | {{MatParam|$corecolortextureframe|integer|The frame to start an animated {{code|$corecolortexture}} on.}} | ||
{{MatParam|$normalmap|texture}} | {{MatParam|$normalmap|texture}} | ||
{{MatParam|$dudvmap|texture|The pattern of refraction is defined by a normal map (DX9+) or DUDV map (DX8-). May be animated.|dx8=1}} | {{MatParam|$dudvmap|texture|The pattern of refraction is defined by a normal map (DX9+) or DUDV map (DX8-). May be animated.|dx8=1}} | ||
{{MatParam|$bumpframe|int|The frame to start an animated bumpmap on. {{ | {{MatParam|$bumpframe|int|The frame to start an animated bumpmap on. {{todo|This may not work with the proxy required for the effect.}}}} | ||
{{MatParam|$bumptransform|matrix|Transforms the bump map texture. | {{MatParam|$bumptransform|matrix|Transforms the bump map texture. | ||
{{VMT UVtransform}}}} | {{VMT UVtransform}}}} | ||
{{MatParam|$envmap|texture|Adds a cubemap reflection on top of the refraction. | {{MatParam|$envmap|texture|Adds a cubemap reflection on top of the refraction. | ||
: {{note|Specular reflections for this shader will be drawn even if | : {{note|Specular reflections for this shader will be drawn even if {{cmd|mat_specular}} is set to 0.}}}} | ||
{{MatParam|$envmapframe|int|The frame to start an animated cubemap on.}} | {{MatParam|$envmapframe|int|The frame to start an animated cubemap on.}} | ||
{{MatParam|$envmaptint|RGB matrix|Controls the intensity of the reflection's [[RGB|red, green and blue]] color channels. Any positive number can be used. Default is | {{MatParam|$envmaptint|RGB matrix|Controls the intensity of the reflection's [[RGB|red, green and blue]] color channels. Any positive number can be used. Default is {{code|"[1 1 1]"}}, which means 100% intensity. {{note|You ''must'' use quotemarks, as there are space characters within the value.}}}} | ||
{{MatParam|$envmapcontrast|normal|Controls the [[Wikipedia:Contrast (vision)|contrast]] of the reflection. 0 is natural contrast, while 1 is the full squaring of the color (i.e. color*color).}} | {{MatParam|$envmapcontrast|normal|Controls the [[Wikipedia:Contrast (vision)|contrast]] of the reflection. 0 is natural contrast, while 1 is the full squaring of the color (i.e. color*color).}} | ||
{{MatParam|$envmapsaturation|normal|Controls the colour saturation of the reflection. 0 is greyscale, while 1 is natural saturation.}} | {{MatParam|$envmapsaturation|normal|Controls the colour saturation of the reflection. 0 is greyscale, while 1 is natural saturation.}} | ||
| Line 27: | Line 27: | ||
==Example== | ==Example== | ||
The Core material used in | The Core material used in {{ep1|4}}, {{path|materials/models/props_combine/core_sheet|vmt|icon=file}} | ||
"Core" | "Core" | ||
Revision as of 08:24, 28 May 2025
Core is a Pixel shader available in all
Source games since
Half-Life 2: Episode One. It is used to create a unstable, reflecting and refracting core of energy, used exclusively for the Core reactor in the Citadel in Episode One.
Shader Parameters
$corecolortexture
$corecolortextureframe
$normalmap
$dudvmap
$bumpframe
$bumptransform
$envmap
$envmapframe
$envmaptint
$envmapcontrast
$envmapsaturation
$refractamount
$refracttint
$flowmap
$flowmapframe
$flowmapscrollrate
$flowmaptexcoordoffset
Example
The Core material used in
Half-Life 2: Episode One, ![]()
materials/models/props_combine/core_sheet.vmt
"Core"
{
"$normalmap" "Models/props_combine/core_normal"
"$dudvmap" "Models/props_combine/core_dudv"
"$corecolortexture" "models/props_combine/corewarpcolor"
"$flowmap" "models/props_combine/core_flow"
"$model" 1
"$REFRACTAmOUNT" "0.15"
"$FLOWMAPSCROLLRATE" "[.0475 .133]"
// "$envmap" "CustomCubeMaps/core"
"$envmap" "env_cubemap"
"$refracttint" "[0.7 0.7 0.6]"
"$envmaptint" "[0.8 0.6 0.6]"
"$FLOWMAPTEXCOORDOFFSET" "1.0"
"$TempMin" 0
"$TempMax" 1
"core_dx70"
{
"$fallbackmaterial" "models/props_combine/coredx70"
}
"core_dx80"
{
"$normalmap" "dev/water_normal"
"$dudvmap" "dev/water_dudv"
"$bumptransform" "center .5 .5 scale 5 5 rotate 0 translate 0 0"
"$envmapcontrast" "1.0"
}
"Proxies"
{
"Sine"
{
"resultVar" "$FLOWMAPTEXCOORDOFFSET"
"sineperiod" 4
"sinemin" "$TempMin"
"sinemax" "$TempMax"
}
"AnimatedTexture"
{
"animatedtexturevar" "$normalmap"
"animatedtextureframenumvar" "$bumpframe"
"animatedtextureframerate" 29.00
}
}
}