apoorvaj.io

Apoorva Joshi

rss, email, github, bluesky

Professional experience

Unity, Staff graphics engineer, August 2020 - Now
Graphics, optimization and other secret stuff
Playdead, Graphics engineer, May 2018 - July 2020
Graphics R&D, engine modification, GPU/CPU optimization, artist tooling
NVIDIA, System software engineer, January 2016 - March 2018
Full CUDA profiling stack—driver, GPU performance monitoring libraries, profiling CLI & GUI (nvprof, Visual Profiler, Nsight Compute)
Microsoft, Intern, June 2013 - August 2013
Bing search engine ingestion

Publications

Efficient Rendering of Linear Brush Strokes - Journal of Computer Graphics Techniques

Personal projects

taxman.dk, a Danish income tax calculator

papaya.io, a browser-based image editor built with Zig compiled to WebAssembly.

EasyTab, a single-header drawing tablet library that supports Windows and Linux

Blog

Vibe-coding a tax calculator
Stop over-engineering static websites
Testing that works
∗ Projection, clip space, and normalized device coordinates
The shader graph contract
Convolution and probability theory
Render graphs
∗ Aliasing in computer graphics
∗ Alpha compositing, OpenGL blending and premultiplied alpha
Constructing a cubic Bezier that passes through four points
Efficient Rendering of Linear Brush Strokes—my graphics paper explained
Creating a modern OpenGL context
∗ Exploring bump mapping with WebGL
∗ Hitchikers Guide To The GDB
Exploring calling conventions with x86 assembly
Loading OpenGL without GLEW
Native UI is dead, long live native UI
Building a Fast, Modern Image Editor