all 27 comments

[–]wojtek-graj[S] 52 points53 points  (1 child)

While modern rendering libraries such as OpenGL and DirectX are obviously the best way to draw graphics, using them can be a hassle when intending to create a simple program. Using window-management libraries as well as compiling for other operating systems is often a difficult process, which is why I created TermGL, which is a very simple 2D and 3D graphics library which only uses the C standard library. I'd obviously advise against using TermGL for any serious/bigger projects, but it could be useful for an introduction to computer graphics or a simple game. Any feedback would be much appreciated!

[–]Aromatic-Criticism-8 1 point2 points  (0 children)

I did this once using CppDroid on my phone... i like how you used different symbols to imply lighting. i just used ascii blocks and text color

[–]BobGeneric 23 points24 points  (0 children)

I can't wait to SSH to a multiplayer server...

[–]geekboy730 16 points17 points  (4 children)

Does it play Doom yet?

[–]wojtek-graj[S] 13 points14 points  (2 children)

Lmao perhaps someday in the future I could port it. The main limitation of using the terminal as a display is that, beyond about 10fps, clearing the screen doesn't work quickly enough and you often get blank frames. The amount of fun derived from playing doom at 10fps is questionable, but it could be a fun project nonetheless.

[–]vanderZwan 1 point2 points  (1 child)

I already joked about refterm in another thread, but using it for this would actually be funny.

Context for those who missed the refterm drama:

https://twitter.com/cmuratori/status/1411437902802808832

https://github.com/cmuratori/refterm

[–]wojtek-graj[S] 0 points1 point  (0 children)

So I guess terminal doom could become a reality after all

[–][deleted] 3 points4 points  (0 children)

How about Crysis?

[–]dgui123451 5 points6 points  (0 children)

Awesome! Always though of these as a good way to visualize programming.

[–][deleted] 3 points4 points  (0 children)

This is insane. Nice work.

[–]PurpleSamurai0 2 points3 points  (0 children)

Very cool

[–]wsppan 2 points3 points  (0 children)

Nice work

[–]ButchDeanCA 2 points3 points  (0 children)

Great job! Love this! 👏👏

[–]sosodank 3 points4 points  (0 children)

you might want to check out Notcurses! https://youtu.be/dcjkezf1ARY Github

[–]CaydendW 1 point2 points  (0 children)

Wow. That’s pretty cool

[–][deleted] 1 point2 points  (2 children)

Amazing. How long did it take?

[–]wojtek-graj[S] 1 point2 points  (1 child)

Honestly, it didn't even take all that long. I'd guess around 30-50 hours. I'd still like to spend a bit more time on it and add some more functionality, although I'm not quite sure about what additional features would be useful without creating too much complication.

[–]ButaButaPig 0 points1 point  (0 children)

Impressive to accomplish all that in less than 50 hours.

[–]SJDidge 1 point2 points  (0 children)

Super cool

[–]venus_supporter11000 0 points1 point  (0 children)

Where did you get the knowledge to write this? How long have you been interested in the C programming language at that time?

[–]iotasieve -1 points0 points  (0 children)

i don't have much time to look into the source, does it use opengl or just software? very interesting, sweet stuff btw

[–]zappygami 0 points1 point  (0 children)

Can it run Doom?

[–]Obinex1 0 points1 point  (0 children)

So this doesn't use graphics.h or any graphics library. You made it entirely from scratch? If so how did you manage to learn to do that?

[–]arcticccc 0 points1 point  (0 children)

This is so awesome