Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
0.8.4:volumerendering [2022/06/16 13:34] – [Lighting] admin0.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, GamutByValueMultiply, GamutBySum, GamutBySumMultiply| |GamutMode|Defines when and how the value-color mapping happens. Here different modes are available: GamutNone, GamutByValue, GamutByValueMultiply, GamutBySum, GamutBySumMultiply|
-|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>cmgTMz4PDAc?large}} {{youtube>cmgTMz4PDAc?large}}
Line 374: Line 376:
 |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.|
  
-===== Filtering and MipMaps =====+===== Lighting =====
  
-Since v0.8.4.2314 switching between nearest and linear filtering is supported. +Since v0.8.4.2314 lighting and iso surface detection is also supported.
-Also it is now possible to activate MipMaps, but in most test cases the result was unsatisfying. +
- +
-{{:0.8.4:vr_filtering.jpg?nolink&600|}}+
  
 +To activate lighting for a volumetric mesh, please use:
 <file pascal> <file pascal>
-GorillaVolumetricMesh1.LinearFiltering := true; +GorillaVolumetricMesh1.UseLighting := true;
-GorillaVolumetricMesh1.MipMaps := true;+
 </file> </file>
  
 +After it was activated, the implemented functions try to detect a surface from the given 3D data.
 +This is called IsoSurface detection.
  
-===== Lighting =====+Because this method always depends on the data, you can control this detection by **IsoSurfaceLimit** property.
  
-Since v0.8.4.2314 lighting and iso surface detection is also supported.+{{:0.8.4:vr_isosurf.jpg?nolink&600|}}
  
-Iso surface detection tries to evaluate a surface during raytracing. Because this method always depends on the data we have you can control this detection by **IsoSurfaceLimit**.+<file pascal> 
 +GorillaVolumetricMesh1.IsoSurfaceLimit := 0.125; 
 +</file> 
 + 
 +When detection of 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.
  
Line 399: Line 403:
  
 <file pascal> <file pascal>
-GorillaVolumetricMesh1.IsoSurfaceLimit := 0.125; 
 GorillaVolumetricMesh1.ShadingModel := TGorillaShadingModel.smPBR; GorillaVolumetricMesh1.ShadingModel := TGorillaShadingModel.smPBR;
 </file> </file>
  
-__Notice:__ For PBR (physically based rendering) it does not need any PBR texture, instead it will use the //RoughnessBias// and //MetallicBias// properties.+__Notice:__ For PBR (physically based rendering) it does not need any PBR texture, instead it will use the //AOBias//, //RoughnessBias// and //MetallicBias// properties. 
 + 
 + 
 +{{youtube>zMfiPLPDcq0?large}} 
 + 
 +===== 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. 
 + 
 +{{:0.8.4:vr_filtering.jpg?nolink&600|}} 
 + 
 +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; 
 +</file> 
 + 
  
 ===== Multiple VolumetricMeshes / Complex Scenes ===== ===== Multiple VolumetricMeshes / Complex Scenes =====