[vtkusers] Line smoothing and parallel rendering
Chris Kruszynski
Chris.Kruszynski at cwi.nl
Thu Aug 10 03:15:17 EDT 2006
Gregory D Abram wrote:
>
> I'm experimenting with the vtkCompositeRenderManager and am running
> into a problem. If I add lines (for example, the bounding box of a
> data partition) to the rendering on a node, I get terrible streaks all
> over the composited image.
>
> After much poking around, I've found that (even outside of the
> compositing parallel rendering environment) OpenGL line rendering is
> anti-aliased (even after setting RenderWindow->LineSmoothingOff()
> immediately after creating the render window) and, further, when a
> pixel is only partially affected by a line, it may or may not update
> the Z depth buffer - based, I suppose, on whether the proportion of
> coverage exceeds some threshold. But it *always* affects the color
> buffer, so you can have a pixel thats not the background color but is
> at the background depth. (No, I'm not hallucinating. Yes, I have a
> little program that demonstrates this.)
>
> Then, in the parallel compositing code, when it tries to run-length
> encode the background away, it looks for runs of constant Z = 1. When
> it reaches the end of such a run, it uses the color of the final pixel
> of that run as the color of the whole run. Unfortunately, that pixel
> may be partially covered by an antialiased line, enough to change the
> color, but not enough so that it updates the depth. So the subsequent
> run of "background" receives a color that isn't the background color,
> resulting in a streak of color extending either to the next
> non-background pixel or the end of the buffer.
>
> Near as I can tell, the run-length encoding code needs to match color
> as well as Z = 1. Or we can get the color buffer and Z buffer updates
> to match, but I don't understand why they *aren't* matching as it is
> now.
>
> Linux RHEL3, Quadro FX 3400/4400 driver 7676.
>
> Greg
Quadro cards always use hardware anti-aliased lines (probably points as
well), and I am not sure you can actually turn this feature off.
- Chris
More information about the vtkusers
mailing list