Blender V5.0
aov.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#pragma once
6
8
9#include "kernel/svm/util.h"
10
12
13ccl_device_inline bool svm_node_aov_check(const uint32_t path_flag,
14 const ccl_global float *render_buffer)
15{
16 const bool is_primary = (path_flag & PATH_RAY_TRANSPARENT_BACKGROUND) &&
17 (!(path_flag & PATH_RAY_SINGLE_PASS_DONE));
18
19 return ((render_buffer != nullptr) && is_primary);
20}
21
22template<uint node_feature_mask, typename ConstIntegratorGenericState>
24 ConstIntegratorGenericState state,
25 ccl_private float *stack,
26 const uint4 node,
28{
30 {
31 const float3 val = stack_load_float3(stack, node.y);
33 }
34}
35
36template<uint node_feature_mask, typename ConstIntegratorGenericState>
38 ConstIntegratorGenericState state,
39 ccl_private float *stack,
40 const uint4 node,
42{
44 {
45 const float val = stack_load_float(stack, node.y);
47 }
48}
ccl_device void svm_node_aov_color(KernelGlobals kg, ConstIntegratorGenericState state, ccl_private float *stack, const uint4 node, ccl_global float *render_buffer)
Definition aov.h:23
CCL_NAMESPACE_BEGIN ccl_device_inline bool svm_node_aov_check(const uint32_t path_flag, const ccl_global float *render_buffer)
Definition aov.h:13
ccl_device void svm_node_aov_value(KernelGlobals kg, ConstIntegratorGenericState state, ccl_private float *stack, const uint4 node, ccl_global float *render_buffer)
Definition aov.h:37
ccl_device_inline void film_write_aov_pass_color(KernelGlobals kg, ConstIntegratorState state, ccl_global float *ccl_restrict render_buffer, const int aov_id, const float3 color)
Definition aov_passes.h:21
CCL_NAMESPACE_BEGIN ccl_device_inline void film_write_aov_pass_value(KernelGlobals kg, ConstIntegratorState state, ccl_global float *ccl_restrict render_buffer, const int aov_id, const float value)
Definition aov_passes.h:11
ccl_device_inline float stack_load_float(const ccl_private float *stack, const uint a)
CCL_NAMESPACE_BEGIN ccl_device_inline float3 stack_load_float3(const ccl_private float *stack, const uint a)
#define IF_KERNEL_NODES_FEATURE(feature)
#define ccl_private
const ThreadKernelGlobalsCPU * KernelGlobals
#define ccl_device_inline
#define ccl_global
#define CCL_NAMESPACE_END
ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int ccl_global float * render_buffer
@ PATH_RAY_SINGLE_PASS_DONE
@ PATH_RAY_TRANSPARENT_BACKGROUND
static ulong state[N]
#define ccl_device
uint y
Definition types_uint4.h:13
uint z
Definition types_uint4.h:13