Castor3D 0.14.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres publiques statiques | Liste de tous les membres
Référence de la classe castor3d::shader::Utils

#include <GlslUtils.hpp>

Fonctions membres publiques

C3D_API Utils (sdw::ShaderWriter &writer)
 
C3D_API LightingModelPtr createLightingModel (Engine const &engine, Materials const &materials, BRDFHelpers &brdf, castor::String const &name, ShadowOptions shadowsOptions, SssProfiles const *sssProfiles, bool enableVolumetric)
 
C3D_API sdw::Float saturate (sdw::Float const v)
 
C3D_API sdw::Vec3 saturate (sdw::Vec3 const v)
 
C3D_API sdw::Vec2 topDownToBottomUp (sdw::Vec2 const texCoord)
 
C3D_API sdw::Vec3 topDownToBottomUp (sdw::Vec3 const texCoord)
 
C3D_API sdw::Vec4 topDownToBottomUp (sdw::Vec4 const texCoord)
 
C3D_API sdw::Vec2 negateTopDownToBottomUp (sdw::Vec2 const texCoord)
 
C3D_API sdw::Vec3 negateTopDownToBottomUp (sdw::Vec3 const texCoord)
 
C3D_API sdw::Vec4 negateTopDownToBottomUp (sdw::Vec4 const texCoord)
 
C3D_API sdw::Vec2 calcTexCoord (sdw::Vec2 const renderPos, sdw::Vec2 const renderSize)
 
C3D_API sdw::Vec3 applyGamma (sdw::Float const gamma, sdw::Vec3 const HDR)
 
C3D_API sdw::Vec3 removeGamma (sdw::Float const gamma, sdw::Vec3 const sRGB)
 
C3D_API sdw::Float remap (sdw::Float const originalValue, sdw::Float const originalMin, sdw::Float const originalMax, sdw::Float const newMin, sdw::Float const newMax)
 
C3D_API sdw::Float threshold (sdw::Float const v, sdw::Float const t)
 
C3D_API sdw::Float beer (sdw::Float const d)
 
C3D_API sdw::Float powder (sdw::Float const d)
 
C3D_API sdw::Float powder (sdw::Float const d, sdw::Float const cosTheta)
 
C3D_API sdw::Vec4 sampleMap (sdw::CombinedImage2DRgba32 const map, sdw::Vec2 const texCoords)
 
C3D_API sdw::Vec4 sampleMap (sdw::CombinedImage2DRgba32 const map, sdw::Vec3 const texCoords)
 
C3D_API sdw::Vec4 sampleMap (sdw::CombinedImage2DRgba32 const map, DerivTex const texCoords)
 
C3D_API sdw::RetVec2 transformUV (TextureConfigData const &config, TextureAnimData const &anim, sdw::Vec2 const uv)
 
C3D_API sdw::RetVec3 transformUVW (TextureConfigData const &config, TextureAnimData const &anim, sdw::Vec3 const uv)
 
C3D_API void swap (sdw::Float const A, sdw::Float const &B)
 
C3D_API sdw::RetFloat distanceSquared (sdw::Vec2 const A, sdw::Vec2 const &B)
 
C3D_API sdw::RetFloat distanceSquared (sdw::Vec3 const A, sdw::Vec3 const &B)
 
C3D_API sdw::RetVec3 calcVSPosition (sdw::Vec2 const &uv, sdw::Float const &depth, sdw::Mat4 const &invProj)
 
C3D_API sdw::RetVec3 calcWSPosition (sdw::Vec2 const &uv, sdw::Float const &depth, sdw::Mat4 const &invViewProj)
 
C3D_API sdw::RetVec3 getMapNormal (sdw::Vec2 const &uv, sdw::Vec3 const &normal, sdw::Vec3 const &position)
 
C3D_API sdw::RetFloat rescaleDepth (sdw::Float const &depth, sdw::Float const &nearPlane, sdw::Float const &farPlane)
 
C3D_API sdw::Float lineariseDepth (sdw::Float const &depth, sdw::Float const &nearPlane, sdw::Float const &farPlane) const
 
C3D_API sdw::RetVec4 computeAccumulation (sdw::Float const &depth, sdw::Vec3 const &colour, sdw::Float const &alpha, sdw::Float const &nearPlane, sdw::Float const &farPlane, sdw::UInt const &accumulationOperator)
 
C3D_API sdw::RetFloat conductorFresnel (sdw::Float const &product, sdw::Float const &f0)
 
C3D_API sdw::RetVec3 conductorFresnel (sdw::Float const &product, sdw::Vec3 const &f0)
 
C3D_API sdw::RetFloat fresnelMix (sdw::Vec3 const &incident, sdw::Vec3 const &normal, sdw::Float const &roughness, sdw::Float const &refractionRatio)
 
C3D_API sdw::RetVec4 clipToScreen (sdw::Vec4 const &in)
 
C3D_API sdw::RetBoolean isSaturated (sdw::Vec3 const &p)
 
C3D_API sdw::RetBoolean isSaturated (sdw::IVec3 const &p, sdw::Int const &imax)
 
C3D_API sdw::RetUInt encodeColor (sdw::Vec4 const &color)
 
C3D_API sdw::RetUInt encodeNormal (sdw::Vec3 const &normal)
 
C3D_API sdw::RetVec4 decodeColor (sdw::UInt const &colorMask)
 
C3D_API sdw::RetVec3 decodeNormal (sdw::UInt const &normalMask)
 
C3D_API sdw::RetVec4 encodeFloatRGBA (sdw::Float const &v)
 
C3D_API sdw::RetUInt flatten (sdw::UVec3 const &p, sdw::UVec3 const &dim)
 
C3D_API sdw::RetUVec3 unflatten (sdw::UInt const &p, sdw::UVec3 const &dim)
 
sdw::RetFloat iorToFresnel0 (sdw::Float const &transmittedIor, sdw::Float const &incidentIor)
 
sdw::RetVec3 iorToFresnel0 (sdw::Vec3 const &transmittedIor, sdw::Float const &incidentIor)
 
sdw::RetVec3 fresnel0ToIor (sdw::Vec3 const &fresnel0)
 
C3D_API sdw::RetVec3 fresnelToF0 (sdw::Vec3 const &fresnel, sdw::Float const &VdotH)
 
C3D_API sdw::RetVec3 evalIridescence (sdw::Float const &outsideIOR, sdw::Float const &eta2, sdw::Float const &cosTheta1, sdw::Float const &thinFilmThickness, sdw::Vec3 const &baseF0)
 
C3D_API sdw::RetVec3 evalSensitivity (sdw::Float const &OPD, sdw::Vec3 const &shift)
 

Fonctions membres publiques statiques

static C3D_API sdw::Mat3 getTBN (sdw::Vec3 const &normal, sdw::Vec3 const &tangent, sdw::Vec3 const &bitangent)
 

Documentation des constructeurs et destructeur

◆ Utils()

C3D_API castor3d::shader::Utils::Utils ( sdw::ShaderWriter &  writer)
explicit

Documentation des fonctions membres

◆ applyGamma()

C3D_API sdw::Vec3 castor3d::shader::Utils::applyGamma ( sdw::Float const  gamma,
sdw::Vec3 const  HDR 
)

◆ beer()

C3D_API sdw::Float castor3d::shader::Utils::beer ( sdw::Float const  d)

◆ calcTexCoord()

C3D_API sdw::Vec2 castor3d::shader::Utils::calcTexCoord ( sdw::Vec2 const  renderPos,
sdw::Vec2 const  renderSize 
)

◆ calcVSPosition()

C3D_API sdw::RetVec3 castor3d::shader::Utils::calcVSPosition ( sdw::Vec2 const &  uv,
sdw::Float const &  depth,
sdw::Mat4 const &  invProj 
)

◆ calcWSPosition()

C3D_API sdw::RetVec3 castor3d::shader::Utils::calcWSPosition ( sdw::Vec2 const &  uv,
sdw::Float const &  depth,
sdw::Mat4 const &  invViewProj 
)

◆ clipToScreen()

C3D_API sdw::RetVec4 castor3d::shader::Utils::clipToScreen ( sdw::Vec4 const &  in)

◆ computeAccumulation()

C3D_API sdw::RetVec4 castor3d::shader::Utils::computeAccumulation ( sdw::Float const &  depth,
sdw::Vec3 const &  colour,
sdw::Float const &  alpha,
sdw::Float const &  nearPlane,
sdw::Float const &  farPlane,
sdw::UInt const &  accumulationOperator 
)

◆ conductorFresnel() [1/2]

C3D_API sdw::RetFloat castor3d::shader::Utils::conductorFresnel ( sdw::Float const &  product,
sdw::Float const &  f0 
)

◆ conductorFresnel() [2/2]

C3D_API sdw::RetVec3 castor3d::shader::Utils::conductorFresnel ( sdw::Float const &  product,
sdw::Vec3 const &  f0 
)

◆ createLightingModel()

C3D_API LightingModelPtr castor3d::shader::Utils::createLightingModel ( Engine const &  engine,
Materials const &  materials,
BRDFHelpers brdf,
castor::String const &  name,
ShadowOptions  shadowsOptions,
SssProfiles const *  sssProfiles,
bool  enableVolumetric 
)

◆ decodeColor()

C3D_API sdw::RetVec4 castor3d::shader::Utils::decodeColor ( sdw::UInt const &  colorMask)

◆ decodeNormal()

C3D_API sdw::RetVec3 castor3d::shader::Utils::decodeNormal ( sdw::UInt const &  normalMask)

◆ distanceSquared() [1/2]

C3D_API sdw::RetFloat castor3d::shader::Utils::distanceSquared ( sdw::Vec2 const  A,
sdw::Vec2 const &  B 
)

◆ distanceSquared() [2/2]

C3D_API sdw::RetFloat castor3d::shader::Utils::distanceSquared ( sdw::Vec3 const  A,
sdw::Vec3 const &  B 
)

◆ encodeColor()

C3D_API sdw::RetUInt castor3d::shader::Utils::encodeColor ( sdw::Vec4 const &  color)

◆ encodeFloatRGBA()

C3D_API sdw::RetVec4 castor3d::shader::Utils::encodeFloatRGBA ( sdw::Float const &  v)

◆ encodeNormal()

C3D_API sdw::RetUInt castor3d::shader::Utils::encodeNormal ( sdw::Vec3 const &  normal)

◆ evalIridescence()

C3D_API sdw::RetVec3 castor3d::shader::Utils::evalIridescence ( sdw::Float const &  outsideIOR,
sdw::Float const &  eta2,
sdw::Float const &  cosTheta1,
sdw::Float const &  thinFilmThickness,
sdw::Vec3 const &  baseF0 
)

◆ evalSensitivity()

C3D_API sdw::RetVec3 castor3d::shader::Utils::evalSensitivity ( sdw::Float const &  OPD,
sdw::Vec3 const &  shift 
)

◆ flatten()

C3D_API sdw::RetUInt castor3d::shader::Utils::flatten ( sdw::UVec3 const &  p,
sdw::UVec3 const &  dim 
)

◆ fresnel0ToIor()

sdw::RetVec3 castor3d::shader::Utils::fresnel0ToIor ( sdw::Vec3 const &  fresnel0)

◆ fresnelMix()

C3D_API sdw::RetFloat castor3d::shader::Utils::fresnelMix ( sdw::Vec3 const &  incident,
sdw::Vec3 const &  normal,
sdw::Float const &  roughness,
sdw::Float const &  refractionRatio 
)

◆ fresnelToF0()

C3D_API sdw::RetVec3 castor3d::shader::Utils::fresnelToF0 ( sdw::Vec3 const &  fresnel,
sdw::Float const &  VdotH 
)

◆ getMapNormal()

C3D_API sdw::RetVec3 castor3d::shader::Utils::getMapNormal ( sdw::Vec2 const &  uv,
sdw::Vec3 const &  normal,
sdw::Vec3 const &  position 
)

◆ getTBN()

static C3D_API sdw::Mat3 castor3d::shader::Utils::getTBN ( sdw::Vec3 const &  normal,
sdw::Vec3 const &  tangent,
sdw::Vec3 const &  bitangent 
)
static

◆ iorToFresnel0() [1/2]

sdw::RetFloat castor3d::shader::Utils::iorToFresnel0 ( sdw::Float const &  transmittedIor,
sdw::Float const &  incidentIor 
)

◆ iorToFresnel0() [2/2]

sdw::RetVec3 castor3d::shader::Utils::iorToFresnel0 ( sdw::Vec3 const &  transmittedIor,
sdw::Float const &  incidentIor 
)

◆ isSaturated() [1/2]

C3D_API sdw::RetBoolean castor3d::shader::Utils::isSaturated ( sdw::IVec3 const &  p,
sdw::Int const &  imax 
)

◆ isSaturated() [2/2]

C3D_API sdw::RetBoolean castor3d::shader::Utils::isSaturated ( sdw::Vec3 const &  p)

◆ lineariseDepth()

C3D_API sdw::Float castor3d::shader::Utils::lineariseDepth ( sdw::Float const &  depth,
sdw::Float const &  nearPlane,
sdw::Float const &  farPlane 
) const

◆ negateTopDownToBottomUp() [1/3]

C3D_API sdw::Vec2 castor3d::shader::Utils::negateTopDownToBottomUp ( sdw::Vec2 const  texCoord)

◆ negateTopDownToBottomUp() [2/3]

C3D_API sdw::Vec3 castor3d::shader::Utils::negateTopDownToBottomUp ( sdw::Vec3 const  texCoord)

◆ negateTopDownToBottomUp() [3/3]

C3D_API sdw::Vec4 castor3d::shader::Utils::negateTopDownToBottomUp ( sdw::Vec4 const  texCoord)

◆ powder() [1/2]

C3D_API sdw::Float castor3d::shader::Utils::powder ( sdw::Float const  d)

◆ powder() [2/2]

C3D_API sdw::Float castor3d::shader::Utils::powder ( sdw::Float const  d,
sdw::Float const  cosTheta 
)

◆ remap()

C3D_API sdw::Float castor3d::shader::Utils::remap ( sdw::Float const  originalValue,
sdw::Float const  originalMin,
sdw::Float const  originalMax,
sdw::Float const  newMin,
sdw::Float const  newMax 
)

◆ removeGamma()

C3D_API sdw::Vec3 castor3d::shader::Utils::removeGamma ( sdw::Float const  gamma,
sdw::Vec3 const  sRGB 
)

◆ rescaleDepth()

C3D_API sdw::RetFloat castor3d::shader::Utils::rescaleDepth ( sdw::Float const &  depth,
sdw::Float const &  nearPlane,
sdw::Float const &  farPlane 
)

◆ sampleMap() [1/3]

C3D_API sdw::Vec4 castor3d::shader::Utils::sampleMap ( sdw::CombinedImage2DRgba32 const  map,
DerivTex const  texCoords 
)

◆ sampleMap() [2/3]

C3D_API sdw::Vec4 castor3d::shader::Utils::sampleMap ( sdw::CombinedImage2DRgba32 const  map,
sdw::Vec2 const  texCoords 
)

◆ sampleMap() [3/3]

C3D_API sdw::Vec4 castor3d::shader::Utils::sampleMap ( sdw::CombinedImage2DRgba32 const  map,
sdw::Vec3 const  texCoords 
)

◆ saturate() [1/2]

C3D_API sdw::Float castor3d::shader::Utils::saturate ( sdw::Float const  v)

◆ saturate() [2/2]

C3D_API sdw::Vec3 castor3d::shader::Utils::saturate ( sdw::Vec3 const  v)

◆ swap()

C3D_API void castor3d::shader::Utils::swap ( sdw::Float const  A,
sdw::Float const &  B 
)

◆ threshold()

C3D_API sdw::Float castor3d::shader::Utils::threshold ( sdw::Float const  v,
sdw::Float const  t 
)

◆ topDownToBottomUp() [1/3]

C3D_API sdw::Vec2 castor3d::shader::Utils::topDownToBottomUp ( sdw::Vec2 const  texCoord)

◆ topDownToBottomUp() [2/3]

C3D_API sdw::Vec3 castor3d::shader::Utils::topDownToBottomUp ( sdw::Vec3 const  texCoord)

◆ topDownToBottomUp() [3/3]

C3D_API sdw::Vec4 castor3d::shader::Utils::topDownToBottomUp ( sdw::Vec4 const  texCoord)

◆ transformUV()

C3D_API sdw::RetVec2 castor3d::shader::Utils::transformUV ( TextureConfigData const &  config,
TextureAnimData const &  anim,
sdw::Vec2 const  uv 
)

◆ transformUVW()

C3D_API sdw::RetVec3 castor3d::shader::Utils::transformUVW ( TextureConfigData const &  config,
TextureAnimData const &  anim,
sdw::Vec3 const  uv 
)

◆ unflatten()

C3D_API sdw::RetUVec3 castor3d::shader::Utils::unflatten ( sdw::UInt const &  p,
sdw::UVec3 const &  dim 
)

La documentation de cette classe a été générée à partir du fichier suivant :