|
| SpotLightPass (RenderDevice const &device, castor::String const &suffix, LightPassConfig const &lpConfig, VoxelizerUbo const *vctConfig=nullptr) |
| Constructeur. Plus de détails...
|
|
| SpotLightPass (RenderDevice const &device, LightPassConfig const &lpConfig, VoxelizerUbo const *vctConfig=nullptr) |
| Constructeur. Plus de détails...
|
|
| ~SpotLightPass () |
| Destructeur. Plus de détails...
|
|
void | accept (PipelineVisitorBase &visitor) override |
| Fonction d'acceptation de visiteur. Plus de détails...
|
|
| MeshLightPass (RenderDevice const &device, castor::String const &suffix, LightPassConfig const &lpConfig, VoxelizerUbo const *vctConfig, LightType type) |
| Constructeur. Plus de détails...
|
|
| ~MeshLightPass () |
| Destructeur. Plus de détails...
|
|
void | initialise (Scene const &scene, OpaquePassResult const &gp, SceneUbo &sceneUbo, RenderPassTimer &timer) override |
| Initialise la passe d'éclairage. Plus de détails...
|
|
void | cleanup () override |
| Nettoie la passe d'éclairage. Plus de détails...
|
|
ashes::Semaphore const & | render (uint32_t index, ashes::Semaphore const &toWait) override |
| Dessine la passe de rendu. Plus de détails...
|
|
uint32_t | getCount () const override |
|
virtual | ~LightPass ()=default |
| Destructeur. Plus de détails...
|
|
void | update (bool first, castor::Size const &size, Light const &light, Camera const &camera, ShadowMap const *shadowMap, TextureUnit const *vctFirstBounce, TextureUnit const *vctSecondaryBounce) |
| Met à jour la passe d'éclairage. Plus de détails...
|
|
Pipeline | createPipeline (LightType lightType, ShadowType shadowType, bool rsm, ShadowMap const *shadowMap, TextureUnit const *vctFirstBounce, TextureUnit const *vctSecondaryBounce) |
|
ashes::Semaphore const & | getSemaphore () const |
|
castor::String const & | getName () const |
|
|
using | PipelinePtr = std::unique_ptr< Pipeline > |
|
using | PipelineMap = std::map< size_t, PipelinePtr > |
|
using | PipelineArray = std::array< Pipeline, size_t(ShadowType::eCount) *2u > |
|
static size_t | makeKey (Light const &light, ShadowMap const *shadowMap, TextureUnit const *vctFirstBounce, TextureUnit const *vctSecondaryBounce) |
|
using | ProgramPtr = std::unique_ptr< Program > |
|
void | doUpdate (bool first, castor::Size const &size, Light const &light, Camera const &camera) override |
| Met à jour la passe d'éclairage. Plus de détails...
|
|
ShaderPtr | doGetVertexShaderSource (SceneFlags const &sceneFlags) const override |
| Récupère le source du vertex shader pour cette passe lumineuse. Plus de détails...
|
|
virtual Pipeline * | doGetPipeline (bool first, Light const &light, ShadowMap const *shadowMap, TextureUnit const *vctFirstBounce, TextureUnit const *vctSecondaryBounce) |
|
| LightPass (RenderDevice const &device, castor::String const &suffix, ashes::RenderPassPtr firstRenderPass, ashes::RenderPassPtr blendRenderPass, LightPassConfig const &lpConfig, VoxelizerUbo const *vctConfig) |
| Constructeur. Plus de détails...
|
|
void | doInitialise (Scene const &scene, OpaquePassResult const &gp, LightType type, ashes::VertexBufferBase &vbo, ashes::PipelineVertexInputStateCreateInfo const &vertexLayout, SceneUbo &sceneUbo, UniformBufferT< ModelMatrixUboConfiguration > const *modelMatrixUbo, RenderPassTimer &timer) |
| Initialise la passe d'éclairage. Plus de détails...
|
|
void | doCleanup () |
| Nettoie la passe d'éclairage. Plus de détails...
|
|
void | doPrepareCommandBuffer (Pipeline &pipeline, bool first) |
| Prépare le tampon de commandes du pipeline donné. Plus de détails...
|
|
virtual ShaderPtr | doGetPhongPixelShaderSource (SceneFlags const &sceneFlags, LightType lightType, ShadowType shadowType, bool rsm) const |
| Récupère le source du pixel shader pour cette passe lumineuse. Plus de détails...
|
|
virtual ShaderPtr | doGetPbrMRPixelShaderSource (SceneFlags const &sceneFlags, LightType lightType, ShadowType shadowType, bool rsm) const |
| Récupère le source du pixel shader pour cette passe lumineuse. Plus de détails...
|
|
virtual ShaderPtr | doGetPbrSGPixelShaderSource (SceneFlags const &sceneFlags, LightType lightType, ShadowType shadowType, bool rsm) const |
| Récupère le source du pixel shader pour cette passe lumineuse. Plus de détails...
|
|
Engine & | m_engine |
|
RenderDevice const & | m_device |
|
Scene const * | m_scene { nullptr } |
|
SceneUbo * | m_sceneUbo { nullptr } |
|
UniformBufferT< ModelMatrixUboConfiguration > const * | m_mmUbo { nullptr } |
|
VoxelizerUbo const * | m_vctUbo { nullptr } |
|
ashes::PipelineVertexInputStateCreateInfo | m_usedVertexLayout { 0u, {}, {} } |
|
ashes::PipelineVertexInputStateCreateInfo const * | m_pUsedVertexLayout { nullptr } |
|
RenderPassTimer * | m_timer { nullptr } |
|
UniformBufferBase const * | m_baseUbo { nullptr } |
|
bool | m_shadows |
|
bool | m_voxels |
|
bool | m_generatesIndirect |
|
MatrixUbo | m_matrixUbo |
|
RenderPass | m_firstRenderPass |
|
RenderPass | m_blendRenderPass |
|
castor3d::ShaderModule | m_vertexShader |
|
castor3d::ShaderModule | m_pixelShader |
|
std::array< ashes::CommandBufferPtr, 2u > | m_commandBuffers |
|
uint32_t | m_commandBufferIndex { 0u } |
|
PipelineMap | m_pipelines |
|
Pipeline * | m_pipeline { nullptr } |
|
SamplerSPtr | m_sampler |
|
ashes::VertexBufferPtr< float > | m_vertexBuffer |
|
ashes::PipelineVertexInputStateCreateInfoPtr | m_vertexLayout |
|
GpInfoUbo const & | m_gpInfoUbo |
|
uint32_t | m_offset { 0u } |
|
ashes::SemaphorePtr | m_signalImgReady |
|
ashes::SemaphorePtr | m_signalImgFinished |
|
ashes::FencePtr | m_fence |
|
OpaquePassResult const * | m_opaquePassResult {} |
|