Blender V4.5
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 ShaderData *sd,
26 ccl_private float *stack,
27 const uint4 node,
29{
31 {
32 const float3 val = stack_load_float3(stack, node.y);
34 }
35}
36
37template<uint node_feature_mask, typename ConstIntegratorGenericState>
39 ConstIntegratorGenericState state,
40 ccl_private ShaderData *sd,
41 ccl_private float *stack,
42 const uint4 node,
44{
46 {
47 const float val = stack_load_float(stack, node.y);
49 }
50}
ccl_device void svm_node_aov_value(KernelGlobals kg, ConstIntegratorGenericState state, ccl_private ShaderData *sd, ccl_private float *stack, const uint4 node, ccl_global float *render_buffer)
Definition aov.h:38
ccl_device void svm_node_aov_color(KernelGlobals kg, ConstIntegratorGenericState state, ccl_private ShaderData *sd, 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_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_device
#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]
uint y
Definition types_uint4.h:13
uint z
Definition types_uint4.h:13