21 #ifndef RENDERTHREAD_H
22 #define RENDERTHREAD_H
26 #include <QWaitCondition>
27 #include <QOffscreenSurface>
28 #include <QOpenGLContext>
29 #include <QOpenGLFramebufferObject>
30 #include <QOpenGLShaderProgram>
57 const QString &save =
nullptr,
58 GLvoid *pixels =
nullptr,
59 int pixel_linesize = 0,
119 #endif // RENDERTHREAD_H
QMutex wait_lock_
Definition: renderthread.h:88
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)
Definition: renderthread.cpp:231
QOpenGLShaderProgram * blend_mode_program
Definition: renderthread.h:96
QWaitCondition main_thread_wait_cond_
Definition: renderthread.h:90
GLuint ocio_lut_texture
Definition: renderthread.h:103
QOpenGLContext * share_ctx
Definition: renderthread.h:94
int tex_width
Definition: renderthread.h:109
QWaitCondition wait_cond_
Definition: renderthread.h:87
QOpenGLShaderProgram * premultiply_program
Definition: renderthread.h:97
int tex_height
Definition: renderthread.h:110
FramebufferObject front_buffer_2
Definition: renderthread.h:82
QMutex front_mutex1
Definition: renderthread.h:80
QMutex front_mutex2
Definition: renderthread.h:83
int divider
Definition: renderthread.h:108
QString save_fn
Definition: renderthread.h:114
FramebufferObject back_buffer_2
Definition: renderthread.h:100
void delete_shaders()
Definition: renderthread.cpp:308
QOffscreenSurface surface
Definition: renderthread.h:93
QMutex * get_texture_mutex()
Definition: renderthread.cpp:126
void cancel()
Definition: renderthread.cpp:279
GLvoid * pixel_buffer
Definition: renderthread.h:115
RenderThread()
Definition: renderthread.cpp:36
int pixel_buffer_linesize
Definition: renderthread.h:116
bool did_texture_fail()
Definition: renderthread.cpp:275
int playback_speed_
Definition: renderthread.h:107
const GLuint & get_texture()
Definition: renderthread.cpp:132
float ocio_lut_data[NUM_3D_ENTRIES]
Definition: renderthread.h:102
void set_up_ocio()
Definition: renderthread.cpp:138
Definition: renderthread.h:42
FramebufferObject back_buffer_1
Definition: renderthread.h:99
QOpenGLShaderProgram * ocio_shader
Definition: renderthread.h:104
QAtomicInt queued
Definition: renderthread.h:111
~RenderThread()
Definition: renderthread.cpp:53
void wait_until_paused()
Definition: renderthread.cpp:285
void delete_ctx()
Definition: renderthread.cpp:316
QMutex main_thread_lock_
Definition: renderthread.h:91
bool running
Definition: renderthread.h:113
bool front_buffer_switcher
Definition: renderthread.h:85
const int NUM_3D_ENTRIES
Definition: renderthread.h:40
FramebufferObject front_buffer_1
Definition: renderthread.h:79
Effect * gizmos
Definition: renderthread.h:52
const int LUT3D_EDGE_SIZE
Definition: renderthread.h:37
Sequence * seq
Definition: renderthread.h:106
void delete_buffers()
Definition: renderthread.cpp:301
Definition: sequence.h:31
void run()
Definition: renderthread.cpp:57
bool texture_failed
Definition: renderthread.h:112
Definition: framebufferobject.h:6
void paint()
Definition: renderthread.cpp:142
QOpenGLContext * ctx
Definition: renderthread.h:95