CustomMesh.BuilderFromMeshBuffer


public final class CustomMesh.BuilderFromMeshBuffer


Builder for CustomMesh using an existing MeshBuffer.

This is useful if you are sharing a single buffer across multiple meshes.


val mesh = CustomMesh.BuilderFromMeshBuffer(session, myMeshBuffer)
     .addSubset(MeshSubset(MeshSubsetTopology.TRIANGLES, 0, indexCount))
     .build()

Summary

Public constructors

BuilderFromMeshBuffer(
    @NonNull Session session,
    @NonNull MeshBuffer meshBuffer
)

Public methods

final @NonNull CustomMesh.BuilderFromMeshBuffer

Adds a MeshSubset defining a part of the mesh.

final @NonNull CustomMesh.BuilderFromMeshBuffer
addSubset(
    @NonNull MeshSubsetTopology topology,
    @IntRange(from = 0) int indexOffset,
    @IntRange(from = 0) int indexCount
)

Adds a MeshSubset defining a part of the mesh using the specified topology, index offset, and index count.

final @NonNull CustomMesh

Builds a new CustomMesh.

final @NonNull CustomMesh.BuilderFromMeshBuffer

Sets an optional user-supplied bounding box for culling.

Public constructors

BuilderFromMeshBuffer

Added in 1.0.0-alpha16
public BuilderFromMeshBuffer(
    @NonNull Session session,
    @NonNull MeshBuffer meshBuffer
)

Public methods

addSubset

Added in 1.0.0-alpha16
public final @NonNull CustomMesh.BuilderFromMeshBuffer addSubset(@NonNull MeshSubset subset)

Adds a MeshSubset defining a part of the mesh.

addSubset

Added in 1.0.0-alpha16
public final @NonNull CustomMesh.BuilderFromMeshBuffer addSubset(
    @NonNull MeshSubsetTopology topology,
    @IntRange(from = 0) int indexOffset,
    @IntRange(from = 0) int indexCount
)

Adds a MeshSubset defining a part of the mesh using the specified topology, index offset, and index count.

build

Added in 1.0.0-alpha16
@MainThread
public final @NonNull CustomMesh build()

Builds a new CustomMesh.

Throws
IllegalStateException

if no subsets have been added.

setBounds

Added in 1.0.0-alpha16
public final @NonNull CustomMesh.BuilderFromMeshBuffer setBounds(@NonNull BoundingBox bounds)

Sets an optional user-supplied bounding box for culling.

If not provided, the auto-computed bounding box of the entire MeshBuffer will be used.