Skip to content

Near-zero gradient vectors result in bad normals. #108

Open
@mlavik1

Description

@mlavik1

Backgorund:
To calculate a normal for using in our lighting calculations (See DirectVolumeRenderingShader.shader) we use the gradient vector. This vector indicates the direction of change inside the volumetric dataset, and is calculated in VolumeDataset.CreateGradientTextureInternal. However, in areas of the dataset where there is little change in the density values, this vector will have a length of nearly zero, and as a result the direction can end up point in seemingly random direction. This results in very obvious lighting artifacts.

We need to find some way to deal with this. Suggestions are welcome!
This article has some suggestions:
https://developer.openinventor.com/UserGuides/Oiv10/Users_Guide/VolumeViz/Volume_Rendering/Volume_rendering_effects.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions