|
Blender V4.5
|
#include <display_driver.h>
Inherits DisplayDriver.
Public Member Functions | |
| OpenGLDisplayDriver (const std::function< bool()> &gl_context_enable, const std::function< void()> &gl_context_disable) | |
| ~OpenGLDisplayDriver () override | |
| void | graphics_interop_activate () override |
| void | graphics_interop_deactivate () override |
| void | clear () override |
| void | set_zoom (const float zoom_x, const float zoom_y) |
| Public Member Functions inherited from DisplayDriver | |
| DisplayDriver ()=default | |
| virtual | ~DisplayDriver ()=default |
| virtual void | flush () |
| GraphicsInteropBuffer & | graphics_interop_get_buffer () |
| virtual void | zero ()=0 |
Protected Member Functions | |
| void | next_tile_begin () override |
| bool | update_begin (const Params ¶ms, const int texture_width, const int texture_height) override |
| void | update_end () override |
| half4 * | map_texture_buffer () override |
| void | unmap_texture_buffer () override |
| GraphicsInteropDevice | graphics_interop_get_device () override |
| void | graphics_interop_update_buffer () override |
| void | draw (const Params ¶ms) override |
| bool | gl_texture_resources_ensure () |
| bool | gl_draw_resources_ensure () |
| void | gl_resources_destroy () |
| void | texture_update_if_needed () |
| void | vertex_buffer_update (const Params ¶ms) |
Protected Attributes | |
| struct OpenGLDisplayDriver:: { ... } | texture_ |
| OpenGLShader | display_shader_ |
| bool | gl_draw_resource_creation_attempted_ = false |
| bool | gl_draw_resources_created_ = false |
| uint | vertex_buffer_ = 0 |
| void * | gl_render_sync_ = nullptr |
| void * | gl_upload_sync_ = nullptr |
| float2 | zoom_ = make_float2(1.0f, 1.0f) |
| std::function< bool()> | gl_context_enable_ = nullptr |
| std::function< void()> | gl_context_disable_ = nullptr |
Additional Inherited Members | |
| Public Attributes inherited from DisplayDriver | |
| GraphicsInteropBuffer | graphics_interop_buffer_ |
Definition at line 16 of file app/opengl/display_driver.h.
| CCL_NAMESPACE_BEGIN OpenGLDisplayDriver::OpenGLDisplayDriver | ( | const std::function< bool()> & | gl_context_enable, |
| const std::function< void()> & | gl_context_disable ) |
Definition at line 19 of file app/opengl/display_driver.cpp.
References gl_context_disable_, and gl_context_enable_.
|
overridedefault |
References clear(), graphics_interop_activate(), and graphics_interop_deactivate().
|
override |
Definition at line 191 of file app/opengl/display_driver.cpp.
References texture_.
Referenced by ~OpenGLDisplayDriver().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 196 of file app/opengl/display_driver.cpp.
References OpenGLShader::bind(), display_shader_, DisplayDriver::Params::full_size, OpenGLShader::get_position_attrib_location(), OpenGLShader::get_tex_coord_attrib_location(), gl_draw_resources_ensure(), gl_render_sync_, gl_upload_sync_, DisplayDriver::Params::size, texture_, texture_update_if_needed(), OpenGLShader::unbind(), vertex_buffer_, vertex_buffer_update(), int2::x, and int2::y.
Referenced by set_zoom().
|
protected |
Definition at line 268 of file app/opengl/display_driver.cpp.
References gl_draw_resource_creation_attempted_, gl_draw_resources_created_, LOG, texture_, and vertex_buffer_.
Referenced by draw(), and set_zoom().
|
protected |
Definition at line 295 of file app/opengl/display_driver.cpp.
References gl_context_disable_, gl_context_enable_, texture_, and vertex_buffer_.
Referenced by set_zoom().
|
protected |
Definition at line 316 of file app/opengl/display_driver.cpp.
References GraphicsInteropBuffer::clear(), DCHECK, DisplayDriver::graphics_interop_buffer_, LOG, and texture_.
Referenced by set_zoom(), and update_begin().
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 177 of file app/opengl/display_driver.cpp.
References gl_context_enable_.
Referenced by ~OpenGLDisplayDriver().
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 182 of file app/opengl/display_driver.cpp.
References gl_context_disable_.
Referenced by ~OpenGLDisplayDriver().
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 155 of file app/opengl/display_driver.cpp.
References GraphicsInteropDevice::OPENGL, and GraphicsInteropDevice::type.
Referenced by set_zoom().
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 162 of file app/opengl/display_driver.cpp.
References GraphicsInteropBuffer::assign(), DisplayDriver::graphics_interop_buffer_, GraphicsInteropBuffer::is_empty(), GraphicsInteropDevice::OPENGL, texture_, and GraphicsInteropBuffer::zero().
Referenced by set_zoom().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 122 of file app/opengl/display_driver.cpp.
Referenced by set_zoom().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 31 of file app/opengl/display_driver.cpp.
Referenced by set_zoom().
| void OpenGLDisplayDriver::set_zoom | ( | const float | zoom_x, |
| const float | zoom_y ) |
References draw(), gl_draw_resources_ensure(), gl_resources_destroy(), gl_texture_resources_ensure(), graphics_interop_get_device(), graphics_interop_update_buffer(), map_texture_buffer(), next_tile_begin(), texture_update_if_needed(), unmap_texture_buffer(), update_begin(), update_end(), and vertex_buffer_update().
|
protected |
Definition at line 354 of file app/opengl/display_driver.cpp.
References texture_.
Referenced by draw(), and set_zoom().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 144 of file app/opengl/display_driver.cpp.
Referenced by set_zoom().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 36 of file app/opengl/display_driver.cpp.
References GraphicsInteropBuffer::clear(), DisplayDriver::Params::full_size, gl_context_disable_, gl_context_enable_, gl_render_sync_, gl_texture_resources_ensure(), DisplayDriver::graphics_interop_buffer_, texture_, int2::x, and int2::y.
Referenced by set_zoom().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 110 of file app/opengl/display_driver.cpp.
References gl_context_disable_, and gl_upload_sync_.
Referenced by set_zoom().
|
protected |
Definition at line 368 of file app/opengl/display_driver.cpp.
References DisplayDriver::Params::full_offset, DisplayDriver::Params::size, int2::x, and int2::y.
Referenced by draw(), and set_zoom().
|
protected |
Definition at line 99 of file app/opengl/display_driver.h.
Referenced by draw().
|
protected |
Definition at line 116 of file app/opengl/display_driver.h.
Referenced by gl_resources_destroy(), graphics_interop_deactivate(), OpenGLDisplayDriver(), update_begin(), and update_end().
|
protected |
Definition at line 115 of file app/opengl/display_driver.h.
Referenced by gl_resources_destroy(), graphics_interop_activate(), OpenGLDisplayDriver(), and update_begin().
|
protected |
Definition at line 103 of file app/opengl/display_driver.h.
Referenced by gl_draw_resources_ensure().
|
protected |
Definition at line 104 of file app/opengl/display_driver.h.
Referenced by gl_draw_resources_ensure().
|
protected |
Definition at line 110 of file app/opengl/display_driver.h.
Referenced by draw(), and update_begin().
|
protected |
Definition at line 111 of file app/opengl/display_driver.h.
Referenced by draw(), and update_end().
| struct { ... } OpenGLDisplayDriver::texture_ |
|
protected |
Definition at line 108 of file app/opengl/display_driver.h.
Referenced by draw(), gl_draw_resources_ensure(), and gl_resources_destroy().
|
protected |
Definition at line 113 of file app/opengl/display_driver.h.