You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb rune.stubbe #preflight 62680e711638ac249e7b8a5a #ROBOMERGE-AUTHOR: jamie.hayes #ROBOMERGE-SOURCE: CL 19921850 via CL 19922083 via CL 19922618 #ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690) [CL 19925604 by jamie hayes in ue5-main branch]
186 lines
8.5 KiB
C
186 lines
8.5 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
// Enable to constrain clusters to no more than 256 vertices and no index references outside of trailing window of NANITE_CONSTRAINED_CLUSTER_CACHE_SIZE vertices.
|
|
#define NANITE_USE_CONSTRAINED_CLUSTERS 1
|
|
|
|
#define NANITE_USE_UNCOMPRESSED_VERTEX_DATA 0
|
|
|
|
#define NANITE_MAX_STREAMING_REQUESTS (256u * 1024u)
|
|
#define NANITE_MAX_CLUSTER_TRIANGLES 128
|
|
#define NANITE_MAX_CLUSTER_VERTICES_BITS 8
|
|
#define NANITE_MAX_CLUSTER_VERTICES (1 << NANITE_MAX_CLUSTER_VERTICES_BITS)
|
|
#define NANITE_MAX_CLUSTER_VERTICES_MASK ((1 << NANITE_MAX_CLUSTER_VERTICES_BITS) - 1)
|
|
|
|
#define NANITE_MAX_CLUSTER_INDICES (NANITE_MAX_CLUSTER_TRIANGLES * 3)
|
|
#define NANITE_MAX_UVS 4
|
|
|
|
#define NANITE_MAX_CLUSTER_MATERIALS 64
|
|
|
|
#define NANITE_USE_STRIP_INDICES 1
|
|
|
|
#define NANITE_ROOT_PAGE_GPU_SIZE_BITS 15
|
|
#define NANITE_ROOT_PAGE_GPU_SIZE (1u << NANITE_ROOT_PAGE_GPU_SIZE_BITS)
|
|
|
|
// Adds frame counter dependent magic values to streaming requests to help verify their integrity.
|
|
#define NANITE_SANITY_CHECK_STREAMING_REQUESTS 0
|
|
|
|
#define NANITE_STREAMING_REQUEST_MAGIC_BITS 8
|
|
#define NANITE_STREAMING_REQUEST_MAGIC_MASK ((1 << NANITE_STREAMING_REQUEST_MAGIC_BITS) - 1)
|
|
|
|
#define NANITE_STREAMING_PAGE_GPU_SIZE_BITS 17
|
|
#define NANITE_STREAMING_PAGE_GPU_SIZE (1u << NANITE_STREAMING_PAGE_GPU_SIZE_BITS)
|
|
#define NANITE_MAX_PAGE_DISK_SIZE (NANITE_STREAMING_PAGE_GPU_SIZE * 2)
|
|
|
|
#define NANITE_MAX_CLUSTERS_PER_PAGE_BITS 8
|
|
#define NANITE_MAX_CLUSTERS_PER_PAGE_MASK ((1 << NANITE_MAX_CLUSTERS_PER_PAGE_BITS) - 1)
|
|
#define NANITE_MAX_CLUSTERS_PER_PAGE ( 1 << NANITE_MAX_CLUSTERS_PER_PAGE_BITS)
|
|
#define NANITE_MAX_CLUSTERS_PER_GROUP_BITS 9
|
|
#define NANITE_MAX_CLUSTERS_PER_GROUP_MASK ((1 << NANITE_MAX_CLUSTERS_PER_GROUP_BITS) - 1)
|
|
#define NANITE_MAX_CLUSTERS_PER_GROUP ((1 << NANITE_MAX_CLUSTERS_PER_GROUP_BITS) - 1)
|
|
#define NANITE_MAX_CLUSTERS_PER_GROUP_TARGET 128
|
|
|
|
#define NANITE_MAX_HIERACHY_CHILDREN_BITS 6
|
|
#define NANITE_MAX_HIERACHY_CHILDREN (1 << NANITE_MAX_HIERACHY_CHILDREN_BITS)
|
|
#define NANITE_MAX_VIEWS_PER_CULL_RASTERIZE_PASS_BITS 12
|
|
#define NANITE_MAX_VIEWS_PER_CULL_RASTERIZE_PASS_MASK ((1 << NANITE_MAX_VIEWS_PER_CULL_RASTERIZE_PASS_BITS) - 1)
|
|
#define NANITE_MAX_VIEWS_PER_CULL_RASTERIZE_PASS (1 << NANITE_MAX_VIEWS_PER_CULL_RASTERIZE_PASS_BITS)
|
|
#define NANITE_MAX_GPU_PAGES_BITS 16
|
|
#define NANITE_MAX_GPU_PAGES_MASK ((1 << NANITE_MAX_GPU_PAGES_BITS) - 1)
|
|
#define NANITE_MAX_GPU_PAGES ( 1 << NANITE_MAX_GPU_PAGES_BITS)
|
|
#define NANITE_MAX_INSTANCES_BITS 24
|
|
#define NANITE_MAX_INSTANCES (1 << NANITE_MAX_INSTANCES_BITS)
|
|
|
|
#define NANITE_MAX_NODES_PER_PRIMITIVE_BITS 16
|
|
#define NANITE_MAX_RESOURCE_PAGES_BITS 20
|
|
#define NANITE_MAX_RESOURCE_PAGES_MASK ((1 << NANITE_MAX_RESOURCE_PAGES_BITS) - 1)
|
|
#define NANITE_MAX_RESOURCE_PAGES (1 << NANITE_MAX_RESOURCE_PAGES_BITS)
|
|
#define NANITE_MAX_GROUP_PARTS_BITS 3
|
|
#define NANITE_MAX_GROUP_PARTS_MASK ((1 << NANITE_MAX_GROUP_PARTS_BITS) - 1)
|
|
#define NANITE_MAX_GROUP_PARTS (1 << NANITE_MAX_GROUP_PARTS_BITS)
|
|
|
|
#define NANITE_FILTER_FLAGS_NUM_BITS (4u)
|
|
#define NANITE_IMPOSTER_INDEX_NUM_BITS (32u - NANITE_FILTER_FLAGS_NUM_BITS)
|
|
#define NANITE_IMPOSTER_INDEX_MASK ((1u << NANITE_IMPOSTER_INDEX_NUM_BITS) - 1u)
|
|
#define NANITE_FILTER_FLAGS_MASK (((1u << NANITE_FILTER_FLAGS_NUM_BITS) - 1u) << NANITE_IMPOSTER_INDEX_NUM_BITS)
|
|
#define INVALID_NANITE_IMPOSTER_INDEX (0xFFFFFFFFu)
|
|
|
|
#define NANITE_MAX_BVH_NODE_FANOUT_BITS 2
|
|
#define NANITE_MAX_BVH_NODE_FANOUT_MASK ((1 << NANITE_MAX_BVH_NODE_FANOUT_BITS)-1)
|
|
#define NANITE_MAX_BVH_NODE_FANOUT (1 << NANITE_MAX_BVH_NODE_FANOUT_BITS)
|
|
#define NANITE_BVH_NODE_ENABLE_MASK ((1 << NANITE_MAX_BVH_NODE_FANOUT)-1)
|
|
|
|
#define NANITE_PERSISTENT_CLUSTER_CULLING_GROUP_SIZE 64
|
|
#define NANITE_MAX_BVH_NODES_PER_GROUP (NANITE_PERSISTENT_CLUSTER_CULLING_GROUP_SIZE / NANITE_MAX_BVH_NODE_FANOUT)
|
|
|
|
#define NANITE_NUM_STREAMING_PRIORITY_CATEGORY_BITS 2
|
|
#define NANITE_STREAMING_PRIORITY_CATEGORY_MASK ((1 << NANITE_NUM_STREAMING_PRIORITY_CATEGORY_BITS) - 1)
|
|
|
|
#define NANITE_VIEW_FLAG_HZBTEST 0x1
|
|
#define NANITE_VIEW_FLAG_NEAR_CLIP 0x2
|
|
|
|
#define NANITE_MAX_STATE_BUCKET_ID ((1 << 14) - 1)
|
|
|
|
#define NANITE_CLUSTER_FLAG_LEAF 0x1
|
|
|
|
#define NANITE_MAX_TRANSCODE_GROUPS_PER_PAGE 128
|
|
|
|
#define NANITE_NUM_PACKED_CLUSTER_FLOAT4S 6
|
|
#define NANITE_GPU_PAGE_HEADER_SIZE 16
|
|
|
|
#define NANITE_MAX_POSITION_QUANTIZATION_BITS 21 // (21*3 = 63) < 64
|
|
#define NANITE_POSITION_PRECISION_BITS 5
|
|
#define NANITE_MIN_POSITION_PRECISION -8
|
|
#define NANITE_MAX_POSITION_PRECISION 23
|
|
|
|
#define NANITE_NORMAL_QUANTIZATION_BITS 9
|
|
|
|
#define NANITE_MAX_TEXCOORD_QUANTIZATION_BITS 15
|
|
#define NANITE_MAX_COLOR_QUANTIZATION_BITS 8
|
|
|
|
#define NANITE_NUM_CULLING_FLAG_BITS 3
|
|
#define NANITE_CULLING_FLAG_TEST_LOD 0x1
|
|
#define NANITE_CULLING_FLAG_USE_HW 0x2
|
|
#define NANITE_CULLING_FLAG_FROM_DISOCCLUDED_INSTANCE 0x4
|
|
|
|
#define NANITE_CULLING_TYPE_NODES 0
|
|
#define NANITE_CULLING_TYPE_CLUSTERS 1
|
|
#define NANITE_CULLING_TYPE_PERSISTENT_NODES_AND_CLUSTERS 2
|
|
|
|
|
|
#define NANITE_VERTEX_COLOR_MODE_WHITE 0
|
|
#define NANITE_VERTEX_COLOR_MODE_CONSTANT 1
|
|
#define NANITE_VERTEX_COLOR_MODE_VARIABLE 2
|
|
|
|
#define NANITE_PAGE_FLAG_RELATIVE_ENCODING 0x1
|
|
|
|
#define NANITE_INVALID_PERSISTENT_HASH 0
|
|
|
|
#define NANITE_RESOURCE_FLAG_HAS_VERTEX_COLOR 0x1
|
|
#define NANITE_RESOURCE_FLAG_HAS_IMPOSTER 0x2
|
|
#define NANITE_RESOURCE_FLAG_STREAMING_DATA_IN_DDC 0x4
|
|
|
|
#define NANITE_RENDER_FLAG_PROGRAMMABLE_RASTER 0x1
|
|
#define NANITE_RENDER_FLAG_FORCE_HW_RASTER 0x2
|
|
#define NANITE_RENDER_FLAG_PRIMITIVE_SHADER 0x4
|
|
#define NANITE_RENDER_FLAG_MESH_SHADER 0x8
|
|
#define NANITE_RENDER_FLAG_OUTPUT_STREAMING_REQUESTS 0x10
|
|
#define NANITE_RENDER_FLAG_REVERSE_CULLING 0x20
|
|
#define NANITE_RENDER_FLAG_TWO_SIDED 0x40
|
|
#define NANITE_RENDER_FLAG_IS_SCENE_CAPTURE 0x80
|
|
#define NANITE_RENDER_FLAG_IS_REFLECTION_CAPTURE 0x100
|
|
#define NANITE_RENDER_FLAG_IS_GAME_VIEW 0x200
|
|
#define NANITE_RENDER_FLAG_GAME_SHOW_FLAG_ENABLED 0x400
|
|
#define NANITE_RENDER_FLAG_EDITOR_SHOW_FLAG_ENABLED 0x800
|
|
#define NANITE_RENDER_FLAG_IS_LUMEN_CAPTURE 0x1000
|
|
#define NANITE_RENDER_FLAG_ADD_CLUSTER_OFFSET 0x2000
|
|
#define NANITE_RENDER_FLAG_HAS_RASTER_BIN 0x4000
|
|
#define NANITE_RENDER_FLAG_HAS_PREV_DRAW_DATA 0x8000
|
|
|
|
// Only available with the DEBUG_FLAGS permutation active.
|
|
// Default value (no debug) is 0
|
|
#define NANITE_DEBUG_FLAG_WRITE_STATS 0x1
|
|
#define NANITE_DEBUG_FLAG_DISABLE_CULL_HZB_BOX 0x2
|
|
#define NANITE_DEBUG_FLAG_DISABLE_CULL_HZB_SPHERE 0x4
|
|
#define NANITE_DEBUG_FLAG_DISABLE_CULL_FRUSTUM_BOX 0x8
|
|
#define NANITE_DEBUG_FLAG_DISABLE_CULL_FRUSTUM_SPHERE 0x10
|
|
#define NANITE_DEBUG_FLAG_DRAW_ONLY_VSM_INVALIDATING 0x20
|
|
|
|
#define NANITE_RASTER_BIN_CLASSIFY 0
|
|
#define NANITE_RASTER_BIN_SCATTER 1
|
|
#define NANITE_RASTER_BIN_RESERVE 2
|
|
|
|
// 3x for SW, 1x for padding, 4x for HW
|
|
#define NANITE_RASTERIZER_ARG_COUNT 8u
|
|
|
|
// Debug Visualization Modes
|
|
#define NANITE_VISUALIZE_OVERVIEW 0u
|
|
#define NANITE_VISUALIZE_TRIANGLES (1u << 0u)
|
|
#define NANITE_VISUALIZE_CLUSTERS (1u << 1u)
|
|
#define NANITE_VISUALIZE_PRIMITIVES (1u << 2u)
|
|
#define NANITE_VISUALIZE_INSTANCES (1u << 3u)
|
|
#define NANITE_VISUALIZE_GROUPS (1u << 4u)
|
|
#define NANITE_VISUALIZE_PAGES (1u << 5u)
|
|
#define NANITE_VISUALIZE_OVERDRAW (1u << 6u)
|
|
#define NANITE_VISUALIZE_RASTER_MODE (1u << 7u)
|
|
#define NANITE_VISUALIZE_RASTER_BINS (1u << 8u)
|
|
#define NANITE_VISUALIZE_SCENE_Z_MIN (1u << 9u)
|
|
#define NANITE_VISUALIZE_SCENE_Z_MAX (1u << 10u)
|
|
#define NANITE_VISUALIZE_SCENE_Z_DELTA (1u << 11u)
|
|
#define NANITE_VISUALIZE_MATERIAL_Z_MIN (1u << 12u)
|
|
#define NANITE_VISUALIZE_MATERIAL_Z_MAX (1u << 13u)
|
|
#define NANITE_VISUALIZE_MATERIAL_Z_DELTA (1u << 14u)
|
|
#define NANITE_VISUALIZE_MATERIAL_MODE (1u << 15u)
|
|
#define NANITE_VISUALIZE_MATERIAL_INDEX (1u << 16u)
|
|
#define NANITE_VISUALIZE_MATERIAL_DEPTH (1u << 17u)
|
|
#define NANITE_VISUALIZE_MATERIAL_COMPLEXITY (1u << 18u)
|
|
#define NANITE_VISUALIZE_HIT_PROXY_DEPTH (1u << 19u)
|
|
#define NANITE_VISUALIZE_NANITE_MASK (1u << 20u)
|
|
#define NANITE_VISUALIZE_LIGHTMAP_UVS (1u << 21u)
|
|
#define NANITE_VISUALIZE_LIGHTMAP_UV_INDEX (1u << 22u)
|
|
#define NANITE_VISUALIZE_LIGHTMAP_DATA_INDEX (1u << 23u)
|
|
#define NANITE_VISUALIZE_HIERARCHY_OFFSET (1u << 24u)
|
|
#define NANITE_VISUALIZE_POSITION_BITS (1u << 25u)
|
|
#define NANITE_VISUALIZE_VSM_STATIC_CACHING (1u << 26u)
|
|
#define NANITE_VISUALIZE_EVALUATE_WORLD_POSITION_OFFSET (1u << 27u) |