Hi Larry,

I don't have any objection against such a limit.

Since we're on the texture system topic, i do have a remark regarding the evaluation parameters: the parameter couple (first channel/channel count) is not very data friendly as it requires contiguous channels to be able to evaluate several channels at once.

When using AOVs / user defined channels, it's almost never the case as users can name channels as they want, and I end up calling the evaluation function several times, one call for each channel I need. I have not looked at the code of the TextureSystem yet so I have no idea if it is be possible to have an evaluate function that would take a channel count and a channel indice array ?

Michel

On 08/23/2014 07:50 AM, Larry Gritz wrote:
The OIIO TextureSystem looks up texture, for any number of channels. It's not 
clear that anybody uses or needs that functionality. OSL, for example, 
inherently does only 1, 3, and 4 channel lookups.

If limiting TextureSystem lookups to 4 channels per call would result in 
simplification and/or speed up, would anybody have objections to making such a 
change?

(For the odd application that needs a >4 channel lookup, it could always do it with a 
loop of batches <= 4 and increasing 'firstchannel'. But I suspect that needing >4 
channels is very rare, enough to make it worth this extra trouble in order to speed up 
the common case and simplify the code.)

I'm in the middle of implementing SIMD speedups to texture lookups (for example, 
using SSE for 3 & 4 channel lookups to process the channels all at once), 
having good luck so far and wondering how far to push this.

--
Larry Gritz
[email protected]



_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to