• Ken Martin's avatar
    update and improve the coincident rendering code · 3052137e
    Ken Martin authored
    The old code used standard factor and offset values
    to handle coincident surface/line issues. There are known
    issue with that approach though. Halos on cones being one
    example when surfaces have a factor.
    
    This approach does not use a factor but instead only
    offsets. Unlike the previous offsets that were in zbuffer
    values, these offsets are in terms of view coordinates.
    The advantage being that as the zbuffer is non-linear the
    desired offset needs ot take that into account. By using
    view coordinates we take the non-linearity out of the
    equation. Specifically the offset is in terms of
    1/10000 of the diagonal of the actor. So an offset of 100
    would push back the zvalues by 1% of the actors bounding
    diagonal. Negative values pull zbuffer values closer to the
    viewer. The defaults are now 0 for surfaces, -4 for lines,
    and -8 for points. It is valuable to have 0 for surfaces
    as that means those fragments can use early z rejection
    as they are not modifying the z value in the shader.
    
    Note that this approach will have artifacts. Too small
    of an offset will result in some line pixels falling behind
    surfaces. Too large of an offset will result in some lines
    poking through surfaces when they should not. The best value
    will be somewhat data dependent, and dependent on how
    offensive each of those artifacts is to you.
    3052137e
Name
Last commit
Last update
..
Testing Loading commit data...
CMakeLists.txt Loading commit data...
vtk.module Loading commit data...
vtkAnnotatedCubeActor.cxx Loading commit data...
vtkAnnotatedCubeActor.h Loading commit data...
vtkArcPlotter.cxx Loading commit data...
vtkArcPlotter.h Loading commit data...
vtkAxesActor.cxx Loading commit data...
vtkAxesActor.h Loading commit data...
vtkAxisActor.cxx Loading commit data...
vtkAxisActor.h Loading commit data...
vtkAxisActor2D.cxx Loading commit data...
vtkAxisActor2D.h Loading commit data...
vtkAxisFollower.cxx Loading commit data...
vtkAxisFollower.h Loading commit data...
vtkBarChartActor.cxx Loading commit data...
vtkBarChartActor.h Loading commit data...
vtkCaptionActor2D.cxx Loading commit data...
vtkCaptionActor2D.h Loading commit data...
vtkConvexHull2D.cxx Loading commit data...
vtkConvexHull2D.h Loading commit data...
vtkCornerAnnotation.cxx Loading commit data...
vtkCornerAnnotation.h Loading commit data...
vtkCubeAxesActor.cxx Loading commit data...
vtkCubeAxesActor.h Loading commit data...
vtkCubeAxesActor2D.cxx Loading commit data...
vtkCubeAxesActor2D.h Loading commit data...
vtkGraphAnnotationLayersFilter.cxx Loading commit data...
vtkGraphAnnotationLayersFilter.h Loading commit data...
vtkLeaderActor2D.cxx Loading commit data...
vtkLeaderActor2D.h Loading commit data...
vtkLegendBoxActor.cxx Loading commit data...
vtkLegendBoxActor.h Loading commit data...
vtkLegendScaleActor.cxx Loading commit data...
vtkLegendScaleActor.h Loading commit data...
vtkParallelCoordinatesActor.cxx Loading commit data...
vtkParallelCoordinatesActor.h Loading commit data...
vtkPieChartActor.cxx Loading commit data...
vtkPieChartActor.h Loading commit data...
vtkPolarAxesActor.cxx Loading commit data...
vtkPolarAxesActor.h Loading commit data...
vtkProp3DAxisFollower.cxx Loading commit data...
vtkProp3DAxisFollower.h Loading commit data...
vtkScalarBarActor.cxx Loading commit data...
vtkScalarBarActor.h Loading commit data...
vtkScalarBarActorInternal.h Loading commit data...
vtkSpiderPlotActor.cxx Loading commit data...
vtkSpiderPlotActor.h Loading commit data...
vtkXYPlotActor.cxx Loading commit data...
vtkXYPlotActor.h Loading commit data...