ImmediateMesh
Inherits: Mesh < Resource < RefCounted < Object
Mesh optimized for creating geometry manually.
Description
A mesh type optimized for creating geometry manually, similar to OpenGL 1.x immediate mode.
Here’s a sample on how to generate a triangular face:
GDScriptC#
var mesh = ImmediateMesh.new()
mesh.surface_begin(Mesh.PRIMITIVE_TRIANGLES)
mesh.surface_add_vertex(Vector3.LEFT)
mesh.surface_add_vertex(Vector3.FORWARD)
mesh.surface_add_vertex(Vector3.ZERO)
mesh.surface_end()
var mesh = new ImmediateMesh();
mesh.SurfaceBegin(Mesh.PrimitiveType.Triangles);
mesh.SurfaceAddVertex(Vector3.Left);
mesh.SurfaceAddVertex(Vector3.Forward);
mesh.SurfaceAddVertex(Vector3.Zero);
mesh.SurfaceEnd();
Note: Generating complex geometries with ImmediateMesh is highly inefficient. Instead, it is designed to generate simple geometry that changes often.
Tutorials
Methods
void | clear_surfaces ( ) |
void | surface_add_vertex ( Vector3 vertex ) |
void | surface_add_vertex_2d ( Vector2 vertex ) |
void | surface_begin ( PrimitiveType primitive, Material material=null ) |
void | surface_end ( ) |
void | surface_set_color ( Color color ) |
void | surface_set_normal ( Vector3 normal ) |
void | surface_set_tangent ( Plane tangent ) |
void | surface_set_uv ( Vector2 uv ) |
void | surface_set_uv2 ( Vector2 uv2 ) |
Method Descriptions
void clear_surfaces ( )
Clear all surfaces.
void surface_add_vertex ( Vector3 vertex )
Add a 3D vertex using the current attributes previously set.
void surface_add_vertex_2d ( Vector2 vertex )
Add a 2D vertex using the current attributes previously set.
void surface_begin ( PrimitiveType primitive, Material material=null )
Begin a new surface.
void surface_end ( )
End and commit current surface. Note that surface being created will not be visible until this function is called.
void surface_set_color ( Color color )
Set the color attribute that will be pushed with the next vertex.
void surface_set_normal ( Vector3 normal )
Set the normal attribute that will be pushed with the next vertex.
void surface_set_tangent ( Plane tangent )
Set the tangent attribute that will be pushed with the next vertex.
void surface_set_uv ( Vector2 uv )
Set the UV attribute that will be pushed with the next vertex.
void surface_set_uv2 ( Vector2 uv2 )
Set the UV2 attribute that will be pushed with the next vertex.
© Copyright 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision 53e837c6
.
Built with Sphinx using a theme provided by Read the Docs.