Re: anti-aliasing

Andras Lasso <[email protected]>
Newsgroups gmane.comp.lib.vtk.user
Message-ID <YTOPR0101MB1292F5BAD414607C1FA42F10D8B70@YTOPR0101MB1292.CANPRD01.PROD.OUTLOOK.COM>
Multi-sampling works well for me (it smoothes lines, etc.) except axes areas appear black. This is probably a VTK bug that should be fixed, but maybe I just have not configured everything correctly.

ParaView uses multi-sampling for anti-aliasing in plots and not FXAA (https://github.com/Kitware/ParaView/blob/master/Qt/Core/pqContextView.cxx#L143, https://gitlab.kitware.com/paraview/paraview/issues/17202). Anti-aliasing in plots works well in Paraview 5.5.2 (smooth lines, properly rendered axes). There is no antialiasing in plots in ParaView 5.6.0 (lines are jagged), so there may be some multi-sampling related issues in recent VTK version.

Andras

From: Mohamed Amine Mzoughi <[email protected]>
Sent: Friday, December 28, 2018 10:01 AM
To: Andras Lasso <[email protected]>; Paulo Carvalho <[email protected]>; [email protected]
Subject: Re: [vtkusers] anti-aliasing


As you can see in the screenshots below, I was unable to smooth vtkChartXY's plot line (displayed on a QVTKOpenGLWidget) plot with UseFXAAOn and setMultiSamples(8) (multi samples is defaulted to 8 anyway).

Changing the surface format's samples number messed badly the 2D charts with black areas. This is what I've done in constructor :

QSurfaceFormat surface = m_widget->format();
std::cout << "[debug] Qt widget samples = " << surface.samples() << std::endl; // 0 by default (disabled)
surface.setSamples(8);
m_widget->setFormat(surface);

Regards.
Le 27/12/2018 à 22:45, Andras Lasso a écrit :
To activate anti-aliasing, you can enable FXAA in the renderer using renderer.UseFXAAOn() or set number of samples in the render window using renderWindow.setMultiSamples(8) (if you render in a Qt widget, adjust samples property in the window’s surface format - http://doc.qt.io/qt-5/qsurfaceformat.html#setSamples<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdoc.qt.io%2Fqt-5%2Fqsurfaceformat.html%23setSamples&data=02%7C01%7Classo%40queensu.ca%7C753aca6286994b17a15d08d66cd53b4f%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636816060432571103&sdata=kKNCZ2h%2FT81oqw77gwhW4lT%2BcLqeLtxOlvFuHOciieY%3D&reserved=0>). Anti-aliasing has impact on performance and may not be compatible with some rendering options.

Andras

From: vtkusers <[email protected]><mailto:[email protected]> On Behalf Of Mohamed Amine Mzoughi
Sent: Wednesday, December 26, 2018 10:38 AM
To: Paulo Carvalho <[email protected]><mailto:[email protected]>; [email protected]<mailto:[email protected]>
Subject: Re: [vtkusers] anti-aliasing


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]<mailto:[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 :
[cid:[email protected]]
whereas in my VTK app, it isn't :

[cid:[email protected]]

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.png]
This one is rendered with only UseFXAAOn() and some configuration to the vtkFXAAOptions object like you did:
[image.png]
kind regards,
Paulo

Em qua, 26 de dez de 2018 às 10:03, Mohamed Amine Mzoughi <[email protected]<mailto:[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<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com&data=02%7C01%7Classo%40queensu.ca%7C753aca6286994b17a15d08d66cd53b4f%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636816060432571103&sdata=jBV4IH%2BQQc1bpyuRtZOlM%2Bowogpb4Cy8A4jmUkU4C48%3D&reserved=0>

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7C753aca6286994b17a15d08d66cd53b4f%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636816060432581112&sdata=52HKzi9ShkYag67JeS8ouv4wis13CIIL6GvioUNBtJk%3D&reserved=0>

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.vtk.org%2FWiki%2FVTK_FAQ&data=02%7C01%7Classo%40queensu.ca%7C753aca6286994b17a15d08d66cd53b4f%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636816060432591117&sdata=lGcYuj%2F57RWY8xjUFrMIJ0ltK7Xasp1ZJV5kvozqE74%3D&reserved=0>

Search the list archives at: http://markmail.org/search/?q=vtkusers<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtkusers&data=02%7C01%7Classo%40queensu.ca%7C753aca6286994b17a15d08d66cd53b4f%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636816060432591117&sdata=ccWnZ3Z0SdmnP532RYbNvZOLUzp%2Bio8VdnO%2Bb%2B%2BTzUk%3D&reserved=0>

Follow this link to subscribe/unsubscribe:
https://vtk.org/mailman/listinfo/vtkusers<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fvtk.org%2Fmailman%2Flistinfo%2Fvtkusers&data=02%7C01%7Classo%40queensu.ca%7C753aca6286994b17a15d08d66cd53b4f%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636816060432601126&sdata=VOmUEluRAQurEKfCKg3wAo4KlQwDo4PUiruMWUzuM6I%3D&reserved=0>

_______________________________________________
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
image001.png (image/png, 34.2 KB) - not displayed
image002.png (image/png, 14.4 KB) - not displayed
image005.jpg (image/jpeg, 53 KB) - not displayed
image008.jpg (image/jpeg, 47.9 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.