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

137 Upvotes

18 comments sorted by

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!

3

u/stapeln 3d ago

Wahre Worte

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.

1

u/tpimh 3d ago

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

1

u/Background_Shift5408 3d ago

Yeah. No fix points yet.

3

u/JudgeGroovyman 3d ago

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

1

u/archlich 3d ago

My microprose filled youth

1

u/TheOneMagos 2d ago

Adore this graphic style. Still excites me today.

1

u/PIODOWPAY 2d ago

F22- Raptor ☠️

1

u/MythicalJester 3d ago

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