Vray Large textures workflow?

Hello all,

I would like to ask about the general workflow in vray and 3ds max with very large textures such as multiple 32 bit 8k exr’s, for example to be used many times with blend shapes alongside driven materials for animated characters.

When we were working with Arnold in Maya we used to convert all textures to .tx format this not only made the renders super fast with large textures but it also managed memory very well by splitting the textures into many smaller buckets, later we only had to load the tx textures into Maya and work with it disregarding the original exrs, there was also a nice tool which converted all assigned textures in the scene to .tx files automatically and replaced them avoiding manual work.

The question is: How is the .tx workflow inside vray? does it work the same way, as in does it use .tx just as well to manage memory and speed such as that of Arnold? were can we find the converters for it and are there any tutorials out there regarding this matter?

Thank you!

There is a tiled EXR tool that comes with vray allowing you to convert textures into Tiled EXRs that can be loaded via the vrayHDRI loader. Vray will only load and use the texture resolution needed at render time. Dont know if this is the information you’re after…

http://docs.chaosgroup.com/display/VRAY3/Image+to+Tiled+Multiresolution+OpenEXR+Converter

Check out this page:

You can either use maketx, exactly like you did before, or you can use the img2tiledexr - however, as pointed out in the docs page, .tx files tend to be smaller and more memory efficient.

Best regards,
Vlado

Thank you both for your time! we will check them out.

Best regards,

On the same subject. I’ve just loaded a very large jpg into the vrayHDRI map slot. Is this not the best way to do this then ? I would have to convert first ?

It depends; if you can live with a bit longer load time for the texture and you have enough RAM, there’s no reason to convert.

Best regards,
Vlado

Hi Steve,

It really depends, on just a handful of large textures it wont make much of a difference however many high res and very large files ideally it would yes especially 32 bit or 16 bit tiff or exrs, we are still going to test out vray’s approach on this but from our experience having textures converted to tx was invaluable in our feature production pipeline.

Strange to have a jpeg in the HDRImap : )

Also looking forward to experiment with tiled exrs.

Best regards,

Make sure you test .tx files as well.

Best regards,
Vlado

Thanks Vlado Will do ofcourse!

Hello there,

I read the threads but it is still unclear to me:

I will have huge scenes with much geometry, and many high res textures.
At the moment I’m planning the general texture workflow:

should i choose

a) convert all textures to tiled exr’s and use Vray HDRI map (it renders fast, but it takes long to load the scene and needs more RAM to load the scene)
A jpeg texture of about 5 mb has after the conversion to tiled exr about 40mb! If i have hundreds of them this will make a huge difference!

b) use jpeg textures in common bitmap map (less big files, shorter time to load the scene, a little slower rendering)

c) use jpg textures in Vray HDRI Map ?! (slow files, faster rendering?!)

with best regards,

Florian

I too am wondering about that. Also if you’re using around 30 x 4K PNG textures, should those be converted? I always use the regular bitmap of 3dsmax. Is it better to use the vrayhdriloader for any type of bitmap?

Why would it take a long time to load the scene? Because of the asset tracker name resolution or something else?

A jpeg texture of about 5 mb has after the conversion to tiled exr about 40mb! If i have hundreds of them this will make a huge difference!Only in disk space, not actual RAM usage. RAM usage will generally be lower.

b) use jpeg textures in common bitmap map (less big files, shorter time to load the scene, a little slower rendering)Sounds like more trouble to me.

c) use jpg textures in Vray HDRI Map ?! (slow files, faster rendering?!)You can do this, but I’m not sure it will render any faster.

Best regards,
Vlado

Since it is not because of the tiled .exr files, good question!
what means asset tracker name resolution? I know the asset tracker, but not what you mean with name resolution.

Thanks anyway,

regards,

Zinski

When you load a scene, 3ds Max checks if it can find all the assets needed for the scene (textures, proxies etc) and if not - displays the Missing Files dialog. If the textures cannot be found in the place specified by the file names, 3ds Max tries to find them in the various texture paths and project folders. Sometimes this bit may take quite a bit of time.

Best regards,
Vlado

I have been testing these methods out during spare time but stopped for a while due to tight schedules, so far here’s what I have gathered.

1 - converting to .tx file has been a pain, it requires an external software but that was a bit of a hassle to go through and time didn’t allow so we dropped it for now, for the sake of quick experimentation i tried the excellent arnold tx converter in maya and output the textures that way, but strangely max/vray did not recognize those files, so I switched to tiled exr.

2 - tiled exr worked, although in large production scenes i still see the method of converting to tiled exr and reapplying the textures on complicated shader networks with the current workflow as non practical especially when you have hundreds of textures, something like arnolds tx converter /manager within max would do great!

3 - Tiled exr on 32 bit as well as 16 bit produced slightly different gamma results vs the original texture file, this was critical and gave us a pause, ( can someone shed light on this?).

4 - so far from the current tests no significant gain in speed, ram usage varied but still being tested on more complex scenes.

from our side It’s still a little bit confusing regarding its pros and cons when it comes to vray , Vray is so far crunching through the scenes but it does suffer on displacements with many 8K 32 bit maps with rams over flooding, we hoped to test the tiled exrs here in the hopes to optimize things for the engine, I will also try to look into the tx converter but the workflow regarding these converters is so spread out that its a little discouraging and time consuming method, its when custom tools creation become necessary.

tx files will only work with VRayHDRI; the 3ds Max Bitmap texture will not load them. maketx is not an Arnold tool; it is a part of the OpenImageIO library.

2 - tiled exr worked, although in large production scenes i still see the method of converting to tiled exr and reapplying the textures on complicated shader networks with the current workflow as non practical especially when you have hundreds of textures, something like arnolds tx converter /manager within max would do great!You are free to use maketx from OpenImageIO, but you will need to use VRayHDRI to load the textures. But even with tiled exr files, there is a handy MaxScript included with V-Ray - see here: Chaos Docs

3 - Tiled exr on 32 bit as well as 16 bit produced slightly different gamma results vs the original texture file, this was critical and gave us a pause, ( can someone shed light on this?).No, that would be odd. What was the original file?

from our side It’s still a little bit confusing regarding its pros and cons when it comes to vray , Vray is so far crunching through the scenes but it does suffer on displacements with many 8K 32 bit maps with rams over flooding, we hoped to test the tiled exrs here in the hopes to optimize things for the engine, I will also try to look into the tx converter but the workflow regarding these converters is so spread out that its a little discouraging and time consuming method, its when custom tools creation become necessary.Quite a few people have been using tiled images successfully, both .tx/.tex and .exr. However depending on the scenes you might or might not see any improvements. For displacements, quite a lot of RAM is needed for the displacement itself.

Best regrds,
Vlado

I would mention that, in general 8k textures take a lot of ram. A combination of many 8k maps + displacement is a sure recepie for high ram consumption. As a dynamic memory object you can control the memory through the dynamic memory limit. Perhaps this will make things a bit better with ram.

There is also a way to set separate dynamic texture ram limit (though I don’t know how to do it in max).

In Max it’s always separate - VRayHDRI has parameters to control the texture cache.

Best regards,
Vlado

Vlado as always thanks for the quick replies,

1 - I understand make tx is a separate tool but i mentioned it because it’s intuitive.

2 - Strangely I completely missed that tool (the converter script) it seems like a hidden gem, thanks for the heads up i will look into it, thanks!

3 - I will try to look into this gamma difference and keep you posted when i do, I remember the original textures themselves where 32 bit exr’s uncompressed before the conversion.

I know now why it loads so long: it’s because i used to show the maps in the viewport so i think it takes a while for the GPU to load all the huge tetxtures. so i will have to live without textures in viewport…