tfg.geometry.representation.mesh.sampler.area_weighted_random_sample_triangle_mesh

Performs a face area weighted random sampling of a tri mesh.

In the following, A1 to An are optional batch dimensions.

vertex_attributes A float tensor of shape [A1, ..., An, V, D], where V is the number of vertices, and D is dimensionality of a feature defined on each vertex. If vertex_positions is not provided, then first 3 dimensions of vertex_attributes denote the vertex positions.
faces A int tensor of shape [A1, ..., An, F, 3], where F is the number of faces.
num_samples An int scalar denoting number of samples to be drawn from each mesh.
vertex_positions An optional float tensor of shape [A1, ..., An, V, 3], where V is the number of vertices. If None, then vertex_attributes[..., :3] is used as vertex positions.
seed Optional random seed.
stateless Optional flag to use stateless random sampler. If stateless=True, then seed must be provided as shape [2] int tensor. Stateless random sampling is useful for testing to generate same sequence across calls.
name Name for op. Defaults to "area_weighted_random_sample_triangle_mesh".

sample_pts A float tensor of shape [A1, ..., An, num_samples, D], where D is dimensionality of each sampled point.
sample_face_indices A int tensor of shape [A1, ..., An, num_samples].