Castor3D 0.16.0
Multiplatform 3D engine
|
#include <SubsurfaceScatteringComponent.hpp>
Classes | |
struct | ComponentsShader |
struct | MaterialShader |
class | Plugin |
Public Member Functions | |
C3D_API | SubsurfaceScatteringComponent (Pass &pass) |
C3D_API void | accept (ConfigurationVisitorBase &vis) override |
ConfigurationVisitorBase acceptance function. | |
C3D_API void | update () override |
C3D_API PassComponentFlag | getPassFlags () const override |
C3D_API void | setSubsurfaceScattering (SubsurfaceScatteringUPtr value) |
C3D_API void | fillProfileBuffer (SssProfileBuffer &buffer) const |
Fills the pass buffer with this pass data. | |
bool | hasSubsurfaceScattering () const noexcept |
SubsurfaceScattering const & | getSubsurfaceScattering () const noexcept |
uint32_t | getSssProfileId () const noexcept |
void | setSssProfileId (uint32_t value) noexcept |
Public Member Functions inherited from castor3d::BaseDataPassComponentT< castor::AtomicGroupChangeTracked< SubsurfaceScatteringUPtr > > | |
BaseDataPassComponentT (Pass &pass, castor::String type, castor::StringArray deps={}, ParamsT &&... params) | |
Constructor. | |
void | setData (DataU const &data) |
void | setData (ParamsT &&... params) |
castor::AtomicGroupChangeTracked< SubsurfaceScatteringUPtr > & | getData () |
castor::AtomicGroupChangeTracked< SubsurfaceScatteringUPtr > const & | getData () const |
Public Member Functions inherited from castor3d::PassComponent | |
C3D_API | PassComponent (Pass &pass, castor::String type, castor::StringArray deps={}) |
Constructor. | |
virtual C3D_API | ~PassComponent () noexcept=default |
C3D_API PassComponentUPtr | clone (Pass &pass) const |
virtual C3D_API void | onAddToPass () const |
Called when the component is added to the pass. | |
C3D_API bool | writeText (castor::String const &tabs, castor::Path const &folder, castor::String const &subfolder, castor::StringStream &file) const |
Writes the component content to text. | |
C3D_API void | fillBuffer (PassBuffer &buffer) const |
Fills the pass buffer with this pass data. | |
C3D_API void | fillChannel (TextureConfiguration &configuration, uint32_t mask) const |
Fills the texture configuration for use with this component. | |
virtual C3D_API void | fillConfig (TextureConfiguration &config, ConfigurationVisitorBase &vis) const |
ConfigurationVisitorBase acceptance function, for a specific texture configuration. | |
virtual C3D_API bool | hasColour () const |
virtual C3D_API castor::HdrRgbColour const & | getColour () const |
virtual C3D_API void | setColour (castor::HdrRgbColour v) |
castor::String const & | getType () const |
castor::StringArray const & | getDependencies () const |
PassComponentPlugin const & | getPlugin () const |
PassComponentID | getId () const |
void | setColour (castor::RgbColour const &v, float gamma=2.2f) |
void | setColour (castor::Coords3f const &v) |
void | setColour (castor::Point3f const &v) |
Public Member Functions inherited from castor::OwnedBy< Pass > | |
Pass * | getOwner () const |
Static Public Member Functions | |
static PassComponentPluginUPtr | createPlugin (PassComponentRegister const &passComponent) |
Public Attributes | |
OnSssProfileChanged | onProfileChanged |
Static Public Attributes | |
static constexpr PassFlag | eSubsurfaceScattering = PassFlag( 0x01u ) |
static constexpr PassFlag | eDistanceBasedTransmittance = PassFlag( 0x02u ) |
static constexpr PassFlag | eAll = PassFlag( 0x03u ) |
static C3D_API castor::String const | TypeName |
Additional Inherited Members | |
Protected Member Functions inherited from castor::OwnedBy< Pass > | |
OwnedBy (Pass &owner) | |
Constructor. | |
Protected Attributes inherited from castor3d::BaseDataPassComponentT< castor::AtomicGroupChangeTracked< SubsurfaceScatteringUPtr > > | |
castor::AtomicGroupChangeTracked< SubsurfaceScatteringUPtr > | m_value |
Protected Attributes inherited from castor3d::PassComponent | |
castor::String | m_type |
castor::StringArray | m_dependencies |
PassComponentID | m_id |
PassComponentPlugin const & | m_plugin |
std::atomic_bool & | m_dirty |
shader::PassMaterialShader * | m_materialShader {} |
|
explicit |
|
overridevirtual |
ConfigurationVisitorBase acceptance function.
vis | The ... visitor. |
Reimplemented from castor3d::PassComponent.
|
inlinestatic |
C3D_API void castor3d::SubsurfaceScatteringComponent::fillProfileBuffer | ( | SssProfileBuffer & | buffer | ) | const |
Fills the pass buffer with this pass data.
[in,out] | buffer | The pass buffer. |
|
inlineoverridevirtual |
Reimplemented from castor3d::PassComponent.
References castor3d::eNone, eSubsurfaceScattering, castor3d::PassComponent::getId(), hasSubsurfaceScattering(), and castor3d::makePassComponentFlag().
|
inlinenoexcept |
|
inlinenoexcept |
References CU_Require, hasSubsurfaceScattering(), and castor3d::BaseDataPassComponentT< castor::AtomicGroupChangeTracked< SubsurfaceScatteringUPtr > >::m_value.
|
inlinenoexcept |
References castor3d::BaseDataPassComponentT< castor::AtomicGroupChangeTracked< SubsurfaceScatteringUPtr > >::m_value.
Referenced by getPassFlags(), and getSubsurfaceScattering().
|
inlinenoexcept |
C3D_API void castor3d::SubsurfaceScatteringComponent::setSubsurfaceScattering | ( | SubsurfaceScatteringUPtr | value | ) |
|
overridevirtual |
Reimplemented from castor3d::PassComponent.
|
staticconstexpr |
OnSssProfileChanged castor3d::SubsurfaceScatteringComponent::onProfileChanged |
|
static |