Constrained Dynamics (IV)

Sep 5, 2023

Direct continuation to the force-based constraint posts: Systems of constraints.

Constrained Dynamics (III)

Aug 14, 2023

A new entry in my constrained dynamics series. Force-based constraints.

Constrained Dynamics (II)

Aug 4, 2023

A new entry in my constrained dynamics series. Springs are a no-go for constraints.

Constrained Dynamics (I)

Jul 30, 2023

Introductory entry in my series of posts about constrained dynamics.

Reprojection Temporal Anti-Aliasing

May 6, 2023

Description and full Shadertoy implementation of a TAA system.

Tiny path tracing in 2D

Apr 14, 2023

Cutsie prototype for tiny path-tracing 2D platformer.

Wool flyaways

Jan 7, 2023

Experiments in wool flyaways for Maverick Render's hair/fur system.

u32 to f32 in [0..1)

Jan 7, 2023

On correctly squeezing an unsigned 32-bit value into [0..1).

Micro-Patch Displacement Mapping

Sep 30, 2022

An overview of Maverick Render's new Micro-Patch Displacement Mapping system.

Diffraction vs. Multi-resolution

Sep 29, 2022

Comparison of diffraction effects in Maverick Render at multiple resolutions.

Flyby heatmaps (i)

Sep 22, 2022

Some technical flybys from Maverick Render's displacement mapping system.

Glare/Bloom versatility in Maverick

Sep 16, 2022

Miscellaneous examples of diffraction effects in Maverick Render.

Bessel functions

Sep 6, 2022

The math of vibrating membranes.

Fourier Transform of a unit pulse

Sep 5, 2022

Mathematical derivation of the Fourier Transform when the input signal is a unit pulse.

Playing with the Fourier Transform (II)

Sep 4, 2022

What happens to the Fourier Transform when you apply affine transforms to the input signal?

The Avalanche effect

Aug 29, 2022

Full Shadertoy implementation of an avalanche effect tester for 32-bit hash functions.

Recent developments in Maverick Render

Aug 26, 2022

Recent developments in Maverick Render.

Octahedron unit-vector encoding

Jul 7, 2022

Different methods of encoding an unit-vector into fewer bits than just 3 floats.

Barycentric coords in triangle sweeps

Jun 18, 2022

An encounter with cubic equations when doing raytracing in swept triangles.

QRNs in the unit square/disk/sphere

May 30, 2022

Transforming pairs of [0..1) numbers between the unit square and the unit sphere.

Recklessly encoding int as float

May 5, 2022

Is it ok to recklessy cast int/float? Surprisingly yes... To some extent.

Viewport baked PBR materials

Apr 20, 2022

An easy and super-efficient method to fake PBR materials on a 3D viewport.

Trimmed NURBS

Apr 16, 2022

Beginnings of my own NURBS tessellation system.

Lattice-Boltzmann Method (LBM)

Apr 12, 2022

The Lattize-Boltmann Method implemented a Unity compute shader.

Colorful pet project

Apr 12, 2022

A colorful 3D SDF modeling pet project I started as a Unity asset.

Topology fun

Feb 12, 2022

A topology library I started as a Unity asset.

Old MLT experiments

Jan 30, 2022

Some old MLT visualizations and examples in Arion Render.

Unbiased spanning-tree generation

Jan 16, 2022

A colorful visualization of spanning-trees, erm... classic mazes.

Random-walk SSS

Jan 15, 2022

An old visualization of random-walk SSS.

Legendre polynomials

Jan 14, 2022

Legendre polynomials because... Why not?

Playing with the Fourier Transform (I)

Jul 28, 2016

What happens to the Fourier Transform when we transform the input signal.

Filling of missing image pixels

May 28, 2015

A pyramidal algorithm to reasonably complete and incomplete image.

Uniform vs. stratified

Mar 10, 2015

Uniform random numbers vs. stratified series.

Scrambled Halton

Mar 10, 2015

Scrambled Halton series as obfuscated in Arion Render.

Hosek & Wilkie sky model

Mar 3, 2015

Comparison of classic sky models as used in fryrender/Arion/Maverick Render.

Sobel operator

Sep 7, 2014

An introduction to the Sobel operator.

The Error function (erf)

Sep 6, 2014

On the mysterious erf() math function.

Downsampling and Gaussian blur

Sep 1, 2014

Approximating large gaussian blurs taking advantage of prior downsampling.

Diaphragm and f-stop

Aug 17, 2014

A classic diagram in photography.

Glare patterns

Aug 14, 2014

Aperture, glare patterns, and such.

My latest running shoes

Aug 7, 2014

My latest running shoes on display.

Fast convolutions (III)

Jul 19, 2014

Exploring the algorithmic complexity of convolutions.

Fast convolutions (II)

Jul 18, 2014

Exploring the algorithmic complexity of convolutions.

Fast convolutions (I)

Jul 18, 2014

Exploring the algorithmic complexity of convolutions.

Point-Spread Functions & Convolutions

Jul 14, 2014

An introduction to the duality of PSFs and convolutions.

Circular & radial blur

Jul 14, 2014

Some details on the implementation of circular and radial blur.

Anatomy of a PE

Oct 21, 2012

An introduction to Microsoft's Portable Executable specification.

Code fortification

Oct 17, 2012

Some useful links on the subject of code fortification.


Oct 15, 2011

Visualization of IOR.

The cosine lobe

Oct 12, 2011

Visualization of the cosine lobe.

Hello again!

Oct 10, 2011

Resurrecting the coding blog that I started in 2011.