26{
27
28
29
30
31
32
33
34
35 TextureColorRequest color_request;
36 TextureColorRequest *color = nullptr;
39 if (!
m_input.color.palette_pure.empty())
41 color_request.despeckle_passes =
m_input.color.despeckle_passes;
42 if (color_request.quantize)
43 color = &color_request;
44 }
45
46
47
48 const auto still_wanted = [this, &ctl](int) {
49 return !ctl.was_canceled() &&
51 };
52
54 for (
size_t i = 0; i <
m_input.volumes.size(); ++i) {
55 const TextureDisplacementPreviewVolume &volume =
m_input.volumes[i];
56 if (color != nullptr)
57 color_request.out_triangle = &
m_results[i].triangle_color;
59 volume.options, still_wanted, color, volume.volume_to_world,
60 nullptr, nullptr,
61 volume.model_uv.empty() ? nullptr : &volume.model_uv,
62 &volume.texture_anchor, volume.resting_drop);
63 if (!still_wanted(0)) {
65 return;
66 }
67 }
68}
static ColorQuantizeFn make_palette_quantizer(const std::vector< PaletteEntry > &palette)
Definition GLGizmoTextureDisplacement.cpp:6019
indexed_triangle_set build_texture_displacement(const indexed_triangle_set &base_mesh, const std::vector< TextureDisplacementLayer > &layers, const TextureDisplacementFacetsData &facets_data, const TextureDisplacementOptions &options, const DisplacementProgressFn &progress, const TextureColorRequest *color, const Transform3d &volume_to_world, BakeStageRecorder *debug, TextureBakeStats *stats, const std::vector< Vec2f > *model_uv, const Vec3d *texture_anchor, float resting_drop)
Definition TextureDisplacement.cpp:3495