threaded brush preview rendering

This commit is contained in:
2019-02-28 14:47:06 +01:00
parent e59dd66b46
commit f20f935d43
5 changed files with 71 additions and 4 deletions

View File

@@ -25,6 +25,11 @@ class NodeStrokePreview : public NodeBorder
Sampler m_sampler_mipmap;
DynamicShape m_brush_shape;
public:
static std::atomic_int s_instances;
static std::atomic_bool s_running;
static std::thread s_renderer;
static BlockingQueue<NodeStrokePreview*> s_queue;
static void terminate_renderer();
std::shared_ptr<Brush> m_brush;
std::shared_ptr<Brush> m_dual_brush;
Stroke m_stroke;
@@ -43,6 +48,7 @@ public:
glm::vec4 stroke_draw_samples(std::array<vertex_t, 4>& P, Texture2D& blend_tex);
std::vector<StrokeFrame> stroke_draw_compute(Stroke& stroke) const;
void draw_stroke();
void draw_stroke_immediate();
virtual void draw() override;
virtual void handle_resize(glm::vec2 old_size, glm::vec2 new_size) override;
virtual void destroy_immediate() override;