Simple 2d splatting optimization build git submodule update --init premake5 vs2022 references Transforming a Non-Differentiable Rasterizer into a Differentiable One with Stochastic Gradient Estimation