Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::Renderer Class Referencefinal

TiledForwardShading. More...

#include <Renderer.h>

+ Inheritance diagram for Divide::Renderer:

Classes

struct  PerRenderStageData
 

Public Member Functions

 Renderer (PlatformContext &context)
 
 ~Renderer () override
 
void prepareLighting (RenderStage stage, const Rect< I32 > &viewport, const CameraSnapshot &cameraSnapshot, GFX::CommandBuffer &bufferInOut)
 
void idle (const U64 deltaTimeUSGame) const
 
void updateResolution (U16 newWidth, U16 newHeight) const
 
PostFXpostFX ()
 
const PostFXpostFX () const
 
- Public Member Functions inherited from Divide::PlatformContextComponent
 PlatformContextComponent (PlatformContext &context) noexcept
 
virtual ~PlatformContextComponent ()=default
 
PlatformContextcontext () noexcept
 
const PlatformContextcontext () const noexcept
 
- Public Member Functions inherited from Divide::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 

Private Attributes

std::array< PerRenderStageData, to_base(RenderStage::COUNT) - 1 > _lightDataPerStage
 
Handle< ShaderProgram_lightCullComputeShader = INVALID_HANDLE<ShaderProgram>
 
Handle< ShaderProgram_lightCounterResetComputeShader = INVALID_HANDLE<ShaderProgram>
 
Handle< ShaderProgram_lightBuildClusteredAABBsComputeShader = INVALID_HANDLE<ShaderProgram>
 
PostFX_uptr _postFX
 
GFX::BindPipelineCommand _lightCullPipelineCmd
 
GFX::BindPipelineCommand _lightResetCounterPipelineCmd
 
GFX::BindPipelineCommand _lightBuildClusteredAABBsPipelineCmd
 

Additional Inherited Members

- Protected Member Functions inherited from Divide::NonCopyable
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 
- Protected Attributes inherited from Divide::PlatformContextComponent
PlatformContext_context
 

Detailed Description

TiledForwardShading.

Definition at line 50 of file Renderer.h.

Constructor & Destructor Documentation

◆ Renderer()

Renderer::Renderer ( PlatformContext context)

Definition at line 26 of file Renderer.cpp.

◆ ~Renderer()

Renderer::~Renderer ( )
override

Definition at line 145 of file Renderer.cpp.

Member Function Documentation

◆ idle()

void Renderer::idle ( const U64  deltaTimeUSGame) const

Definition at line 315 of file Renderer.cpp.

◆ postFX() [1/2]

PostFX & Divide::Renderer::postFX ( )
inline

Definition at line 61 of file Renderer.h.

◆ postFX() [2/2]

const PostFX & Divide::Renderer::postFX ( ) const
inline

Definition at line 63 of file Renderer.h.

◆ prepareLighting()

void Renderer::prepareLighting ( RenderStage  stage,
const Rect< I32 > &  viewport,
const CameraSnapshot cameraSnapshot,
GFX::CommandBuffer bufferInOut 
)

Definition at line 152 of file Renderer.cpp.

◆ updateResolution()

void Renderer::updateResolution ( U16  newWidth,
U16  newHeight 
) const

Definition at line 322 of file Renderer.cpp.

Member Data Documentation

◆ _lightBuildClusteredAABBsComputeShader

Handle<ShaderProgram> Divide::Renderer::_lightBuildClusteredAABBsComputeShader = INVALID_HANDLE<ShaderProgram>
private

Definition at line 86 of file Renderer.h.

◆ _lightBuildClusteredAABBsPipelineCmd

GFX::BindPipelineCommand Divide::Renderer::_lightBuildClusteredAABBsPipelineCmd
private

Definition at line 91 of file Renderer.h.

◆ _lightCounterResetComputeShader

Handle<ShaderProgram> Divide::Renderer::_lightCounterResetComputeShader = INVALID_HANDLE<ShaderProgram>
private

Definition at line 85 of file Renderer.h.

◆ _lightCullComputeShader

Handle<ShaderProgram> Divide::Renderer::_lightCullComputeShader = INVALID_HANDLE<ShaderProgram>
private

Definition at line 84 of file Renderer.h.

◆ _lightCullPipelineCmd

GFX::BindPipelineCommand Divide::Renderer::_lightCullPipelineCmd
private

Definition at line 89 of file Renderer.h.

◆ _lightDataPerStage

std::array<PerRenderStageData, to_base(RenderStage::COUNT) - 1> Divide::Renderer::_lightDataPerStage
private

Definition at line 82 of file Renderer.h.

◆ _lightResetCounterPipelineCmd

GFX::BindPipelineCommand Divide::Renderer::_lightResetCounterPipelineCmd
private

Definition at line 90 of file Renderer.h.

◆ _postFX

PostFX_uptr Divide::Renderer::_postFX
private

Definition at line 87 of file Renderer.h.


The documentation for this class was generated from the following files: