23 include_albedo(pass.include_albedo),
24 is_lightgroup(!pass.lightgroup.empty()),
71 if (render_buffers ==
nullptr || render_buffers->
buffer.
data() ==
nullptr) {
80 const int src_num_components)
86 if (src_num_components >= dest_num_components) {
90 const size_t size =
static_cast<size_t>(buffer_params.
width) * buffer_params.
height;
95 float *pixel = destination.
pixels + pixel_stride * destination.
offset;
97 for (
size_t i = 0; i <
size; i++, pixel += dest_num_components) {
98 if (dest_num_components >= 3 && src_num_components == 1) {
102 if (dest_num_components >= 4) {
112 for (
size_t i = 0; i <
size; i++, pixel++) {
113 if (dest_num_components >= 3 && src_num_components == 1) {
114 pixel[0].
y = pixel[0].
x;
115 pixel[0].
z = pixel[0].
x;
117 if (dest_num_components >= 4) {
128 if (render_buffers ==
nullptr || render_buffers->
buffer.
data() ==
nullptr) {
142 get_pass_float(render_buffers, buffer_params, destination);
145 get_pass_depth(render_buffers, buffer_params, destination);
148 get_pass_mist(render_buffers, buffer_params, destination);
151 get_pass_sample_count(render_buffers, buffer_params, destination);
154 get_pass_float(render_buffers, buffer_params, destination);
160 get_pass_motion(render_buffers, buffer_params, destination);
165 get_pass_cryptomatte(render_buffers, buffer_params, destination);
175 get_pass_shadow_catcher_matte_with_shadow(render_buffers, buffer_params, destination);
179 get_pass_shadow_catcher(render_buffers, buffer_params, destination);
186 get_pass_light_path(render_buffers, buffer_params, destination);
187 num_written_components = 4;
193 get_pass_float3(render_buffers, buffer_params, destination);
204 get_pass_float3(render_buffers, buffer_params, destination);
209 get_pass_combined(render_buffers, buffer_params, destination);
213 get_pass_float4(render_buffers, buffer_params, destination);
219 pad_pixels(buffer_params, destination, num_written_components);
263 kfilm_convert->
scale = 1.0f;
289 if (render_buffers ==
nullptr || render_buffers->
buffer.
data() ==
nullptr) {
298 float *buffer_data = render_buffers->
buffer.
data();
306 const float *in = source.
pixels + source.
offset * in_stride;
308 for (
int i = 0; i <
size; i++,
out += out_stride, in += in_stride) {
309 memcpy(
out, in,
sizeof(
float) * num_components_to_copy);
_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
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
int get_pass_offset(PassType type, PassMode mode=PassMode::NOISY) const
bool use_approximate_shadow_catcher
bool use_approximate_shadow_catcher_background
bool set_render_tile_pixels(RenderBuffers *render_buffers, const Source &source)
PassAccessor(const PassAccessInfo &pass_access_info, float exposure, int num_samples)
bool get_render_tile_pixels(const RenderBuffers *render_buffers, const Destination &destination) const
virtual void init_kernel_film_convert(KernelFilmConvert *kfilm_convert, const BufferParams &buffer_params, const Destination &destination) const
PassAccessInfo pass_access_info_
PassInfo get_info() const
device_vector< float > buffer
#define CCL_NAMESPACE_END
ccl_device_inline half float_to_half_display(const float f)
ccl_gpu_kernel_postfix ccl_global float int int int int int int int int int int int int num_components
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
ccl_gpu_kernel_postfix ccl_global float int int int int ccl_global const float int int int int int int int int int int int int num_samples
@ PASS_SHADOW_CATCHER_SAMPLE_COUNT
@ PASS_TRANSMISSION_COLOR
@ PASS_SHADOW_CATCHER_MATTE
@ PASS_ADAPTIVE_AUX_BUFFER
#define DCHECK(expression)
static const pxr::TfToken out("out", pxr::TfToken::Immortal)
CCL_NAMESPACE_BEGIN const char * pass_type_as_string(const PassType type)
static void pad_pixels(const BufferParams &buffer_params, const PassAccessor::Destination &destination, const int src_num_components)
int pass_shadow_catcher_matte
int use_approximate_shadow_catcher_background
int pass_adaptive_aux_buffer
int use_approximate_shadow_catcher
int pass_shadow_catcher_sample_count