ImmediateGeometry
Inherits: GeometryInstance < VisualInstance < CullInstance < Spatial < Node < Object
Draws simple geometry from code.
Description
Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x.
See also ArrayMesh, MeshDataTool and SurfaceTool for procedural geometry generation.
Note: ImmediateGeometry3D is best suited to small amounts of mesh data that change every frame. It will be slow when handling large amounts of mesh data. If mesh data doesn’t change often, use ArrayMesh, MeshDataTool or SurfaceTool instead.
Note: Godot uses clockwise winding order for front faces of triangle primitive modes.
Note: In case of missing points when handling large amounts of mesh data, try increasing its buffer size limit under ProjectSettings.rendering/limits/buffers/immediate_buffer_size_kb.
Methods
void | add_sphere ( int lats, int lons, float radius, bool add_uv=true ) |
void | add_vertex ( Vector3 position ) |
void | begin ( PrimitiveType primitive, Texture texture=null ) |
void | clear ( ) |
void | end ( ) |
void | |
void | set_normal ( Vector3 normal ) |
void | set_tangent ( Plane tangent ) |
void | |
void |
Method Descriptions
Simple helper to draw an UV sphere with given latitude, longitude and radius.
- void add_vertex ( Vector3 position )
Adds a vertex in local coordinate space with the currently set color/uv/etc.
- void begin ( PrimitiveType primitive, Texture texture=null )
Begin drawing (and optionally pass a texture override). When done call end. For more information on how this works, search for glBegin()
and glEnd()
references.
For the type of primitive, see the PrimitiveType enum.
- void clear ( )
Clears everything that was drawn using begin/end.
- void end ( )
Ends a drawing context and displays the results.
- void set_color ( Color color )
The current drawing color.
- void set_normal ( Vector3 normal )
The next vertex’s normal.
- void set_tangent ( Plane tangent )
The next vertex’s tangent (and binormal facing).
- void set_uv ( Vector2 uv )
The next vertex’s UV.
- void set_uv2 ( Vector2 uv )
The next vertex’s second layer UV.