Blender
V5.0
source
blender
draw
engines
overlay
overlay_image.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 "
DNA_scene_types.h
"
12
13
#include "
BKE_image.hh
"
14
15
namespace
blender::draw::overlay
{
16
17
class
Images
{
18
19
public
:
20
static
eStereoViews
images_stereo_eye
(
const
Scene
*scene,
const
View3D
*v3d)
21
{
22
if
((scene->
r
.
scemode
&
R_MULTIVIEW
) == 0) {
23
return
STEREO_LEFT_ID
;
24
}
25
if
(v3d->
stereo3d_camera
!=
STEREO_3D_ID
) {
26
/* show only left or right camera */
27
return
eStereoViews
(v3d->
stereo3d_camera
);
28
}
29
30
return
eStereoViews
(v3d->
multiview_eye
);
31
}
32
33
static
void
stereo_setup
(
const
Scene
*scene,
const
View3D
*v3d,
::Image
*ima,
ImageUser
*iuser)
34
{
35
if
(
BKE_image_is_stereo
(ima)) {
36
iuser->
flag
|=
IMA_SHOW_STEREO
;
37
iuser->
multiview_eye
=
images_stereo_eye
(scene, v3d);
38
BKE_image_multiview_index
(ima, iuser);
39
}
40
else
{
41
iuser->
flag
&=
~IMA_SHOW_STEREO
;
42
}
43
}
44
};
45
46
}
// namespace blender::draw::overlay
BKE_image.hh
BKE_image_is_stereo
bool BKE_image_is_stereo(const Image *ima)
Definition
source/blender/blenkernel/intern/image.cc:3769
BKE_image_multiview_index
void BKE_image_multiview_index(const Image *ima, ImageUser *iuser)
Definition
source/blender/blenkernel/intern/image.cc:3725
IMA_SHOW_STEREO
@ IMA_SHOW_STEREO
Definition
DNA_image_types.h:121
DNA_scene_types.h
eStereoViews
eStereoViews
Definition
DNA_scene_types.h:1052
STEREO_LEFT_ID
@ STEREO_LEFT_ID
Definition
DNA_scene_types.h:1053
STEREO_3D_ID
@ STEREO_3D_ID
Definition
DNA_scene_types.h:1055
R_MULTIVIEW
@ R_MULTIVIEW
Definition
DNA_scene_types.h:2349
blender::draw::Image
Definition
DRW_gpu_wrapper.hh:1174
blender::draw::overlay::Images
Definition
overlay_image.hh:17
blender::draw::overlay::Images::stereo_setup
static void stereo_setup(const Scene *scene, const View3D *v3d, ::Image *ima, ImageUser *iuser)
Definition
overlay_image.hh:33
blender::draw::overlay::Images::images_stereo_eye
static eStereoViews images_stereo_eye(const Scene *scene, const View3D *v3d)
Definition
overlay_image.hh:20
blender::draw::overlay
Definition
overlay_antialiasing.hh:49
ImageUser
Definition
DNA_image_types.h:40
ImageUser::multiview_eye
char multiview_eye
Definition
DNA_image_types.h:54
ImageUser::flag
short flag
Definition
DNA_image_types.h:61
RenderData::scemode
int scemode
Definition
DNA_scene_types.h:818
Scene
Definition
DNA_scene_types.h:2120
Scene::r
struct RenderData r
Definition
DNA_scene_types.h:2166
View3D
Definition
DNA_view3d_types.h:295
View3D::multiview_eye
char multiview_eye
Definition
DNA_view3d_types.h:319
View3D::stereo3d_camera
char stereo3d_camera
Definition
DNA_view3d_types.h:383
Generated on
for Blender by
doxygen
1.16.1