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

Reply via email to