View Issue Details

IDProjectCategoryView StatusLast Update
0026756CommunityOCCT:Visualizationpublic2015-11-05 10:22
ReporterTimo Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionduplicate 
Product Version6.9.0 
Target Version7.0.0Fixed in Version7.0.0 
Summary0026756: Antialiasing cannot be controlled anymore by graphics driver
DescriptionUp to OCCT 6.8.0 it was possible to control antialiasing via the graphics Driver. In this way, it was possible to use advanced antialiasing methods like multi-sampling.
In 6.9.0 and 6.9.1 this isn't possible anymore.
Is this intended?

It is still possible to control antialiasing by the application using "vantialiasing".

My graphics driver is:
  GLvendor = 'ATI Technologies Inc.'
  GLdevice = 'ATI FirePro V5800 (FireGL) Graphics Adapter'
  GLversion = '4.5.13399 Compatibility Profile Context FireGL 5.200.1062.1004'
  GLSLversion = '4.40'
Steps To ReproduceChange Settings in graphics Driver to override application Settings by enabling antialiasing Multi-sampling.

In Draw:
pload ALL
vinit
box b 10 10 10
vdisplay b
vfit

TagsNo tags attached.
Test case number

Attached Files

  • antialiasing OCC 6.8.0.png (5,794 bytes)
  • antialiasing OCC 6.9.0.png (4,463 bytes)

Relationships

duplicate of 0026711 closedbugmaster Open CASCADE Visualization, TKOpenGl - support creation of multisampling off-screen FBOs 

Activities

Timo

2015-10-07 15:37

developer  

antialiasing OCC 6.8.0.png (5,794 bytes)

Timo

2015-10-07 15:38

developer  

antialiasing OCC 6.9.0.png (4,463 bytes)

kgv

2015-10-07 15:56

developer   ~0046568

Last edited: 2015-10-07 15:57

> Up to OCCT 6.8.0 it was possible to control antialiasing via the graphics Driver.
> In this way, it was possible to use advanced antialiasing methods like multi-sampling.
> In 6.9.0 and 6.9.1 this isn't possible anymore.
> Is this intended?
this is limitation of graphic drivers, which can be solved only by supporting MSAA buffers within application (OCCT) itself - see referred issue 0026711.

Timo

2015-10-07 16:46

developer   ~0046572

Do you mean it is a bug of AMD graphics card driver?
If yes, do you have an idea why it changed from 6.8.0 to 6.9.0?

Does 0026711 implement multi-sampling as a replacement for the outdated antialiasing as it was proposed here (http://dev.opencascade.org/index.php?q=node/901) or is it only a first step in this direction?

kgv

2015-10-07 17:15

developer   ~0046573

Last edited: 2015-10-07 17:16

> Do you mean it is a bug of AMD graphics card driver?
No, it is a driver limitation - you can find many D3D games that has the same issue due to changed rendering workflow.

> If yes, do you have an idea why it changed from 6.8.0 to 6.9.0?
This is due to rendering into FBOs by default.
You can see the difference by disabling FBO rendering optimization (command vimmediatefront):
pload MODELING VISUALIZATION
box b 1 2 3
vclear
vclose ALL
vinit View1
vaxo
vdisplay b
vfit
# here is MSAA settings in NVIDIA/AMD/Intel driver panel have almost zero effect

vimmediatefront 0
vrepaint
# here is result


> Does 0026711 implement multi-sampling as a replacement
> for the outdated antialiasing as it was proposed here
> (http://dev.opencascade.org/index.php?q=node/901 [^])
> or is it only a first step in this direction?
MSAA buffers represent the modern way to solve aliasing issues - effectively they should provide similar result as activating MSAA in driver settings in old applications.
However they are not direct replacement for old options like GL_POLYGON_SMOOTH, though usage of old options is mostly useless nowadays due to implementation issues.

Timo

2015-10-07 18:26

developer   ~0046577

Thanks for the explanation.
So, if I understand it correctly, V3d_View.SetAntialiasingOn() will activate MSAA in OCC 7.0 if FBO are used.

kgv

2015-10-07 18:36

developer   ~0046578

Last edited: 2015-10-07 18:37

> So, if I understand it correctly, V3d_View.SetAntialiasingOn() will activate MSAA in OCC 7.0 if FBO are used.
No MSAA requires new API to be activated. In particular, the number of samples should be specified via Graphic3d_RenderingParams::NbMsaaSamples which defines the quality / performance cost of multisampling (0 - no AA, 2 - mostly useless, 4 - is something, 8 - usually the highest quality provided by drivers).

It is not yet decided what to do with old API V3d_View::SetAntialiasingOn(), maybe it can be redirected to new API with predefined number of samples for compatibility with old applications... but I doubt that anyone has actually used this function call due to weird results.

kgv

2015-11-03 16:07

developer   ~0047761

Dear bugmaster,

please close this issue as duplicate of 0026711.

Issue History

Date Modified Username Field Change
2015-10-07 15:37 Timo New Issue
2015-10-07 15:37 Timo Assigned To => kgv
2015-10-07 15:37 Timo File Added: antialiasing OCC 6.8.0.png
2015-10-07 15:38 Timo File Added: antialiasing OCC 6.9.0.png
2015-10-07 15:42 Timo Description Updated
2015-10-07 15:49 Timo Description Updated
2015-10-07 15:52 kgv Relationship added duplicate of 0026711
2015-10-07 15:56 kgv Note Added: 0046568
2015-10-07 15:57 kgv Note Edited: 0046568
2015-10-07 16:46 Timo Note Added: 0046572
2015-10-07 17:15 kgv Note Added: 0046573
2015-10-07 17:16 kgv Note Edited: 0046573
2015-10-07 18:26 Timo Note Added: 0046577
2015-10-07 18:36 kgv Note Added: 0046578
2015-10-07 18:37 kgv Note Edited: 0046578
2015-10-07 18:37 kgv Note Edited: 0046578
2015-11-03 16:07 kgv Note Added: 0047761
2015-11-03 16:07 kgv Assigned To kgv => bugmaster
2015-11-03 16:07 kgv Status new => feedback
2015-11-03 16:07 kgv Resolution open => duplicate
2015-11-03 16:07 kgv Fixed in Version => 7.0.0
2015-11-05 10:22 bugmaster Status feedback => closed