[vtkusers] Opacity discrepancy with downscaled volume despite opacity unit distance == spacing

Elvis Stansvik elvis.stansvik at orexplore.com
Sun Feb 12 12:26:01 EST 2017


2017-02-12 18:06 GMT+01:00 David Gobbi <david.gobbi at gmail.com>:

>
>
> On Sun, Feb 12, 2017 at 10:01 AM, Elvis Stansvik <
> elvis.stansvik at orexplore.com> wrote:
>
>> 2017-02-12 17:56 GMT+01:00 Elvis Stansvik <elvis.stansvik at orexplore.com>:
>>
>>> 2017-02-12 17:31 GMT+01:00 David Gobbi <david.gobbi at gmail.com>:
>>>
>>>> Hi Elvis,
>>>>
>>>> Here is something you can do as a check: set the sample distance for
>>>> the ray casting to a very small value, so that it takes around 1000 steps
>>>> for the ray to traverse the volume from front to back.  The thickness of
>>>> your volume is 29*0.006 = 0.174, so you can try a sample spacing
>>>> of 1.74e-04:
>>>>
>>>> mapper->AutoAdjustSampleDistancesOff();
>>>> mapper->SetSampleDistance(1.74e-04);
>>>>
>>>> If the two volumes look the same when you use a small sample distance,
>>>> then the difference you were seeing was probably just due to discretization.
>>>>
>>>
>>> That indeed did the trick, thanks David!
>>>
>>
>> And to clarify: The small difference I was seeing when I had the sample
>> distance left to auto-adjusted isn't really a problem for my application. I
>> was just surprised there was still a small difference even when both
>> volumes were rendered with the same opacity unit distance, and I wanted to
>> find the explanation for it. The discretization error coming into play
>> makes sense.
>>
>
> So everything should be fine if you leave AutoAdjustSampleDistances "On",
> for the interactive rendering, but set the SampleDistance to half of your
> high-res volume spacing for the high quality rendering (e.g. use 0.003 for
> this data set).
>

Ah, I realize I may have misunderstood something about these two
properties. I thought that setting a SampleDistance explicitly implied all
auto-adjustment is turned off. But re-reading the docs I see that if
auto-adjustment is left on, then the distance set with SetSampleDistance
will only be used when the renderer has > 1 second to spend?

BTW, regarding AutoAdjustSampleDistances, the docs says

   "[...] the ImageSampleDistance will be varied to achieve the allocated
render time of this prop"

but doesn't it auto-adjust the SampleDistance as well? (the distance along
the ray)

Elvis


>
>  - David
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20170212/700753bf/attachment.html>


More information about the vtkusers mailing list