@@ -14,63 +14,63 @@ that start at the light source and interpolating the radiance between these samp
1414` EpipolarLightScatteringAttribs ` structure
1515The following parameters control the effect
1616
17- * uiNumEpipolarSlices - the total number of epipolar slices (lines). For high quality effect,
18- set this value to (Screen Width + Screen Height)/2
19- * uiMaxSamplesInSlice - Maximum number of samples on a single epipolar line.
20- When epipolar light is short, the actual number of samples
21- may be lower. For high quality effect, set this value to max(Screen Width, Screen Height)/2.
22- * uiInitialSampleStepInSlice - Initial ray marching sample spacing on an epipolar line.
23- Additional samples are added at discontinuities.
24- * uiEpipoleSamplingDensityFactor - Sample density scale near the epipole where inscattering changes rapidly.
25- Note that sampling near the epipole is very cheap since only a few steps
26- required to perform ray marching.
27- * fRefinementThreshold - Sampling refinement threshold that controls detection of discontinuities. Smaller values
28- produce more samples and higher quality, but at a higher performance cost.
29- * bShowSampling - Whether to show epipolar sampling.
30- * bCorrectScatteringAtDepthBreaks - Whether to correct inscattering at depth discontinuities. Improves quality
31- for additional cost. It may be preferable to increase the number of slices
32- and or maximum number of samples on an epipolar line instead.
33- * bShowDepthBreaks - Whether to display pixels which are classified as depth discontinuities and which
34- will be corrected. Only has effect when bCorrectScatteringAtDepthBreaks is TRUE.
35- * bShowLightingOnly - Whether to show lighting only
36- * bOptimizeSampleLocations - Optimize sample locations to avoid oversampling. This should generally be TRUE.
37- * bEnableLightShafts - Whether to enable light shafts or render unshadowed inscattering.
38- Setting this to FALSE increases performance, but reduces visual quality.
39- * uiInstrIntegralSteps - Number of inscattering integral steps taken when computing unshadowed inscattering
40- Default value is OK and should not be changed.
41- * f2ShadowMapTexelSize - Size of the shadowmap texel (1/width, 1/height)
42- * uiMaxSamplesOnTheRay - Maximum number of ray marching samples on a single ray. Typically this value should match the maximum
43- shadow map cascade resolution. Using lower value will improve performance but may result
44- in moire patterns. Note that in most cases significantly less samples are actually taken.
45- * uiMinMaxShadowMapResolution - Defines the number of samples at the lowest level of min-max binary tree
46- and should match the maximum cascade shadow map resolution.
47- * iNumCascades - Number of shadow map cascades
48- * iFirstCascadeToRayMarch - First cascade to use for ray marching. Usually first few cascades are small, and ray
49- marching them is inefficient.
50- * fMaxShadowMapStep - Cap on the maximum shadow map step in texels.
51- * bUse1DMinMaxTree - Whether to use 1D min/max binary tree optimization. This improves
52- performance for higher shadow map resolution. Test it.
53- * bIs32BitMinMaxMipMap - Whether to use 32-bit float or 16-bit UNORM min-max binary tree. Usually 16-bit UNORM is OK.
54- * uiLightSctrTechnique - Light scattering evaluation technique. The following two methods are available: epipolar and brute-force.
55- Brute force light scattering performs expensive ray marching for every screen pixel. This method
56- can be used as the quality reference.
57- * uiCascadeProcessingMode - Shadow map cascades processing mode.
58- * uiRefinementCriterion - Epipolar sampling refinement criterion. The two options are depth difference and scattering difference.
59- Scattering difference is generally preferable way.
60- * uiSingleScatteringMode - Single scattering evaluation mode. The following three methods are available:
17+ * ` uiNumEpipolarSlices ` - the total number of epipolar slices (lines). For high quality effect,
18+ set this value to (Screen Width + Screen Height)/2
19+ * ` uiMaxSamplesInSlice ` - Maximum number of samples on a single epipolar line.
20+ When epipolar light is short, the actual number of samples
21+ may be lower. For high quality effect, set this value to max(Screen Width, Screen Height)/2.
22+ * ` uiInitialSampleStepInSlice ` - Initial ray marching sample spacing on an epipolar line.
23+ Additional samples are added at discontinuities.
24+ * ` uiEpipoleSamplingDensityFactor ` - Sample density scale near the epipole where inscattering changes rapidly.
25+ Note that sampling near the epipole is very cheap since only a few steps
26+ required to perform ray marching.
27+ * ` fRefinementThreshold ` - Sampling refinement threshold that controls detection of discontinuities. Smaller values
28+ produce more samples and higher quality, but at a higher performance cost.
29+ * ` bShowSampling ` - Whether to show epipolar sampling.
30+ * ` bCorrectScatteringAtDepthBreaks ` - Whether to correct inscattering at depth discontinuities. Improves quality
31+ for additional cost. It may be preferable to increase the number of slices
32+ and or maximum number of samples on an epipolar line instead.
33+ * ` bShowDepthBreaks ` - Whether to display pixels which are classified as depth discontinuities and which
34+ will be corrected. Only has effect when bCorrectScatteringAtDepthBreaks is TRUE.
35+ * ` bShowLightingOnly ` - Whether to show lighting only
36+ * ` bOptimizeSampleLocations ` - Optimize sample locations to avoid oversampling. This should generally be TRUE.
37+ * ` bEnableLightShafts ` - Whether to enable light shafts or render unshadowed inscattering.
38+ Setting this to FALSE increases performance, but reduces visual quality.
39+ * ` uiInstrIntegralSteps ` - Number of inscattering integral steps taken when computing unshadowed inscattering
40+ Default value is OK and should not be changed.
41+ * ` f2ShadowMapTexelSize ` - Size of the shadowmap texel (1/width, 1/height)
42+ * ` uiMaxSamplesOnTheRay ` - Maximum number of ray marching samples on a single ray. Typically this value should match the maximum
43+ shadow map cascade resolution. Using lower value will improve performance but may result
44+ in moire patterns. Note that in most cases significantly less samples are actually taken.
45+ * ` uiMinMaxShadowMapResolution ` - Defines the number of samples at the lowest level of min-max binary tree
46+ and should match the maximum cascade shadow map resolution.
47+ * ` iNumCascades ` - Number of shadow map cascades
48+ * ` iFirstCascadeToRayMarch ` - First cascade to use for ray marching. Usually first few cascades are small, and ray
49+ marching them is inefficient.
50+ * ` fMaxShadowMapStep ` - Cap on the maximum shadow map step in texels.
51+ * ` bUse1DMinMaxTree ` - Whether to use 1D min/max binary tree optimization. This improves
52+ performance for higher shadow map resolution. Test it.
53+ * ` bIs32BitMinMaxMipMap ` - Whether to use 32-bit float or 16-bit UNORM min-max binary tree. Usually 16-bit UNORM is OK.
54+ * ` uiLightSctrTechnique ` - Light scattering evaluation technique. The following two methods are available: epipolar and brute-force.
55+ Brute force light scattering performs expensive ray marching for every screen pixel. This method
56+ can be used as the quality reference.
57+ * ` uiCascadeProcessingMode ` - Shadow map cascades processing mode.
58+ * ` uiRefinementCriterion ` - Epipolar sampling refinement criterion. The two options are depth difference and scattering difference.
59+ Scattering difference is generally preferable way.
60+ * ` uiSingleScatteringMode ` - Single scattering evaluation mode. The following three methods are available:
6161 * None - no single scattering.
6262 * Integration (default) - evaluate single scattering with numerical integration.
6363 * Look-up table - use precomputed single-scattering look-up table.
64- * uiMultipleScatteringMode - Higher-order scattering evaluation mode. The following three options are available:
64+ * ` uiMultipleScatteringMode ` - Higher-order scattering evaluation mode. The following three options are available:
6565 * None - no multiple scattering.
6666 * Unoccluded (default) - evaluate multiple scattering without shadowing.
6767 * Occluded - evaluate multiple scattering taking shadowing into account similar to single scattering.
68- * uiExtinctionEvalMode - Atmospheric extinction evaluation mode.
69- * bUseCustomSctrCoeffs - Whether to use custom scattering coefficients.
70- * fAerosolDensityScale - Aerosol density scale to use for scattering coefficient computation.
71- * fAerosolAbsorbtionScale - Aerosol absorption scale to use for scattering coefficient computation.
72- * f4CustomRlghBeta - Custom Rayleigh coefficients.
73- * f4CustomMieBeta - Custom Mie coefficients.
68+ * ` uiExtinctionEvalMode ` - Atmospheric extinction evaluation mode.
69+ * ` bUseCustomSctrCoeffs ` - Whether to use custom scattering coefficients.
70+ * ` fAerosolDensityScale ` - Aerosol density scale to use for scattering coefficient computation.
71+ * ` fAerosolAbsorbtionScale ` - Aerosol absorption scale to use for scattering coefficient computation.
72+ * ` f4CustomRlghBeta ` - Custom Rayleigh coefficients.
73+ * ` f4CustomMieBeta ` - Custom Mie coefficients.
7474
7575## Integration
7676
0 commit comments