![]() |
Castor3D 0.17.0
Multiplatform 3D engine
|
#include <GlslBackground.hpp>
Public Member Functions | |
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 | 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) |
Protected Attributes | |
sdw::ShaderWriter & | m_writer |
Utils & | m_utils |
VkExtent2D | m_targetSize |
bool | m_reflectionSupport {} |
bool | m_refractionSupport {} |
bool | m_iblSupport {} |
C3D_API castor3d::shader::BackgroundModel::BackgroundModel | ( | sdw::ShaderWriter & | writer, |
Utils & | utils, | ||
VkExtent2D | targetSize, | ||
bool | reflectionSupport, | ||
bool | refractionSupport, | ||
bool | iblSupport ) |
|
virtualdefault |
|
virtual |
|
virtual |
Reimplemented in castor3d::shader::IblBackgroundModel, and castor3d::shader::NoIblBackgroundModel.
|
virtual |
Reimplemented in castor3d::shader::IblBackgroundModel.
|
virtual |
Reimplemented in castor3d::shader::NoIblBackgroundModel.
|
virtual |
Reimplemented in castor3d::shader::IblBackgroundModel, and castor3d::shader::NoIblBackgroundModel.
|
virtual |
Reimplemented in castor3d::shader::IblBackgroundModel.
|
virtual |
Reimplemented in castor3d::shader::IblBackgroundModel.
|
virtual |
Reimplemented in castor3d::shader::IblBackgroundModel.
|
static |
|
static |
|
inlinenoexcept |
References m_targetSize.
|
inlinenoexcept |
References m_iblSupport.
|
inlinenoexcept |
References m_reflectionSupport.
|
inlinenoexcept |
References m_refractionSupport.
|
protected |
Referenced by hasIblSupport().
|
protected |
Referenced by hasReflectionSupport().
|
protected |
Referenced by hasRefractionSupport().
|
protected |
Referenced by getTargetSize().
|
protected |
|
protected |