PrimitiveMesh

Inherits: Mesh < Resource < Reference < Object

Inherited By: CapsuleMesh, CubeMesh, CylinderMesh, PlaneMesh, PointMesh, PrismMesh, QuadMesh, SphereMesh

Base class for all primitive meshes. Handles applying a Material to a primitive mesh.

Description

Base class for all primitive meshes. Handles applying a Material to a primitive mesh. Examples include CapsuleMesh, CubeMesh, CylinderMesh, PlaneMesh, PrismMesh, QuadMesh, and SphereMesh.

Properties

AABBcustom_aabbAABB( 0, 0, 0, 0, 0, 0 )
boolflip_facesfalse
Materialmaterial 

Methods

Arrayget_mesh_arrays ( ) const

Property Descriptions

DefaultAABB( 0, 0, 0, 0, 0, 0 )
Setterset_custom_aabb(value)
Getterget_custom_aabb()

Overrides the AABB with one defined by user for use with frustum culling. Especially useful to avoid unnexpected culling when using a shader to offset vertices.


Defaultfalse
Setterset_flip_faces(value)
Getterget_flip_faces()

If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn.

This gives the same result as using SpatialMaterial.CULL_BACK in SpatialMaterial.params_cull_mode.


Setterset_material(value)
Getterget_material()

The current Material of the primitive mesh.

Method Descriptions

  • Array get_mesh_arrays ( ) const

Returns mesh arrays used to constitute surface of Mesh. The result can be passed to ArrayMesh.add_surface_from_arrays to create a new surface. For example:

  1. var c := CylinderMesh.new()
  2. var arr_mesh := ArrayMesh.new()
  3. arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, c.get_mesh_arrays())