Olive
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Slots | Signals | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
RenderThread Class Reference

#include <renderthread.h>

Inheritance diagram for RenderThread:

Public Slots

void delete_ctx ()
 

Signals

void ready ()
 

Public Member Functions

 RenderThread ()
 
 ~RenderThread ()
 
void run ()
 
QMutex * get_texture_mutex ()
 
const GLuint & get_texture ()
 
void paint ()
 
void start_render (QOpenGLContext *share, Sequence *s, int playback_speed, const QString &save=nullptr, GLvoid *pixels=nullptr, int pixel_linesize=0, int idivider=0, bool wait=false)
 
bool did_texture_fail ()
 
void cancel ()
 
void wait_until_paused ()
 

Public Attributes

Effectgizmos
 

Private Member Functions

void delete_buffers ()
 
void delete_shaders ()
 
void set_up_ocio ()
 
void destroy_ocio ()
 

Private Attributes

FramebufferObject front_buffer_1
 
QMutex front_mutex1
 
FramebufferObject front_buffer_2
 
QMutex front_mutex2
 
bool front_buffer_switcher
 
QWaitCondition wait_cond_
 
QMutex wait_lock_
 
QWaitCondition main_thread_wait_cond_
 
QMutex main_thread_lock_
 
QOffscreenSurface surface
 
QOpenGLContext * share_ctx
 
QOpenGLContext * ctx
 
QOpenGLShaderProgram * blend_mode_program
 
QOpenGLShaderProgram * premultiply_program
 
FramebufferObject back_buffer_1
 
FramebufferObject back_buffer_2
 
float ocio_lut_data [NUM_3D_ENTRIES]
 
GLuint ocio_lut_texture
 
QOpenGLShaderProgram * ocio_shader
 
Sequenceseq
 
int playback_speed_
 
int divider
 
int tex_width
 
int tex_height
 
QAtomicInt queued
 
bool texture_failed
 
bool running
 
QString save_fn
 
GLvoid * pixel_buffer
 
int pixel_buffer_linesize
 

Constructor & Destructor Documentation

RenderThread::RenderThread ( )
RenderThread::~RenderThread ( )

Member Function Documentation

void RenderThread::cancel ( )
void RenderThread::delete_buffers ( )
private
void RenderThread::delete_ctx ( )
slot
void RenderThread::delete_shaders ( )
private
void RenderThread::destroy_ocio ( )
private
bool RenderThread::did_texture_fail ( )
const GLuint & RenderThread::get_texture ( )
QMutex * RenderThread::get_texture_mutex ( )
void RenderThread::paint ( )
void RenderThread::ready ( )
signal
void RenderThread::run ( )
void RenderThread::set_up_ocio ( )
private
void RenderThread::start_render ( QOpenGLContext *  share,
Sequence s,
int  playback_speed,
const QString &  save = nullptr,
GLvoid *  pixels = nullptr,
int  pixel_linesize = 0,
int  idivider = 0,
bool  wait = false 
)
void RenderThread::wait_until_paused ( )

Member Data Documentation

FramebufferObject RenderThread::back_buffer_1
private
FramebufferObject RenderThread::back_buffer_2
private
QOpenGLShaderProgram* RenderThread::blend_mode_program
private
QOpenGLContext* RenderThread::ctx
private
int RenderThread::divider
private
FramebufferObject RenderThread::front_buffer_1
private
FramebufferObject RenderThread::front_buffer_2
private
bool RenderThread::front_buffer_switcher
private
QMutex RenderThread::front_mutex1
private
QMutex RenderThread::front_mutex2
private
Effect* RenderThread::gizmos
QMutex RenderThread::main_thread_lock_
private
QWaitCondition RenderThread::main_thread_wait_cond_
private
float RenderThread::ocio_lut_data[NUM_3D_ENTRIES]
private
GLuint RenderThread::ocio_lut_texture
private
QOpenGLShaderProgram* RenderThread::ocio_shader
private
GLvoid* RenderThread::pixel_buffer
private
int RenderThread::pixel_buffer_linesize
private
int RenderThread::playback_speed_
private
QOpenGLShaderProgram* RenderThread::premultiply_program
private
QAtomicInt RenderThread::queued
private
bool RenderThread::running
private
QString RenderThread::save_fn
private
Sequence* RenderThread::seq
private
QOpenGLContext* RenderThread::share_ctx
private
QOffscreenSurface RenderThread::surface
private
int RenderThread::tex_height
private
int RenderThread::tex_width
private
bool RenderThread::texture_failed
private
QWaitCondition RenderThread::wait_cond_
private
QMutex RenderThread::wait_lock_
private

The documentation for this class was generated from the following files: