Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Types | Static Public Member Functions | List of all members
PbrShaderHelpers Class Reference

Classes

struct  DeferredShadingConfig
 
class  FilterBlackHoleData
 
class  FilterDeferredData
 
class  FilterSelfShadowData
 
class  FilterShadowLightData
 
class  PbrRaytraceResult
 

Public Types

enum  PbrSideness {
  PBR_SIDENESS_SINGLE = 0,
  PBR_SIDENESS_DOUBLE,
  PBR_SIDENESS_INVERT
}
 

Static Public Member Functions

static bool filter_deferred_object_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_deferred_primitive_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, const unsigned int &primitive_index, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_deferred_intersection_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, const unsigned int &ray_index, GeometryIntersection &intersection, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_black_hole_object_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_black_hole_primitive_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, const unsigned int &primitive_index, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_black_hole_intersection_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, const unsigned int &ray_index, GeometryIntersection &intersection, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_disable_self_shadow_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, const unsigned int &ray_index, GeometryIntersection &intersection, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_light_unseen_by_ray_type_object_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_shadow_light_object_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, GeometryRaytraceCtx::FilterData &data)
 
static bool filter_shadow_light_intersection_callback (const CtxEval &eval_ctx, const GeometryRaytraceCtx &raytrace_ctx, const unsigned int &ray_index, GeometryIntersection &intersection, GeometryRaytraceCtx::FilterData &data)
 
static bool shade (const CtxEval &eval_ctx, CtxShader &shader_ctx, const CtxRaytrace &ray_ctx, const unsigned int &ray_index, const DeferredShadingConfig &deferred_config, const bool &export_lpe, const bool &process_matte_objects, PbrRaytraceResult &raytrace_result)
 
static bool raytrace (const CtxEval &eval_ctx, CtxShader &shader_ctx, CtxRaytrace &ray_ctx, const unsigned int &ray_index, const bool &export_lpe, PbrRaytraceResult &pbr_raytrace_result)
 
static GeometryIntersectionraytrace_light (const CtxEval &eval_ctx, CtxShader &shader_ctx, CtxRaytrace *light_ray_ctx, const GasObject *las, const unsigned int &ray_index)
 
static bool raytrace_transmittance (const CtxEval &eval_ctx, CtxShader &shader_ctx, CtxRaytrace &ray_ctx, GMathVec3f &transmittance, double *tmin=nullptr, double *tmax=nullptr)
 
static bool evaluate_ranged_light (const CtxEval &eval_ctx, CtxShader &shader_ctx, CtxPbrShader &pbr_ctx, const bool &export_lpe, const CoreBasicArray< ModuleLightPhysical * > &lights, const GeometryIntersection *first_light_inter, ShadingOutput &shading_output)
 
static bool evaluate_distant_lights (const CtxEval &eval_ctx, CtxShader &shader_ctx, CtxPbrShader &pbr_ctx, const bool &export_lpe, const CoreBasicArray< ModuleLightPhysical * > &lights, const GMathRay<> &ray, ShadingOutput &shading_output)
 
static bool raytrace_black_holes (const CtxEval &eval_ctx, CtxShader &shader_ctx, CtxRaytrace &ray_ctx, double &black_hole_t)
 
static double compute_roughness_differential (const double &roughness)
 Compute the size of the differential corresponding to a roughness.
 
static CtxFragment::NormalDirection get_normal_direction (const ModuleMaterialPhysical *material)
 

Member Function Documentation

static double PbrShaderHelpers::compute_roughness_differential ( const double &  roughness)
inlinestatic

Compute the size of the differential corresponding to a roughness.

Parameters
roughnessThe roughness of a material (between 0 and 1)
Returns
The corresponding differential