Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
0.8.4:volumerendering [2022/06/16 13:27] – admin | 0.8.4:volumerendering [2022/06/16 13:47] (current) – [Filtering and MipMaps] admin | ||
---|---|---|---|
Line 358: | Line 358: | ||
|Gamut|Texture used for mapping the 3D value during Raytracing| | |Gamut|Texture used for mapping the 3D value during Raytracing| | ||
|GamutMode|Defines when and how the value-color mapping happens. Here different modes are available: GamutNone, GamutByValue, | |GamutMode|Defines when and how the value-color mapping happens. Here different modes are available: GamutNone, GamutByValue, | ||
- | |GamutFactor|A factor applied to the absolute 3D value before mapping onto the gamut texture (default value is 1.0)| | + | |GamutFactor|A factor applied to the absolute 3D value before mapping onto the gamut texture (default value is 1.0). Use this value for shifting inside of the gamut texture. | |
+ | |GamutIntensity|Defines how intense coloring is.| | ||
+ | |GamutAlphaIntensity|Defines how intense alpha channel coloring is.| | ||
{{youtube> | {{youtube> | ||
Line 378: | Line 380: | ||
Since v0.8.4.2314 lighting and iso surface detection is also supported. | Since v0.8.4.2314 lighting and iso surface detection is also supported. | ||
- | Iso surface detection tries to evaluate | + | To activate lighting for a volumetric mesh, please use: |
+ | <file pascal> | ||
+ | GorillaVolumetricMesh1.UseLighting := true; | ||
+ | </ | ||
+ | |||
+ | After it was activated, the implemented functions try to detect | ||
+ | This is called IsoSurface detection. | ||
+ | |||
+ | Because this method always depends on the data, you can control this detection by **IsoSurfaceLimit** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <file pascal> | ||
+ | GorillaVolumetricMesh1.IsoSurfaceLimit := 0.125; | ||
+ | </ | ||
+ | |||
+ | When detection of a volume surface was successful, we are able to apply lighting with all available shading models to it. | ||
- | When detection of the volume surface was successful, we are able to apply lighting with all available shading models to it. | ||
The volumetric mesh therefore allows to choose between: Lambert, Phong, Blinn-Phong and PBR. | The volumetric mesh therefore allows to choose between: Lambert, Phong, Blinn-Phong and PBR. | ||
+ | |||
+ | {{: | ||
+ | |||
<file pascal> | <file pascal> | ||
GorillaVolumetricMesh1.ShadingModel := TGorillaShadingModel.smPBR; | GorillaVolumetricMesh1.ShadingModel := TGorillaShadingModel.smPBR; | ||
</ | </ | ||
- | __Notice:__ For PBR (physically based rendering) it does not need any PBR texture, instead it will use the // | + | __Notice:__ For PBR (physically based rendering) it does not need any PBR texture, instead it will use the // |
+ | |||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | ===== Filtering and MipMaps ===== | ||
+ | |||
+ | Since v0.8.4.2314 switching between nearest and linear filtering is supported. | ||
+ | You are also able to activate MipMaps, but in most test cases the result was unsatisfying. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The picture above is showing difference between nearest (left) and linear (right) filtering. | ||
+ | In most cases linear filtering is the expected output, but for some customers exact display of 3D data values is necessary. | ||
+ | |||
+ | <file pascal> | ||
+ | GorillaVolumetricMesh1.LinearFiltering := true; | ||
+ | GorillaVolumetricMesh1.MipMaps := false; | ||
+ | </ | ||
+ | |||
===== Multiple VolumetricMeshes / Complex Scenes ===== | ===== Multiple VolumetricMeshes / Complex Scenes ===== |