PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::GLRenderEngine Class Reference

#include <GLRenderEngine.h>

Inheritance diagram for dyno::GLRenderEngine:
Collaboration diagram for dyno::GLRenderEngine:

Classes

struct  RenderItem
 

Public Member Functions

 GLRenderEngine ()
 
 ~GLRenderEngine ()
 
virtual void initialize () override
 
virtual void terminate () override
 
virtual void draw (dyno::SceneGraph *scene, const RenderParams &rparams) override
 
virtual std::string name () const override
 
Selection select (int x, int y, int w, int h) override
 
void setMSAA (int samples)
 
int getMSAA () const
 
void setFXAA (bool flag)
 
int getFXAA () const
 
void setShadowMapSize (int size)
 
int getShadowMapSize () const
 
void setShadowBlurIters (int iters)
 
int getShadowBlurIters () const
 
void setDefaultEnvmap () override
 
void setEnvmap (const std::string &path)
 
void setEnvStyle (EEnvStyle style) override
 
std::string getEnvmapFilePath ()
 
- Public Member Functions inherited from dyno::RenderEngine
void setUseEnvmapBackground (bool flag)
 
void setEnvmapScale (float scale)
 

Private Member Functions

void createFramebuffer ()
 
void resizeFramebuffer (int w, int h, int samples)
 
void setupTransparencyPass ()
 
void updateRenderItems (dyno::SceneGraph *scene)
 

Private Attributes

std::vector< RenderItemmRenderItems
 
Framebuffer mFramebuffer
 
Texture2DMultiSample mColorTex
 
Texture2DMultiSample mDepthTex
 
Texture2DMultiSample mIndexTex
 
Framebuffer mSelectFramebuffer
 
Texture2D mSelectIndexTex
 
const int MAX_OIT_NODES = 1024 * 1024 * 8
 
Buffer mFreeNodeIdx
 
Buffer mLinkedListBuffer
 
Texture2DMultiSample mHeadIndexTex
 
ProgrammBlendProgram
 
GLRenderHelpermRenderHelper
 
ShadowMapmShadowMap
 
int mMSAASamples = 4
 
bool bEnableFXAA = false
 
FXAAmFXAAFilter
 
std::string mEnvmapFilePath = getAssetPath() + "textures/hdr/venice_dawn_1_4k.hdr"
 
EnvmapmEnvmap = 0
 
MeshmScreenQuad = 0
 

Additional Inherited Members

- Public Attributes inherited from dyno::RenderEngine
glm::vec3 bgColor0 = glm::vec3(0.2f)
 
glm::vec3 bgColor1 = glm::vec3(0.8f)
 
bool showGround = true
 
float planeScale = 3.f
 
float rulerScale = 1.f
 
glm::vec4 planeColor = { 0.3, 0.3, 0.3, 0.5 }
 
glm::vec4 rulerColor = { 0.0, 0.0, 0.0, 0.5 }
 
bool bDrawEnvmap = false
 
float enmapScale = 0.0f
 
bool showSceneBounds = false
 
int envStyle = 0
 

Detailed Description

Definition at line 41 of file GLRenderEngine.h.

Constructor & Destructor Documentation

◆ GLRenderEngine()

dyno::GLRenderEngine::GLRenderEngine ( )

Definition at line 33 of file GLRenderEngine.cpp.

◆ ~GLRenderEngine()

dyno::GLRenderEngine::~GLRenderEngine ( )

Definition at line 39 of file GLRenderEngine.cpp.

Member Function Documentation

◆ createFramebuffer()

void dyno::GLRenderEngine::createFramebuffer ( )
private

Definition at line 208 of file GLRenderEngine.cpp.

Here is the caller graph for this function:

◆ draw()

void dyno::GLRenderEngine::draw ( dyno::SceneGraph * scene,
const RenderParams & rparams )
overridevirtual

Implements dyno::RenderEngine.

Definition at line 284 of file GLRenderEngine.cpp.

Here is the call graph for this function:

◆ getEnvmapFilePath()

std::string dyno::GLRenderEngine::getEnvmapFilePath ( )
inline

Definition at line 75 of file GLRenderEngine.h.

◆ getFXAA()

int dyno::GLRenderEngine::getFXAA ( ) const

Definition at line 547 of file GLRenderEngine.cpp.

◆ getMSAA()

int dyno::GLRenderEngine::getMSAA ( ) const

Definition at line 537 of file GLRenderEngine.cpp.

◆ getShadowBlurIters()

int dyno::GLRenderEngine::getShadowBlurIters ( ) const

Definition at line 156 of file GLRenderEngine.cpp.

◆ getShadowMapSize()

int dyno::GLRenderEngine::getShadowMapSize ( ) const

Definition at line 146 of file GLRenderEngine.cpp.

◆ initialize()

void dyno::GLRenderEngine::initialize ( )
overridevirtual

Implements dyno::RenderEngine.

Definition at line 45 of file GLRenderEngine.cpp.

Here is the call graph for this function:

◆ name()

std::string dyno::GLRenderEngine::name ( ) const
overridevirtual

Implements dyno::RenderEngine.

Definition at line 472 of file GLRenderEngine.cpp.

◆ resizeFramebuffer()

void dyno::GLRenderEngine::resizeFramebuffer ( int w,
int h,
int samples )
private

Definition at line 459 of file GLRenderEngine.cpp.

Here is the caller graph for this function:

◆ select()

Selection dyno::GLRenderEngine::select ( int x,
int y,
int w,
int h )
overridevirtual

Implements dyno::RenderEngine.

Definition at line 477 of file GLRenderEngine.cpp.

◆ setDefaultEnvmap()

void dyno::GLRenderEngine::setDefaultEnvmap ( )
overridevirtual

Reimplemented from dyno::RenderEngine.

Definition at line 161 of file GLRenderEngine.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setEnvmap()

void dyno::GLRenderEngine::setEnvmap ( const std::string & path)

Definition at line 166 of file GLRenderEngine.cpp.

Here is the caller graph for this function:

◆ setEnvStyle()

void dyno::GLRenderEngine::setEnvStyle ( EEnvStyle style)
overridevirtual

Reimplemented from dyno::RenderEngine.

Definition at line 180 of file GLRenderEngine.cpp.

Here is the call graph for this function:

◆ setFXAA()

void dyno::GLRenderEngine::setFXAA ( bool flag)

Definition at line 542 of file GLRenderEngine.cpp.

◆ setMSAA()

void dyno::GLRenderEngine::setMSAA ( int samples)

Definition at line 529 of file GLRenderEngine.cpp.

◆ setShadowBlurIters()

void dyno::GLRenderEngine::setShadowBlurIters ( int iters)

Definition at line 151 of file GLRenderEngine.cpp.

◆ setShadowMapSize()

void dyno::GLRenderEngine::setShadowMapSize ( int size)

Definition at line 141 of file GLRenderEngine.cpp.

◆ setupTransparencyPass()

void dyno::GLRenderEngine::setupTransparencyPass ( )
private

Definition at line 112 of file GLRenderEngine.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ terminate()

void dyno::GLRenderEngine::terminate ( )
overridevirtual

Implements dyno::RenderEngine.

Definition at line 77 of file GLRenderEngine.cpp.

◆ updateRenderItems()

void dyno::GLRenderEngine::updateRenderItems ( dyno::SceneGraph * scene)
private

Definition at line 266 of file GLRenderEngine.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ bEnableFXAA

bool dyno::GLRenderEngine::bEnableFXAA = false
private

Definition at line 124 of file GLRenderEngine.h.

◆ MAX_OIT_NODES

const int dyno::GLRenderEngine::MAX_OIT_NODES = 1024 * 1024 * 8
private

Definition at line 109 of file GLRenderEngine.h.

◆ mBlendProgram

Program* dyno::GLRenderEngine::mBlendProgram
private

Definition at line 113 of file GLRenderEngine.h.

◆ mColorTex

Texture2DMultiSample dyno::GLRenderEngine::mColorTex
private

Definition at line 100 of file GLRenderEngine.h.

◆ mDepthTex

Texture2DMultiSample dyno::GLRenderEngine::mDepthTex
private

Definition at line 101 of file GLRenderEngine.h.

◆ mEnvmap

Envmap* dyno::GLRenderEngine::mEnvmap = 0
private

Definition at line 129 of file GLRenderEngine.h.

◆ mEnvmapFilePath

std::string dyno::GLRenderEngine::mEnvmapFilePath = getAssetPath() + "textures/hdr/venice_dawn_1_4k.hdr"
private

Definition at line 128 of file GLRenderEngine.h.

◆ mFramebuffer

Framebuffer dyno::GLRenderEngine::mFramebuffer
private

Definition at line 99 of file GLRenderEngine.h.

◆ mFreeNodeIdx

Buffer dyno::GLRenderEngine::mFreeNodeIdx
private

Definition at line 110 of file GLRenderEngine.h.

◆ mFXAAFilter

FXAA* dyno::GLRenderEngine::mFXAAFilter
private

Definition at line 125 of file GLRenderEngine.h.

◆ mHeadIndexTex

Texture2DMultiSample dyno::GLRenderEngine::mHeadIndexTex
private

Definition at line 112 of file GLRenderEngine.h.

◆ mIndexTex

Texture2DMultiSample dyno::GLRenderEngine::mIndexTex
private

Definition at line 102 of file GLRenderEngine.h.

◆ mLinkedListBuffer

Buffer dyno::GLRenderEngine::mLinkedListBuffer
private

Definition at line 111 of file GLRenderEngine.h.

◆ mMSAASamples

int dyno::GLRenderEngine::mMSAASamples = 4
private

Definition at line 121 of file GLRenderEngine.h.

◆ mRenderHelper

GLRenderHelper* dyno::GLRenderEngine::mRenderHelper
private

Definition at line 115 of file GLRenderEngine.h.

◆ mRenderItems

std::vector<RenderItem> dyno::GLRenderEngine::mRenderItems
private

Definition at line 95 of file GLRenderEngine.h.

◆ mScreenQuad

Mesh* dyno::GLRenderEngine::mScreenQuad = 0
private

Definition at line 131 of file GLRenderEngine.h.

◆ mSelectFramebuffer

Framebuffer dyno::GLRenderEngine::mSelectFramebuffer
private

Definition at line 105 of file GLRenderEngine.h.

◆ mSelectIndexTex

Texture2D dyno::GLRenderEngine::mSelectIndexTex
private

Definition at line 106 of file GLRenderEngine.h.

◆ mShadowMap

ShadowMap* dyno::GLRenderEngine::mShadowMap
private

Definition at line 116 of file GLRenderEngine.h.


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