VortWarp: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (added more things on the todo)
m (flashlight flicker note, and $warpparam value range clarification)
Line 1: Line 1:
This is the shader used on the vortigaunts in the intro sequence in [[Half-Life 2: Episode One]].  It blends a [[Water_(shader)#Authoring_a_flow_map|Flowmap]] with a illumination mask, and creates a similar effect to how water uses Flowmaps in newer engine branches.  The shader can be both used on brushes and models.
This is the shader used on the vortigaunts in the intro sequence in [[Half-Life 2: Episode One]].  It blends a [[Water_(shader)#Authoring_a_flow_map|Flowmap]] with a illumination mask, and creates a similar effect to how water uses Flowmaps in newer engine branches.  The shader can be both used on brushes and models.
{{bug|Acts weirdly when lit by flashlight.}}


== Shader parameters ==
== Shader parameters ==
Line 14: Line 16:


; <code>$warpparam <[[float]]></code>
; <code>$warpparam <[[float]]></code>
: Warping amount toward the specified $entityorigin. 1.0 leaves the model unaffected, lower values squish more, while 0.0 makes it practically invisible.
: Warping amount toward the specified $entityorigin. 1.0 leaves the model unaffected, lower values squish more, while 0.0 makes it practically invisible. Does not accept values outside of that range.
; <code>$selfillummap <[[texture]]></code>
; <code>$selfillummap <[[texture]]></code>
: A [[Glowing_Textures#.24selfillum_textures|$selfillummask]] to blend with the Flowmap.
: A [[Glowing_Textures#.24selfillum_textures|$selfillummask]] to blend with the Flowmap.

Revision as of 20:50, 4 February 2019

This is the shader used on the vortigaunts in the intro sequence in Half-Life 2: Episode One. It blends a Flowmap with a illumination mask, and creates a similar effect to how water uses Flowmaps in newer engine branches. The shader can be both used on brushes and models.

Icon-Bug.pngBug:Acts weirdly when lit by flashlight.  [todo tested in ?]

Shader parameters

$unlit <bool>
Whether or not the material should be lit.
$flowmap <texture>
Flowmap to use.
$entityorigin <vector>
The point which the model will be squished to. The entire model will try to be squished into that point. If unspecified becomes the world origin by default, "[0 0 0]".
Todo: Test on brushes more. Test on world brushes, and on entity brushes. Do entities (ex. prop_static) and brushes have their $entityorigin centered by default, or again defaults to world origin?
$warpparam <float>
Warping amount toward the specified $entityorigin. 1.0 leaves the model unaffected, lower values squish more, while 0.0 makes it practically invisible. Does not accept values outside of that range.
$selfillummap <texture>
A $selfillummask to blend with the Flowmap.

Supported effects

Example

Example showing the minimal needed parameters in order to make the shader work.

VortWarp
{

	$basetexture	lights/white
	$flowmap	shadertest/cloud

	$selfillummap	shadertest/lump
	$selfillumtint	"{ 200 15 0 }"

	$warpparam	1.0

}

See also