This is a little stupid pathtracer made as a study of GO language... and pathtracing...
This code by no means should be treated as guide or studying material! this is literally my first GO program
implemented lambert and Microfacet model with GGX and Beckman distributions, the source paper is here, though it is a complicated reading material for someone who has no experience with bsdfs, rendering etc, also there IS at least one error in those formulas for sure (guess where), and author skips a bunch of steps that would help a novice greately to understand the material.
also check this post