If you find the project interesting, a star on repo would mean a lot for me! It took quite a bit of time and effort to bring it to life.
Hey everyone! This project started out as a personal experiment in low-level graphics, but turned into a bit of a long-term journey. I originally began working on it quite a while ago, but had to put it on hold due to the complexity of the math involved - and because I was studying full-time at the same time.
objcurses is a minimalistic 3D viewer for .obj models that runs entirely in terminal. It renders models in real time using a retro ASCII approach, supports basic material colors from .mtl files, and simulates simple directional lighting.
The project is written from scratch in modern C++20 using ncurses, with no external graphic engines or frameworks - just raw math, geometry and classic C library for terminal interaction.
Also happy to hear any feedback, especially on performance, rendering accuracy, or usability.
At some point, I might also organize the notes I took during development and publish them as an article on my website - if I can find the time and energy :)
Pretty cool! I honestly hadn’t seen display3d before, not when I was researching similar projects, nor while working on my own and debugging issues. Just checked it out now, and as someone currently learning Rust, I really liked it and definitely starred the repo. Love the Unicode rendering idea.
Textual looks fun too, feels very much like a Python equivalent of ratatui from Rust, I also has a project with this library. Definitely something I might explore for building overlays or adding interactive controls around the core renderer, though curses also can render basic buttons and menus.
As for FSV, yeah, that’s more in the OpenGL/GPU territory. My goal was to stay purely terminal-based. By the way, I wasn’t sure if you brought up FSV just for the retro-3D vibe comparison, or if you had something more specific in mind? Curious what you meant there
Maybe it was an ascii CLI video of a 3d scene that I remember seeing.
Maybe molecule visualizations? Is it possible to discern handedness from an objcurses render of a molecule like sugar or an amino protein?
Could a 3D CLI file browsing interface useful enough for a computer green scren in a movie like Jurassic Park or Hackers be built with objcurses? wgpu compiles to WASM and WebGL
Hey everyone! This project started out as a personal experiment in low-level graphics, but turned into a bit of a long-term journey. I originally began working on it quite a while ago, but had to put it on hold due to the complexity of the math involved - and because I was studying full-time at the same time.
objcurses is a minimalistic 3D viewer for .obj models that runs entirely in terminal. It renders models in real time using a retro ASCII approach, supports basic material colors from .mtl files, and simulates simple directional lighting.
The project is written from scratch in modern C++20 using ncurses, with no external graphic engines or frameworks - just raw math, geometry and classic C library for terminal interaction.
Also happy to hear any feedback, especially on performance, rendering accuracy, or usability.
At some point, I might also organize the notes I took during development and publish them as an article on my website - if I can find the time and energy :)
Textual has neat shell control characters for CLI utilities that might be useful.
FSV is an open clone of FSN (the 3d file browser from Jurassic Park), but it requires OpenGL.
Textual looks fun too, feels very much like a Python equivalent of ratatui from Rust, I also has a project with this library. Definitely something I might explore for building overlays or adding interactive controls around the core renderer, though curses also can render basic buttons and menus.
As for FSV, yeah, that’s more in the OpenGL/GPU territory. My goal was to stay purely terminal-based. By the way, I wasn’t sure if you brought up FSV just for the retro-3D vibe comparison, or if you had something more specific in mind? Curious what you meant there
Maybe it was an ascii CLI video of a 3d scene that I remember seeing.
Maybe molecule visualizations? Is it possible to discern handedness from an objcurses render of a molecule like sugar or an amino protein?
Could a 3D CLI file browsing interface useful enough for a computer green scren in a movie like Jurassic Park or Hackers be built with objcurses? wgpu compiles to WASM and WebGL