fix block meshgen iteration bug
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
This commit is contained in:
parent
f048b26064
commit
8ddb35d0f8
@ -315,7 +315,7 @@ public class BlockMeshgen {
|
||||
QuadMesh quad1 = null;
|
||||
QuadMesh quad2 = null;
|
||||
int zEnd = 0;
|
||||
for(int i = 0; i < quadMeshes.size(); i++){
|
||||
for(int i = 0; i < quadMeshes.size();){
|
||||
quad1 = quadMeshes.get(i);
|
||||
zEnd = 1;
|
||||
for(int j = i + 1; j < quadMeshes.size(); j++){
|
||||
@ -325,7 +325,6 @@ public class BlockMeshgen {
|
||||
} else {
|
||||
BlockMeshgen.meshifyBox(verts,normals,uvs,indices,samplers,quad1,zEnd,quad1.type,verts.size());
|
||||
quad1 = quad2;
|
||||
zEnd = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1089,6 +1089,101 @@ public class BlockMeshgenTests {
|
||||
BlockMeshData meshData = BlockMeshgen.rasterize(chunkData);
|
||||
|
||||
|
||||
//error check result
|
||||
assertEquals(expectedData.length, meshData.vertices.length);
|
||||
|
||||
for(int i = 0; i < expectedData.length; i++){
|
||||
assertEquals(expectedData[i], meshData.vertices[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@UnitTest
|
||||
public void test_rasterize_11(){
|
||||
//expected data
|
||||
float[] expectedData = new float[]{
|
||||
//block 1
|
||||
1,1,1,
|
||||
2,1,1,
|
||||
1,3,1,
|
||||
2,3,1,
|
||||
|
||||
1,1,1,
|
||||
1,1,3,
|
||||
1,3,1,
|
||||
1,3,3,
|
||||
|
||||
1,1,1,
|
||||
1,1,3,
|
||||
2,1,1,
|
||||
2,1,3,
|
||||
|
||||
1,1,3,
|
||||
2,1,3,
|
||||
1,3,3,
|
||||
2,3,3,
|
||||
|
||||
2,1,1,
|
||||
2,1,3,
|
||||
2,3,1,
|
||||
2,3,3,
|
||||
|
||||
1,3,1,
|
||||
1,3,3,
|
||||
2,3,1,
|
||||
2,3,3,
|
||||
|
||||
//block 2
|
||||
2,1,1,
|
||||
3,1,1,
|
||||
2,2,1,
|
||||
3,2,1,
|
||||
|
||||
2,1,1,
|
||||
2,1,2,
|
||||
2,2,1,
|
||||
2,2,2,
|
||||
|
||||
2,1,1,
|
||||
2,1,2,
|
||||
3,1,1,
|
||||
3,1,2,
|
||||
|
||||
2,1,2,
|
||||
3,1,2,
|
||||
2,2,2,
|
||||
3,2,2,
|
||||
|
||||
3,1,1,
|
||||
3,1,2,
|
||||
3,2,1,
|
||||
3,2,2,
|
||||
|
||||
2,2,1,
|
||||
2,2,2,
|
||||
3,2,1,
|
||||
3,2,2,
|
||||
};
|
||||
for(int i = 0; i < expectedData.length; i++){
|
||||
expectedData[i] = expectedData[i] * BlockChunkData.BLOCK_SIZE_MULTIPLIER;
|
||||
}
|
||||
|
||||
//setup data
|
||||
BlockChunkData chunkData = new BlockChunkData();
|
||||
short[] types = new short[BlockChunkData.CHUNK_DATA_WIDTH * BlockChunkData.CHUNK_DATA_WIDTH * BlockChunkData.CHUNK_DATA_WIDTH];
|
||||
chunkData.setType(types);
|
||||
//block 1
|
||||
chunkData.setType(1, 1, 1, (short)1);
|
||||
chunkData.setType(1, 2, 1, (short)1);
|
||||
chunkData.setType(1, 2, 2, (short)1);
|
||||
chunkData.setType(1, 1, 2, (short)1);
|
||||
|
||||
//block 2
|
||||
chunkData.setType(2, 1, 1, (short)1);
|
||||
|
||||
//call
|
||||
BlockMeshData meshData = BlockMeshgen.rasterize(chunkData);
|
||||
|
||||
|
||||
//error check result
|
||||
assertEquals(expectedData.length, meshData.vertices.length);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user