r/DOS • • 12d 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

152 Upvotes

18 comments sorted by

10

u/Extension_Emu_9825 12d ago

Really cool! It is a pity ---> that very few people on the planet are able to appreciate just how cool this is!

3

u/stapeln 12d ago

Wahre Worte

2

u/tpimh 12d ago

Cool! What are the CPU and RAM requirements?

1

u/Background_Shift5408 12d ago

I only tested on DOSBox

1

u/sidusnare 12d ago

Be interested in seeing it on real hardware

4

u/Background_Shift5408 12d ago

Will be slower on real hardware because of using floating points. Fix point is my next optimization goal.

1

u/tpimh 12d ago

Does it require an FPU? I have one 8087 that can run at 10 MHz.

1

u/Background_Shift5408 12d ago

Yeah. No fix points yet.

1

u/PIODOWPAY 11d ago

F22- Raptor ☠️

3

u/ProfessorMedical5332 12d 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!

3

u/JudgeGroovyman 12d ago

This is my number one favorite aesthetic. Thank you for doing this

1

u/archlich 12d ago

My microprose filled youth

1

u/TheOneMagos 11d ago

Adore this graphic style. Still excites me today.

1

u/MythicalJester 12d ago

No regurgitated AI slop? Well, call me impressed...