|
Blender
V2.93
|
#include "GPU_texture.h"Go to the source code of this file.
Classes | |
| struct | GPUAttachment |
Macros | |
| #define | GPU_FRAMEBUFFER_FREE_SAFE(fb) |
Typedefs | |
| typedef enum eGPUFrameBufferBits | eGPUFrameBufferBits |
| typedef struct GPUAttachment | GPUAttachment |
| typedef enum eGPUBackBuffer | eGPUBackBuffer |
| typedef struct GPUFrameBuffer | GPUFrameBuffer |
| typedef struct GPUOffScreen | GPUOffScreen |
Enumerations | |
| enum | eGPUFrameBufferBits { GPU_COLOR_BIT = (1 << 0) , GPU_DEPTH_BIT = (1 << 1) , GPU_STENCIL_BIT = (1 << 2) } |
| enum | eGPUBackBuffer { GPU_BACKBUFFER_LEFT = 0 , GPU_BACKBUFFER_RIGHT } |
Functions | |
| GPUFrameBuffer * | GPU_framebuffer_create (const char *name) |
| void | GPU_framebuffer_free (GPUFrameBuffer *fb) |
| void | GPU_framebuffer_bind (GPUFrameBuffer *fb) |
| void | GPU_framebuffer_bind_no_srgb (GPUFrameBuffer *fb) |
| void | GPU_framebuffer_restore (void) |
| bool | GPU_framebuffer_bound (GPUFrameBuffer *fb) |
| bool | GPU_framebuffer_check_valid (GPUFrameBuffer *fb, char err_out[256]) |
| GPUFrameBuffer * | GPU_framebuffer_active_get (void) |
| GPUFrameBuffer * | GPU_framebuffer_back_get (void) |
| void | GPU_framebuffer_texture_attach_ex (GPUFrameBuffer *gpu_fb, GPUAttachment attachment, int slot) |
| void | GPU_framebuffer_texture_detach (GPUFrameBuffer *fb, struct GPUTexture *tex) |
GPU Frame-buffer
Definition in file GPU_framebuffer.h.
| #define GPU_FRAMEBUFFER_FREE_SAFE | ( | fb | ) |
Definition at line 74 of file GPU_framebuffer.h.
| typedef enum eGPUBackBuffer eGPUBackBuffer |
| typedef enum eGPUFrameBufferBits eGPUFrameBufferBits |
| typedef struct GPUAttachment GPUAttachment |
| typedef struct GPUFrameBuffer GPUFrameBuffer |
Opaque type hiding blender::gpu::FrameBuffer.
Definition at line 1 of file GPU_framebuffer.h.
| typedef struct GPUOffScreen GPUOffScreen |
Definition at line 1 of file GPU_framebuffer.h.
| enum eGPUBackBuffer |
| Enumerator | |
|---|---|
| GPU_BACKBUFFER_LEFT | |
| GPU_BACKBUFFER_RIGHT | |
Definition at line 52 of file GPU_framebuffer.h.
| enum eGPUFrameBufferBits |
| Enumerator | |
|---|---|
| GPU_COLOR_BIT | |
| GPU_DEPTH_BIT | |
| GPU_STENCIL_BIT | |
Definition at line 35 of file GPU_framebuffer.h.
| GPUFrameBuffer* GPU_framebuffer_active_get | ( | void | ) |
Definition at line 242 of file gpu_framebuffer.cc.
References blender::gpu::Context::active_fb, blender::gpu::Context::get(), and blender::gpu::wrap().
Referenced by blender::gpu::GLTexture::clear(), draw_image_buffer(), draw_nodespace_back_pix(), draw_shgroup(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), ED_region_do_draw(), ED_view3d_draw_offscreen_imbuf(), GPU_framebuffer_bound(), GPU_offscreen_bind(), gpu_select_pick_load_id(), OVERLAY_edit_uv_draw(), pygpu_framebuffer_stack_push_and_bind_or_error(), sequencer_ibuf_get(), WM_opengl_context_activate(), WM_opengl_context_create(), WM_opengl_context_dispose(), WM_opengl_context_release(), wm_surface_make_drawable(), wm_surface_reset_drawable(), wm_window_make_drawable(), and wm_window_reset_drawable().
| GPUFrameBuffer* GPU_framebuffer_back_get | ( | void | ) |
Definition at line 249 of file gpu_framebuffer.cc.
References blender::gpu::Context::back_left, blender::gpu::Context::get(), and blender::gpu::wrap().
Referenced by DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), WM_opengl_context_activate(), WM_opengl_context_create(), WM_opengl_context_dispose(), WM_opengl_context_release(), wm_surface_make_drawable(), wm_surface_reset_drawable(), wm_window_make_drawable(), and wm_window_reset_drawable().
| void GPU_framebuffer_bind | ( | GPUFrameBuffer * | fb | ) |
Definition at line 207 of file gpu_framebuffer.cc.
References blender::gpu::unwrap().
Referenced by blender::gpu::GLTexture::clear(), dof_dilate_tiles_pass_draw(), draw_image_buffer(), draw_timeline_seq(), DRW_draw_callbacks_post_scene(), drw_draw_depth_loop_impl(), DRW_draw_depth_object(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), drw_engines_draw_scene(), DRW_hair_update(), DRW_select_buffer_read(), ED_region_do_draw(), ED_view3d_draw_offscreen_imbuf(), EEVEE_bloom_draw(), EEVEE_bloom_output_accumulate(), EEVEE_create_minmax_buffer(), EEVEE_cryptomatte_output_accumulate(), EEVEE_depth_of_field_draw(), eevee_draw_scene(), EEVEE_effects_downsample_radiance_buffer(), EEVEE_lightbake_filter_diffuse(), EEVEE_lightbake_filter_glossy(), EEVEE_lightbake_filter_visibility(), eevee_lightbake_render_world_sample(), EEVEE_lookdev_draw(), EEVEE_lut_update_ggx_brdf(), EEVEE_lut_update_ggx_btdf(), EEVEE_material_output_accumulate(), EEVEE_mist_output_accumulate(), EEVEE_motion_blur_cache_finish(), EEVEE_motion_blur_draw(), EEVEE_occlusion_compute(), EEVEE_occlusion_draw_debug(), EEVEE_occlusion_output_accumulate(), EEVEE_reflection_compute(), EEVEE_reflection_output_accumulate(), EEVEE_refraction_compute(), eevee_render_color_result(), EEVEE_render_draw(), eevee_render_draw_background(), EEVEE_renderpasses_draw(), EEVEE_renderpasses_postprocess(), EEVEE_shadow_output_accumulate(), EEVEE_shadows_draw_cascades(), EEVEE_shadows_draw_cubemap(), EEVEE_subsurface_compute(), EEVEE_subsurface_data_render(), EEVEE_subsurface_output_accumulate(), EEVEE_subsurface_output_init(), EEVEE_temporal_sampling_draw(), EEVEE_update_noise(), EEVEE_velocity_resolve(), EEVEE_volumes_compute(), EEVEE_volumes_output_accumulate(), EEVEE_volumes_resolve(), external_draw_scene(), GPENCIL_antialiasing_draw(), gpencil_draw_mask(), GPENCIL_draw_object(), GPENCIL_draw_scene(), GPENCIL_draw_scene_depth_only(), GPENCIL_render_init(), GPENCIL_render_result_combined(), GPU_offscreen_unbind(), GPU_viewport_stereo_composite(), IMAGE_draw_scene(), lightbake_render_scene_face(), lightbake_render_scene_reflected(), lightbake_render_world_face(), material_renderpass_accumulate(), OVERLAY_antialiasing_end(), OVERLAY_antialiasing_start(), OVERLAY_draw_scene(), OVERLAY_edit_curve_draw(), OVERLAY_edit_lattice_draw(), OVERLAY_edit_mesh_draw(), OVERLAY_edit_particle_draw(), OVERLAY_edit_text_draw(), OVERLAY_edit_uv_draw(), OVERLAY_image_scene_background_draw(), OVERLAY_outline_draw(), OVERLAY_paint_draw(), OVERLAY_pose_draw(), OVERLAY_sculpt_draw(), OVERLAY_xray_depth_copy(), pygpu_framebuffer_stack_pop_and_restore_or_error(), pygpu_framebuffer_stack_push_and_bind_or_error(), select_cache_init(), select_draw_scene(), sequencer_ibuf_get(), view3d_opengl_read_Z_pixels(), workbench_antialiasing_draw_pass(), workbench_dof_draw_pass(), workbench_draw_sample(), workbench_render(), workbench_render_result_z(), workbench_transparent_draw_depth_pass(), and workbench_volume_draw_pass().
| void GPU_framebuffer_bind_no_srgb | ( | GPUFrameBuffer * | gpu_fb | ) |
Workaround for binding a SRGB frame-buffer without doing the SRGB transform.
Definition at line 216 of file gpu_framebuffer.cc.
References blender::gpu::unwrap().
Referenced by draw_image_buffer(), draw_nodespace_back_pix(), draw_timeline_seq(), node_draw_space(), and sequencer_draw_preview().
| bool GPU_framebuffer_bound | ( | GPUFrameBuffer * | fb | ) |
Definition at line 255 of file gpu_framebuffer.cc.
References GPU_framebuffer_active_get().
Referenced by pygpu_framebuffer_clear(), pygpu_framebuffer_is_bound(), and pygpu_framebuffer_stack_pop_and_restore_or_error().
| bool GPU_framebuffer_check_valid | ( | GPUFrameBuffer * | fb, |
| char | err_out[256] | ||
| ) |
Definition at line 262 of file gpu_framebuffer.cc.
References blender::gpu::unwrap().
Referenced by draw_select_framebuffer_depth_only_setup(), GPU_offscreen_create(), gpu_viewport_default_fb_create(), select_engine_framebuffer_setup(), and workbench_render_framebuffers_init().
| GPUFrameBuffer* GPU_framebuffer_create | ( | const char * | name | ) |
Definition at line 193 of file gpu_framebuffer.cc.
References blender::gpu::GPUBackend::get(), and blender::gpu::wrap().
Referenced by draw_select_framebuffer_depth_only_setup(), EEVEE_effects_init(), EEVEE_shadows_update(), pygpu_framebuffer__tp_new(), select_engine_framebuffer_setup(), and view3d_opengl_read_Z_pixels().
| void GPU_framebuffer_free | ( | GPUFrameBuffer * | fb | ) |
Definition at line 200 of file gpu_framebuffer.cc.
References blender::gpu::unwrap().
Referenced by DRW_hair_update(), gpu_offscreen_fb_get(), GPU_offscreen_free(), gpu_viewport_buffers_free(), pygpu_framebuffer_free_if_possible(), view3d_opengl_read_Z_pixels(), and blender::gpu::GLTexture::~GLTexture().
| void GPU_framebuffer_restore | ( | void | ) |
Definition at line 237 of file gpu_framebuffer.cc.
References blender::gpu::Context::back_left, blender::gpu::FrameBuffer::bind(), and blender::gpu::Context::get().
Referenced by draw_nodespace_back_pix(), DRW_custom_pipeline(), drw_draw_depth_loop_impl(), DRW_draw_depth_object(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), DRW_render_gpencil(), DRW_render_to_image(), DRW_select_buffer_read(), ED_view3d_draw_offscreen_imbuf(), GPU_offscreen_create(), GPU_offscreen_unbind(), gpu_viewport_default_fb_create(), GPU_viewport_stereo_composite(), GPU_viewport_unbind(), sequencer_ibuf_get(), view3d_opengl_read_Z_pixels(), wm_xr_draw_view(), and blender::gpu::GLFrameBuffer::~GLFrameBuffer().
| void GPU_framebuffer_texture_attach_ex | ( | GPUFrameBuffer * | gpu_fb, |
| GPUAttachment | attachment, | ||
| int | slot | ||
| ) |
Definition at line 267 of file gpu_framebuffer.cc.
References tex, GPUAttachment::tex, type, and blender::gpu::unwrap().
Referenced by GPU_framebuffer_texture_attach(), GPU_framebuffer_texture_cubeface_attach(), and GPU_framebuffer_texture_layer_attach().
| void GPU_framebuffer_texture_detach | ( | GPUFrameBuffer * | fb, |
| struct GPUTexture * | tex | ||
| ) |
Definition at line 294 of file gpu_framebuffer.cc.
References fb(), tex, and blender::gpu::unwrap().
Referenced by EEVEE_downsample_cube_buffer(), eevee_draw_scene(), EEVEE_render_draw(), and material_renderpass_accumulate().