During my study of raytracing and browsing on Shadertoy, I have seen lots of different ways of implementing camera models for final rendering. Here is my summary for most of the solutions. Camera Model in Raytracing in One Weekend The previous post Raytracing - Camera and Multisampling Antialiasing documented the simplest camera setup for ra... Read more 09 Dec 2018 - 5 minute read
Shadertoy is an amazing place to see all sorts of creative shader demos and get inspired. I noticed that most of the shaders there that depict certain 3D geometries - simple or extremely complex - are drawn using raymarching algorithm. At first the algorithm sounds kind of magical, and the similarity of its name to raytracing keeps me wonder... Read more 29 Nov 2018 - 8 minute read
Continue on the previous post - more about my Siggraph 2018 journey. Day 4 This day was Epic. 4 sessions were filling up the whole day. Started with The Technology Behind ‘The Speed of Light’. Epic: The Technology Behind ‘The Speed of Light’ The Speed of Light is the featured project of Epic this year which showcased the latest real-time ... Read more 24 Aug 2018 - 4 minute read
Thanks to the sponsorship of my company Archiact, I was given the opportunity to experience this year Siggraph with a full-conference pass. This 5-day conference was quite an informative and mind-blowing journey. During all types of events I had a great time getting involved with the CG community and learning from the best of the industry. He... Read more 16 Aug 2018 - 6 minute read
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. ... 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 ... 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 ... 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 th... 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 inte... 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 Ne... Read more 15 Jul 2018 - 2 minute read