Page 1 of 2

Texture numbers.

Posted: Sat Jan 28, 2012 8:19 pm
by pixelrush
I was looking at the cuda spec and it seems to me that the total available textures is 128.
That is Refractive have maybe arbitarily decided how to utilise this number in the Octane code.
Currently it is: 64 image textures, 32 float textures (BW), and 4 HDRI RGBA textures and 4 HDRI greyscale textures.
If this is so I wonder if people would prefer to have more image textures rather than HDRI? HDRI are expensive as far as space goes. Probably most people only use 1 HDRI in the background???
How about 72 + 48 + 1 + 1 as an alternative? or perhaps 84 + 32 + 2 + 1? (not sure about my maths there but as examples....)
Perhaps this is not possible.... :roll:
If people had a free choice though what distribution would most useful?

Re: Texture numbers.

Posted: Sat Jan 28, 2012 8:51 pm
by t_3
pixelrush wrote:If people had a free choice though what distribution would most useful?
... a configurable e.g. scene dependent distribution :)

i for example constantly run out of floattextures, because i often use diffuse+specular+bump and of course need to save vram too, so a rgb-bump/spec/trans, would be wasted bytes...

Re: Texture numbers.

Posted: Sat Jan 28, 2012 9:25 pm
by pixelrush
Well i didnt ask that..... :P
So we will put t_3 down for 30 + 90 + 1 + 1 then? :lol:
It would be nice to pack you own as you wanted however.
Perhaps someone from Refractive can give us the reason why things are the way they are ATM.

Re: Texture numbers.

Posted: Sat Jan 28, 2012 9:29 pm
by matej
For me grayscale textures are much more used & useful than RGB, so 32 float textures is too low, should be at least 48 or 64. But of course, a per-scene configurable setup would be the best.

Re: Texture numbers.

Posted: Sat Jan 28, 2012 9:42 pm
by pixelrush
Could you give up some RGB for greyscale?
Would 48 + 72 + 1 + 1 be better?
60 + 60 + 1 + 1?
I am assuming any number is possible there but perhaps only multiples of 16 are allowed... :geek:

Re: Texture numbers.

Posted: Sat Jan 28, 2012 10:36 pm
by matej
Most materials people create are dielectrics with a specular component, so that means glossy shader and in average means one RGB texture for diffuse color and two grayscale for specular intensity & bump (assuming most materials use bump instead of normalmaps). So a ratio of 1 : 2 in favor of grayscale textures would be preferred over the current ratio. 48 + 72 + 1 + 1 also sounds ok.

Even for diffuse color channel I prefer to load the image as grayscale and use mix, multiply or gradient node to give it color - this way you save RAM and have much more control over the appearance. In some bigger projects I have been forced to load BW images as RGB textures, because of this current ratio limitation.

Re: Texture numbers.

Posted: Sat Jan 28, 2012 10:41 pm
by t_3
now an official statement would be helpful, if there is a slightest chance for a change in the current numbers...

Re: Texture numbers.

Posted: Sat Jan 28, 2012 10:53 pm
by matej
Why's there 8 places for HDRI images, anyway, if we can use only one HDRI for environment lighting? Or are there other uses for HDRI, I'm not aware of? :)

Re: Texture numbers.

Posted: Sat Jan 28, 2012 11:16 pm
by pixelrush
If a different distribution were possible perhaps there could be 3 options in the preferences. You would have to have no scene loaded to change it though...
1) RGB emphasis
2) general purpose
3) Greyscale emphasis
- with what ever the numbers best work out as.....
Be interesting to follow up 8-)
...now where is that @radiance fellow hiding these days....

Re: Texture numbers.

Posted: Tue Jan 31, 2012 3:09 am
by roeland
The limit on how many textures can be bound didn't change on CUDA 4.1. It may however be possible to choose what kind of texture to bind when rendering. I will add this to our to do list.

--
Roeland