Back to browse
GitHub Repository

A TypeScript software rasterizer with programmable shaders

0 starsTypeScript

TypeScript software rasterizer with programmable shaders

by vlad_angelov·Jul 25, 2026·2 points·0 comments

AI Analysis

●●SolidBig BrainNiche Gem

Programmable shaders in TypeScript let you learn rasterization without GPU APIs.

Strengths
  • Custom vertex layouts allow shaders to define arbitrary attributes.
  • Ported C++ logic to TypeScript with custom vector and matrix libraries.
  • Browser-based demos make experimentation accessible without installing tools.
Weaknesses
  • Heavily based on Nikolaus Rauch's existing C++ software rasterizer.
  • CPU-based rendering is too slow for anything beyond educational demos.
Category
Target Audience

Students learning computer graphics and rendering pipelines

Similar To

tinyrenderer · software-rasterizer · glfx.js

Post Description

Hi HN,

I've been building a software rasterizer in TypeScript over the past few months and thought I'd share it. My goal was to support custom vertex layouts, programmable vertex and fragment shaders, and enough flexibility to implement more complex rendering techniques, much like you would with a GPU graphics API.

This project is based on Nikolaus Rauch's excellent C++ software rasterizer (https://github.com/nikolausrauch/software-rasterizer) but adapted for the browser platform.

The project intended as an educational project, with an emphasis on readability and experimentation over maximum performance.

GitHub: https://github.com/vangelov/ts-rasterizer

Similar Projects

Gaming●●Solid

Poor's Man Shaders

CPU-side pixel streaming hack bypasses SDL shader instability for Lua game engines.

Big BrainNiche Gem
delduca
103mo ago