Vertexlitgeneric Shader Sheet

I figured I’ll release this here too I posted something like this long ago, here it is again except I have updated it to include asw csgo and sfm
VertexLitGeneric Sheet 2013



"VertexlitGeneric"
{
// VertexlitGeneric shader params Source2004-2013
// Supported Ver. HL2OB ASW L4D2 CSGO SFM
// Written by Cra0kalo
// http://cra0kalo.com

//**Input Types**
// texture_file - texture file (binary) (eg. Path to file "basetexture.vtf")
// int - whole number
// boolean - True or false; on or off
// vector/array - Can hold multiple values. Can be declared in many ways. Example: 3xFloat[1.0 0.5 2.0] (Usually just used for RGB values).


//  Albedo base texture with no baked lighting
	"$albedo" "models/cra0kalo/basetexture"

// 	Base diffuse texture
	"$basetexture" "models/cra0kalo/basetexture"
	
// 	Compression wrinklemap diffuse 
	"$compress"	"models/cra0kalo/basetexture"

// 	Expansion wrinklemap diffuse 
	"$stretch"	"models/cra0kalo/basetexture"
	
	// ------------------------------------
	// Bump Map and normal maps
	// ------------------------------------
	
// 	Bump map
	"$bumpmap"	"models/cra0kalo/basetexture"	
	"$bumpframe"	"0"
// Bump map has the specular map in the alpha channel
	"$normalmapalphaenvmapmask" 1	
	
//	Compression wrinklemap
	"$bumpcompress""models/cra0kalo/basetexture"	
	
// 	Expansion wrinklemap
	"$bumpstretch"	"models/cra0kalo/basetexture"
	
//	Frame number for $bumpmap
	"$bumpframe"	"0"	
	
//	Bumpmap texcoord transform	
	"$bumptransform"	"center .5 .5 scale 1 1 rotate 0 translate 0 0"	
	
	// ------------------------------------
	// Specular lighting and reflections
	// ------------------------------------
//	Reflection environment map 
	"$envmap"	"env_cubemap"		
	
// 	Reflection cubemap 
	"$envmap"	"models/cra0kalo/basetexture"
	"$envmapframe"	"0"
	
// Specular map (note that this does NOT work when using a bumpmap, instead place in the alpha of bump)
	"$envmapmask"	"models/cra0kalo/basetexture"
	"$envmapmaskframe"	"0"
	
// Specular texcoord transform		
	"$envmapmasktransform"	"center .5 .5 scale 1 1 rotate 0 translate 0 0"
	
// Specular tint
	"$envmaptint" "[1 1 1]"

// Specular contrast
	"$envmapcontrast"	"0"
	
// Specular saturation	
	"$envmapsaturation"	"1"
	
// Degree to which Fresnel should be applied to env map
	"$envmapfresnel"	"0"
	
// Use the alpha channel of the base texure as the Specular mask.
	"$basealphaenvmapmask"	"1"	
	
// Min/max fresnel range and exponent for vertexlitgeneric
	"$envmapFresnelMinMaxExp"	"[0.0 1.0 2.0]"	
	
// Changes the direction of reflections based on the normals of the model and the players view. For $basealphaenvmapmask.
	"$basealphaenvmapmaskminmaxexp"	"[1.0 0.0 1.0]"
	
	// ------------------------------------
	// Phong
	// ------------------------------------	
// Phong enabled?
	"$phong" "1"
	
// Phong exponent for local specular lights	
	"$phongexponent" "1"
	
// Phong tint for local specular lights
	"$phongtint" "[1 1 1]"
	
// Apply tint by albedo (controlled by spec exponent texture)
	"$phongalbedotint"	"1"
	
// Warp the specular term
	"$phongwarptexture"	"models/cra0kalo/basetexture"	
	
// Parameters for remapping fresnel output
	"$phongfresnelranges" "[0 0.5 1]"
	
// Phong overbrightening factor (specular mask channel should be authored to account for this)	
	"$phongboost"	"1"
	
// Phong albedo overbrightening factor (specular mask channel should be authored to account for this
	"$phongalbedoboost"	"1"	

// Forces Phong lighting, even at low GPU levels (Phong must already be enabled)
	"$forcephong"	"1"
	
// Phong Exponent map
	"$phongexponenttexture" "models/cra0kalo/basetexture"
	
// Indicates that there is no normal map and that the phong mask is in base alpha	
	"$basemapalphaphongmask"	"0"
	
// Invert the phong mask (0=full phong, 1=no phong)
	"$invertphongmask"	"0"
	
// Indicates that the base luminance should be used to mask phong
	"$basemapluminancephongmask"	"0"
	
// This is to allow phong materials to disable half lambert. Half lambert has always been forced on in phong,
// so the only safe way to allow artists to disable half lambert is to create this param that disables the
// default behavior of forcing half lambert on.
	"$phongdisablehalflambert"	"0"	//boolean
	
	// ------------------------------------
	// Rim lighting 
	// ------------------------------------		
// Rim enabled?
	"$rimlight" "1"	
	
// Exponent for rim lights	
	"$rimlightexponent" "4" 

// Boost for rim lights
	"$rimlightboost" "1" 
	
// Indicates whether or not to use alpha channel of exponent texture to mask the rim term
	"$rimmask" "1" 
	
	// ------------------------------------
	// Detail map
	// ------------------------------------			
// Detail texture
	"$detail" "models/cra0kalo/basetexture"
	"$detailframe" "0"	

// Scale of the detail texture
	"$detailscale" "4"		
	
// Mode for combining detail texture with base. 0=normal, 1= additive, 2=alpha blend detail over base, 3=crossfade
	"$detailblendmode" "2"
	
// Blend amount for detail texture	
	"$detailblendfactor" "1"
	
// Detail texture tint
	"$detailtint" "[1 1 1]"

// $detail texcoord transform
	"$detailtexturetransform"	"center .5 .5 scale 1 1 rotate 0 translate 0 0"	

	// ------------------------------------
	// Self-illumination 
	// ------------------------------------		
// Enabled?
	"$selfillum" "1"

// Self-illumination tint 
	"$selfillumtint" "[1 1 1]"

// Defines that self illum value comes from env map mask alpha
	"$selfillum_envmapmask_alpha" "0"

// Self illum fresnel
	"$selfillumfresnel" "1"
	
// Self illum fresnel min, max, exp
	"$selfIllumFresnelMinMaxExp" "[0 1.0 1.0]" // 0.0 1.0 1.0 is the default

// If we bind a texture here, it overrides base alpha (if any) for self illum
	"$selfillummask"	"models/cra0kalo/basetexture"	
	
// Scale self illum effect strength
	"$selfillummaskscale" "0"	

	// ------------------------------------
	// Seamless mapping scale
	// ------------------------------------		
// Whether to apply seamless mapping to the base texture. requires a smooth model.
	"$seamless_base" "1"
	
// Where to apply seamless mapping to the detail texture.	
	"$seamless_detail" "1"	
	
// The scale for the seamless mapping. # of repetions of texture per inch.	
	"$seamless_scale" "1.0"	

	// ------------------------------------
	// Displacement Maps
	// ------------------------------------	
// Displacement map
	"$displacementmap" "models/cra0kalo/basetexture"		
	
// Displacement map contains wrinkle displacements
	"$displacementwrinkle"	"0"	//boolean
	
	// ------------------------------------
	// Flesh Interior
	// ------------------------------------	

// Flesh (used in hl2 ep2 on Alyx)
	"$FleshInteriorEnabled"      "1" // Enable Flesh interior blend pass
	"$FleshInteriorTexture"      "models/cra0kalo/basetexture" // Flesh color texture (Mask in alpha)
	"$FleshNormalTexture"		 "models/cra0kalo/basetexture_flesh_normal"	// Flesh normal texture
	"$FleshBorderTexture1D"      "models/cra0kalo/basetexture_flesh_border"	// Flesh border 1D texture
	"$FleshInteriorNoiseTexture" "Engine/noise-blur-256x256"	//Flesh noise texture
	"$FleshSubsurfaceTexture"	 "models/cra0kalo/basetexture_flesh_subsurface"	// Flesh subsurface texture
	"$FleshSubsurfacetint"		 "[1 1 1]"	// Subsurface Color
	"$FleshCubeTexture"          "env_cubemap"	// Flesh cubemap texture
	"$FleshDebugforcefleshon"	 "0"	// Flesh Debug full flesh
	"$FleshBorderNoiseScale"     "3" // Flesh Noise UV scalar for border
	"$FleshBorderWidth"			 "0.2" // Width of flesh border
	"$FleshBorderSoftness"		 "0.5" // Border softness must be greater than 0.0 and up tp 0.5
	"$FleshBorderTint"			 "[.2 .2 .4]" // Tint / brighten the border 1D texture
	"$FleshGlobalopacity"		 "1.0"  // Flesh global opacity
	"$FleshGlossBrightness"		 "1.0" // Change the brightness of the glossy layer
	"$FleshScrollSpeed"			 "1.0" // Flesh scroll speed
	"$Time" "0.0"

	"$FleshEffectcentreradius1"		"[0 0 0 0.001]"		// Flesh effect center and radius
	"$FleshEffectcentreradius2"		"[0 0 0 0.001]"		// Flesh effect center and radius 2
	"$FleshEffectcentreradius3"		"[0 0 0 0.001]"		// Flesh effect center and radius 3
	"$FleshEffectcentreradius4"		"[0 0 0 0.001]"		// Flesh effect center and radius 4
	
	// ------------------------------------
	// Tree sway animation control
	// ------------------------------------
	"$treeSway"							"0"			//Integer
	"$treeSwayHeight" 					"1000"		//Float
	"$treeSwayStartHeight"				"0.2" 		//Float (rest are float)
	"$treeSwayRadius"					"300 
	"$treeSwayStartRadius" 				"0.1" 
	"$treeSwaySpeed" 					"1"
	"$treeSwaySpeedHighWindMultiplier"	"2"
	"$treeSwayStrength" 				"10" 
	"$treeSwayScrumbleSpeed" 			"0.1" 
	"$treeSwayScrumbleStrength" 		"0.1" 
	"$treeSwayScrumbleFrequency" 		"0.1"
	"$treeSwayFalloffExp" 				"1.5"
	"$treeSwayScrumbleFalloffExp" 		"1.0"
	"$treeSwaySpeedLerpStart" 			"3" 
	"$treeSwaySpeedLerpEnd"				"6" 
	
	
	// ------------------------------------
	// Other misc
	// ------------------------------------		
	
// Amount of screen space ambient occlusion to use (0..1 range)
	"$ambientocclusion" "1"	
	
// Halflambert - Illuminates further around the model to prevent it loosing definition with surrounding enviroment. NOTE: Conflicts with "$lightwarptexture".
	"$halflambert" "1"
	
// Lightwarp texture (1D ramp texture for tinting scalar diffuse term) NOTE: Conflicts with "$halflambert".
	"$lightwarptexture" "models/cra0kalo/slime/slime_illu"

// Ambient (Control drawing of non-ambient light) Debugging term for visualizing ambient data on its own
	"$ambientonly"	"0"

// Flashlight pass sets N.L=1.0
	"$flashlightnolambert"	"0"
	
// 	Alpha test reference -controls the 'fuzziness' of the transparency masking Using lower values like .01 will result in a more blurred and fuzzy edge
//Using lower values like .01 will result in a more blurred and fuzzy edge while a value of .99 will be extremely sharp.
	"$alphatestreference"	"0.0"
	
// Use the base alpha to blend in the $color modulation
	"$blendtintbybasealpha"	"0"
	
// Use the base alpha to desaturate the base texture.  Set to non-zero to enable, value gets multiplied into the alpha channel before desaturating
	"$desaturatewithbasealpha"	"0.0"
	
// Allow per-instance color modulation	
	"$allowdiffusemodulation"	"1"
	
// Fence render hack (CSGO) (enables render of CSM properly through fences)
	"$allowfencerenderstatehack"	"0"	//boolean
	
// Force no CSM lookup/filter (CSGO) disable CSM lookup/filtering, useful on dense foliage
	"$disablecsmlookup"	"0"		//boolean


	// Model options
	"$model" 1 
	"$nocull" 1
	"$nodecal" 1
	"$nolod" 1		  //Does what it says disables level of detail minmaps
	"$translucent" 1 //Enables translucency (varying opacity levels). Will use the alpha channel of the base texture as the mask. NOTE: Conflicts with "$selfillum". Can cause Z-Sorting issues.
	"$alphatest" 1	//Enables cheap boolean Alpha Test transparency. Will use the alpha channel of the base texture as the mask.
	
	// ------------------------------
	// End of commands 
}






< Download the sheet from here >
{Vertexlitgeneric.vmt}

That’s gonna be really useful. nice job.

that’ll save some people a lot of time.
browsing throught the valve wiki can take a while and even then it seems
some of the commands for the .vmt’s can’t be found there.
thank you!