Lagrange
Loading...
Searching...
No Matches
UnwrapOptions Struct Reference

Options controlling a full unwrap (segment + parameterize + pack). More...

#include <lagrange/xatlas/Options.h>

Public Attributes

ChartOptions chart
 Chart computation options.
 
PackOptions packing
 Packing options.
 
std::string_view input_uv_attribute_name
 Optional input UV attribute name.
 
std::string_view input_normal_attribute_name
 Optional input per-vertex normal attribute name.
 
MultiAtlasPolicy multi_atlas_policy = MultiAtlasPolicy::NormalizePerTile
 Multi-atlas encoding policy for the output UV attribute.
 
std::string_view output_uv_attribute_name = "@uv"
 Output indexed UV attribute name.
 
std::string_view output_atlas_attribute_name = ""
 Output corner attribute name for the per-corner xatlas atlas tile id (only written when attribute name is non-empty).
 
std::string_view output_chart_attribute_name = ""
 Output corner attribute name for the per-corner xatlas chart id (only written when attribute name is non-empty).
 
bool enable_sharing_uvs_between_instances = false
 Whether to share generated UVs between instances of the same scene mesh.
 

Detailed Description

Options controlling a full unwrap (segment + parameterize + pack).

Member Data Documentation

◆ input_uv_attribute_name

std::string_view input_uv_attribute_name

Optional input UV attribute name.

When non-empty, the UV values are passed to xatlas as a per-vertex hint (regardless of chart.use_input_mesh_uvs). When chart.use_input_mesh_uvs = true, xatlas uses the UV islands directly as charts. May be a per-vertex or indexed UV attribute. Indexed UVs are handled internally via lagrange::unify_index_buffer() so seams are preserved.

◆ input_normal_attribute_name

std::string_view input_normal_attribute_name

Optional input per-vertex normal attribute name.

When set, xatlas uses these normals as a hint for chart segmentation. Must be a non-indexed vertex attribute (float or double).

◆ output_uv_attribute_name

std::string_view output_uv_attribute_name = "@uv"

Output indexed UV attribute name.

If the attribute already exists and is float or double, its value type is preserved; otherwise it defaults to the mesh Scalar type.

◆ enable_sharing_uvs_between_instances

bool enable_sharing_uvs_between_instances = false

Whether to share generated UVs between instances of the same scene mesh.

When false, each scene instance is unwrapped independently with its instance transform baked in.


The documentation for this struct was generated from the following file: