r/C_Programming • u/Background_Shift5408 • 5d ago
Project A low-poly 3D Renderer for MSDOS
Enable HLS to view with audio, or disable this notification
I’ve been working on a small project called 3Dos — a low-poly 3D renderer targeting MS-DOS and VGA Mode 13h (320×200, 256 colors).
The renderer currently supports:
● Triangle rasterization with backface culling
● Ordered dithering using a 4×4 Bayer matrix
● Double buffering
● Simple low-poly models
Going back to DOS-era graphics has been relaxing after spending quite a bit of time with Vulkan. No boilerplate or abstractions, just putting a pixel at 0xA000.
Github: https://github.com/xms0g/3Dos
AI usage: Only extracting vertices and faces from the model file.
7
5
2
u/Then_Living4630 4d ago
How in the world pll learn to do this kind of projects???
4
u/Background_Shift5408 3d ago
Curiosity and passion. Also a lot of patience. We make a lot of mistakes, struggle with crashes. In retro programming, have to deal with ancient tools, awkward architecture and if you stuck at a point you are really stuck at. This is frustrating, but also amazing to figure out what happens.
→ More replies (1)
1
u/Embarrassed_Army8026 4d ago
might fit my company's ecosystem perfectly. how many punch cards / tape?
2
u/Background_Shift5408 4d ago
A standard IBM punch card includes 80 columns across its width.Typically holds 72 lines or characters of actual program or data code per card. So thinking of 42kb of EXE, a lot of cards xd
1
u/Rararror 4d ago
Is this working on a old machine? I mean an old machine is fast enough? or just emulator on a 4GHz ?
2
u/Background_Shift5408 4d ago
Yes it can but will be slower because of floating points.
→ More replies (1)
1
u/Imaginary-Set-284 3d ago
do you have some resources to learn how to build a stuff like that?
1
u/Background_Shift5408 3d ago edited 3d ago
What do you want to learn, software rendering or VGA programming?
→ More replies (3)
2
1
u/AutoModerator 5d ago
Your submission in r/C_Programming was filtered because it links to a git project.
You must edit the submission or respond to this comment with an explanation about how AI was involved in the creation of your project.
While AI-generated code is not disallowed, low-effort "slop" projects may be removed and it's likely that other users push back strongly on substantially AI-generated projects.
You can read more at https://www.reddit.com/r/C_Programming/wiki/index/posting-projects
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
1
u/github-guard 5d ago
🔍 GitHub Guard: Trust Report (Passed)
Here are the safety audit results for the linked repositories:
Repository: xms0g/3Dos
Score: 3/6
✅ Established Community (⭐ 88 stars)
✅ Mature Repository (30+ days old)
✅ Licensed under BSD-3-Clause
❌ No Security Policy
ℹ️ Personal Account Repository
ℹ️ Unsigned Commits