Alphatexture: Difference between revisions
Jump to navigation
Jump to search
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.
SirYodaJedi (talk | contribs) No edit summary |
SirYodaJedi (talk | contribs) No edit summary |
||
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. | ||
{{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.}} | ||
Line 20: | Line 13: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Potential usecases == | |||
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, and $basetexture won't be used as the [[diffuse]] | |||
* If a shader such as Wireframe is used, as $basetexture will not be present | |||
* When $alpha is used |
Revision as of 14:45, 20 March 2025
%alphatexture
is an internal material shader parameter available in 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.

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"
}
Potential usecases
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, and $basetexture won't be used as the diffuse
- If a shader such as Wireframe is used, as $basetexture will not be present
- When $alpha is used