paulc
01-22-2004, 02:27 AM
I'm currently in the process of designing a shader. The shaders used by this system could be as simple as a single texture or a full fragment program, the idea being that the system will decompose the list of shaders applied to a section of geometry into a number of passes. Each pass has a a limited number of resources, e.g. the number of texture units available. In the case of more advanced cards you can run a fragment program that over-rides any use of individual texture units, so that would constitute a single pass. Another pass could be one that simply applies a number of textures, the max number simply being the number of texture units on a card.
The case I'm unsure about is using register combiners, having not experimented with them. Is it possible to have a pass that uses register combiners on a number of texture units, while using remaining units with textures just bound to them? Considering this, is it possible to use a couple of units with basic textures and then run a fragment program, or is that not possible? - looks like the spec for fragment_program answers this:
(13) Which stages are subsumed by fragment programs?
RESOLVED: Texturing, color sum, and fog.
The case I'm unsure about is using register combiners, having not experimented with them. Is it possible to have a pass that uses register combiners on a number of texture units, while using remaining units with textures just bound to them? Considering this, is it possible to use a couple of units with basic textures and then run a fragment program, or is that not possible? - looks like the spec for fragment_program answers this:
(13) Which stages are subsumed by fragment programs?
RESOLVED: Texturing, color sum, and fog.