This article's documentation is for anything that uses the Source engine. Click here for more information.

$subd: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Not in orange box branch)
 
Line 3: Line 3:
[[File:SubD_Sphere_High.jpg|thumb|right|200px|Same model, utilizing '''<code>$subd</code>''' and <code>mat_tessellationlevel 16</code>.<br>Click the image to expand it.]]
[[File:SubD_Sphere_High.jpg|thumb|right|200px|Same model, utilizing '''<code>$subd</code>''' and <code>mat_tessellationlevel 16</code>.<br>Click the image to expand it.]]


{{This is a|QC command|name=$subd}} It is used to mark a model to be tessellated in run-time. This can be used to make models appear smoother than they actually are.
{{This is a|QC command|name=$subd|since=Alien Swarm}} It is used to mark a model to be tessellated in run-time. This can be used to make models appear smoother than they actually are.


It also is needed to make [[$displacementmap]] work.
It also is needed to make [[$displacementmap]] work.

Latest revision as of 10:07, 11 November 2025

An example of a low-poly sphere.
Same model, utilizing $subd and mat_tessellationlevel 16.
Click the image to expand it.

$subd is a QC command available in all Source Source games since Alien Swarm Alien Swarm. It is used to mark a model to be tessellated in run-time. This can be used to make models appear smoother than they actually are.

It also is needed to make $displacementmap work.

Tip.pngTip:The smoothness can be adjusted using the console variable mat_tessellationlevel <1-16>, with higher values rendering more polygons.
Tip.pngTip:It works only in Alien Swarm and Source Filmmaker.
Confirm:Works in games other than Alien Swarm and Source Filmmaker?
Warning.pngWarning:Studiomdl will crash if any triangles are present in the model. $subd only works with quads and n-gons with more than 3 edges. This effectively makes the SMD format unusable, meaning you have to use the DMX format, as SMD only supports triangles. The SMD format can still be used for animations, though.

Syntax

$subd
Icon-Important.pngImportant: $subd must be stated before the $model or $body you want to apply it to

Example

$modelname		"example/subdivision.mdl"
$cdmaterials		"example/subdivision"
$subd
$body		test	"subdivison.dmx"
$sequence	idle	"subdivision_idle.smd"