https://github.com/ssloy/tinyrenderer/wiki Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} ssloy / tinyrenderer Public * Notifications * Fork 1.2k * Star 12.5k * Code * Issues 27 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights Home Jump to bottom Dmitry V. Sokolov edited this page Mar 21, 2021 * 25 revisions Pages 15 [ ] * Home + Tiny renderer or how OpenGL works: software rendering in 500 lines of code * Lesson 0: getting started * Lesson 1: Bresenham's Line Drawing Algorithm * Lesson 2: Triangle rasterization and back face culling * Lesson 3: Hidden faces removal (z buffer) * Lesson 4: Perspective projection * Lesson 5: Moving the camera * Lesson 6: Shaders for the software renderer * Lesson 6bis: tangent space normal mapping * Lesson 7: Shadow mapping * Lesson 8: Ambient occlusion * Lesson 9: Real OpenGL (GLSL) application * Technical difficulties: cpp classes for vectors and matrices * Technical difficulties: linear interpolation with perspective deformations * Visual troubleshooting Clone this wiki locally [https://github.com/s] Tiny renderer or how OpenGL works: software rendering in 500 lines of code read this -> If you are interested by this project, you might want to check my other tiny* repositories, they were fun for me to make, I hope it will be fun for you to read (clickable): tinyraytracer tinyraycaster tinyrenderer tinykaboom * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.