Spherical Harmonics

A math tool you can use to encode/decode the radiance arriving at a point with just a few coeffs.


Constrained Dynamics (IV)

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


Constrained Dynamics (III)

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


Constrained Dynamics (II)

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


Constrained Dynamics (I)

Introductory entry in my series of posts about constrained dynamics.


Reprojection Temporal Anti-Aliasing

Description and full Shadertoy implementation of a TAA system.


Tiny path tracing in 2D

Cutsie prototype for tiny path-tracing 2D platformer.


Wool flyaways

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


u32 to f32 in [0..1)

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


Micro-Patch Displacement Mapping

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


Diffraction vs. Multi-resolution

Comparison of diffraction effects in Maverick Render at multiple resolutions.


Flyby heatmaps (i)

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


Glare/Bloom versatility in Maverick

Miscellaneous examples of diffraction effects in Maverick Render.


Bessel functions

The math of vibrating membranes.


Fourier Transform of a unit pulse

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


Playing with the Fourier Transform (II)

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


The Avalanche effect

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


Recent developments in Maverick Render

Recent developments in Maverick Render.


Octahedron unit-vector encoding

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


Barycentric coords in triangle sweeps

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


QRNs in the unit square/disk/sphere

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


Recklessly encoding int as float

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