Skip to content
Navigation Menu
Toggle navigation
Sign in
Appearance settings
Platform
GitHub Copilot
Write better code with AI
GitHub Spark
New
Build and deploy intelligent apps
GitHub Models
New
Manage and compare prompts
GitHub Advanced Security
Find and fix vulnerabilities
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Discussions
Collaborate outside of code
Code Search
Find more, search less
Explore
Why GitHub
Documentation
GitHub Skills
Blog
Integrations
GitHub Marketplace
MCP Registry
View all features
Solutions
By company size
Enterprises
Small and medium teams
Startups
Nonprofits
By use case
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
By industry
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
Topics
AI
DevOps
Security
Software Development
View all
Explore
Learning Pathways
Events & Webinars
Ebooks & Whitepapers
Customer Stories
Partners
Executive Insights
Open Source
GitHub Sponsors
Fund open source developers
The ReadME Project
GitHub community articles
Repositories
Topics
Trending
Collections
Enterprise
Enterprise platform
AI-powered developer platform
Available add-ons
GitHub Advanced Security
Enterprise-grade security features
Copilot for business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search syntax tips
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign in
Sign up
Appearance settings
Resetting focus
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.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
ssloy
/
tinyrenderer
Public
Notifications
You must be signed in to change notification settings
Fork
2.2k
Star
22.7k
Code
Issues
2
Pull requests
0
Discussions
Actions
Projects
0
Wiki
Security
Uh oh!
There was an error while loading.
Please reload this page
.
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Wiki
Security
Insights
Technical difficulties: cpp classes for vectors and matrices
Jump to bottom
Dmitry V. Sokolov edited this page
Sep 1, 2025
·
4 revisions
This text is obsolete, the second edition of the course is
available here
.
Work in progress, teaser:
Toggle table of contents
Pages
15
Loading
Home
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 0: getting started
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 1: Bresenham’s Line Drawing Algorithm
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 2: Triangle rasterization and back face culling
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 3: Hidden faces removal (z buffer)
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 4: Perspective projection
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 5: Moving the camera
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 6: Shaders for the software renderer
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 6bis: tangent space normal mapping
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 7: Shadow mapping
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 8: Ambient occlusion
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Lesson 9: Real OpenGL (GLSL) application
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Technical difficulties: cpp classes for vectors and matrices
This text is obsolete, the second edition of the course is available here.
Work in progress, teaser:
Loading
Technical difficulties: linear interpolation with perspective deformations
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
Visual troubleshooting
Uh oh!
There was an error while loading.
Please reload this page
.
Clone this wiki locally
You can’t perform that action at this time.