1000 Forms of Bunnies victor's tech art blog.

Camera Model Summary

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

Raymarching and Raytracing Algorithm

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

My Siggraph 2018 - Part 2

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

My Siggraph 2018 - Part 1

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

Raytracing - Dielectric Materials

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

Raytracing - Reflecting Materials

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

Raytracing - Diffuse Materials

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

Raytracing - Camera and Multisampling Antialiasing

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

Raytracing - Ray Sphere Intersection

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

Raytracing - Image Output

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