Exemple #1
0
 private float GetLightnessForVertex(Coord coord, int face, int index)
 {
     Coord.Direction2 vertex = new Coord.Direction1(face).UVPN(index);
     return(MakeLightnessForVertex(face,
                                   GetLightnessOnFace(coord, face),
                                   GetLightnessOnFace(coord.WithOffset(vertex.Devide(0).coord), face),
                                   GetLightnessOnFace(coord.WithOffset(vertex.Devide(1).coord), face),
                                   GetLightnessOnFace(coord.WithOffset(vertex.coord), face)
                                   ));
 }
Exemple #2
0
        private Vector4 GetAOOffset(Coord coord, int face)
        {
            Coord.Direction1 dir = new Coord.Direction1(face);
            var offsetCoord      = coord.WithOffset(dir.coord);

            return(AmbientOcculsionTexture.MakeAOOffset(
                       MakeAOInner(offsetCoord, dir.UVPN(0)),
                       MakeAOInner(offsetCoord, dir.UVPN(1)),
                       MakeAOInner(offsetCoord, dir.UVPN(2)),
                       MakeAOInner(offsetCoord, dir.UVPN(3))));
        }
Exemple #3
0
 private bool MakeAOInner(Coord coord, Coord.Direction2 dir)
 {
     return(AnyBlockAt(coord.WithOffset(dir.coord)) ||
            AnyBlockAt(coord.WithOffset(dir.Devide(0).coord)) ||
            AnyBlockAt(coord.WithOffset(dir.Devide(1).coord)));
 }
Exemple #4
0
 private bool IsNormalCubeBeside(Coord coord, Coord.Direction1 offset)
 {
     return(AnyBlockAt(coord.WithOffset(offset.coord)));
 }