大结构改完 中间层加完

This commit is contained in:
2026-08-14 19:24:28 +08:00
parent f5873855a3
commit 9c68029ade
26 changed files with 747 additions and 57 deletions
+20 -1
View File
@@ -101,6 +101,24 @@ std::string mode_id(Gallery_Frame_Mode mode) {
return ::renderive::Key::Unknown;
}
Visual_Family visual_family(std::string_view case_id) {
if (case_id == "datoviz_splat") return Visual_Family::Splat;
if (case_id == "datoviz_pixel") return Visual_Family::Pixel;
if (case_id == "datoviz_marker") return Visual_Family::Marker;
if (case_id == "datoviz_sphere") return Visual_Family::Sphere;
if (case_id == "datoviz_segment") return Visual_Family::Segment;
if (case_id == "datoviz_vector") return Visual_Family::Vector;
if (case_id == "datoviz_primitive") return Visual_Family::Primitive;
if (case_id == "datoviz_mesh") return Visual_Family::Mesh;
if (case_id == "datoviz_path") return Visual_Family::Path;
if (case_id == "datoviz_image") return Visual_Family::Image;
if (case_id == "datoviz_labels") return Visual_Family::Labels;
if (case_id == "datoviz_glyph") return Visual_Family::Glyph;
if (case_id == "datoviz_text") return Visual_Family::Text;
if (case_id == "datoviz_volume") return Visual_Family::Volume;
return Visual_Family::Point;
}
class Gallery_Scene3D final : public Gallery_Scene_Interface {
public:
Gallery_Scene3D(std::uint64_t session_id, std::string case_id,
@@ -110,7 +128,8 @@ public:
visual_(Point_Visual::Builder{}.build(initial_points())),
scene_(Scene_Options{.viewport = {560, 320},
.frame_mode = render_frame_mode(mode),
.maximum_frames_per_second = 30.0},
.maximum_frames_per_second = 30.0,
.visual_family = visual_family(case_id_)},
visual_) {
if (!visual_)
throw std::runtime_error("failed to create Point_Visual");