You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

70 lines
3.2 KiB

namespace UnityEngine.Rendering.HighDefinition
{
[GenerateHLSL]
class HDLightClusterDefinitions
{
public static Vector3Int s_ClusterSize = new Vector3Int(64, 32, 64);
public static int s_ClusterCellCount = s_ClusterSize.x * s_ClusterSize.y * s_ClusterSize.z;
public static int s_CellMetaDataSize = 5;
}
[GenerateHLSL(needAccessors = false, generateCBuffer = true, constantRegister = (int)ConstantRegister.RayTracing)]
unsafe struct ShaderVariablesRaytracing
{
public float _RayTracingPadding0;
// Maximal ray length for trace ray (in case an other one does not override it)
public float _RaytracingRayMaxLength;
// Number of samples that will be used to evaluate an effect
public int _RaytracingNumSamples;
// Index of the current sample
public int _RaytracingSampleIndex;
// Value used to clamp the intensity of the signal to reduce the signal/noise ratio
public float _RaytracingIntensityClamp;
// Flag that tracks if ray counting is enabled
public int _RayCountEnabled;
// Flag that tracks if a ray traced signal should be pre-exposed
public int _RaytracingPreExposition;
// Near plane distance of the camera used for ray tracing
public float _RaytracingCameraNearPlane;
// Angle of a pixel (used for texture filtering)
public float _RaytracingPixelSpreadAngle;
// Ray traced reflection Data
public float _RaytracingReflectionMinSmoothness;
public float _RaytracingReflectionSmoothnessFadeStart;
// Path tracing parameters
public int _RaytracingMinRecursion;
public int _RaytracingMaxRecursion;
// Ray traced indirect diffuse data
public int _RayTracingDiffuseLightingOnly;
// Shadow value to be used when the point to shade is not inside of the cascades
public float _DirectionalShadowFallbackIntensity;
// Global bias applied to texture reading for various reasons.
public float _RayTracingLodBias;
// Bit mask that defines which fall back to use when a ray misses.
public int _RayTracingRayMissFallbackHierarchy;
// Flag that defines if we should use the ambient probe instead of the sky. Used for RTGI - performance mode.
public int _RayTracingRayMissUseAmbientProbeAsSky;
// Flag that defines if the sky should be used as an environment light.
public int _RayTracingLastBounceFallbackHierarchy;
// Flag that defines if
public int _RayTracingClampingFlag;
// Dimmer that allows us to nuke the ambient probe (and legacy probe as a side effect) in ray tracing effects.
public float _RayTracingAmbientProbeDimmer;
// Flag that defines if the APV should be used in the case of a ray miss in performance mode
public int _RayTracingAPVRayMiss;
// Near plane ray Bias
public float _RayTracingRayBias;
// Far plane ray bias
public float _RayTracingDistantRayBias;
// Ray Frame Index for reflection signals
public int _RayTracingReflectionFrameIndex;
// Layer Mask to use when sampling APV
public uint _RaytracingAPVLayerMask;
}
}