Question

I would like to have two pixel shaders; the first doing one thing, and then the next doing something else. Is this possible, or do I have to pack everything into the one shader?

Was it helpful?

Solution

You can do do this, e.g. by doing function calls from the main entrypoint to functions that are implemented in the various shader objects.

main() {
    callToShaderObject1()
    callToShaderObject2()
}

each of those callToShaderObject functions can live in different shader objects, but all objects have to be attached and linked in the same program before it can be used.

OTHER TIPS

They can't run at the same time, but you are free to use different shaders for different geometry, or to render in multiple passes using different shaders.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top