final class MeshVoxelizer
Class MeshVoxelizer. Provides meshvoxelizer functionality for the Hytale server.
java.lang.Object > MeshVoxelizer
Field Summary
bounds
Field bounds.
meshHeight
Field meshHeight.
meshWidth
Field meshWidth.
meshDepth
Field meshDepth.
scale
Field scale.
scaledVertices
Field scaledVertices.
scaledMinX
Field scaledMinX.
scaledMaxX
Field scaledMaxX.
scaledMinY
Field scaledMinY.
scaledMaxY
Field scaledMaxY.
scaledMinZ
Field scaledMinZ.
scaledMaxZ
Field scaledMaxZ.
offsetX
Field offsetX.
offsetY
Field offsetY.
offsetZ
Field offsetZ.
v
Field v.
v2
Field v2.
shell
Field shell.
hasTextures
Field hasTextures.
blockIds
Field blockIds.
solid
Field solid.
faces
Field faces.
faceUvIndices
Field faceUvIndices.
uvCoordinates
Field uvCoordinates.
faceMaterials
Field faceMaterials.
face
Field face.
i0
Field i0.
i2
Field i2.
i3
Field i3.
v0
Field v0.
v3
Field v3.
material
Field material.
uvIndices
Field uvIndices.
uvCount
Field uvCount.
ui0
Field ui0.
ui2
Field ui2.
ui3
Field ui3.
dx
Field dx.
dy
Field dy.
dz
Field dz.
len
Field len.
blockId
Field blockId.
t
Field t.
x
Field x.
y
Field y.
z
Field z.
uv
Field uv.
blockId2
Field blockId2.
alpha
Field alpha.
rgb
Field rgb.
minX
Field minX.
maxX
Field maxX.
minY
Field minY.
maxY
Field maxY.
minZ
Field minZ.
maxZ
Field maxZ.
startX
Field startX.
endX
Field endX.
startY
Field startY.
endY
Field endY.
startZ
Field startZ.
endZ
Field endZ.
hasUvSampling
Field hasUvSampling.
px
Field px.
py
Field py.
pz
Field pz.
bary
Field bary.
u
Field u.
sampledId
Field sampledId.
e1
Field e1.
e2
Field e2.
nx
Field nx.
ny
Field ny.
nz
Field nz.
ax
Field ax.
ay
Field ay.
az
Field az.
denom
Field denom.
w0
Field w0.
w2
Field w2.
w3
Field w3.
e1x
Field e1x.
e1y
Field e1y.
e1z
Field e1z.
e2x
Field e2x.
e2y
Field e2y.
e2z
Field e2z.
lenSq
Field lenSq.
dpx
Field dpx.
dpy
Field dpy.
dpz
Field dpz.
dotNP
Field dotNP.
dist
Field dist.
projX
Field projX.
projY
Field projY.
projZ
Field projZ.
vax
Field vax.
vay
Field vay.
vaz
Field vaz.
vbx
Field vbx.
vby
Field vby.
vbz
Field vbz.
vpx
Field vpx.
vpy
Field vpy.
vpz
Field vpz.
d00
Field d00.
d2
Field d2.
d3
Field d3.
d4
Field d4.
d5
Field d5.
plane
Field plane.
total
Field total.
visited
Field visited.
queue
Field queue.
idx
Field idx.
ex
Field ex.
ey
Field ey.
ez
Field ez.
eIdx
Field eIdx.
outX
Field outX.
outY
Field outY.
outZ
Field outZ.
out
Field out.
outBlockIds
Field outBlockIds.
bestId
Field bestId.
Method Detail
MeshVoxelizer
private
MeshVoxelizer
()
Method MeshVoxelizer.
voxelize
VoxelResult
voxelize
(@Nonnull final ObjParser.ObjMesh mesh, final int targetHeight, final boolean fillSolid)
Method voxelize.
- Parameters:
@Nonnull final ObjParser.ObjMeshmeshfinal inttargetHeightfinal booleanfillSolid
resolveIndex
int
resolveIndex
(final int index, final int count)
Method resolveIndex.
- Parameters:
final intindexfinal intcount
rasterizeSurface
void
rasterizeSurface
(final boolean[][][] voxels, @Nullable final int[][][] blockIds, final float[][] vertices, final ObjParser.ObjMesh mesh, @Nullable final Map materialTextures, @Nullable final Map materialToBlockId, @Nullable final BlockColorIndex colorIndex, final int defaultBlockId, final int sizeX, final int sizeY, final int sizeZ)
Method rasterizeSurface.
- Parameters:
final boolean[][][]voxels@Nullable final int[][][]blockIdsfinal float[][]verticesfinal ObjParser.ObjMeshmesh@Nullable final MapmaterialTextures@Nullable final MapmaterialToBlockId@Nullable final BlockColorIndexcolorIndexfinal intdefaultBlockIdfinal intsizeXfinal intsizeYfinal intsizeZ
rasterizeLine
void
rasterizeLine
(final boolean[][][] voxels, @Nullable final int[][][] blockIds, final float[] a, final float[] b, @Nullable final float[] uvA, @Nullable final float[] uvB, @Nullable final BufferedImage texture, @Nullable final BlockColorIndex colorIndex, final int fallbackBlockId, final int sizeX, final int sizeY, final int sizeZ)
Method rasterizeLine.
- Parameters:
final boolean[][][]voxels@Nullable final int[][][]blockIdsfinal float[]afinal float[]b@Nullable final float[]uvA@Nullable final float[]uvB@Nullable final BufferedImagetexture@Nullable final BlockColorIndexcolorIndexfinal intfallbackBlockIdfinal intsizeXfinal intsizeYfinal intsizeZ
interpolateUv
float[]
interpolateUv
(@Nullable final float[] uvA, @Nullable final float[] uvB, final float t)
Method interpolateUv.
- Parameters:
@Nullable final float[]uvA@Nullable final float[]uvBfinal floatt
sampleBlockId
int
sampleBlockId
(@Nullable final float[] uv, @Nullable final BufferedImage texture, @Nullable final BlockColorIndex colorIndex, final int fallbackBlockId)
Method sampleBlockId.
- Parameters:
@Nullable final float[]uv@Nullable final BufferedImagetexture@Nullable final BlockColorIndexcolorIndexfinal intfallbackBlockId
setVoxel
void
setVoxel
(final boolean[][][] voxels, @Nullable final int[][][] blockIds, final int x, final int y, final int z, final int blockId, final int sizeX, final int sizeY, final int sizeZ)
Method setVoxel.
- Parameters:
final boolean[][][]voxels@Nullable final int[][][]blockIdsfinal intxfinal intyfinal intzfinal intblockIdfinal intsizeXfinal intsizeYfinal intsizeZ
rasterizeTriangle
void
rasterizeTriangle
(final boolean[][][] voxels, @Nullable final int[][][] blockIds, final float[] v0, final float[] v1, final float[] v2, @Nullable final float[] uv0, @Nullable final float[] uv1, @Nullable final float[] uv2, @Nullable final BufferedImage texture, @Nullable final BlockColorIndex colorIndex, final int fallbackBlockId, final int sizeX, final int sizeY, final int sizeZ)
Method rasterizeTriangle.
- Parameters:
final boolean[][][]voxels@Nullable final int[][][]blockIdsfinal float[]v0final float[]v1final float[]v2@Nullable final float[]uv0@Nullable final float[]uv1@Nullable final float[]uv2@Nullable final BufferedImagetexture@Nullable final BlockColorIndexcolorIndexfinal intfallbackBlockIdfinal intsizeXfinal intsizeYfinal intsizeZ
barycentric
float[]
barycentric
(final float px, final float py, final float pz, final float[] v0, final float[] v1, final float[] v2)
Method barycentric.
- Parameters:
final floatpxfinal floatpyfinal floatpzfinal float[]v0final float[]v1final float[]v2
if
else
if
(ay >= ax && ay >= az)
Method if.
- Parameters:
ay >= ax && ay >=az
pointNearTriangle
boolean
pointNearTriangle
(final float px, final float py, final float pz, final float[] v0, final float[] v1, final float[] v2, final float threshold)
Method pointNearTriangle.
- Parameters:
final floatpxfinal floatpyfinal floatpzfinal float[]v0final float[]v1final float[]v2final floatthreshold
floodFillSolid
boolean[][][]
floodFillSolid
(final boolean[][][] shell, final int sizeX, final int sizeY, final int sizeZ)
Method floodFillSolid.
- Parameters:
final boolean[][][]shellfinal intsizeXfinal intsizeYfinal intsizeZ
tryEnqueue
boolean
tryEnqueue
(final boolean[][][] shell, final int sizeX, final int sizeY, final int sizeZ, final boolean[] visited, final int[] queue, final int ex, final int ey, final int ez, final int dx, final int plane, final int writeIndex)
Method tryEnqueue.
- Parameters:
final boolean[][][]shellfinal intsizeXfinal intsizeYfinal intsizeZfinal boolean[]visitedfinal int[]queuefinal intexfinal inteyfinal intezfinal intdxfinal intplanefinal intwriteIndex
fillInteriorBlockIds
void
fillInteriorBlockIds
(final boolean[][][] solid, final boolean[][][] shell, final int[][][] blockIds, final int defaultBlockId, final int sizeX, final int sizeY, final int sizeZ)
Method fillInteriorBlockIds.
- Parameters:
final boolean[][][]solidfinal boolean[][][]shellfinal int[][][]blockIdsfinal intdefaultBlockIdfinal intsizeXfinal intsizeYfinal intsizeZ
findNearestSurfaceBlockId
int
findNearestSurfaceBlockId
(final int[][][] blockIds, final boolean[][][] shell, final int cx, final int cy, final int cz, final int sizeX, final int sizeY, final int sizeZ)
Method findNearestSurfaceBlockId.
- Parameters:
final int[][][]blockIdsfinal boolean[][][]shellfinal intcxfinal intcyfinal intczfinal intsizeXfinal intsizeYfinal intsizeZ
countSolid
int
countSolid
()
Method countSolid.
getBlockId
int
getBlockId
(final int x, final int y, final int z)
Method getBlockId.
- Parameters:
final intxfinal intyfinal intz
blockIds
int[][][]
blockIds
()
Method blockIds.