Differentiable Rendering For 3d Generation