Re: anti-aliasing

Paulo Carvalho <[email protected]>
Newsgroups gmane.comp.lib.vtk.user
Message-ID <CA+xrYwi7LckW0R_c6wTto+KLOr8iwY7k_-XwOr3Xi4Usp7U70w@mail.gmail.com>
Hi, Mohammed,

      Yes, I know that feeling...  Paraview is complex, yes.  It's
difficult to get the hang of its code in a glimpse.  Either you invest the
time to dissect the code or look into something simpler.  You may take a
look at how I setup a VTK viewer:
https://github.com/PauloCarvalhoRJ/gammaray/blob/master/viewer3d/view3dwidget.cpp
(It's several orders of magnitude simpler than Paraview).  It's a 3D viewer
in a Qt window though.  I've never tried VTK charts myself (I use the more
lightweight Qwt and Qt Charts APIs for that).

regards,

Paulo

Em qua, 26 de dez de 2018 às 13:38, Mohamed Amine Mzoughi <
[email protected]> escreveu:

> Hello again,
>
> If I do that, the chart is not visible anymore (the Qt widget is all
> black), if I change the renderer of the vtkContextView also  (the Qt widget
> is all white) !
>
> I give up for the moment !
>
> ParaView is a such complex software, that I can't trace the stuff related
> to anti-alisaing in it (reverse engineering ParaView it is tough : a
> complex build system, many layers, proxies, in fact, it's an oriented
> object mix of a lasagna and spaghetti code !).
>
> Thanks anyway.
> Le 26/12/2018 à 16:02, Paulo Carvalho a écrit :
>
> Hi, Mohammed,
>
>    Strange indeed.  Did you create the vtkRender object yourself or you
> just used the default one returned by GetRenderer()?   If the latter is
> your case, I recommend creating your own vtkRender:
>
> m_renderer = vtkSmartPointer<vtkRenderer>::New();
> m_renderer->UseFXAAOn();
>
>     vtkFXAAOptions* const aaOpts = m_renderer->GetFXAAOptions();
>      aaOpts->SetRelativeContrastThreshold(0.125);
>      aaOpts->SetHardContrastThreshold(0.045);
>      aaOpts->SetSubpixelBlendLimit(0.75);
>      aaOpts->SetSubpixelContrastThreshold(0.25);
>      aaOpts->SetUseHighQualityEndpoints(true);
>      aaOpts->SetEndpointSearchIterations(12);
>
> m_view->GetRenderWindow()->AddRenderer( m_renderer );
>
> cheers,
>
> Paulo
>
>
> Em qua, 26 de dez de 2018 às 12:15, Mohamed Amine Mzoughi <
> [email protected]> escreveu:
>
>> Hello Paulo,
>>
>> Even without SmoothingOn* instructions, I still have a problem in my 2D
>> charts (I use a subclass of vtkChartXY, same issue with
>> vtkHistogramChart2D, I have rectangles in screen).
>>
>> In ParaView, the line is smooth :
>>
>> whereas in my VTK app, it isn't :
>>
>>
>>
>> I don't know the issue...
>>
>> I'm calling the FXAA instructions before Render() in the constructor, I
>> tried even to call them before each call to Render().
>>
>> Best regards.
>>
>> Le 26/12/2018 à 14:21, Paulo Carvalho a écrit :
>>
>> Hello, Mohamed!
>>
>>   It seems that your last calls (*SmoothingOn()) conflict with
>> UseFXAAOn().
>>
>> Here is the output I get when I add a call to PolygonSmoothingOn().  Not
>> only it is not antialiased, but you can notice the edges triangle strips,
>> visually ruining the results:
>>
>> [image: image.png]
>>
>> This one is rendered with only UseFXAAOn() and some configuration to the
>> vtkFXAAOptions object like you did:
>> [image: image.png]
>>
>> kind regards,
>>
>> Paulo
>>
>> Em qua, 26 de dez de 2018 às 10:03, Mohamed Amine Mzoughi <
>> [email protected]> escreveu:
>>
>>> Hello,
>>>
>>> I want to enable Anti-alisaing in my VTK app, so I took some parameters
>>> from ParaView and it still doesn't work :
>>>
>>>      m_view->GetRenderer()->UseFXAAOn(); // enable AA
>>>
>>>      vtkFXAAOptions* const aaOpts =
>>> m_view->GetRenderer()->GetFXAAOptions();
>>>      aaOpts->SetRelativeContrastThreshold(0.125);
>>>      aaOpts->SetHardContrastThreshold(0.045);
>>>      aaOpts->SetSubpixelBlendLimit(0.75);
>>>      aaOpts->SetSubpixelContrastThreshold(0.25);
>>>      aaOpts->SetUseHighQualityEndpoints(true);
>>>      aaOpts->SetEndpointSearchIterations(12);
>>>
>>> what am I missing ?
>>>
>>> Also, m_view->GetRenderWindow()->GetMultiSamples() => returns 8.
>>>
>>> and I called also :
>>>
>>> m_view->GetRenderWindow()->LineSmoothingOn();
>>> m_view->GetRenderWindow()->PolygonSmoothingOn();
>>> m_view->GetRenderWindow()->PointSmoothingOn();
>>>
>>> Thanks.
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at:
>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> https://vtk.org/mailman/listinfo/vtkusers
>>>
>>
>>
>

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
https://vtk.org/mailman/listinfo/vtkusers
mgmjgdbpgalilcml.png (image/png, 34.2 KB) - not displayed
liciomaiecgnccjf.png (image/png, 14.4 KB) - not displayed
image.png (image/png, 108.5 KB) - not displayed
image.png (image/png, 59.1 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.