Blender  V3.3
pass_accessor_cpu.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2011-2022 Blender Foundation */
3 
4 #pragma once
5 
6 #include "device/cpu/kernel.h"
7 
9 
11 
12 struct KernelFilmConvert;
13 
14 /* Pass accessor implementation for CPU side. */
15 class PassAccessorCPU : public PassAccessor {
16  public:
18 
19  protected:
21  const KernelFilmConvert *kfilm_convert,
22  const RenderBuffers *render_buffers,
23  const BufferParams &buffer_params,
24  const Destination &destination,
25  const CPUKernels::FilmConvertFunction func) const;
26 
28  const KernelFilmConvert *kfilm_convert,
29  const RenderBuffers *render_buffers,
30  const BufferParams &buffer_params,
31  const Destination &destination,
33 
34 #define DECLARE_PASS_ACCESSOR(pass) \
35  virtual void get_pass_##pass(const RenderBuffers *render_buffers, \
36  const BufferParams &buffer_params, \
37  const Destination &destination) const override;
38 
39  /* Float (scalar) passes. */
42  DECLARE_PASS_ACCESSOR(sample_count)
44 
45  /* Float3 passes. */
46  DECLARE_PASS_ACCESSOR(light_path)
47  DECLARE_PASS_ACCESSOR(shadow_catcher)
49 
50  /* Float4 passes. */
51  DECLARE_PASS_ACCESSOR(motion)
52  DECLARE_PASS_ACCESSOR(cryptomatte)
53  DECLARE_PASS_ACCESSOR(shadow_catcher_matte_with_shadow)
54  DECLARE_PASS_ACCESSOR(combined)
56 
57 #undef DECLARE_PASS_ACCESSOR
58 };
59 
float float4[4]
void run_get_pass_kernel_processor_float(const KernelFilmConvert *kfilm_convert, const RenderBuffers *render_buffers, const BufferParams &buffer_params, const Destination &destination, const CPUKernels::FilmConvertFunction func) const
void run_get_pass_kernel_processor_half_rgba(const KernelFilmConvert *kfilm_convert, const RenderBuffers *render_buffers, const BufferParams &buffer_params, const Destination &destination, const CPUKernels::FilmConvertHalfRGBAFunction func) const
PassAccessor(const PassAccessInfo &pass_access_info, float exposure, int num_samples)
#define CCL_NAMESPACE_END
Definition: cuda/compat.h:9
#define DECLARE_PASS_ACCESSOR(pass)