Recent posts

Exploring Camera Models, Focusing on Distortion

This post delves into the specifics of various camera models, exploring the mathematical and geometric concepts used to represent how a camera captures the world. However, when capturing world scenes through a camera, images suffer from distortions due to the physical properties of the lens. T...

[Astrophotography] Calibrating Skywatcher’s Sky Adventurer

Preparing an equatorial mount for astrophotography requires a precise, multistep calibration process. The primary goal is to accurately align the mount’s rotational axis with the Earth’s axis of rotation. This guide outlines a four-step calibration process using Skywatcher’s Sky Adventurer. Fo...

Calibrating Cameras with Zhang’s Method

Camera calibration is a fundamental step in many computer vision applications, from 3D reconstruction to augmented reality. It involves estimating the intrinsic parameters of a camera (like focal length, principal point, and lens distortion) and its extrinsic parameters (rotation and translati...

[WebGL] Implementing Volume Rendering in GLSL

In the previous article, I explained how to render solid objects using the ray marching method. However, since the ray stops marching at the boundary of the object, it cannot successfully render translucent or transparent objects. This article delves into the ray marching method for a generali...

[WebGL] Implementing Ray Marching in GLSL

Ray marching is a technique for rendering a 3D scene onto a 2D screen. As the name suggests, a bundle of rays marches incrementally, checking for intersections with objects. This post will walk through how to implement ray marching in GLSL step by step, covering topics such as distance maps, n...