Hey there!
I’m Pema. I write code - sometimes. I’m particularly interested in graphics, virtual reality, programming language development, functional programming and pure mathematics. I’m currently working at Unity, on the light transport team. Check out my stuff, if you want, and feel free to reach out on any socials.
I also run a blog and host my personal notes on this domain.
Socials
GitHub: pema99
Twitter: @pemathedev
Discord: pema99
VRChat: pema99
Noteworthy projects
- rust-path-tracer, a GPU accelerated path tracer written entirely in Rust.
- Raytracer, an older but fairly fleshed out CPU-based path tracer.
- LotusNES, an NES emulator written in C#. It runs Battletoads!
- UnityShaderParser, a parser and preprocessor library for HLSL and ShaderLab.
- Bonk, my functional ML-like toy language.
- Shader Knowledge, where I share VRChat specific shader trickery.
- glsl2hlsl, a tool for converting ShaderToy shaders to working Unity shaders.
- Shaderception, a shader compiler and runtime that runs entirely within VRChat.
- SHTools, a small library for manipulating Spherical Harmonics in Unity.
- A bunch of small stuff on ShaderToy
- An ISPC backend for the Futhark language