Colour Transfer for Hair Previews in the Browser: A Practical Pipeline
Colour transfer for hair previews looks trivial until you try it. The naive approach - multiply the...
Tag archive
Colour transfer for hair previews looks trivial until you try it. The naive approach - multiply the...

Gargantua, the centre of this portfolio, isn't drawn: a shader follows the light ray by ray around the black hole. The physics, the disk, the Doppler effect and what it took to run on any device.

Build a working C++ and bgfx demo with 625 cubes: upload one mesh, animate it in a vertex shader, and add color and lighting in a fragment shader.
A cutting machine needs closed outlines, not pixels. I walk through how my tracer turns a 900 px badge with 220 distinct colors into 4 vinyl layers and 203 nodes, and the hairline gap bug I had to fix on the way.

My camera's lens sampler and my diffuse BSDF sampler depend on the same function. A bladed iris would corrupt every diffuse bounce.
업그레이드 삼각형 한줄한줄 그래픽스 API에 익숙해지고 있다. 코드를 이해하는데 한줄한줄 의미가 너무 커서 코딩을 처음 배우는 듯한 기분이 들곤한다. 새로운...
Introduction HDR, Emission, Bloom, Exposure, and Tonemapping are related but different...
When a material graph grows in Unreal Engine 5, it is tempting to ask: would writing HLSL directly...
Introduction An enemy burns away. The edge where a shield meets the ground lights up. The...
I've been working on SoftRDP, a software implementation of the Nintendo 64 Reality Display Processor...

Table of Contents Why Broad-Phase Exists (and why naive O(N²) dies at 10k...
A few years ago, I treated Shader Graph as a prototyping tool. When a shader became...