Chapter 9 study note. Breakdown topics about basic optic physics (refractive index, Snell’s Law, total reflection, Fresnel coefficients, Schlick’s approximation) and vector maths for calculating refraction ray. Dielectric Transparent Material Dielectric material can reflect light and at the same time let the light pass through - refract. Ref... Read more 05 Aug 2018 - 8 minute read
Chapter 8 study note. Breakdown topics about Material base class, types of reflection, vector maths for calculating mirror reflection ray and blurry reflection implementation. Material Base Class Objects with different materials scatter the lights in different ways. It tells how rays interact with the surface. When abstracting materials as a c... Read more 30 Jul 2018 - 4 minute read
Chapter 7 study note. Breakdown topics about diffuse reflection, random reflecting ray generation and rejection sampling in unit sphere. Diffuse Material and Diffuse Reflection Object with a diffuse material doesn’t emit light but take on the colors from the surroundings(background/sky light), and modulate (alter the amplitude or frequency of... Read more 20 Jul 2018 - 4 minute read
Finish reading Ray Tracing in One Weekend Chapter 2 to 6. Breakdown topics about raytracing analogy, simple camera model implementation, surface normal visualization, and Multisampling Antialiasing (MSAA) implementation. Raytracing Overview Light Rays (photons) are emitted from/bounced by/passing through the objects, and some of them made their... Read more 17 Jul 2018 - 6 minute read
In raytracer, calculating ray - object intersection is very important on locating the hit point and producing correct color for the corresponding pixel. Sphere is always the best geometrical shape to start with as it is one of the simplest shape to describe mathematically. In this post I documented typical Ray class definition, ray-sphere inters... Read more 16 Jul 2018 - 3 minute read
The "Hello World!" of Computer Graphics. Image Output There are lots of file formats to choose to pack raytracing results, and the one that the book recommended is PPM format. PPM Format PPM aka the portable pixmap format, along with the portable graymap format (PGM) and the portable bitmap format (PBM) are image file formats belong to Net... Read more 15 Jul 2018 - 2 minute read
Where the journey of physically based rendering begins. The Rendering Equation The physical basis for the rendering equation is the law of conservation of energy. Assuming that L denotes radiance, we have that at each particular position and direction, the outgoing light (Lo) is the sum of the emitted light (Le) and the reflected light. The ... Read more 30 Jun 2018 - 1 minute read
Getting started to use Shadertoy to learn and practice GLSL. Here are the first few examples I’ve been playing around. Also got the shaders embedded in my blog page. Here I documented some of my exploration about the website and some best-practice. Shadertoy First Try Watercolor Blending Made a simple shader iterating a combination of sine and ... Read more 12 Jun 2018 - 5 minute read
Note for setting up GitHub Corners gadget on the web page to link to github repository, and for formatting my WebGL page with nice loading effect. For GitHub Corners, big thanks to the author tholman . And about the loading effect I am using PACE. Here is the code for modifying my WebGL html page to setup those gadgets: <html> ... <... Read more 03 Jun 2018 - 1 minute read
First PBR rendering test, looking neat. I’ve been working on this famous book about physics based rendering technique(PBR). It is a huge book that covers nearly everything about PBR from theories (physics/mathematics/computer science) to code implementation of the whole system. I am going to post my reading/researching notes on the blog just f... Read more 27 May 2018 - 2 minute read