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:38] – [Lighting] 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 373: | Line 375: | ||
|GamutBySum|Gamut mapping will be applied to the final casted ray value.| | |GamutBySum|Gamut mapping will be applied to the final casted ray value.| | ||
|GamutBySumMultiply|Gamut mapping will be applied to the final casted ray value and afterwards multiplied with the previously computed color value.| | |GamutBySumMultiply|Gamut mapping will be applied to the final casted ray value and afterwards multiplied with the previously computed color value.| | ||
+ | |||
+ | ===== Lighting ===== | ||
+ | |||
+ | Since v0.8.4.2314 lighting and iso surface detection is also supported. | ||
+ | |||
+ | To activate lighting for a volumetric mesh, please use: | ||
+ | <file pascal> | ||
+ | GorillaVolumetricMesh1.UseLighting := true; | ||
+ | </ | ||
+ | |||
+ | After it was activated, the implemented functions try to detect a surface from the given 3D data. | ||
+ | This is called IsoSurface detection. | ||
+ | |||
+ | Because this method always depends on the data, you can control this detection by **IsoSurfaceLimit** property. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <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. | ||
+ | |||
+ | The volumetric mesh therefore allows to choose between: Lambert, Phong, Blinn-Phong and PBR. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <file pascal> | ||
+ | GorillaVolumetricMesh1.ShadingModel := TGorillaShadingModel.smPBR; | ||
+ | </ | ||
+ | |||
+ | __Notice:__ For PBR (physically based rendering) it does not need any PBR texture, instead it will use the //AOBias//, // | ||
+ | |||
+ | |||
+ | {{youtube> | ||
===== Filtering and MipMaps ===== | ===== Filtering and MipMaps ===== | ||
Line 386: | Line 423: | ||
<file pascal> | <file pascal> | ||
GorillaVolumetricMesh1.LinearFiltering := true; | GorillaVolumetricMesh1.LinearFiltering := true; | ||
- | GorillaVolumetricMesh1.MipMaps := true; | + | GorillaVolumetricMesh1.MipMaps := false; |
</ | </ | ||