Blender
V3.3
|
#include <display_driver.h>
Public Member Functions | |
OpenGLDisplayDriver (const function< bool()> &gl_context_enable, const function< void()> &gl_context_disable) | |
~OpenGLDisplayDriver () | |
virtual void | graphics_interop_activate () override |
virtual void | graphics_interop_deactivate () override |
virtual void | clear () override |
void | set_zoom (float zoom_x, float zoom_y) |
![]() | |
DisplayDriver ()=default | |
virtual | ~DisplayDriver ()=default |
virtual void | flush () |
Protected Member Functions | |
virtual void | next_tile_begin () override |
virtual bool | update_begin (const Params ¶ms, int texture_width, int texture_height) override |
virtual void | update_end () override |
virtual half4 * | map_texture_buffer () override |
virtual void | unmap_texture_buffer () override |
virtual GraphicsInterop | graphics_interop_get () override |
virtual 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 { | |
bool creation_attempted = false | |
bool is_created = false | |
uint gl_id = 0 | |
uint gl_pbo_id = 0 | |
bool need_update = false | |
std::atomic< bool > need_clear = true | |
int width = 0 | |
int height = 0 | |
int buffer_width = 0 | |
int buffer_height = 0 | |
} | 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) |
function< bool()> | gl_context_enable_ = nullptr |
function< void()> | gl_context_disable_ = nullptr |
Definition at line 17 of file app/opengl/display_driver.h.
CCL_NAMESPACE_BEGIN OpenGLDisplayDriver::OpenGLDisplayDriver | ( | const function< bool()> & | gl_context_enable, |
const function< void()> & | gl_context_disable | ||
) |
Definition at line 19 of file app/opengl/display_driver.cpp.
OpenGLDisplayDriver::~OpenGLDisplayDriver | ( | ) |
Definition at line 25 of file app/opengl/display_driver.cpp.
|
overridevirtual |
Implements DisplayDriver.
Definition at line 175 of file app/opengl/display_driver.cpp.
References texture_.
Implements DisplayDriver.
Definition at line 180 of file app/opengl/display_driver.cpp.
References OpenGLShader::bind(), display_shader_, OpenGLShader::get_position_attrib_location(), OpenGLShader::get_tex_coord_attrib_location(), gl_draw_resources_ensure(), gl_render_sync_, gl_upload_sync_, glDisable, glEnable, params, texture_, texture_update_if_needed(), OpenGLShader::unbind(), vertex_buffer_, and vertex_buffer_update().
|
protected |
Definition at line 252 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().
|
protected |
Definition at line 279 of file app/opengl/display_driver.cpp.
References gl_context_disable_, gl_context_enable_, texture_, and vertex_buffer_.
|
protected |
Definition at line 300 of file app/opengl/display_driver.cpp.
References DCHECK, LOG, and texture_.
Referenced by update_begin().
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 161 of file app/opengl/display_driver.cpp.
References gl_context_enable_.
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 166 of file app/opengl/display_driver.cpp.
References gl_context_disable_.
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 147 of file app/opengl/display_driver.cpp.
References DisplayDriver::GraphicsInterop::buffer_height, DisplayDriver::GraphicsInterop::buffer_width, DisplayDriver::GraphicsInterop::need_clear, DisplayDriver::GraphicsInterop::opengl_pbo_id, and texture_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 114 of file app/opengl/display_driver.cpp.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 33 of file app/opengl/display_driver.cpp.
|
protected |
Definition at line 337 of file app/opengl/display_driver.cpp.
References texture_.
Referenced by draw().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 136 of file app/opengl/display_driver.cpp.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 38 of file app/opengl/display_driver.cpp.
References buffer_height, buffer_width, gl_context_disable_, gl_context_enable_, gl_render_sync_, gl_texture_resources_ensure(), params, and texture_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 102 of file app/opengl/display_driver.cpp.
References gl_context_disable_, and gl_upload_sync_.
int OpenGLDisplayDriver::buffer_height = 0 |
Definition at line 94 of file app/opengl/display_driver.h.
Referenced by update_begin().
int OpenGLDisplayDriver::buffer_width = 0 |
Definition at line 93 of file app/opengl/display_driver.h.
Referenced by update_begin().
bool OpenGLDisplayDriver::creation_attempted = false |
Definition at line 71 of file app/opengl/display_driver.h.
|
protected |
Definition at line 97 of file app/opengl/display_driver.h.
Referenced by draw().
|
protected |
Definition at line 114 of file app/opengl/display_driver.h.
Referenced by gl_resources_destroy(), graphics_interop_deactivate(), update_begin(), and update_end().
|
protected |
Definition at line 113 of file app/opengl/display_driver.h.
Referenced by gl_resources_destroy(), graphics_interop_activate(), and update_begin().
|
protected |
Definition at line 101 of file app/opengl/display_driver.h.
Referenced by gl_draw_resources_ensure().
|
protected |
Definition at line 102 of file app/opengl/display_driver.h.
Referenced by gl_draw_resources_ensure().
uint OpenGLDisplayDriver::gl_id = 0 |
Definition at line 78 of file app/opengl/display_driver.h.
uint OpenGLDisplayDriver::gl_pbo_id = 0 |
Definition at line 79 of file app/opengl/display_driver.h.
|
protected |
Definition at line 108 of file app/opengl/display_driver.h.
Referenced by draw(), and update_begin().
|
protected |
Definition at line 109 of file app/opengl/display_driver.h.
Referenced by draw(), and update_end().
int OpenGLDisplayDriver::height = 0 |
Definition at line 90 of file app/opengl/display_driver.h.
bool OpenGLDisplayDriver::is_created = false |
Definition at line 72 of file app/opengl/display_driver.h.
std::atomic<bool> OpenGLDisplayDriver::need_clear = true |
Definition at line 86 of file app/opengl/display_driver.h.
bool OpenGLDisplayDriver::need_update = false |
Definition at line 83 of file app/opengl/display_driver.h.
struct { ... } OpenGLDisplayDriver::texture_ |
|
protected |
Definition at line 106 of file app/opengl/display_driver.h.
Referenced by draw(), gl_draw_resources_ensure(), and gl_resources_destroy().
int OpenGLDisplayDriver::width = 0 |
Definition at line 89 of file app/opengl/display_driver.h.
|
protected |
Definition at line 111 of file app/opengl/display_driver.h.