Files
UnrealEngineUWP/Engine/Shaders/Shared/PathTracingDefinitions.h
chris kulla d064996317 Improve path tracer performance with simplified materials
GPU Lightmass saw a performance regression after using more of the material model for translucent shadow support. Reclaim some performance by special casing more of the material logic for the subset that GPULM needs.

#rb Yujiang.Wang
#preflight 609ad275ab726700013a472c

[CL 16278525 by chris kulla in ue5-main branch]
2021-05-11 15:46:27 -04:00

31 lines
1.3 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#define PATHTRACER_MAX_RECT_TEXTURES 8
#define PATHTRACER_COHERENT_TILE_SHIFT 3
#define PATHTRACER_COHERENT_TILE_SIZE (1 << PATHTRACER_COHERENT_TILE_SHIFT)
// Constants for 'SamplerType'
#define PATHTRACER_SAMPLER_DEFAULT 0
#define PATHTRACER_SAMPLER_ERROR_DIFFUSION 1
#define PATHTRACER_SAMPLER_COHERENT 2
// Constants for the 'Flags' field of FPathTracingLight
#define PATHTRACER_FLAG_LIGHTING_CHANNEL_MASK (7 << 0) // Which lighting channel is this light assigned to?
#define PATHTRACER_FLAG_TRANSMISSION_MASK (1 << 3) // Does the light affect the transmission side?
#define PATHTRACER_FLAG_NON_INVERSE_SQUARE_FALLOFF_MASK (1 << 4) // Does the light have a non-inverse square decay?
#define PATHTRACER_FLAG_STATIONARY_MASK (1 << 5) // Only used by GPULightmass
#define PATHTRACER_FLAG_TYPE_MASK (7 << 6)
#define PATHTRACING_LIGHT_SKY (0 << 6)
#define PATHTRACING_LIGHT_DIRECTIONAL (1 << 6)
#define PATHTRACING_LIGHT_POINT (2 << 6)
#define PATHTRACING_LIGHT_SPOT (3 << 6)
#define PATHTRACING_LIGHT_RECT (4 << 6)
#define PATHTRACER_FLAG_CAST_SHADOW_MASK (1 << 9)
// Constants for the path tracer light grid
#define PATHTRACER_LIGHT_GRID_SINGULAR_MASK 0x80000000u
#define PATHTRACER_LIGHT_GRID_LIGHT_COUNT_MASK 0x7FFFFFFFu