示例#1
0
文件: Block.cs 项目: nedearb/Laser
 public void addToVbo(World world, Chunk chunk, VboGroup vbo, int x, int y, int z)
 {
     if (!flags.HasFlag(BlockFlags.invisible)) {
         vbo.addCube(new Vector3(x - .5f, y - .5f, z - .5f), new Vector3(x + .5f, y + .5f, z + .5f), sidesToRender(chunk, world, x, y, z), new Vector4[]{new Vector4(1, 1, 1, 1)}, textureCoords);
     }
 }
示例#2
0
文件: Block.cs 项目: nedearb/Laser
 private Sides sidesToRender(Chunk chunk, World world, int x, int y, int z)
 {
     Sides sides = Sides.none;
     sides |= (world.getBlock(x - 1, y, z).flags.HasFlag(BlockFlags.abnormalRender) ? Sides.xLow : Sides.none);
     sides |= (world.getBlock(x + 1, y, z).flags.HasFlag(BlockFlags.abnormalRender) ? Sides.xHigh : Sides.none);
     sides |= (world.getBlock(x, y - 1, z).flags.HasFlag(BlockFlags.abnormalRender) ? Sides.yLow : Sides.none);
     sides |= (world.getBlock(x, y + 1, z).flags.HasFlag(BlockFlags.abnormalRender) ? Sides.yHigh : Sides.none);
     sides |= (world.getBlock(x, y, z - 1).flags.HasFlag(BlockFlags.abnormalRender) ? Sides.zLow : Sides.none);
     sides |= (world.getBlock(x, y, z + 1).flags.HasFlag(BlockFlags.abnormalRender) ? Sides.zHigh : Sides.none);
     //Console.WriteLine("Sides to render: "+sides.ToString());
     return sides;
 }