From 7c76bdca1b7195720a769c4911678d85825907fe Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 9 Dec 2021 20:01:47 +1100 Subject: Cleanup: move public doc-strings into headers for 'gpu' Ref T92709 --- source/blender/gpu/GPU_viewport.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'source/blender/gpu/GPU_viewport.h') 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 -- cgit v1.2.3