Originally Posted By: jcl
If only a subset of skins is rendered, the unused skins are not loaded anyway. So performance can not be improved here.
I meant that if a subset has 4 skins I need e.g only the first one. In the case of a depth view, I could imagine a two-pass approach in which all textures of objects of the solid pass are supressed (and therefore, multi-subset objects are rendered in one drawcall) and in the second pass, all translucent pass objects with alphatesting on the alphachannel of the first skin are rendered.

Originally Posted By: jcl
If however the shader does not render textures, they are still loaded, so it's theoretically possible to prevent this for improving performance.
That would be great! I suggest a NOSKINS flag which works for views and materials wink

Originally Posted By: jcl
This won't work for a depth view, though, as the normal view would still need the textures.
If and only if you need a normal view and you use normal maps wink but in that case one could benefit from SKIN1, SKIN2, SKIN3 and SKIN4 flags, which can be used to enforce certain skins as exception from the NOSKINS flag per subset.

Imagine a view that renders the depth and the normalmapped vertex normals to a G-buffer. Lets say the normalmap is stored on skin2 and the alpha of the surface is stored in the B-channel of the normalmap (which is unususal but lets assume that). The ideal setup were to supress all textures of all models except skin2. So, I would create a view and set view->flags |= (NOSKINS | SKIN2), so that only skin2 per subset is set (inside the shader I would assume then that it is entskin1, because it is the only and therefore first skin).

Is that plausible? I am not sure but I guess so... smile

Last edited by HeelX; 04/29/13 13:42.