2D 绘图缓存节点
This commit is contained in:
@@ -107,6 +107,13 @@ TEST(render_scene_2d, composites_axes_and_spectrum_into_final_frame) {
|
||||
EXPECT_TRUE(prepare_graph.depends_on(spectrum.get(), scene.get()));
|
||||
EXPECT_TRUE(prepare_graph.depends_on(spectrum.get(), frequency.get()));
|
||||
EXPECT_TRUE(prepare_graph.depends_on(spectrum.get(), power.get()));
|
||||
const auto paint_graph = scene->pending_dependency_graph<Paint_Tag>();
|
||||
EXPECT_TRUE(paint_graph.depends_on(frequency.get(), spectrum.get()));
|
||||
EXPECT_TRUE(paint_graph.depends_on(power.get(), spectrum.get()));
|
||||
const auto cache_graph = scene->pending_dependency_graph<Paint_Cache_Tag>();
|
||||
EXPECT_TRUE(cache_graph.depends_on(spectrum.get(), scene.get()));
|
||||
EXPECT_TRUE(cache_graph.depends_on(spectrum.get(), frequency.get()));
|
||||
EXPECT_TRUE(cache_graph.depends_on(spectrum.get(), power.get()));
|
||||
scene->render();
|
||||
EXPECT_GT(spectrum->rendered_point_count(), 0u);
|
||||
const auto& render_state = spectrum->read_state<Renderable::Base_Tag>();
|
||||
@@ -115,6 +122,24 @@ TEST(render_scene_2d, composites_axes_and_spectrum_into_final_frame) {
|
||||
const Image_View frame = scene->frame_view();
|
||||
ASSERT_FALSE(frame.empty());
|
||||
EXPECT_TRUE(contains_color(frame));
|
||||
EXPECT_FALSE(spectrum->dirty<Paint_Cache_Tag>());
|
||||
EXPECT_FALSE(spectrum->dirty<Paint_Tag>());
|
||||
EXPECT_FALSE(frequency->dirty<Paint_Tag>());
|
||||
EXPECT_FALSE(power->dirty<Paint_Tag>());
|
||||
scene->render();
|
||||
EXPECT_TRUE(contains_color(scene->frame_view()));
|
||||
frequency->set<&Numeric_Axis::Prop::precision>(3);
|
||||
EXPECT_FALSE(spectrum->dirty<Paint_Cache_Tag>());
|
||||
scene->render();
|
||||
EXPECT_TRUE(spectrum->read_state<Renderable::Base_Tag>().paint_executed);
|
||||
EXPECT_TRUE(frequency->read_state<Renderable::Base_Tag>().paint_executed);
|
||||
EXPECT_TRUE(power->read_state<Renderable::Base_Tag>().paint_executed);
|
||||
EXPECT_TRUE(contains_color(scene->frame_view()));
|
||||
frequency->set<&Numeric_Axis::Prop::coordinate_range>(Axis_Range{0.0, 120.0});
|
||||
EXPECT_TRUE(spectrum->dirty<Paint_Cache_Tag>());
|
||||
scene->render();
|
||||
EXPECT_FALSE(spectrum->dirty<Paint_Cache_Tag>());
|
||||
EXPECT_TRUE(spectrum->read_state<Renderable::Base_Tag>().prepare_executed);
|
||||
spectrum->set<&Spectrum::Prop::partition_count>(2u);
|
||||
spectrum->update_samples(samples);
|
||||
scene->render();
|
||||
@@ -126,7 +151,12 @@ TEST(render_scene_2d, composites_axes_and_spectrum_into_final_frame) {
|
||||
scene->set<&Render_Scene_2D::Prop::viewport>(resized_canvas);
|
||||
frequency->set<&Abs_Axis::Prop::canvas_size>(resized_canvas);
|
||||
power->set<&Abs_Axis::Prop::canvas_size>(resized_canvas);
|
||||
EXPECT_TRUE(frequency->dirty<Prepare_Data_Tag>());
|
||||
EXPECT_TRUE(power->dirty<Prepare_Data_Tag>());
|
||||
scene->render();
|
||||
EXPECT_EQ(scene->read_prop<Render_Scene_2D::Base_Tag>().viewport, resized_canvas);
|
||||
EXPECT_TRUE(frequency->read_state<Renderable::Base_Tag>().prepare_executed);
|
||||
EXPECT_TRUE(frequency->read_state<Renderable::Base_Tag>().paint_executed);
|
||||
const Image_View resized_frame = scene->frame_view();
|
||||
EXPECT_EQ(resized_frame.width, resized_canvas.width);
|
||||
EXPECT_EQ(resized_frame.height, resized_canvas.height);
|
||||
|
||||
Reference in New Issue
Block a user