Jump to content

8Bit Vs 16Bit Textures


Recommended Posts

Hi,

 

I was going through certain online articles and i found out that 16Bit textures are much for better than 8Bit textures. How important is it to use 16bit(PNG or any other) as textures?.

If there's any significant difference in the 3D Output. How can i make png textures? does it make any difference if am simply converting a JPEG to 16Bit PNG in photoshop?

Or can i create a 16bit PNG from the RAW image directly?

I hope its not a foolish question. ;)

 

Thanks in advance.

Edited by muhamedthufail
Link to comment
Share on other sites

Firstly you can't make a 16 bit image by converting an 8 bit one; no new information will be added, so converting a jpeg to png will offer no advantages other than perhaps file sizes.

 

In terms of using 16 bit images in 3d, the difference isn't hugely noticeable except for sometimes when using displacement. Sometimes a 16bit image will prevent visible "stepping" in your displacement, though that said your displacement settings would have to be pretty high to be able to see the effect.

 

Ultimately it is a luxury that is worth pursuing if you have the ram capacity at rendertime to handle it. Otherwise there isnt enough of a benefit to warrant it.

 

Especially if you're saving to jpg for final images.

 

Sent from my HTC One using Tapatalk

Link to comment
Share on other sites

Has anyone tried using the Vray Converter tool to switch all maps to EXR's and then load them in as VrayHDRI Maps? I guess the idea is that with an EXR you have an image broken down into tiles that can be loaded and unloaded for faster render times. It works to your advantage because Vray only loads in the tile of a map that is being used at the bucket being rendered.

 

I really like the idea, but haven't tried it myself. I would imagine that over time you could build up a series of maps at the higher bit depth and whether the difference is huge or not, you would be using the highest quality map possible and gain on the image overall.

Link to comment
Share on other sites

I just asked on the Chaos Group forums:

 

So. The vray hdri loader has far better filtering than the standard bitmap loader so you'll get smoother renders. The second thing is that if by tiled exr you mean multires exr (which the bitmap to multires convertor will do) you can get huge memory benefits. When you convert to a multires exr, you get a single file, but the file contains the original res image, a half res version, a quarter res version, an eight res version and so on. When the render is loading your texture, it know how far away it is and will only load a version that's high enough quality for what the render needs and no more, so if you have shots where you've got objects very far away that come close up to camera, you can have a single texture that will be efficient for the far away parts and high quality up close.

 

Seems that it is worth doing; i'm going to test it on a project I'm working on at the moment.

Link to comment
Share on other sites

So here's what I've found so far (image is still rendering):

 

1 - Converting to tiled exr using the default settings creates some massive files. A single jpeg that was 46Mb is now an exr of 807Mb. This can probably be attributed to it being a 32 bit file rather than an 8 bit file. The converter does give you an option for 16 bit, but 8 bit is not supported by the exr format. To convert to 8 bit you will have to use the .tx format (which is a tiled .tiff) - which isn't supported by the VRay converter, though there is a free/open source converter around.

 

2 - The conversion time takes a while. I used zip compression because at rendertime it is supposed to be the quickest to decompress - but it is apparently (according to the exr documentation/specification) considerably slower to compress.

 

3 - Displacement takes a lot, lot longer.

 

4 - Rendering is slower. Apparently?

 

5 - RAM usage is quite a bit lower. On the scene I'm using that was previously using to the tune of 29-30Gb, it is now using 24Gb. I can only assume that this is scene/texture dependant. I guess if the camera were farther away still it would load even lower res textures and use less memory again?

 

6 - It has just occurred to me that during the conversion process all of the alpha channels on leaves may have had filtering switched on, which could be why the render is slower. Need to look in to this.

 

7 - Any output curves you've applied will be lost. Use the output map instead.

Edited by Macker
Link to comment
Share on other sites

Muhammed, The difference between 8 bit image, 16 or 32 is the amount of color information on it, so let say you have a gradient ramp and you can divide it in 8 steps it will look choppy, if you divide in to 16 steps it will look smoother and 32 a lot better, in a nut shell that all about it.

Now benefits as mentioned by Chris, there will be benefits but at cost of RAM and also bandwidth (more of this later ;)

For gradients or Normal map using 16 bits image make a great difference, those images can be used for displacement or bumps, now 3D Max is not that good managing this files, if you use Z Brush, Mari, or MODO you'll get more bang of your buck using 16 bit images.

 

Using VrayHDRI Maps.

I just finished a long animation it was our last project using VRay 2.x we had several problems and we decided to change all the textures to be loaded as VrayHDRI Maps, some of them where exr other a mix of png and jpg. In theory it sounds good but in our experience was not good, actually it slow us down a lot.

Loading time was a lot slower, working scene and in rendering time, we used lots of X refs and man it was slow. I believe this shader was designer for height end productions, where you have at lest a fiber net connection. Those exr images really suck all our bandwidth, our server was crawling. Yes the files are larger because the multi resolution and also more bit deph info on them. Even the material editor in Max took a long time to load each time.

 

I believe it need to be studied carefully before you can put it in practice, and you really need to know why it would be better to use. If you are in a big production, where everything will be comp later on on a big compositing software such Nuke or Fusion, working with EXR multi layers or multi res it make sense, but for a regular Arch Viz and Photoshop workflow it is a little over kill. even After Effects is not optimized for multilayer EXR, yes there is plugins to load them and all that, but core of the software is not designed for that.

your millage may vary of course, I am talking of my experience only ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...