ImmediateGeometry

Inherits: GeometryInstance < VisualInstance < CullInstance < Spatial < Node < Object

通过代码绘制简单的几何形状。

描述

从代码中绘制简单的几何图形。使用类似于 OpenGL 1.x 的绘制模式。

请参阅 ArrayMeshMeshDataToolSurfaceTool,了解程序式几何体的生成。

注意:ImmediateGeometry3D最适合处理每一帧变化的少量网格数据。当处理大量的网格数据时,它将会很慢。如果网格数据不经常变化,请使用 ArrayMeshMeshDataToolSurfaceTool 代替。

注意:Godot对三角形基本单元模式的正面使用顺时针缠绕顺序

注意:在处理大量网格数据时,如果出现漏点,可以尝试在 ProjectSettings.rendering/limits/buffers/immediate_buffer_size_kb 增加其缓冲区大小限制。

方法

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

set_color ( Color color )

void

set_normal ( Vector3 normal )

void

set_tangent ( Plane tangent )

void

set_uv ( Vector2 uv )

void

set_uv2 ( Vector2 uv )

方法说明

用于绘制给定经纬度和半径的UV球体的简单辅助工具。


  • void add_vertex ( Vector3 position )

使用当前设置的颜色/uv等,在局部坐标空间中添加一个顶点。


开始绘制(可选纹理重写)。当调用结束end。对此如何实现的更多信息,搜索glBegin()glEnd()引用。

对于基本类型,参阅PrimitiveType枚举。


  • void clear ( )

清除使用begin/end绘制的一切内容。


  • void end ( )

结束正在绘制的context并显示其结果。


  • void set_color ( Color color )

当前绘图颜色。


  • void set_normal ( Vector3 normal )

下一个顶点的法线。


  • void set_tangent ( Plane tangent )

下一个顶点的切线(和副法线的方向)。


下一个顶点的 UV。


下一个顶点的第二层UV。