ImmediateGeometry
Inherits: GeometryInstance < VisualInstance < CullInstance < Spatial < Node < Object
通过代码绘制简单的几何形状。
描述
从代码中绘制简单的几何图形。使用类似于 OpenGL 1.x 的绘制模式。
请参阅 ArrayMesh、MeshDataTool 和 SurfaceTool,了解程序式几何体的生成。
注意:ImmediateGeometry3D最适合处理每一帧变化的少量网格数据。当处理大量的网格数据时,它将会很慢。如果网格数据不经常变化,请使用 ArrayMesh、MeshDataTool 或 SurfaceTool 代替。
注意: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 | |
void | set_normal ( Vector3 normal ) |
void | set_tangent ( Plane tangent ) |
void | |
void |
方法说明
用于绘制给定经纬度和半径的UV球体的简单辅助工具。
- void add_vertex ( Vector3 position )
使用当前设置的颜色/uv等,在局部坐标空间中添加一个顶点。
- void begin ( PrimitiveType primitive, Texture texture=null )
开始绘制(可选纹理重写)。当调用结束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 )
下一个顶点的切线(和副法线的方向)。
- void set_uv ( Vector2 uv )
下一个顶点的 UV。
- void set_uv2 ( Vector2 uv )
下一个顶点的第二层UV。