Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
castor3d::shader::IblBackgroundModel Class Reference

#include <GlslIblBackground.hpp>

Inheritance diagram for castor3d::shader::IblBackgroundModel:
Inheritance graph
[legend]
Collaboration diagram for castor3d::shader::IblBackgroundModel:
Collaboration graph
[legend]

Public Member Functions

C3D_API IblBackgroundModel (sdw::ShaderWriter &writer, Utils &utils, VkExtent2D targetSize, uint32_t &binding, uint32_t set)
 
C3D_API sdw::RetVec3 computeDiffuseReflections (sdw::Vec3 const &albedo, sdw::Vec3 const &wsNormal, sdw::Vec3 const &fresnel, sdw::Float const &metalness) override
 
C3D_API sdw::RetVec3 computeSpecularReflections (sdw::Vec3 const &fresnel, sdw::Vec3 const &wsNormal, sdw::Vec3 const &V, sdw::Float const &NdotV, sdw::Float const &roughness, sdw::CombinedImage2DRgba32 const &brdf) override
 
C3D_API sdw::RetVec3 computeSheenReflections (sdw::Vec3 const &wsNormal, sdw::Vec3 const &V, sdw::Float const &NdotV, BlendComponents &components, sdw::CombinedImage2DRgba32 const &brdf) override
 
C3D_API sdw::RetVec3 computeRefractions (sdw::Vec3 const &wsNormal, sdw::Vec3 const &V, sdw::Float const &refractionRatio, BlendComponents &components) override
 
C3D_API sdw::RetVec3 computeSpecularRefractions (sdw::Vec3 const &fresnel, sdw::Vec3 const &wsNormal, sdw::Vec3 const &V, sdw::Float const &NdotV, sdw::Float const &roughness, sdw::Float const &refractionRatio, BlendComponents &components, sdw::CombinedImage2DRgba32 const &brdfMap) override
 
- Public Member Functions inherited from castor3d::shader::BackgroundModel
C3D_API BackgroundModel (sdw::ShaderWriter &writer, Utils &utils, VkExtent2D targetSize)
 
virtual C3D_API ~BackgroundModel ()=default
 
virtual C3D_API void computeReflections (sdw::Vec3 const &wsNormal, sdw::Vec3 const &difF, sdw::Vec3 const &spcF, sdw::Vec3 const &V, sdw::Float const &NdotV, BlendComponents &components, sdw::CombinedImage2DRgba32 const &brdf, sdw::Vec3 &reflectedDiffuse, sdw::Vec3 &reflectedSpecular)
 
virtual C3D_API void applyVolume (sdw::Vec2 const fragCoord, sdw::Float const linearDepth, sdw::Vec2 const targetSize, sdw::Vec2 const cameraPlanes, sdw::Vec4 &output)
 
C3D_API sdw::Vec3 getBrdf (sdw::CombinedImage2DRgba32 const &brdfMap, sdw::Float const &NdotV, sdw::Float const &roughness) const
 
VkExtent2D const & getTargetSize () const
 

Static Public Member Functions

static C3D_API BackgroundModelPtr create (Engine const &engine, sdw::ShaderWriter &writer, Utils &utils, VkExtent2D targetSize, bool needsForeground, uint32_t &binding, uint32_t set)
 
- Static Public Member Functions inherited from castor3d::shader::BackgroundModel
static C3D_API BackgroundModelPtr createModel (Scene const &scene, sdw::ShaderWriter &writer, Utils &utils, VkExtent2D targetSize, bool needsForeground, uint32_t &binding, uint32_t set)
 

Static Public Attributes

static castor::String const Name
 

Additional Inherited Members

- Protected Attributes inherited from castor3d::shader::BackgroundModel
sdw::ShaderWriter & m_writer
 
Utilsm_utils
 
VkExtent2D m_targetSize
 

Constructor & Destructor Documentation

◆ IblBackgroundModel()

C3D_API castor3d::shader::IblBackgroundModel::IblBackgroundModel ( sdw::ShaderWriter & writer,
Utils & utils,
VkExtent2D targetSize,
uint32_t & binding,
uint32_t set )

Member Function Documentation

◆ computeDiffuseReflections()

C3D_API sdw::RetVec3 castor3d::shader::IblBackgroundModel::computeDiffuseReflections ( sdw::Vec3 const & albedo,
sdw::Vec3 const & wsNormal,
sdw::Vec3 const & fresnel,
sdw::Float const & metalness )
overridevirtual

Reimplemented from castor3d::shader::BackgroundModel.

◆ computeRefractions()

C3D_API sdw::RetVec3 castor3d::shader::IblBackgroundModel::computeRefractions ( sdw::Vec3 const & wsNormal,
sdw::Vec3 const & V,
sdw::Float const & refractionRatio,
BlendComponents & components )
overridevirtual

Reimplemented from castor3d::shader::BackgroundModel.

◆ computeSheenReflections()

C3D_API sdw::RetVec3 castor3d::shader::IblBackgroundModel::computeSheenReflections ( sdw::Vec3 const & wsNormal,
sdw::Vec3 const & V,
sdw::Float const & NdotV,
BlendComponents & components,
sdw::CombinedImage2DRgba32 const & brdf )
overridevirtual

Reimplemented from castor3d::shader::BackgroundModel.

◆ computeSpecularReflections()

C3D_API sdw::RetVec3 castor3d::shader::IblBackgroundModel::computeSpecularReflections ( sdw::Vec3 const & fresnel,
sdw::Vec3 const & wsNormal,
sdw::Vec3 const & V,
sdw::Float const & NdotV,
sdw::Float const & roughness,
sdw::CombinedImage2DRgba32 const & brdf )
overridevirtual

Reimplemented from castor3d::shader::BackgroundModel.

◆ computeSpecularRefractions()

C3D_API sdw::RetVec3 castor3d::shader::IblBackgroundModel::computeSpecularRefractions ( sdw::Vec3 const & fresnel,
sdw::Vec3 const & wsNormal,
sdw::Vec3 const & V,
sdw::Float const & NdotV,
sdw::Float const & roughness,
sdw::Float const & refractionRatio,
BlendComponents & components,
sdw::CombinedImage2DRgba32 const & brdfMap )
overridevirtual

Reimplemented from castor3d::shader::BackgroundModel.

◆ create()

static C3D_API BackgroundModelPtr castor3d::shader::IblBackgroundModel::create ( Engine const & engine,
sdw::ShaderWriter & writer,
Utils & utils,
VkExtent2D targetSize,
bool needsForeground,
uint32_t & binding,
uint32_t set )
static

Member Data Documentation

◆ Name

castor::String const castor3d::shader::IblBackgroundModel::Name
static

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