Nameless Engine
|
#include <ShaderLightsInFrustumSingleType.hpp>
Public Attributes | |
std::vector< Node * > | vShaderLightNodeArray |
std::vector< unsigned int > | vLightIndicesInFrustum |
std::array< std::unique_ptr< UploadBuffer >, FrameResourceManager::getFrameResourceCount()> | vGpuResources |
std::string | sShaderResourceName |
Groups resources related to light sources of the same type (point/spot/directional) in active camera's frustum and has info about which shader resource is used for these light sources.
std::string ne::ShaderLightsInFrustumSingleType::sShaderResourceName |
Name of the shader resource that stores indices to lights in camera's frustum.
std::array<std::unique_ptr<UploadBuffer>, FrameResourceManager::getFrameResourceCount()> ne::ShaderLightsInFrustumSingleType::vGpuResources |
GPU resources that store vLightIndicesInFrustum.
nullptr
or have branching when binding resources (when there are no active lights these resources will not be used since counter for light sources will be zero but we will have a valid binding). std::vector<unsigned int> ne::ShaderLightsInFrustumSingleType::vLightIndicesInFrustum |
Stores indices to elements from vLightIndicesInFrustum that are located inside of active camera's frustum.
std::vector<Node*> ne::ShaderLightsInFrustumSingleType::vShaderLightNodeArray |
Array of light nodes of the same type (if this shader light array object is used only for directional lights then only directional light nodes are stored in this array) where positions of light nodes in this array correspond to positions of their light data from vGpuResources. So light data at index 0 in the array used in shaders is taken from the light node stored in this array at index 0.