ImmediateMesh

继承: Mesh < Resource < RefCounted < Object

网格针对手动创建几何体进行了优化。

描述

一种针对手动创建几何体进行了优化的网格类型,类似于OpenGL 1. x即时模式。

这是有关如何生成三角形面的示例:

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()

注意:使用ImmediateMesh生成复杂几何体的效率非常低。相反,它的设计目的是生成经常发生变化的简单几何体。

方法

void

clear_surfaces()

void

surface_add_vertex(vertex: Vector3)

void

surface_add_vertex_2d(vertex: Vector2)

void

surface_begin(primitive: PrimitiveType, material: Material = null)

void

surface_end()

void

surface_set_color(color: Color)

void

surface_set_normal(normal: Vector3)

void

surface_set_tangent(tangent: Plane)

void

surface_set_uv(uv: Vector2)

void

surface_set_uv2(uv2: Vector2)


方法说明

void clear_surfaces() 🔗

清除所有表面。


void surface_add_vertex(vertex: Vector3) 🔗

使用先前设置的当前属性添加3D顶点。


void surface_add_vertex_2d(vertex: Vector2) 🔗

使用先前设置的当前属性添加2D顶点。


void surface_begin(primitive: PrimitiveType, material: Material = null) 🔗

开始一个新的表面。


void surface_end() 🔗

结束并提交当前表面。请注意,在调用此函数之前,正在创建的表面将不可见。


void surface_set_color(color: Color) 🔗

设置将与下一个顶点一起推送的颜色属性。


void surface_set_normal(normal: Vector3) 🔗

设置将与下一个顶点一起推送的正常属性。


void surface_set_tangent(tangent: Plane) 🔗

设置将与下一个顶点一起推送的切线属性。


void surface_set_uv(uv: Vector2) 🔗

设置将与下一个顶点一起推送的UV属性。


void surface_set_uv2(uv2: Vector2) 🔗

设置将与下一个顶点一起推送的UV2属性。