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

#include <GlslImgBackground.hpp>

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

Public Member Functions

C3D_API ImgBackgroundModel (sdw::ShaderWriter &writer, Utils &utils, VkExtent2D targetSize, uint32_t &binding, uint32_t set)
 
- Public Member Functions inherited from castor3d::shader::BackgroundModel
C3D_API BackgroundModel (sdw::ShaderWriter &writer, Utils &utils, VkExtent2D targetSize, bool reflectionSupport, bool refractionSupport, bool iblSupport)
 
virtual C3D_API ~BackgroundModel ()=default
 
virtual C3D_API void computeReflection (sdw::Vec3 const &wsNormal, sdw::Vec3 const &wsPosition, sdw::Vec3 const &V, BlendComponents &components, sdw::Vec3 &reflectedDiffuse, sdw::Vec3 &reflectedSpecular)
 
virtual C3D_API sdw::RetVec3 computeDiffuseReflection (sdw::Vec3 const &wsNormal)
 
virtual C3D_API sdw::RetVec3 computeSpecularReflection (sdw::Vec3 const &wsNormal, sdw::Vec3 const &wsPosition, sdw::Vec3 const &V, sdw::Float const &roughness)
 
virtual C3D_API sdw::RetVec4 computeSheenReflection (sdw::Vec3 const &wsNormal, sdw::Vec3 const &wsPosition, sdw::Vec3 const &V, sdw::Float const &NdotV, BlendComponents &components, sdw::CombinedImage2DRgba32 const &brdf)
 
virtual C3D_API sdw::RetVec3 computeRefraction (sdw::Vec3 const &wsNormal, sdw::Vec3 const &wsPosition, sdw::Vec3 const &V, BlendComponents &components)
 
virtual C3D_API sdw::RetVec3 computeSpecularRefraction (sdw::Vec3 const &fresnel, sdw::Vec3 const &wsNormal, sdw::Vec3 const &wsPosition, sdw::Vec3 const &V, sdw::Float const &NdotV, sdw::Float const &roughness, BlendComponents &components, sdw::CombinedImage2DRgba32 const &brdf, DebugOutputCategory const &debugOutput)
 
virtual C3D_API sdw::RetVec3 computeDiffuse (sdw::Vec3 const &wsDirection, BlendComponents &components)
 
virtual C3D_API void applyVolume (sdw::Vec2 const fragCoord, sdw::Float const linearDepth, sdw::Vec2 const targetSize, sdw::Vec2 const cameraPlanes, sdw::Vec4 &output)
 
VkExtent2D const & getTargetSize () const noexcept
 
bool hasReflectionSupport () const noexcept
 
bool hasRefractionSupport () const noexcept
 
bool hasIblSupport () const noexcept
 

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 C3D_API sdw::Vec3 getBrdf (sdw::CombinedImage2DRgba32 const &brdfMap, sdw::Float const &NdotV, sdw::Float const &roughness)
 

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
 
bool m_reflectionSupport {}
 
bool m_refractionSupport {}
 
bool m_iblSupport {}
 

Constructor & Destructor Documentation

◆ ImgBackgroundModel()

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

Member Function Documentation

◆ create()

static C3D_API BackgroundModelPtr castor3d::shader::ImgBackgroundModel::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::ImgBackgroundModel::Name
static

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