Apoorva Joshi
Senior graphics programmer at Unity
Publications
14-Feb-2018 | Efficient Rendering of Linear Brush Strokes - Journal of Computer Graphics Techniques |
Blog
16-Aug-2020 | Convolution and probability theory |
30-Jul-2020 | Render graphs |
15-Mar-2020 | Aliasing in computer graphics |
15-Jun-2019 | Alpha compositing, OpenGL blending and premultiplied alpha |
01-Feb-2019 | Constructing a cubic Bezier that passes through four points |
14-Feb-2018 | Efficient Rendering of Linear Brush Strokes—my graphics paper explained |
25-Sep-2017 | Creating a modern OpenGL context |
04-Mar-2017 | Exploring bump mapping with WebGL |
30-Nov-2016 | Hitchikers Guide To The GDB |
04-Sep-2016 | Exploring calling conventions with x86 assembly |
20-Aug-2016 | Loading OpenGL without GLEW |
13-Aug-2016 | Native UI is dead, long live native UI |
03-Jul-2015 | Building a Fast, Modern Image Editor |
Professional Experience
Aug-2020 - Ongoing | Unity | Senior graphics programmer |
May-2018 - Jul-2020 | Playdead | Graphics/systems programmer |
Jan-2016 - Mar-2018 | NVIDIA | System software engineer, GPU profiling |
Aug-2014 - Jan-2016 | - | Independent game developer |
Jun-2013 - Aug-2013 | Microsoft | Intern, Bing search engine ingestion |
Work
Graphics/systems programmer
Graphics R&D, engine modification, GPU/CPU optimization, artist tooling
C++
C#
DirectX
Game Engines
Systems software engineer
Full CUDA profiling stack—driver, GPU performance monitoring libraries, profiling CLI & GUI (nvprof, Visual Profiler, Nsight Compute)
C++
C
CUDA
Linux
Intern
Internal tooling for troubleshooting the Bing knowledge graph ingestion pipeline
C#
Personal work
Open source cross-platform image editor, with hand-written code for window handling and OpenGL loading
C++
C
OpenGL