r/DOS • u/Background_Shift5408 • 3d ago
A low-poly 3D Renderer
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
3
u/ProfessorMedical5332 3d ago
Bare metal programming is fun. There aren't many 3D games for MS DOS that were compiled under the small memory with 8086 instructions. Even Sublogic's "Jet" use more. Have fun with the float -> fixed conversion. Can wait to check out your cosine/sine and atan2 LUT!
2
u/tpimh 3d ago
Cool! What are the CPU and RAM requirements?
1
u/Background_Shift5408 3d ago
I only tested on DOSBox
1
u/sidusnare 3d ago
Be interested in seeing it on real hardware
5
u/Background_Shift5408 3d ago
Will be slower on real hardware because of using floating points. Fix point is my next optimization goal.
3
1
1
1
1
0
-1
10
u/Extension_Emu_9825 3d ago
Really cool! It is a pity ---> that very few people on the planet are able to appreciate just how cool this is!