Blender
V5.0
source
blender
draw
engines
eevee
eevee_renderbuffers_shared.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#pragma once
10
11
#include "
eevee_camera_shared.hh
"
12
13
#ifndef GPU_SHADER
14
namespace
blender::eevee
{
15
#endif
16
17
/* Theoretical max is 128 as we are using texture array and VRAM usage.
18
* However, the output_aov() function perform a linear search inside all the hashes.
19
* If we find a way to avoid this we could bump this number up. */
20
#define AOV_MAX 16
21
22
struct
AOVsInfoData
{
23
/* Use uint4 to workaround std140 packing rules.
24
* Only the x value is used. */
25
uint4
hash_value
[
AOV_MAX
];
26
uint4
hash_color
[
AOV_MAX
];
27
/* Length of used data. */
28
int
color_len
;
29
int
value_len
;
31
int
display_id
;
33
bool32_t
display_is_value
;
34
};
35
BLI_STATIC_ASSERT_ALIGN
(
AOVsInfoData
, 16)
36
37
struct
RenderBuffersInfoData
{
38
AOVsInfoData
aovs
;
39
/* Color. */
40
int
color_len
;
41
int
normal_id
;
42
int
position_id
;
43
int
diffuse_light_id
;
44
int
diffuse_color_id
;
45
int
specular_light_id
;
46
int
specular_color_id
;
47
int
volume_light_id
;
48
int
emission_id
;
49
int
environment_id
;
50
int
transparent_id
;
51
/* Value */
52
int
value_len
;
53
int
shadow_id
;
54
int
ambient_occlusion_id
;
55
int
_pad0
,
_pad1
;
56
};
57
BLI_STATIC_ASSERT_ALIGN
(
RenderBuffersInfoData
, 16)
58
59
#ifndef GPU_SHADER
60
}
// namespace blender::eevee
61
#endif
BLI_STATIC_ASSERT_ALIGN
#define BLI_STATIC_ASSERT_ALIGN(st, align)
Definition
BLI_assert.h:86
bool32_t
int32_t bool32_t
Definition
GPU_shader_shared_utils.hh:83
eevee_camera_shared.hh
AOV_MAX
#define AOV_MAX
Definition
eevee_renderbuffers_shared.hh:20
blender::eevee
Definition
eevee_ambient_occlusion.cc:29
blender::uint4
VecBase< uint32_t, 4 > uint4
Definition
BLI_math_vector_types.hh:607
blender::eevee::AOVsInfoData
Definition
eevee_renderbuffers_shared.hh:22
blender::eevee::AOVsInfoData::display_is_value
bool32_t display_is_value
Definition
eevee_renderbuffers_shared.hh:33
blender::eevee::AOVsInfoData::display_id
int display_id
Definition
eevee_renderbuffers_shared.hh:31
blender::eevee::AOVsInfoData::value_len
int value_len
Definition
eevee_renderbuffers_shared.hh:29
blender::eevee::AOVsInfoData::hash_value
uint4 hash_value[AOV_MAX]
Definition
eevee_renderbuffers_shared.hh:25
blender::eevee::AOVsInfoData::color_len
int color_len
Definition
eevee_renderbuffers_shared.hh:28
blender::eevee::AOVsInfoData::hash_color
uint4 hash_color[AOV_MAX]
Definition
eevee_renderbuffers_shared.hh:26
blender::eevee::RenderBuffersInfoData
Definition
eevee_renderbuffers_shared.hh:37
blender::eevee::RenderBuffersInfoData::color_len
int color_len
Definition
eevee_renderbuffers_shared.hh:40
blender::eevee::RenderBuffersInfoData::normal_id
int normal_id
Definition
eevee_renderbuffers_shared.hh:41
blender::eevee::RenderBuffersInfoData::diffuse_color_id
int diffuse_color_id
Definition
eevee_renderbuffers_shared.hh:44
blender::eevee::RenderBuffersInfoData::ambient_occlusion_id
int ambient_occlusion_id
Definition
eevee_renderbuffers_shared.hh:54
blender::eevee::RenderBuffersInfoData::diffuse_light_id
int diffuse_light_id
Definition
eevee_renderbuffers_shared.hh:43
blender::eevee::RenderBuffersInfoData::_pad0
int _pad0
Definition
eevee_renderbuffers_shared.hh:55
blender::eevee::RenderBuffersInfoData::position_id
int position_id
Definition
eevee_renderbuffers_shared.hh:42
blender::eevee::RenderBuffersInfoData::value_len
int value_len
Definition
eevee_renderbuffers_shared.hh:52
blender::eevee::RenderBuffersInfoData::specular_light_id
int specular_light_id
Definition
eevee_renderbuffers_shared.hh:45
blender::eevee::RenderBuffersInfoData::environment_id
int environment_id
Definition
eevee_renderbuffers_shared.hh:49
blender::eevee::RenderBuffersInfoData::_pad1
int _pad1
Definition
eevee_renderbuffers_shared.hh:55
blender::eevee::RenderBuffersInfoData::emission_id
int emission_id
Definition
eevee_renderbuffers_shared.hh:48
blender::eevee::RenderBuffersInfoData::shadow_id
int shadow_id
Definition
eevee_renderbuffers_shared.hh:53
blender::eevee::RenderBuffersInfoData::transparent_id
int transparent_id
Definition
eevee_renderbuffers_shared.hh:50
blender::eevee::RenderBuffersInfoData::volume_light_id
int volume_light_id
Definition
eevee_renderbuffers_shared.hh:47
blender::eevee::RenderBuffersInfoData::aovs
AOVsInfoData aovs
Definition
eevee_renderbuffers_shared.hh:38
blender::eevee::RenderBuffersInfoData::specular_color_id
int specular_color_id
Definition
eevee_renderbuffers_shared.hh:46
Generated on
for Blender by
doxygen
1.16.1