Blender
V4.5
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:3847
BKE_image_multiview_index
void BKE_image_multiview_index(const Image *ima, ImageUser *iuser)
Definition
source/blender/blenkernel/intern/image.cc:3803
IMA_SHOW_STEREO
@ IMA_SHOW_STEREO
Definition
DNA_image_types.h:116
DNA_scene_types.h
R_MULTIVIEW
@ R_MULTIVIEW
Definition
DNA_scene_types.h:2334
eStereoViews
eStereoViews
Definition
DNA_scene_types.h:993
STEREO_LEFT_ID
@ STEREO_LEFT_ID
Definition
DNA_scene_types.h:994
STEREO_3D_ID
@ STEREO_3D_ID
Definition
DNA_scene_types.h:996
blender::draw::Image
Definition
DRW_gpu_wrapper.hh:1171
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:35
ImageUser::multiview_eye
char multiview_eye
Definition
DNA_image_types.h:49
ImageUser::flag
short flag
Definition
DNA_image_types.h:56
RenderData::scemode
int scemode
Definition
DNA_scene_types.h:768
Scene
Definition
DNA_scene_types.h:2106
Scene::r
struct RenderData r
Definition
DNA_scene_types.h:2153
View3D
Definition
DNA_view3d_types.h:290
View3D::multiview_eye
char multiview_eye
Definition
DNA_view3d_types.h:314
View3D::stereo3d_camera
char stereo3d_camera
Definition
DNA_view3d_types.h:377
Generated on
for Blender by
doxygen
1.16.1