A glance at the code makes it look like no more than 4 passes are supported.
You could work around this by drawing the mesh multiple times. From: hlcoders-boun...@list.valvesoftware.com [mailto:hlcoders-boun...@list.valvesoftware.com] On Behalf Of Christopher Harris Sent: Monday, December 27, 2010 10:56 AM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] 30 pass shader? I've been trying to write a 30 pass shader and have been having some issues. Basically I saw that to make a single pass in a shader is basically: SHADER_DRAW { SHADOW_STATE { //Set us up the shader } DYNAMIC_STATE { //Set us up the shader } Draw(); } So I put that in a for loop and it will only do 3 passes, if I try to go more times it will crash in materialsystem.dll (Where NUM_LAYERS is the number of passes or layers I need in my fur shader) SHADER_DRAW { for(int i = 0; i < NUM_LAYERS; i++) { SHADOW_STATE {} DYNAMIC_STAT {} Draw(); } } Is it possible to do a 30 pass shader? I was working on a basic fur shader which is done by taking the normal and for each pass move up along the normal slightly. Chris
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders