46 SOCKET_FLOAT(transparent_roughness_threshold,
"Transparent Roughness Threshold", 0.0f);
48 SOCKET_FLOAT(volume_step_size,
"Volume Step Size", 0.1f);
71 scene->update_stats->background.times.add_entry({
"device_update", time});
75 device_free(device, dscene);
82 kbackground->
ao_factor = (use_ao) ? ao_factor : 0.0f;
89 if (transparent && transparent_glass) {
93 sqr(transparent_roughness_threshold));
138 tag_use_shader_modified();
141 if (ao_factor_is_modified() || use_ao_is_modified()) {
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
NODE_DECLARE Background()
void device_update(Device *device, DeviceScene *dscene, Scene *scene)
void device_free(Device *device, DeviceScene *dscene)
Shader * get_shader(const Scene *scene)
void tag_update(Scene *scene)
void tag_update(Scene *scene, uint32_t flag)
list< ShaderNode * > nodes
int get_shader_id(Shader *shader, bool smooth=false)
NODE_DECLARE ShaderGraph * graph
#define CCL_NAMESPACE_END
void KERNEL_FUNCTION_FULL_NAME() shader(KernelGlobals *kg, uint4 *input, float4 *output, int type, int filter, int i, int offset, int sample)
@ PATH_RAY_VOLUME_SCATTER
@ PATH_RAY_ALL_VISIBILITY
@ SHADER_EXCLUDE_TRANSMIT
#define SOCKET_FLOAT(name, ui_name, default_value,...)
#define SOCKET_NODE(name, ui_name, node_type,...)
#define SOCKET_UINT(name, ui_name, default_value,...)
#define SOCKET_BOOLEAN(name, ui_name, default_value,...)
CCL_NAMESPACE_BEGIN NODE_DEFINE(Background)
float transparent_roughness_squared_threshold
static NodeType * add(const char *name, CreateFunc create, Type type=NONE, const NodeType *base=NULL)
Shader * default_background
ShaderManager * shader_manager
SceneUpdateStats * update_stats
ccl_device_inline float sqr(float a)