Core (shader): Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
Note:In order for this shader to work properly, it must be used with a 
Note:This shader does not exist in engine branches after the Orange Box.
		
	
Thunder4ik (talk | contribs) m (→top: Unicodifying, replaced: [[Image: → [[File:)  | 
				m (minor fixes)  | 
				||
| Line 7: | Line 7: | ||
==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 <code>$corecolortexture</code> determines the translucency of the core.}}  | {{MatParam|$corecolortexture|texture|The texture to use for the colors that get dynamically modified by the shader. The alpha channel of the <code>$corecolortexture</code> determines the translucency of the core.}}  | ||
{{MatParam|$corecolortextureframe|  | {{MatParam|$corecolortextureframe|integer|The frame to start an animated <code>$corecolortexture</code> 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}}  | ||
| Line 13: | Line 13: | ||
{{MatParam|$bumptransform|matrix|Transforms the bump map texture.  | {{MatParam|$bumptransform|matrix|Transforms the bump map texture.  | ||
{{VMT UVtransform}}}}  | {{VMT UVtransform}}}}  | ||
{{MatParam|  | {{MatParam|$envmap|texture|Adds a cubemap reflection on top of the refraction.  | ||
: {{note|Specular reflections for this shader will be drawn even if <code>mat_specular</code> is set to 0.}}}}  | : {{note|Specular reflections for this shader will be drawn even if <code>mat_specular</code> 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.}}  | ||
| Line 21: | Line 21: | ||
{{MatParam|$refractamount|float|Controls the strength of the refraction by multiplying the normal map intensity.}}  | {{MatParam|$refractamount|float|Controls the strength of the refraction by multiplying the normal map intensity.}}  | ||
{{MatParam|$refracttint|RGB matrix|Tints the color of the refraction.}}  | {{MatParam|$refracttint|RGB matrix|Tints the color of the refraction.}}  | ||
{{MatParam  | {{MatParam|$flowmap|texture|Flowmap to scroll the normal map, which affects the refraction.}}  | ||
{{MatParam|$flowmapframe|int|The frame to start an animated flowmap on.}}  | {{MatParam|$flowmapframe|int|The frame to start an animated flowmap on.}}  | ||
{{MatParam|$flowmapscrollrate|vector2|The rate at which the normal map scrolls along the flowmap.}}  | {{MatParam|$flowmapscrollrate|vector2|The rate at which the normal map scrolls along the flowmap.}}  | ||
Revision as of 08:38, 9 July 2024
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.
prop_coreball at the position of (2688,12139,5170). This value is hardcoded into the shader.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 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
		}
	}
}