21 int segments,
bool use_arrow =
true,
float arrow_head_height = 0.5f)
22 : triangle_list_(color), plan_(plan)
26 triangle_list_.triangles_ =
27 triangulate<Vertex>(plan_, radius, segments, use_arrow, arrow_head_height);
32 void init(WGPUDevice device, WGPUTextureFormat texture_format)
override
34 triangle_list_.shader_module_ =
35 compute::loadShaderModule(device, UFOVIZ_SHADER_DIR
"/render.wgsl");
36 if (
nullptr == triangle_list_.shader_module_) {
37 std::printf(
"Could not load shader!\n");
40 triangle_list_.init(device);
43 void release()
override
48 void update(WGPUDevice device, WGPUCommandEncoder encoder,
49 WGPUTextureView render_texture, WGPUTextureView depth_texture,
50 Camera const& camera)
override
52 triangle_list_.update(device, encoder, render_texture, depth_texture, camera);
67 ufo::PlanPath<3, float> plan_;