.. _program_listing_file_Resources_Shaders_hostDevice_bindings.hpp: Program Listing for File bindings.hpp ===================================== |exhale_lsh| :ref:`Return to documentation for file ` (``Resources/Shaders/hostDevice/bindings.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "GlobalValues.hpp" #include "host_device_shared.hpp" // define all texture unit offsets to all textures #define MODEL_TEXTURES_SLOT 0 #define SKYBOX_TEXTURES_SLOT MODEL_TEXTURES_SLOT + MAX_TEXTURE_COUNT #define GBUFFER_TEXTURES_SLOT \ SKYBOX_TEXTURES_SLOT + 1 // we have 1 skybox 3D texture #define D_LIGHT_SHADOW_TEXTURES_SLOT GBUFFER_TEXTURES_SLOT + G_BUFFER_SIZE // for the CSM now using 1 sampler array layer --> only one texture unit needed #define P_LIGHT_SHADOW_TEXTURES_SLOT D_LIGHT_SHADOW_TEXTURES_SLOT + 1 #define NOISE_128D_TEXTURES_SLOT P_LIGHT_SHADOW_TEXTURES_SLOT + MAX_POINT_LIGHTS #define NOISE_32D_TEXTURES_SLOT NOISE_128D_TEXTURES_SLOT + 1 #define NOISE_CELL_POSITIONS_SLOT NOISE_32D_TEXTURES_SLOT + 1 #define RANDOM_NUMBERS_SLOT NOISE_CELL_POSITIONS_SLOT + NUM_CELL_POSITIONS // all image slots #define NOISE_128D_IMAGE_SLOT 0 #define NOISE_32D_IMAGE_SLOT 1 // storage buffer bindings #define STORAGE_BUFFER_MATERIAL_ID_BINDING 0 #define UNIFORM_LIGHT_MATRICES_BINDING 1