|
Blender V4.3
|
#include <OSL/genclosure.h>#include <OSL/oslclosure.h>#include "kernel/types.h"#include "kernel/osl/globals.h"#include "kernel/osl/services.h"#include "util/math.h"#include "util/param.h"#include "kernel/device/cpu/compat.h"#include "kernel/device/cpu/globals.h"#include "kernel/geom/object.h"#include "kernel/util/differential.h"#include "kernel/osl/osl.h"#include "closures_template.h"Go to the source code of this file.
Macros | |
| #define | TO_VEC3(v) OSL::Vec3(v.x, v.y, v.z) |
| #define | TO_FLOAT3(v) make_float3(v[0], v[1], v[2]) |
| #define | OSL_CLOSURE_STRUCT_BEGIN(Upper, lower) |
| #define | OSL_CLOSURE_STRUCT_END(Upper, lower) |
| #define | OSL_CLOSURE_STRUCT_MEMBER(Upper, TYPE, type, name, key) CLOSURE_##TYPE##_KEYPARAM(Upper##Closure, name, key), |
| #define | OSL_CLOSURE_STRUCT_ARRAY_MEMBER(Upper, TYPE, type, name, key, size) CLOSURE_##TYPE##_ARRAY_PARAM(Upper##Closure, name, size), |
| #define | OSL_CLOSURE_STRUCT_BEGIN(Upper, lower) |
Functions | |
| static OSL::ClosureParam * | osl_closure_layer_params () |
| template<> | |
| void | osl_eval_nodes< SHADER_TYPE_SURFACE > (const KernelGlobalsCPU *kg, const void *state, ShaderData *sd, uint32_t path_flag) |
| template<> | |
| void | osl_eval_nodes< SHADER_TYPE_VOLUME > (const KernelGlobalsCPU *kg, const void *state, ShaderData *sd, uint32_t path_flag) |
| template<> | |
| void | osl_eval_nodes< SHADER_TYPE_DISPLACEMENT > (const KernelGlobalsCPU *kg, const void *state, ShaderData *sd, uint32_t path_flag) |
Variables | |
| CCL_NAMESPACE_BEGIN | |
| #define OSL_CLOSURE_STRUCT_ARRAY_MEMBER | ( | Upper, | |
| TYPE, | |||
| type, | |||
| name, | |||
| key, | |||
| size ) CLOSURE_##TYPE##_ARRAY_PARAM(Upper##Closure, name, size), |
Definition at line 53 of file closures.cpp.
| #define OSL_CLOSURE_STRUCT_BEGIN | ( | Upper, | |
| lower ) |
Definition at line 41 of file closures.cpp.
| #define OSL_CLOSURE_STRUCT_BEGIN | ( | Upper, | |
| lower ) |
Definition at line 41 of file closures.cpp.
| #define OSL_CLOSURE_STRUCT_END | ( | Upper, | |
| lower ) |
Definition at line 45 of file closures.cpp.
| #define OSL_CLOSURE_STRUCT_MEMBER | ( | Upper, | |
| TYPE, | |||
| type, | |||
| name, | |||
| key ) CLOSURE_##TYPE##_KEYPARAM(Upper##Closure, name, key), |
Definition at line 51 of file closures.cpp.
Definition at line 28 of file closures.cpp.
Referenced by osl_eval_nodes< SHADER_TYPE_DISPLACEMENT >().
Definition at line 27 of file closures.cpp.
Referenced by osl_eval_nodes< SHADER_TYPE_SURFACE >().
|
static |
Definition at line 58 of file closures.cpp.
References params.
Referenced by OSLRenderServices::register_closures().
| void osl_eval_nodes< SHADER_TYPE_DISPLACEMENT > | ( | const KernelGlobalsCPU * | kg, |
| const void * | state, | ||
| ShaderData * | sd, | ||
| uint32_t | path_flag ) |
Definition at line 263 of file closures.cpp.
References SHADER_MASK, shaderdata_to_shaderglobals(), state, and TO_FLOAT3.
Referenced by displacement_shader_eval().
| void osl_eval_nodes< SHADER_TYPE_SURFACE > | ( | const KernelGlobalsCPU * | kg, |
| const void * | state, | ||
| ShaderData * | sd, | ||
| uint32_t | path_flag ) |
Definition at line 80 of file closures.cpp.
References differential_make_compact(), differential3::dx, differential3::dy, flatten_closure_tree(), LAMP_NONE, object_dir_transform(), OBJECT_NONE, object_position_transform(), P, PATH_RAY_SHADOW, SD_HAS_DISPLACEMENT, SHADER_MASK, shaderdata_to_shaderglobals(), state, TO_VEC3, OSLRenderServices::u_empty, and OSLRenderServices::u_geom_undisplaced.
Referenced by surface_shader_eval().
| void osl_eval_nodes< SHADER_TYPE_VOLUME > | ( | const KernelGlobalsCPU * | kg, |
| const void * | state, | ||
| ShaderData * | sd, | ||
| uint32_t | path_flag ) |
Definition at line 210 of file closures.cpp.
References flatten_closure_tree(), PATH_RAY_SHADOW, SHADER_MASK, shaderdata_to_shaderglobals(), and state.
| CCL_NAMESPACE_BEGIN |
Definition at line 32 of file closures.cpp.