[vtk-developers] Bug in scalar color mapping?
David Gobbi
david.gobbi at gmail.com
Tue Sep 9 10:53:32 EDT 2014
Hi Utkarsh,
The "attached patch" seems to be missing.
- David
On Tue, Sep 9, 2014 at 8:44 AM, Utkarsh Ayachit
<utkarsh.ayachit at kitware.com> wrote:
> David,
>
> Try the attached patch and then set
> SetScalarMaterialModeToAmbientAndDiffuse() on the mapper.
> ScalarMaterialMode is the thing here. When set to
> SetScalarMaterialModeToDefault(), which is the default, it determines
> which material component should track the scalar color based on which
> coefficient is greater (see vtkOpenGLScalarsToColorsPainter.cxx:175).
> The patch fixes an issue where the painter was not respecting the
> material mode set on the mapper.
>
> Utkarsh
>
> On Mon, Sep 8, 2014 at 8:15 PM, David Gobbi <david.gobbi at gmail.com> wrote:
>> Hi Utkarsh,
>>
>> Thanks for the reply. If I use this:
>>
>> mapper->InterpolateScalarsBeforeMappingOff();
>>
>> then the result is exactly the same as it was before I reverted that commit.
>>
>>
>> If I use this:
>>
>> mapper->InterpolateScalarsBeforeMappingOn();
>>
>> then the result looks like the attached image, i.e. like it did in my previous
>> email with property->SetAmbient(0.49), property->SetDiffuse(0.51), but when
>> I reverse these I don't get the greyscale ambient lighting like in the
>> right side
>> of the image from my previous email.
>>
>>
>> Still, I don't get what I expect unless I set one of either the ambient or the
>> diffuse coefficient to zero. Whenever they are both nonzero, I get the wrong
>> result.
>>
>> - David
>>
>>
>> On Mon, Sep 8, 2014 at 5:17 PM, Utkarsh Ayachit
>> <utkarsh.ayachit at kitware.com> wrote:
>>> This sounds familiar.
>>>
>>> Can you try reverting the following commit and see if that makes any difference:
>>>
>>> commit daf8c6e76ec7bb02f56dda17ce260141b7e960a5
>>> Author: Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
>>> Date: Fri Jul 18 15:30:37 2014 -0400
>>>
>>> BUG #14828: Keep surface color from interacting with scalar color.
>>>
>>> When using scalar coloring, if vtkScalarsToColorsPainter decided to use
>>> a texture for mapping the scalars to colors, we ended up with the
>>> surface color bleeding through the texture. This commit ensures that
>>> such bleeding is avoided.
>>>
>>> We don't simply use glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
>>> GL_REPLACE), since that results in the diffuse highlights being lost.
>>> By enabling GL_COLOR_MATERIAL and calling glColor3f(1,1,1), we follow
>>> the same lighting/coloring path as we would when not using the texture
>>> for scalar coloring.
>>>
>>> Change-Id: I9c4db15dd0db699d5d045fa7ae27696d18828988
>>>
>>>
>>> Utkarsh
>>>
>>> On Mon, Sep 8, 2014 at 4:55 PM, David Gobbi <david.gobbi at gmail.com> wrote:
>>>> Any comments on the "scalar color mapping" problem that I sent to the
>>>> list last week?
>>>>
>>>> - David
>>>>
>>>>
>>>> On Thu, Sep 4, 2014 at 5:33 PM, David Gobbi <david.gobbi at gmail.com> wrote:
>>>>> I've run into very odd behavior when I use Ambient and Diffuse
>>>>> coefficients in combination with vtkDataSetMapper. This is with
>>>>> VTK master.
>>>> [ snip ]
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>>
More information about the vtk-developers
mailing list