mirror of
https://github.com/Relintai/broken_seals.git
synced 2025-02-08 14:50:05 +01:00
Cleanups for mesh add utils.
This commit is contained in:
parent
535f55d54c
commit
b66331f8ab
@ -1,18 +1,10 @@
|
|||||||
tool
|
tool
|
||||||
extends Object
|
extends Object
|
||||||
|
|
||||||
|
static func add_triangle(mdr : MeshDataResource) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
static func add_box(mdr : MeshDataResource) -> void:
|
static func add_box(mdr : MeshDataResource) -> void:
|
||||||
var arrays : Array = mdr.get_array()
|
|
||||||
|
|
||||||
if arrays.size() != ArrayMesh.ARRAY_MAX:
|
|
||||||
arrays.resize(ArrayMesh.ARRAY_MAX)
|
|
||||||
|
|
||||||
arrays[ArrayMesh.ARRAY_VERTEX] = PoolVector3Array()
|
|
||||||
arrays[ArrayMesh.ARRAY_NORMAL] = PoolVector3Array()
|
|
||||||
arrays[ArrayMesh.ARRAY_TEX_UV] = PoolVector2Array()
|
|
||||||
arrays[ArrayMesh.ARRAY_INDEX] = PoolIntArray()
|
|
||||||
|
|
||||||
|
|
||||||
var st : SurfaceTool = SurfaceTool.new()
|
var st : SurfaceTool = SurfaceTool.new()
|
||||||
|
|
||||||
st.begin(Mesh.PRIMITIVE_TRIANGLES)
|
st.begin(Mesh.PRIMITIVE_TRIANGLES)
|
||||||
@ -85,7 +77,7 @@ static func add_box(mdr : MeshDataResource) -> void:
|
|||||||
merge_in_surface_tool(mdr, st)
|
merge_in_surface_tool(mdr, st)
|
||||||
|
|
||||||
static func merge_in_surface_tool(mdr : MeshDataResource, st : SurfaceTool, generate_normals_if_needed : bool = true, generate_tangents_if_needed : bool = true) -> void:
|
static func merge_in_surface_tool(mdr : MeshDataResource, st : SurfaceTool, generate_normals_if_needed : bool = true, generate_tangents_if_needed : bool = true) -> void:
|
||||||
var arrays : Array = mdr.get_array()
|
var arrays : Array = get_arrays_prepared(mdr)
|
||||||
|
|
||||||
if arrays.size() != ArrayMesh.ARRAY_MAX:
|
if arrays.size() != ArrayMesh.ARRAY_MAX:
|
||||||
arrays.resize(ArrayMesh.ARRAY_MAX)
|
arrays.resize(ArrayMesh.ARRAY_MAX)
|
||||||
@ -273,3 +265,16 @@ static func merge_in_arrays(mdr : MeshDataResource, merge : Array) -> void:
|
|||||||
arrays[ArrayMesh.ARRAY_INDEX] = indices
|
arrays[ArrayMesh.ARRAY_INDEX] = indices
|
||||||
|
|
||||||
mdr.set_array(arrays)
|
mdr.set_array(arrays)
|
||||||
|
|
||||||
|
static func get_arrays_prepared(mdr : MeshDataResource) -> Array:
|
||||||
|
var arrays : Array = mdr.get_array()
|
||||||
|
|
||||||
|
if arrays.size() != ArrayMesh.ARRAY_MAX:
|
||||||
|
arrays.resize(ArrayMesh.ARRAY_MAX)
|
||||||
|
|
||||||
|
arrays[ArrayMesh.ARRAY_VERTEX] = PoolVector3Array()
|
||||||
|
arrays[ArrayMesh.ARRAY_NORMAL] = PoolVector3Array()
|
||||||
|
arrays[ArrayMesh.ARRAY_TEX_UV] = PoolVector2Array()
|
||||||
|
arrays[ArrayMesh.ARRAY_INDEX] = PoolIntArray()
|
||||||
|
|
||||||
|
return arrays
|
||||||
|
Loading…
Reference in New Issue
Block a user