Thin brush panel, preview, and node utility shells
This commit is contained in:
@@ -95,6 +95,36 @@ struct LegacyNodeStrokePreviewImmediateRuntimeRequest {
|
||||
std::function<void()> draw_composite;
|
||||
};
|
||||
|
||||
struct LegacyNodeStrokePreviewImmediateDrawRequest {
|
||||
const std::shared_ptr<Brush>& brush;
|
||||
glm::vec2 preview_size {};
|
||||
float zoom = 1.0f;
|
||||
float min_flow = 0.0f;
|
||||
float stroke_max_size_override = 0.0f;
|
||||
float pad_override = NAN;
|
||||
float camera_fov = 0.0f;
|
||||
glm::mat4 camera_rot { 1.0f };
|
||||
pp::renderer::RenderDeviceFeatures render_device_features {};
|
||||
RTT& preview_rtt;
|
||||
RTT& preview_rtt_mixer;
|
||||
Texture2D& preview_stroke_texture;
|
||||
Texture2D& preview_dual_texture;
|
||||
Texture2D& preview_background_texture;
|
||||
Texture2D& preview_image_texture;
|
||||
Sampler& linear_sampler;
|
||||
Sampler& repeat_sampler;
|
||||
std::function<void()> prepare_render_target;
|
||||
std::function<void()> finish_render_target;
|
||||
std::function<std::vector<LegacyNodeStrokePreviewFrame>(const Stroke&, float)> compute_frames;
|
||||
std::function<glm::vec4(std::array<vertex_t, 4>&, Texture2D&, bool)> draw_samples;
|
||||
std::function<void(const glm::vec2&, const glm::vec2&)> draw_mix;
|
||||
std::function<void()> draw_checkerboard;
|
||||
std::function<void()> draw_composite;
|
||||
};
|
||||
|
||||
[[nodiscard]] bool execute_legacy_node_stroke_preview_immediate_draw(
|
||||
const LegacyNodeStrokePreviewImmediateDrawRequest& request);
|
||||
|
||||
[[nodiscard]] bool execute_legacy_node_stroke_preview_immediate_runtime(
|
||||
const LegacyNodeStrokePreviewImmediateRuntimeRequest& request);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user