Alphatexture: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(List of use cases, from the gmod request)
Line 1: Line 1:
{{this is a|shader parameter|internal=1<!--is there a better way to do this?-->|name=%alphatexture|game=Garry's Mod}}
{{this is a|shader parameter|internal=1<!--is there a better way to do this?-->|name=%alphatexture|game=Garry's Mod}}
Used on [[static prop]]s when the prop is flagged for [[texture shadows]] and compiling [[VRAD]] with {{code|-textureshadows}}. The alpha channel of the specified VTF will be used instead of {{ent|$basetexture}}, even if {{ent|$alphatest}} and {{ent|$translucent}} are absent.
Used on [[static prop]]s when the prop is flagged for [[texture shadows]] and compiling [[VRAD]] with {{code|-textureshadows}}. The alpha channel of the specified VTF will be used instead of {{ent|$basetexture}}, even if {{ent|$alphatest}} and {{ent|$translucent}} are absent.
This parameter can be useful in certain niche instances:
* When $detailblendmode 4 is used, as the shadows would then make more sense to be cast from $detail
* When $additive is used, as no alpha channel will be present and neither $translucent nor $alphatest are used
* When a shader such as Refract is used, as no alpha channel will be present and neither $translucent nor $alphatest are used
* If a shader such as Wireframe is used, as $basetexture will not be present
* When $alpha is used


{{note|As this parameter is only used by VRAD, the VTF mentioned does not need to be shipped with the map if it is unused elsewhere.}}
{{note|As this parameter is only used by VRAD, the VTF mentioned does not need to be shipped with the map if it is unused elsewhere.}}

Revision as of 08:18, 20 March 2025

%alphatexture is an internal material shader parameter available in Garry's Mod Garry's Mod. Used on static props when the prop is flagged for texture shadows and compiling VRAD with -textureshadows. The alpha channel of the specified VTF will be used instead of $basetexture, even if $alphatest and $translucent are absent.

This parameter can be useful in certain niche instances:

  • When $detailblendmode 4 is used, as the shadows would then make more sense to be cast from $detail
  • When $additive is used, as no alpha channel will be present and neither $translucent nor $alphatest are used
  • When a shader such as Refract is used, as no alpha channel will be present and neither $translucent nor $alphatest are used
  • If a shader such as Wireframe is used, as $basetexture will not be present
  • When $alpha is used
Note.pngNote:As this parameter is only used by VRAD, the VTF mentioned does not need to be shipped with the map if it is unused elsewhere.
Todo: Implementing in custom VRAD; see GitHub commit which was used in gmod feature request.

Syntax

"VertexLitGeneric"
{
    $basetexture "models/props_custom/myprop_base"
    %alphatexture "models/props_custom/myprop_alpha"
}