2019-11-20 14:37:34 +01:00
|
|
|
extends VoxelMesherTransvoxel
|
|
|
|
class_name MarchingCubesVoxelMesher
|
|
|
|
|
|
|
|
# Copyright Péter Magyar relintai@gmail.com
|
|
|
|
# MIT License, might be merged into the Voxelman engine module
|
|
|
|
|
2019-12-01 23:21:48 +01:00
|
|
|
# Copyright (c) 2019 Péter Magyar
|
|
|
|
|
|
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
|
|
# in the Software without restriction, including without limitation the rights
|
|
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
|
|
# furnished to do so, subject to the following conditions:
|
|
|
|
#
|
|
|
|
# The above copyright notice and this permission notice shall be included in all
|
|
|
|
# copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
|
# SOFTWARE.
|
|
|
|
|
2019-11-20 14:37:34 +01:00
|
|
|
var count : int = 0
|
|
|
|
|
|
|
|
var equivalence_classes_data : Array = [
|
|
|
|
0, 1, 1, 2, 1, 2, 3, 4, #7
|
|
|
|
1, 3, 2, 4, 2, 4, 4, 5, #15
|
|
|
|
1, 2, 3, 4, 3, 4, 6, 7, #23
|
|
|
|
3, 8, 8, 9, 8, 10, 11, 12, #31
|
|
|
|
1, 3, 2, 4, 3, 8, 8, 10, #39
|
|
|
|
3, 6, 4, 7, 8, 11, 9, 12, #47
|
|
|
|
2, 4, 4, 5, 8, 9, 11, 12, #55
|
|
|
|
8, 11, 10, 12, 13, 14, 14, #62
|
|
|
|
2, 1, 3, 3, 8, 2, 4, 8, #70
|
|
|
|
9, 3, 6, 8, 11, 4, 7, 10, #78
|
|
|
|
12, 2, 4, 8, 10, 4, 5, #85
|
|
|
|
11, 12, 8, 11, 13, 14, #91
|
|
|
|
9, 12, 14, 2, #95
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, #104
|
|
|
|
15, #105
|
|
|
|
0, #106
|
|
|
|
16, #107
|
|
|
|
0, 0, 0, #110
|
|
|
|
17, #111
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, #120
|
|
|
|
0, 0, 0, 0, 0, #125
|
|
|
|
3, #126
|
|
|
|
1, #127
|
|
|
|
]
|
|
|
|
|
|
|
|
var vertices_data : Array = [
|
|
|
|
[],
|
|
|
|
#1
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#2
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#3
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#4
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#5
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#6
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#7
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0.5, 0, 0) ],
|
|
|
|
#8
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#9
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#10
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#11
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#12
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#13
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#14
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#15
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#16
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#17
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#18
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#19
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5) ],
|
|
|
|
#20
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0.5, 0, 0), Vector3(0, 0, -0.5) ],
|
|
|
|
#21
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#22
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#23
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#24
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#25
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#26
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#27
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#28
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#29
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#30
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#31
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0.5, 0, 0) ],
|
|
|
|
#32
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#33
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#34
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#35
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5) ],
|
|
|
|
#36
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0.5, 0, 0), Vector3(0, 0, -0.5) ],
|
|
|
|
#37
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#38
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#39
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#40
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#41
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#42
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#43
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#44
|
|
|
|
[Vector3(0, 0, -0.5), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#45
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#46
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#47
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#48
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#49
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5) ],
|
|
|
|
#50
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5) ],
|
|
|
|
#51
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5) ],
|
|
|
|
#52
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#53
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#54
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#55
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#56
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#57
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#58
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#59
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#60
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#61
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, -0.5) ],
|
|
|
|
#62
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#63
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5), Vector3(0, 0, 0.5) ],
|
|
|
|
#64
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#65
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#66
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#67
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#68
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#69
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#70
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#71
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0, 0, 0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#72
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#73
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#74
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#75
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#76
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0, 0, -0.5), Vector3(0, 0, -0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0, -0.5) ],
|
|
|
|
#77
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#78
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#79
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0, 0, -0.5) ],
|
|
|
|
#80
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
#81
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#82
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#83
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0.5, 0, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#84
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0, 0, -0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#85
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#86
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0, 0, -0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#87
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
#88
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#89
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#90
|
|
|
|
[ Vector3(-0.5, 0, 0), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0, -0.5, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
#91
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0) ],
|
|
|
|
#92
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, -0.5),
|
|
|
|
Vector3(0, -0.5, 0), Vector3(0, 0, -0.5) ],
|
|
|
|
#93
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
#94
|
|
|
|
[ Vector3(0, 0, -0.5), Vector3(0, -0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0), Vector3(0.5, 0, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#95
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0, 0.5, 0), Vector3(0.5, 0, 0), Vector3(0.5, 0, 0) ],
|
|
|
|
[], [], [], [], [], [], [], [], [], #104
|
|
|
|
#105
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(-0.5, 0, 0), Vector3(0, -0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
[], #106
|
|
|
|
#107
|
|
|
|
[ Vector3(0, 0, 0.5), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0),
|
|
|
|
Vector3(0, 0, 0.5), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0.5, 0, 0), Vector3(0, -0.5, 0) ],
|
|
|
|
[], [], [], #110
|
|
|
|
#111
|
|
|
|
[ Vector3(0, 0.5, 0), Vector3(0.5, 0, 0), Vector3(0, 0, -0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(-0.5, 0, 0), Vector3(0, 0.5, 0),
|
|
|
|
Vector3(0, 0.5, 0), Vector3(0, 0, -0.5), Vector3(0, 0.5, 0) ],
|
|
|
|
[], [], [], [], [], [], [], [], [], #120
|
|
|
|
[], [], [], [], [], #125
|
|
|
|
#126
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5),
|
|
|
|
Vector3(0, 0, -0.5), Vector3(0, -0.5, 0), Vector3(-0.5, 0, 0) ],
|
|
|
|
#127
|
|
|
|
[ Vector3(0.5, 0, 0), Vector3(0, 0.5, 0), Vector3(0, 0, 0.5) ],
|
|
|
|
]
|
|
|
|
|
|
|
|
var vertex_corner_data : Array = [
|
|
|
|
[],
|
|
|
|
#1
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#2
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#3
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#4
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#5
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#6
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#7
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#8
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#9
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#10
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#11
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#12
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#13
|
|
|
|
[ VOXEL_ENTRY_INDEX_001 , VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#14
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#15
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#16
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#17
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#18
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#19
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#20
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#21
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#22
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#23
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#24
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#25
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#26
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#27
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#28
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#29
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#30
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#31
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#32
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#33
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#34
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#35
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#36
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#37
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#38
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#39
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#40
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#41
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#42
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#43
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#44
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#45
|
|
|
|
[ VOXEL_ENTRY_INDEX_001 , VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#46
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#47
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#48
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#49
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#50
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#51
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#52
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#53
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#54
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#55
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#56
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#57
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#58
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#59
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#60
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#61
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#62
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#63
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
#64
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#65
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#66
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#67
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#68
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#69
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#70
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#71
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#72
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#73
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#74
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#75
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#76
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#77
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#78
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#79
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#80
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
#81
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#82
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#83
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#84
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#85
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
#86
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#87
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_001,
|
|
|
|
VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#88
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#89
|
|
|
|
[ VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#90
|
|
|
|
[ VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
#91
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#92
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_001 ],
|
|
|
|
#93
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101 ],
|
|
|
|
#94
|
|
|
|
[ VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#95
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_100, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_010 ],
|
|
|
|
[], [], [], [], [], [], [], [], [], #104
|
|
|
|
#105
|
|
|
|
[ VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
[], #106
|
|
|
|
#107
|
|
|
|
[ VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_101,
|
|
|
|
VOXEL_ENTRY_INDEX_000, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011 ],
|
|
|
|
[], [], [], #110
|
|
|
|
#111
|
|
|
|
[ VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_011,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_110, VOXEL_ENTRY_INDEX_000,
|
|
|
|
VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_000 ],
|
|
|
|
[], [], [], [], [], [], [], [], [], #120
|
|
|
|
[], [], [], [], [], #125
|
|
|
|
#126
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_110,
|
|
|
|
VOXEL_ENTRY_INDEX_001, VOXEL_ENTRY_INDEX_010, VOXEL_ENTRY_INDEX_100 ],
|
|
|
|
#127
|
|
|
|
[ VOXEL_ENTRY_INDEX_011, VOXEL_ENTRY_INDEX_101, VOXEL_ENTRY_INDEX_110 ],
|
|
|
|
]
|
|
|
|
|
|
|
|
var indices_data : Array = [
|
|
|
|
[],
|
|
|
|
[ 0, 2, 1 ], #1
|
|
|
|
[ 0, 2, 1, 1, 2, 3 ], #2
|
|
|
|
[ 0, 2, 1, 3, 5, 4 ], #3
|
|
|
|
[ 0, 2, 1, 5, 3, 4, 6, 3, 5 ], #4
|
|
|
|
[ 0, 1, 2, 2, 1, 3 ], #5
|
|
|
|
[ 0, 2, 1, 3, 5, 4, 6, 8, 7 ], #6
|
|
|
|
[ 0, 2, 1, 1, 2, 3, 1, 3, 4, 1, 4, 5 ], #7
|
|
|
|
[ 0, 2, 1, 1, 2, 3, 4, 6, 5 ], #8
|
|
|
|
[ 0, 1, 2, 2, 1, 3, 1, 4, 3, 3, 4, 5 ], #9
|
|
|
|
[ 0, 1, 2, 2, 1, 3, 4, 2, 3, 4, 3, 5 ], #10
|
|
|
|
[ 0, 2, 1, 5, 3, 4, 6, 3, 5, 7, 9, 8 ], #00
|
|
|
|
[ 0, 3, 1, 1, 3, 4, 1, 4, 2 ], #12
|
|
|
|
[ 0, 2, 1, 1, 2, 3, 4, 6, 5, 5, 6, 7 ], #13
|
|
|
|
[ 0, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13 ], #14
|
|
|
|
[ 0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10 ], #15
|
|
|
|
[ 0, 2, 1, 1, 2, 3, 1, 3, 4, 1, 4, 5, 6, 8, 7 ], #16
|
|
|
|
[ 0, 1, 2, 3, 4, 5, 6, 8, 7, 9, 10, 11 ], #17
|
|
|
|
]
|
|
|
|
|
|
|
|
var uv_data : Array = [
|
|
|
|
[],
|
|
|
|
#1
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#2
|
|
|
|
[ Vector2(0, 0), Vector2(-0.5, 0), Vector2(0, 0.5), Vector2(-0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#3
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#4
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#5
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ], #top
|
|
|
|
#6
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#7
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ], #left
|
|
|
|
#8
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#9
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#10
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#11
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#12
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#13
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ], #left
|
|
|
|
#14
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ], #left
|
|
|
|
#15
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#16
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#17
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#18
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#19
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#20
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#21
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#22
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#23
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), ],
|
|
|
|
#24
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#25
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#26
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#27
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#28
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#29
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#30
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#31
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#32
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#33
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#34
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
]
|
|
|
|
|
|
|
|
var vector_start_position_data : Array = [
|
|
|
|
Vector3(0, 0, 0),
|
|
|
|
Vector3(1, 0, 0),
|
|
|
|
Vector3(0, 0, 1),
|
|
|
|
Vector3(1, 0, 1),
|
|
|
|
|
|
|
|
Vector3(0, 1, 0),
|
|
|
|
Vector3(1, 1, 0),
|
|
|
|
Vector3(0, 1, 1),
|
|
|
|
Vector3(1, 1, 1),
|
|
|
|
]
|
|
|
|
|
|
|
|
var uv_scale_direction_data_old : Array = [
|
|
|
|
[],
|
|
|
|
#1
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#2
|
|
|
|
[ Vector2(0, 0), Vector2(-0.5, 0), Vector2(0, 0.5), Vector2(-0.5, 0.5) ],
|
|
|
|
#3
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ],
|
|
|
|
#4
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#5
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0) ], #top
|
|
|
|
#6
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0) ],
|
|
|
|
#7
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#8
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5) ],
|
|
|
|
#9
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#10
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0) ],
|
|
|
|
#11
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0) ],
|
|
|
|
#12
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ],
|
|
|
|
#13
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#14
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#15
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ],
|
|
|
|
#16
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5) ],
|
|
|
|
#17
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ],
|
|
|
|
#18
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#19
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#20
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#21
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#22
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#23
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0) ],
|
|
|
|
#24
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#25
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#26
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#27
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#28
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#29
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#30
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#31
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#32
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#33
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#34
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
]
|
|
|
|
|
|
|
|
var uv_scale_direction_data : Array = [
|
|
|
|
[],
|
|
|
|
#1
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#2
|
|
|
|
[ Vector2(0, 0), Vector2(-0.5, 0), Vector2(0, 0.5), Vector2(-0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#3
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#4
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#5
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ], #top
|
|
|
|
#6
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#7
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ], #left
|
|
|
|
#8
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#9
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#10
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#11
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#12
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#13
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ], #left
|
|
|
|
#14
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ], #left
|
|
|
|
#15
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#16
|
|
|
|
[ Vector2(0, 0), Vector2(0.5, 0), Vector2(0, 0.5), Vector2(0.5, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#17
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#18
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),],
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
#19
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ], #left
|
|
|
|
#20
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), ],
|
|
|
|
#21
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0), Vector2(0.5, 0), #back
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5), ], #left
|
|
|
|
#22
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#23
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0) ],
|
|
|
|
#24
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#25
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#26
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#27
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#28
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#29
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#30
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#31
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#32
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#33
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5) ,
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
#34
|
|
|
|
[ Vector2(0, 0), Vector2(0, 0), Vector2(0, 0.5), Vector2(0, 0.5),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0),
|
|
|
|
Vector2(0, 0), Vector2(0, 0), Vector2(0.5, 0) ],
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
#var uv_entries_data : Array = [
|
|
|
|
# [ 0, 0 ], #0
|
|
|
|
# [ 1, 0 ], #1
|
|
|
|
# [ 0, 1 ], #2
|
|
|
|
# [ 1, 1 ], #3
|
|
|
|
#]
|
|
|
|
|
|
|
|
func get_case_code(buffer : VoxelChunk, x : int, y : int, z : int, size : int = 1) -> int:
|
|
|
|
var case_code : int = 0
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x, y, z, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_000
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x, y + size, z, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_010
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x, y, z + size, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_001
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x, y + size, z + size, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_011
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x + size, y, z, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_100
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x + size, y + size, z, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_110
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x + size, y, z + size, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_101
|
|
|
|
|
|
|
|
if (buffer.get_voxel(x + size, y + size, z + size, VoxelChunk.DEFAULT_CHANNELTYPE) != 0):
|
|
|
|
case_code = case_code | VOXEL_ENTRY_MASK_111
|
|
|
|
|
|
|
|
return case_code
|
|
|
|
|
|
|
|
func _add_chunk(buffer : VoxelChunk) -> void:
|
|
|
|
var x_size : int = buffer.get_size_x() - 1
|
|
|
|
var y_size : int = buffer.get_size_y() - 1
|
|
|
|
var z_size : int = buffer.get_size_z() - 1
|
|
|
|
|
|
|
|
var uv_rect : float = 1 / 8.0
|
|
|
|
|
|
|
|
for y in range(0, y_size, lod_size):
|
|
|
|
for z in range(0, z_size, lod_size):
|
|
|
|
for x in range(0, x_size, lod_size):
|
|
|
|
var case_code : int = get_case_code(buffer, x, y, z, lod_size)
|
|
|
|
|
|
|
|
if case_code == 0 or case_code == 255:
|
|
|
|
continue
|
|
|
|
|
|
|
|
#todo remove, after the tables are done.
|
|
|
|
if case_code >= vertices_data.size():
|
|
|
|
continue
|
|
|
|
|
|
|
|
var equivalence_class : int = equivalence_classes_data[case_code]
|
|
|
|
|
|
|
|
var vertices : Array = vertices_data[case_code]
|
|
|
|
var indices : Array = indices_data[equivalence_class]
|
|
|
|
var uvs : Array = uv_data[equivalence_class]
|
|
|
|
var vertex_corner_owners : Array = vertex_corner_data[case_code]
|
|
|
|
var uv_scale_directions : Array = uv_scale_direction_data[equivalence_class]
|
|
|
|
|
|
|
|
|
|
|
|
var index_count : int = len(indices)
|
|
|
|
var vertex_count : int = len(vertices)
|
|
|
|
#var uv_count : int = len(uvs)
|
|
|
|
#var vertex_corner_owners_count : int = len(vertex_corner_owners)
|
|
|
|
|
|
|
|
var fill_values : Array = [
|
|
|
|
buffer.get_voxel(x, y, z, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
buffer.get_voxel(x + lod_size, y, z, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
buffer.get_voxel(x, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
buffer.get_voxel(x + lod_size, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
buffer.get_voxel(x, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
buffer.get_voxel(x + lod_size, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
buffer.get_voxel(x, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
buffer.get_voxel(x + lod_size, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELISOLEVEL),
|
|
|
|
]
|
|
|
|
|
|
|
|
var ao_strength_arr : Array = [
|
|
|
|
buffer.get_voxel(x, y, z, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
buffer.get_voxel(x + lod_size, y, z, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
buffer.get_voxel(x, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
buffer.get_voxel(x + lod_size, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
buffer.get_voxel(x, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
buffer.get_voxel(x + lod_size, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
buffer.get_voxel(x, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
buffer.get_voxel(x + lod_size, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELAO),
|
|
|
|
]
|
|
|
|
|
|
|
|
var colors : Array = [
|
|
|
|
Color(buffer.get_voxel(x, y, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x, y, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G), buffer.get_voxel(x, y, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B)),
|
|
|
|
Color(buffer.get_voxel(x + lod_size, y, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x + lod_size, y, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G), buffer.get_voxel(x + lod_size, y, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B)),
|
|
|
|
Color(buffer.get_voxel(x, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G),buffer.get_voxel(x, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B)),
|
|
|
|
Color(buffer.get_voxel(x + lod_size, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x + lod_size, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G), buffer.get_voxel(x + lod_size, y, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B)),
|
|
|
|
Color(buffer.get_voxel(x, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G), buffer.get_voxel(x, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B)),
|
|
|
|
Color(buffer.get_voxel(x + lod_size, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x + lod_size, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G), buffer.get_voxel(x + lod_size, y + lod_size, z, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B)),
|
|
|
|
Color(buffer.get_voxel(x, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G), buffer.get_voxel(x, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B)),
|
|
|
|
Color(buffer.get_voxel(x + lod_size, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_R), buffer.get_voxel(x + lod_size, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_G), buffer.get_voxel(x + lod_size, y + lod_size, z + lod_size, VoxelChunk.DEFAULT_CHANNELLIGHT_COLOR_B))
|
|
|
|
]
|
|
|
|
|
|
|
|
for i in range(index_count):
|
|
|
|
var ind : int = get_vertex_count() + indices[i]
|
|
|
|
add_indices(ind)
|
|
|
|
|
|
|
|
for i in range(vertex_count):
|
|
|
|
|
|
|
|
var owner_corner : int = vertex_corner_owners[i]
|
|
|
|
|
|
|
|
var start_position : Vector3 = vector_start_position_data[owner_corner]
|
|
|
|
var fill_byte : int = fill_values[owner_corner]
|
|
|
|
var fill : float = fill_byte / 255.0
|
|
|
|
|
|
|
|
# var color : Color = colors[owner_corner]
|
|
|
|
# var ao_val : float = ao_strength_arr[owner_corner] * ao_strength
|
|
|
|
# var ao : Color = Color(ao_val, ao_val, ao_val)
|
|
|
|
#
|
|
|
|
# color = color - ao
|
|
|
|
#
|
|
|
|
# color.r = clamp(color.r, 0, 1.0)
|
|
|
|
# color.g = clamp(color.g, 0, 1.0)
|
|
|
|
# color.b = clamp(color.b, 0, 1.0)
|
|
|
|
|
|
|
|
var color : Color = Color(1, 1, 1)
|
|
|
|
|
|
|
|
add_color(color)
|
|
|
|
|
|
|
|
var uv_scale_direction : Vector2 = uv_scale_directions[i] as Vector2
|
|
|
|
|
|
|
|
var uv : Vector2 = uvs[i] as Vector2
|
|
|
|
#uv *= fill
|
|
|
|
|
|
|
|
uv += uv_scale_direction * fill
|
|
|
|
|
|
|
|
uv *= uv_rect
|
|
|
|
|
|
|
|
add_uv(uv)
|
|
|
|
|
|
|
|
var vert_pos : Vector3 = vertices[i] as Vector3
|
|
|
|
vert_pos *= fill
|
|
|
|
|
|
|
|
vert_pos += start_position
|
|
|
|
|
|
|
|
vert_pos += Vector3(x, y, z)
|
|
|
|
vert_pos *= float(voxel_scale)
|
|
|
|
|
|
|
|
add_vertex(vert_pos)
|
|
|
|
|
|
|
|
|
|
|
|
func create_Debug_triangle(position : Vector3):
|
|
|
|
add_indices(get_indices_count())
|
|
|
|
add_vertex(position)
|
|
|
|
add_indices(get_indices_count())
|
|
|
|
add_vertex(position + Vector3(2, 0, 0))
|
|
|
|
add_indices(get_indices_count())
|
|
|
|
add_vertex(position + Vector3(0, 0, 2))
|
|
|
|
|
|
|
|
print(get_vertex_count())
|
|
|
|
|
|
|
|
|