Blender  V3.3
GPU_viewport.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2005 Blender Foundation. All rights reserved. */
3 
8 #pragma once
9 
10 #include <stdbool.h>
11 
12 #include "DNA_scene_types.h"
13 #include "DNA_vec_types.h"
14 
15 #include "GPU_framebuffer.h"
16 #include "GPU_texture.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define GLA_PIXEL_OFS 0.375f
23 
24 typedef struct GHash GHash;
25 typedef struct GPUViewport GPUViewport;
26 
27 struct DRWData;
29 struct DefaultTextureList;
30 struct GPUFrameBuffer;
31 
34 void GPU_viewport_bind(GPUViewport *viewport, int view, const rcti *rect);
43 void GPU_viewport_draw_to_screen(GPUViewport *viewport, int view, const rcti *rect);
49  int view,
50  const rcti *rect,
51  bool display_colorspace,
52  bool do_overlay_merge);
56 void GPU_viewport_free(GPUViewport *viewport);
57 
59  ColorManagedViewSettings *view_settings,
60  const ColorManagedDisplaySettings *display_settings,
61  float dither);
62 
67  struct GPUOffScreen *ofs,
68  bool is_xr_surface);
73  struct GPUOffScreen *ofs,
74  bool display_colorspace,
75  bool do_overlay_merge);
76 
77 struct DRWData **GPU_viewport_data_get(GPUViewport *viewport);
78 
82 void GPU_viewport_stereo_composite(GPUViewport *viewport, Stereo3dFormat *stereo_format);
83 
84 void GPU_viewport_tag_update(GPUViewport *viewport);
85 bool GPU_viewport_do_update(GPUViewport *viewport);
86 
89 
93 
98 
99 #ifdef __cplusplus
100 }
101 #endif
static AppView * view
struct GPUFrameBuffer GPUFrameBuffer
struct GPUTexture GPUTexture
Definition: GPU_texture.h:17
void GPU_viewport_bind(GPUViewport *viewport, int view, const rcti *rect)
Definition: gpu_viewport.c:170
void GPU_viewport_colorspace_set(GPUViewport *viewport, ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, float dither)
Definition: gpu_viewport.c:213
GPUTexture * GPU_viewport_color_texture(GPUViewport *viewport, int view)
Definition: gpu_viewport.c:559
void GPU_viewport_draw_to_screen(GPUViewport *viewport, int view, const rcti *rect)
Definition: gpu_viewport.c:503
void GPU_viewport_draw_to_screen_ex(GPUViewport *viewport, int view, const rcti *rect, bool display_colorspace, bool do_overlay_merge)
Definition: gpu_viewport.c:451
void GPU_viewport_bind_from_offscreen(GPUViewport *viewport, struct GPUOffScreen *ofs, bool is_xr_surface)
Definition: gpu_viewport.c:188
GPUViewport * GPU_viewport_create(void)
Definition: gpu_viewport.c:98
GPUFrameBuffer * GPU_viewport_framebuffer_overlay_get(GPUViewport *viewport)
Definition: gpu_viewport.c:574
bool GPU_viewport_is_stereo_get(GPUViewport *viewport)
Definition: gpu_viewport.c:554
bool GPU_viewport_do_update(GPUViewport *viewport)
Definition: gpu_viewport.c:91
void GPU_viewport_unbind_from_offscreen(GPUViewport *viewport, struct GPUOffScreen *ofs, bool display_colorspace, bool do_overlay_merge)
Definition: gpu_viewport.c:508
GPUViewport * GPU_viewport_stereo_create(void)
Definition: gpu_viewport.c:107
int GPU_viewport_active_view_get(GPUViewport *viewport)
Definition: gpu_viewport.c:549
void GPU_viewport_free(GPUViewport *viewport)
Definition: gpu_viewport.c:585
struct DRWData ** GPU_viewport_data_get(GPUViewport *viewport)
Definition: gpu_viewport.c:114
void GPU_viewport_stereo_composite(GPUViewport *viewport, Stereo3dFormat *stereo_format)
Definition: gpu_viewport.c:259
GPUTexture * GPU_viewport_overlay_texture(GPUViewport *viewport, int view)
Definition: gpu_viewport.c:564
void GPU_viewport_tag_update(GPUViewport *viewport)
Definition: gpu_viewport.c:86
void GPU_viewport_unbind(GPUViewport *viewport)
GPUTexture * GPU_viewport_depth_texture(GPUViewport *viewport)
Definition: gpu_viewport.c:569