[Bf-committers] Multisample Z-buffer

Reuben Martin reuben.m at gmail.com
Sat Jan 20 20:24:53 CET 2007


I asked this question in the forums, without getting much of a response, so I 
thought I would ask it here.

We all know that you can't anti-alias some of the render output, most noteably 
the z-buffer.

Right now the trick is to have the Z-combine node do the anti-aliasing for us. 
In the documentation Ton writes: "Note that Z values are still aliased, only 
1 sample per pixel for Z is delivered to the compositor, so the masks can 
have small artifacts."

My question is this: would it be possible to add a rendering option so that 
elements such as the z-buffer are rendered at a higher resolution in order to 
provide more than 1 sample per pixel? For instace you could have an option to 
render these elements at a scale factor of 2, 3, 4.... and get 4, 9 ,16... 
z-buffer samples per pixel respectively. My thinking is that maybe this would 
result in less artifacts and more precision. (Which would be especially 
helpful when doing DOF in post) Is this thinking correct?

Obviously, you could just render everything at a larger resolution, but when 
rendering high def images that require a lot of resources, that would take 
much longer than just rendering certain parts at a higher resolution.

Two issues would have to be dealt with first though: 1) Having the nodes 
understand what's going on when handed a z-buffer that is at a different 
scale. 2) How would you deal with this when your output is a multilayer 
OpenEXR. Can different layers be of different sizes?

I'm asking this mostly out of curiosity...

-Reuben


More information about the Bf-committers mailing list