Physic-based rendering typically refers to the process that outputs an im- age given the known properties in the scene, such as object location, surface shape, material property lighting condition, etc. However, the assumption that all information about the scene is known is not always valid, which gives rise to the field of inverse rendering that infers the scene attributes from image observations. Differentiable Rendering is one of the methods that can achieve such an objective by utilizing gradients of the scene parameters and optimizing them. In this project, a differentiable rendering framework based on DIRT is implemented, with the capabilities of optimizing local parameters such as BRDF and lighting properties. Support of more advanced optimizers such as Adam is also included. Finally, gradient certification via numerical differentiation (finite difference) is also included.