Almost exactly what I want, only problem is that blocks aren't being rendered on the edges smoothly.