1000 Forms of Bunnies victor's tech art blog.

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. Ref... 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 a c... 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 of... 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 their... 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 inters... 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 Net... Read more

Raytracing - Rendering Equation Insight

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

GLSL Practice With Shadertoy

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

Git Corner And Loading Effect Setup

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

PBRT Setup and Rendering Test

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

Your Browser Don't Support Canvas, Please Download Chrome ^_^``