11#include "RNA_blender_cpp.hh"
32 static unique_ptr<BlenderDisplayShader>
create(BL::RenderEngine &b_engine, BL::Scene &b_scene);
60 virtual void unbind()
override;
82 virtual void unbind()
override;
103 virtual void clear()
override;
105 void set_zoom(
float zoom_x,
float zoom_y);
120 virtual void flush()
override;
Read Guarded memory(de)allocation.
struct GPUContext GPUContext
struct GPUShader GPUShader
virtual half4 * map_texture_buffer() override
virtual void unmap_texture_buffer() override
void gpu_context_create()
virtual void clear() override
GPUFence * gpu_upload_sync_
virtual bool update_begin(const Params ¶ms, int texture_width, int texture_height) override
bool gpu_context_enable()
std::atomic< bool > need_clear_
void gpu_context_disable()
GPUFence * gpu_render_sync_
virtual void graphics_interop_activate() override
virtual GraphicsInterop graphics_interop_get() override
virtual void draw(const Params ¶ms) override
bool gpu_resources_create()
void set_zoom(float zoom_x, float zoom_y)
virtual void flush() override
virtual void update_end() override
unique_ptr< Tiles > tiles_
unique_ptr< BlenderDisplayShader > display_shader_
void gpu_resources_destroy()
virtual void graphics_interop_deactivate() override
BL::RenderEngine b_engine_
virtual void next_tile_begin() override
BlenderDisplayDriver(BL::RenderEngine &b_engine, BL::Scene &b_scene, const bool background)
void gpu_context_unlock()
void gpu_context_destroy()
virtual GPUShader * get_shader_program()=0
virtual int get_position_attrib_location()
static unique_ptr< BlenderDisplayShader > create(BL::RenderEngine &b_engine, BL::Scene &b_scene)
int tex_coord_attribute_location_
static constexpr const char * tex_coord_attribute_name
virtual GPUShader * bind(int width, int height)=0
static constexpr const char * position_attribute_name
int position_attribute_location_
BlenderDisplayShader()=default
virtual int get_tex_coord_attrib_location()
virtual ~BlenderDisplayShader()=default
virtual void unbind() override
GPUShader * shader_program_
BL::RenderEngine b_engine_
virtual GPUShader * get_shader_program() override
BlenderDisplaySpaceShader(BL::RenderEngine &b_engine, BL::Scene &b_scene)
virtual GPUShader * bind(int width, int height) override
virtual void unbind() override
bool shader_compile_attempted_
GPUShader * shader_program_
virtual GPUShader * bind(int width, int height) override
void create_shader_if_needed()
virtual GPUShader * get_shader_program() override
int image_texture_location_
#define CCL_NAMESPACE_END