Rendering Lots Of Big Bitmaps (eighteen 16k maps)

Hey there. So I’m doing a shot that requires a lot of super highres camera projections, and I’ve calculated that I may need as many as 18 16k maps rendered. I could split this into smaller parts, but the file management and user time to setup 72 x 8k maps or 288 x 4k maps seems pretty silly if it can be avoided.

So I have a number of questions on rendering lots of highres maps. My computer has 24gig or RAM BTW.

1) Is there a huge memory advantage in using the VrayHDRI map instead of a regular max bitmap loader?

2) I know mipmaps can be helpful, are there multiple mipmap formats vray can read? I’ve seen mention it reads tex files. What’s your favorite mipmap conversion utility? Have you found mipmapping creates textures that frequently appear too blurry?

3) I know Grant is a big fan of turning filtering off (no pyramidal or summed area) and iinstead increasing the subdivs on the material. When I use summed arrea filtering, that triples the memory required by a bitmap correct? Have people found this technique to be helpful?

4) Does changing some of the bitmaps to greyscale help? Or does vray internally transform all bitmaps to rgb even if they’re stored as greyscale on your hard drive, and so you don’t get a memory saving?

5) If a bitmap is used twice (say in the color and in a mask somewhere else) is that bitmap held twice in vray’s memory? Or only once.

All other suggestions are appreciated, I know about many of the other tricks like rendering with no vfb, etc: http://www.neilblevins.com/cg\_education/reducing\_memory/reducing\_memory.htm

Thanks.

- Neil

1) Yes, there is since VrayHDRI supports mipmaps.
2) Currently VrayHDRI supports OpenEXR and TIFF tiled files ( *.exr, *.tx, *.tex)
You could convert EXRs to mipmap with img2tiledExr tool that comes with vray or maketx from OpenImageIO library.
5) Vray should only load texture once even if it is used on multiple places in the scene.

3) Summed area filtering does require substantial amounts of RAM. For your case, mip-map filtering is best - do not turn it off, especially if you go with tiled texture files.
4) Depends on the file format; I think we do that for greyscale tiled TIFF files, but I have to check.

More information is here: Chaos Docs

For your case, it might be best to go with tiled TIFF files. You can download a precompiled version of maketx here: Google Code Archive - Long-term storage for Google Code Project Hosting.

In theory you could also use txmake that comes with RenderMan, but we have some reports that the latest versions produce files that are problematic for V-Ray.

Best regards,
Vlado

Thanks for the info!

I found this mention in the sdk:

Both methods require approximately the same rendering time. Summed-area
filtering generally yields superior results but requires much more
memory. Pyramidal filtering requires the program to allocate memory
equal to approximately 133% of the size of the bitmap. By comparison,
summed-area filtering requires the program to allocate approximately
400% of the size of the bitmap.

Sounds good.

Since 3 of the bitmaps were going to be greyscale anyways, I’ve decided to combine them into a single map, with each mono channel in the R, G or B channel. That lets me reduce the 18 maps down to 12, basically 6 false color images, and 6 full color images.

Good to know. I use prman’s txmake all the time (considering my day job), but I’ll try the other one to assure compatability.

Thanks!

- Neil

Is there a filter to use with maketx that you recommend? I know my favorites with prman, but does the default box filter work fine for vray or is there a different one that’s optimal?

Also, here’s the commandline I’m using:

maketx -v -u --oiio --filter box test.tif -o test.tx

That definitely makes mipmaps, I assume it automatically makes it a tiled tx file as well without the need to specify a specific tile size?

- Neil

Yes, it makes a tiled file.

Best regards,
Vlado

Cool, thanks. Will let you know how it goes.

- Neil

Sadly, maketx crashes on my 16k maps. Works on 4k and 8k of the same map, but the moment its 16k, it crashes the program. Any other suggestions?

- Neil

Maybe it’s a 32bit version of maketx. I got around this by running a 64bit maketx on a VirtualBox 64bit Linux. (I don’t know how to compile it on windows)

Yes, you need a 64bits version of maketx

Well, can’t seem to find one, so I just powered through. Managed to load 6 of the bitmaps at 16k and the other 12 at 8k, and it just worked on my machine with 24Gigs of RAM. Is there any chance of getting a 64bit version of maketx included in the base vray package, maybe even with a GUI? That would be super helpful.

- Neil