Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

textrend

A 3D software renderer that renders to the terminal

🖥️ Usage

textrend [filename.obj] [-args]

This renderer only accepts .obj files, and you must always pass the file before the arguments. Currently targeting Windows and Linux, although theoretically it should also work on MacOS.

⌨️ Controls

Hotkey Action
wasd Move
okl; or
8426 (numpad)
Look
[ and ] +/- movement speed
{ and } +/- rotation speed
- and + Zoom in/out
z Toggle vertices
x Toggle edges
c Toggle faces
b Toggle backface culling
Esc Exit

🚩 Arguments

Argument Description
-v --verbosity Set verbosity level
-y --flip-y Flip camera Y rotation
--no-detect-font --no-detect-font-size (Windows only) Disable auto font size detection; use this if your terminal reports incorrect information
--font --font-ratio (Windows only) Set fallback font width-to-height ratio
-h --help Print help message

Note

--no-detect-font is enabled automatically if your terminal reports a font size that has 0 as one of its dimensions. The majority of modern terminals on Windows report {0, 16} as the size, so the renderer uses the fallback value.

🪲 Known issues

  • Sometimes there are holes in between adjacent triangles
  • Adjacent edges of triangles are drawn twice
  • Depth testing suffers from precision errors

About

A terminal-based 3D software renderer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages