diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-12-09 12:01:47 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-12-09 12:01:47 +0300 |
commit | 7c76bdca1b7195720a769c4911678d85825907fe (patch) | |
tree | 003fab9c0a71af49b89f49eda0076b8018b6cfe8 /source/blender/gpu/GPU_viewport.h | |
parent | 9f546d690899e05b25a6ef764cc8cf2f5db918b0 (diff) |
Cleanup: move public doc-strings into headers for 'gpu'
Ref T92709
Diffstat (limited to 'source/blender/gpu/GPU_viewport.h')
-rw-r--r-- | source/blender/gpu/GPU_viewport.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/gpu/GPU_viewport.h b/source/blender/gpu/GPU_viewport.h index 4d9970dac90..c4948d68298 100644 --- a/source/blender/gpu/GPU_viewport.h +++ b/source/blender/gpu/GPU_viewport.h @@ -49,12 +49,26 @@ GPUViewport *GPU_viewport_create(void); GPUViewport *GPU_viewport_stereo_create(void); void GPU_viewport_bind(GPUViewport *viewport, int view, const rcti *rect); void GPU_viewport_unbind(GPUViewport *viewport); +/** + * Merge and draw the buffers of \a viewport into the currently active framebuffer, performing + * color transform to display space. + * + * \param rect: Coordinates to draw into. By swapping min and max values, drawing can be done + * with inversed axis coordinates (upside down or sideways). + */ void GPU_viewport_draw_to_screen(GPUViewport *viewport, int view, const rcti *rect); +/** + * Version of #GPU_viewport_draw_to_screen() that lets caller decide if display colorspace + * transform should be performed. + */ void GPU_viewport_draw_to_screen_ex(GPUViewport *viewport, int view, const rcti *rect, bool display_colorspace, bool do_overlay_merge); +/** + * Must be executed inside Draw-manager OpenGL Context. + */ void GPU_viewport_free(GPUViewport *viewport); void GPU_viewport_colorspace_set(GPUViewport *viewport, @@ -62,7 +76,13 @@ void GPU_viewport_colorspace_set(GPUViewport *viewport, const ColorManagedDisplaySettings *display_settings, float dither); +/** + * Should be called from DRW after DRW_opengl_context_enable. + */ void GPU_viewport_bind_from_offscreen(GPUViewport *viewport, struct GPUOffScreen *ofs); +/** + * Clear vars assigned from offscreen, so we don't free data owned by `GPUOffScreen`. + */ void GPU_viewport_unbind_from_offscreen(GPUViewport *viewport, struct GPUOffScreen *ofs, bool display_colorspace, @@ -70,6 +90,9 @@ void GPU_viewport_unbind_from_offscreen(GPUViewport *viewport, struct DRWData **GPU_viewport_data_get(GPUViewport *viewport); +/** + * Merge the stereo textures. `color` and `overlay` texture will be modified. + */ void GPU_viewport_stereo_composite(GPUViewport *viewport, Stereo3dFormat *stereo_format); void GPU_viewport_tag_update(GPUViewport *viewport); @@ -82,6 +105,9 @@ GPUTexture *GPU_viewport_color_texture(GPUViewport *viewport, int view); GPUTexture *GPU_viewport_overlay_texture(GPUViewport *viewport, int view); GPUTexture *GPU_viewport_depth_texture(GPUViewport *viewport); +/** + * Overlay frame-buffer for drawing outside of DRW module. + */ GPUFrameBuffer *GPU_viewport_framebuffer_overlay_get(GPUViewport *viewport); #ifdef __cplusplus |