Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Static Public Member Functions | List of all members
castor3d::shader::LightSurface Struct Reference

#include <GlslLightSurface.hpp>

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

Public Member Functions

C3D_API LightSurface (sdw::ShaderWriter &writer, sdw::expr::ExprPtr expr, bool enabled)
 
C3D_API LightSurface (sdw::Vec3 const eye, DerivVec4 const world, DerivVec3 const view, sdw::Vec3 const clip, DerivVec3 const normal, bool enableDotProducts, bool enableFresnel, bool enableIridescence)
 
C3D_API void updateN (DerivVec3 const N) const
 
C3D_API void updateL (DerivVec3 const VtoL) const
 
C3D_API void updateN (Utils &utils, DerivVec3 const N, sdw::Vec3 const f0, BlendComponents const &components) const
 
C3D_API void updateL (Utils &utils, DerivVec3 const VtoL, sdw::Vec3 const f0, BlendComponents const &components) const
 
auto eyePosition () const
 
auto worldPosition () const
 
auto viewPosition () const
 
auto clipPosition () const
 
auto vertexToLight () const
 
auto V () const
 
auto N () const
 
auto L () const
 
auto H () const
 
auto lengthV () const
 
auto lengthL () const
 
auto NdotV () const
 
DerivFloat NdotL () const
 
DerivFloat NdotH () const
 
DerivVec3 F () const
 
DerivVec3 spcF () const
 
DerivVec3 difF () const
 

Static Public Member Functions

static C3D_API sdw::type::BaseStructPtr makeType (ast::type::TypesCache &cache, sdw::type::TypePtr type)
 
static C3D_API sdw::type::BaseStructPtr makeType (ast::type::TypesCache &cache, bool enableDotProducts, bool enableFresnel, bool enableIridescence)
 
static C3D_API LightSurface create (sdw::ShaderWriter &writer, castor::MbString const &name, sdw::Vec3 const eye, DerivVec4 const world, DerivVec3 const view, sdw::Vec3 const clip, DerivVec3 const normal, bool enableDotProducts=true, bool enableFresnel=true, bool enableIridescence=true)
 
static C3D_API LightSurface create (sdw::ShaderWriter &writer, castor::MbString const &name, DerivVec4 const world, sdw::Vec3 const clip, DerivVec3 const normal, bool enableDotProducts=false, bool enableFresnel=false, bool enableIridescence=false)
 
static C3D_API LightSurface create (sdw::ShaderWriter &writer, Utils &utils, castor::MbString const &name, sdw::Vec3 const eye, DerivVec4 const world, DerivVec3 const view, sdw::Vec3 const clip, DerivVec3 const normal, sdw::Vec3 const f0, BlendComponents const &components, bool enableDotProducts=true, bool enableFresnel=true, bool enableIridescence=true)
 

Constructor & Destructor Documentation

◆ LightSurface() [1/2]

C3D_API castor3d::shader::LightSurface::LightSurface ( sdw::ShaderWriter & writer,
sdw::expr::ExprPtr expr,
bool enabled )

◆ LightSurface() [2/2]

C3D_API castor3d::shader::LightSurface::LightSurface ( sdw::Vec3 const eye,
DerivVec4 const world,
DerivVec3 const view,
sdw::Vec3 const clip,
DerivVec3 const normal,
bool enableDotProducts,
bool enableFresnel,
bool enableIridescence )

Member Function Documentation

◆ clipPosition()

auto castor3d::shader::LightSurface::clipPosition ( ) const
inline

◆ create() [1/3]

static C3D_API LightSurface castor3d::shader::LightSurface::create ( sdw::ShaderWriter & writer,
castor::MbString const & name,
DerivVec4 const world,
sdw::Vec3 const clip,
DerivVec3 const normal,
bool enableDotProducts = false,
bool enableFresnel = false,
bool enableIridescence = false )
static

◆ create() [2/3]

static C3D_API LightSurface castor3d::shader::LightSurface::create ( sdw::ShaderWriter & writer,
castor::MbString const & name,
sdw::Vec3 const eye,
DerivVec4 const world,
DerivVec3 const view,
sdw::Vec3 const clip,
DerivVec3 const normal,
bool enableDotProducts = true,
bool enableFresnel = true,
bool enableIridescence = true )
static

◆ create() [3/3]

static C3D_API LightSurface castor3d::shader::LightSurface::create ( sdw::ShaderWriter & writer,
Utils & utils,
castor::MbString const & name,
sdw::Vec3 const eye,
DerivVec4 const world,
DerivVec3 const view,
sdw::Vec3 const clip,
DerivVec3 const normal,
sdw::Vec3 const f0,
BlendComponents const & components,
bool enableDotProducts = true,
bool enableFresnel = true,
bool enableIridescence = true )
static

◆ difF()

DerivVec3 castor3d::shader::LightSurface::difF ( ) const
inline

◆ eyePosition()

auto castor3d::shader::LightSurface::eyePosition ( ) const
inline

◆ F()

DerivVec3 castor3d::shader::LightSurface::F ( ) const
inline

◆ H()

auto castor3d::shader::LightSurface::H ( ) const
inline

◆ L()

auto castor3d::shader::LightSurface::L ( ) const
inline

◆ lengthL()

auto castor3d::shader::LightSurface::lengthL ( ) const
inline

◆ lengthV()

auto castor3d::shader::LightSurface::lengthV ( ) const
inline

◆ makeType() [1/2]

static C3D_API sdw::type::BaseStructPtr castor3d::shader::LightSurface::makeType ( ast::type::TypesCache & cache,
bool enableDotProducts,
bool enableFresnel,
bool enableIridescence )
static

◆ makeType() [2/2]

static C3D_API sdw::type::BaseStructPtr castor3d::shader::LightSurface::makeType ( ast::type::TypesCache & cache,
sdw::type::TypePtr type )
static

◆ N()

auto castor3d::shader::LightSurface::N ( ) const
inline

◆ NdotH()

DerivFloat castor3d::shader::LightSurface::NdotH ( ) const
inline

◆ NdotL()

DerivFloat castor3d::shader::LightSurface::NdotL ( ) const
inline

◆ NdotV()

auto castor3d::shader::LightSurface::NdotV ( ) const
inline

◆ spcF()

DerivVec3 castor3d::shader::LightSurface::spcF ( ) const
inline

◆ updateL() [1/2]

C3D_API void castor3d::shader::LightSurface::updateL ( DerivVec3 const VtoL) const

◆ updateL() [2/2]

C3D_API void castor3d::shader::LightSurface::updateL ( Utils & utils,
DerivVec3 const VtoL,
sdw::Vec3 const f0,
BlendComponents const & components ) const

◆ updateN() [1/2]

C3D_API void castor3d::shader::LightSurface::updateN ( DerivVec3 const N) const

◆ updateN() [2/2]

C3D_API void castor3d::shader::LightSurface::updateN ( Utils & utils,
DerivVec3 const N,
sdw::Vec3 const f0,
BlendComponents const & components ) const

◆ V()

auto castor3d::shader::LightSurface::V ( ) const
inline

◆ vertexToLight()

auto castor3d::shader::LightSurface::vertexToLight ( ) const
inline

◆ viewPosition()

auto castor3d::shader::LightSurface::viewPosition ( ) const
inline

◆ worldPosition()

auto castor3d::shader::LightSurface::worldPosition ( ) const
inline

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