Class reference

ImmediateMesh

Inherits Mesh

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:

		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.

Methods

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(int 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.

Tutorials

Source revision 4f5b14abade2
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.