General SMARTSHADER Questions
Hey! I have a couple more general questions about ATI's SMARTSHADER programs that can be run on any openGL apps...
1. Within a .pss shader program, there are 2 sections. One part has the ARB fragment program: Looks like this:
PARAM scale = {0.30, 0.59, 0.11, 1.0};
TEMP pixel;
OUTPUT oColor = result.color;
The other part of the program has condistionals, and other commands that look like this:
texture[0].magfilter = "nearest";
texture[0].source = temp4;
destination backbuffer;
apply asciiPixelShader;
My question is, what is the name of this part of the program? I'm looking for a complete spec of this or at least more information as to what other operations such as "source" and "magfilter" can be performed. I've found the spec for the ARB_fragment_program, and not I need the spec for the other half as it is my understanding you cant put statements like the ones in the second part within the ARB fragment program (please correct me if im wrong, I'm trying to get everything straight in my head). Anyone know what its called or where I can get more info?
2. What is the flow of the program? Right now all I know is that the program executes on every pixel... but I am unclear as to how it does this. Above, I broke the .pss program file down into seperate parts, the ARB fragment program and the other part that i'm looking for the name of. The way I see it, there are 2 possible scenarios.
a. The program loads, and the second part of the program runs only once. When the second part calls the ARB fragment program, its only the fragment program that cycles through all the pixels.
b. The program loads, and both the ARB fragment program and the other part get executed for each pixel.
If I had to guess, I'd say scenario a, but that's just a guess. Which is it really? Or have I completely misunderstood?
Getting answers to these will really help me move forward as there is very little information available on this subject. If there is a resource im missing, please help this n00b out! Thanks!
|