Files
WickedEngine/WickedEngine/ResourceMapping.h
T
Turánszki János 8ed65ef031 Raytracing API - Vulkan (#130)
* vulkan acceleration structure implementation

* vulkan: optimized resource binding

* dx12 optimizations

* vulkan shadercompiler update

* dx12 raytracing resource binding update

* dx12 descriptor refactor

* dx12 and vulkan updates

* VK_KHR_raytracing

* vulkan acceleration structure fix

* vk acceleration structure fix

* dx12 acceleration structure build fix

* vulkan shader shifts refactor

* vulkan raytracing fixes

* uwp: cannot use dxcompiler.dll for shader reflection

* updated version

* refactors, shader compiler updates

* updated shader build tools

* updated shader compilers

* raytraced shadows

* revert shader model

* try fix shader validate error

* ray traced shadow refactors
2020-06-28 13:34:59 +01:00

112 lines
3.6 KiB
C

#ifndef WI_RESOURCE_MAPPING_H
#define WI_RESOURCE_MAPPING_H
// Slot matchings:
////////////////////////////////////////////////////
// t slot:
// These are reserved slots for systems:
#define TEXSLOT_DEPTH 0
#define TEXSLOT_LINEARDEPTH 1
#define TEXSLOT_GBUFFER0 2
#define TEXSLOT_GBUFFER1 3
#define TEXSLOT_GBUFFER2 4
#define TEXSLOT_ACCELERATION_STRUCTURE 5
#define TEXSLOT_GLOBALENVMAP 6
#define TEXSLOT_GLOBALLIGHTMAP 7
#define TEXSLOT_ENVMAPARRAY 8
#define TEXSLOT_DECALATLAS 9
#define TEXSLOT_SHADOWARRAY_2D 10
#define TEXSLOT_SHADOWARRAY_CUBE 11
#define TEXSLOT_SHADOWARRAY_TRANSPARENT 12
#define TEXSLOT_VOXELRADIANCE 13
#define SBSLOT_TILEFRUSTUMS 14
#define SBSLOT_ENTITYTILES 15
#define SBSLOT_ENTITYARRAY 16
#define SBSLOT_MATRIXARRAY 17
#define TEXSLOT_FONTATLAS 19
// Ondemand textures are 2d textures and declared in shader globals, these can be used independently in any shader:
#define TEXSLOT_ONDEMAND0 20
#define TEXSLOT_ONDEMAND1 21
#define TEXSLOT_ONDEMAND2 22
#define TEXSLOT_ONDEMAND3 23
#define TEXSLOT_ONDEMAND4 24
#define TEXSLOT_ONDEMAND5 25
#define TEXSLOT_ONDEMAND6 26
#define TEXSLOT_ONDEMAND7 27
#define TEXSLOT_ONDEMAND8 28
#define TEXSLOT_ONDEMAND9 29
#define TEXSLOT_ONDEMAND10 30
#define TEXSLOT_ONDEMAND11 31
#define TEXSLOT_ONDEMAND12 32
#define TEXSLOT_ONDEMAND13 33
#define TEXSLOT_ONDEMAND14 34
#define TEXSLOT_ONDEMAND15 35
#define TEXSLOT_ONDEMAND16 36
#define TEXSLOT_ONDEMAND17 37
#define TEXSLOT_ONDEMAND18 38
#define TEXSLOT_ONDEMAND19 39
#define TEXSLOT_ONDEMAND20 40
#define TEXSLOT_ONDEMAND21 41
#define TEXSLOT_ONDEMAND22 42
#define TEXSLOT_ONDEMAND_COUNT (TEXSLOT_ONDEMAND19 - TEXSLOT_ONDEMAND0 + 1)
// These are reserved for demand of any type of textures in specific shaders:
#define TEXSLOT_UNIQUE0 43
#define TEXSLOT_UNIQUE1 44
#define TEXSLOT_COUNT TEXSLOT_UNIQUE1
// Skinning:
#define SKINNINGSLOT_IN_VERTEX_POS TEXSLOT_ONDEMAND0
#define SKINNINGSLOT_IN_VERTEX_BON TEXSLOT_ONDEMAND1
#define SKINNINGSLOT_IN_BONEBUFFER TEXSLOT_ONDEMAND2
// wiRenderer object shader resources:
#define TEXSLOT_RENDERER_BASECOLORMAP TEXSLOT_ONDEMAND0
#define TEXSLOT_RENDERER_NORMALMAP TEXSLOT_ONDEMAND1
#define TEXSLOT_RENDERER_SURFACEMAP TEXSLOT_ONDEMAND2
#define TEXSLOT_RENDERER_EMISSIVEMAP TEXSLOT_ONDEMAND3
#define TEXSLOT_RENDERER_DISPLACEMENTMAP TEXSLOT_ONDEMAND4
#define TEXSLOT_RENDERER_OCCLUSIONMAP TEXSLOT_ONDEMAND5
#define TEXSLOT_RENDERER_BLEND1_BASECOLORMAP TEXSLOT_ONDEMAND10
#define TEXSLOT_RENDERER_BLEND1_NORMALMAP TEXSLOT_ONDEMAND11
#define TEXSLOT_RENDERER_BLEND1_SURFACEMAP TEXSLOT_ONDEMAND12
#define TEXSLOT_RENDERER_BLEND1_EMISSIVEMAP TEXSLOT_ONDEMAND13
#define TEXSLOT_RENDERER_BLEND2_BASECOLORMAP TEXSLOT_ONDEMAND14
#define TEXSLOT_RENDERER_BLEND2_NORMALMAP TEXSLOT_ONDEMAND15
#define TEXSLOT_RENDERER_BLEND2_SURFACEMAP TEXSLOT_ONDEMAND16
#define TEXSLOT_RENDERER_BLEND2_EMISSIVEMAP TEXSLOT_ONDEMAND17
#define TEXSLOT_RENDERER_BLEND3_BASECOLORMAP TEXSLOT_ONDEMAND18
#define TEXSLOT_RENDERER_BLEND3_NORMALMAP TEXSLOT_ONDEMAND19
#define TEXSLOT_RENDERER_BLEND3_SURFACEMAP TEXSLOT_ONDEMAND20
#define TEXSLOT_RENDERER_BLEND3_EMISSIVEMAP TEXSLOT_ONDEMAND21
// RenderPath texture mappings:
#define TEXSLOT_RENDERPATH_REFLECTION TEXSLOT_ONDEMAND6
#define TEXSLOT_RENDERPATH_REFRACTION TEXSLOT_ONDEMAND7
#define TEXSLOT_RENDERPATH_WATERRIPPLES TEXSLOT_ONDEMAND8
#define TEXSLOT_RENDERPATH_AO TEXSLOT_ONDEMAND8
#define TEXSLOT_RENDERPATH_SSR TEXSLOT_ONDEMAND9
// wiImage:
#define TEXSLOT_IMAGE_BASE TEXSLOT_ONDEMAND0
#define TEXSLOT_IMAGE_MASK TEXSLOT_ONDEMAND1
#define TEXSLOT_IMAGE_BACKGROUND TEXSLOT_ONDEMAND2
#endif // WI_RESOURCE_MAPPING_H