Forum: Poser - OFFICIAL


Subject: Poser 8... First Impressions

ziggie opened this issue on Aug 04, 2009 · 617 posts


bagginsbill posted Thu, 20 August 2009 at 6:35 PM

OK.

Little_Dragon is right, the accumulation buffer is used to accumulate and combine multiple images, to perform various effects using interesting cheats.

The soft shadows I was demonstrating with blurred ray-traced shadows is an example of something that can be approximated much faster with an accumulation buffer, instead of casting multiple rays.

A pure ray-tracer has to do a lot of work in order to produce smooth real-life effects. The shadow samples we were discussing is an important parameter in such a case, allowing us to find a good balance between speed and quality/realism. By casting more rays, and averaging them, we get smoother results, but it takes longer, When pure speed is of the essence, such as real-time preview rendering for posing purposes, or in a real-time game, other techniques are better, even though visually inferior.

The accumulation buffer is used to do multi-pass rendering. For example, depth-of-field can be reasonably simulated by rendering multiple copies of the scene, but from slightly different viewpoints, and then combining them. Using the OpenGL hardware accumulation buffer, one can actually get a decent real-time rendition of DOF. The renderer repeatedly picks a camera position slightly different from the specified camera position, renders that, and merges that into the accumulation buffer. For soft shadows, the renderer can generate a soft shadow map by rendering from the point of view of a light source, but multiple times from slightly different positions, and merge these using the accumulation buffer.

Basically, techniques involving the accumulation buffer are like combining multiple layers in Photoshop. These are 2D operations, and sometimes they are way faster without being too bad in quality.

If you use the hardware accumulation buffer, but your hardware isn't able to provide enough RAM for a big scene, then you run into trouble. For example, you end up having to swap textures in and out a lot.

On the other hand, if you don't use the hardware accumulation buffer, then you have to copy each intermediate render out of the video card into the main computer memory and merge the results there with the other renders. All that copying costs time, too.

Depending on the scene complexity and texture sizes, the hardware accumulation buffer may or may not be faster or better than main memory. There's no single right answer.

But it begs the question - why does Poser care? I don't see it doing DOF or soft shadows in preview. About the only thing I could see it using the accumulation buffer for is antialiasing, or maybe toon line drawing.

For examples of the effects that can be produced this way, see:

http://www.cs.uiuc.edu/class/sp05/cs419/accum/accum.html

http://www.opengl.org/resources/code/samples/glut_examples/advanced/advanced.html


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)