Real-time ASCII 3D rendering engine
Project description
RendASCII
RendASCII is a real-time, z-buffering based 3D rendering engine written from scratch in and for Python 3. Unlike traditional real-time rendering engines, RendASCII renders frames as printable strings using ASCII characters for pixels. RendASCII is open source under the MIT license.
Please direct questions to garrett@fairburn.dev.
Features
- No external dependencies; uses just the Python standard library.
- Multiprocess based rendering.
- Optional Cython based accelerator extension modules.
- Load and render 3D models from Wavefront object and material files (*.obj and *.mtl, respectively).
- Load and render 2D sprites from ASCII based Portable PixMap files (*.ppm).
- Render the same or different scene(s) using multiple virtual cameras.
- ASCII overlays for displaying fixed graphics and/or information.
- Map sprite and material colors to ASCII characters using JSON colormaps.
- Transform models, sprites, and virtual cameras using arbitrary homogeneous transformation matrices.
- Utility for easily constructing complex transformation matrices with scaling, translations, and rotations.
- Utility for managing frame-rate and calculating delta time.
Installation
Using Pip
# pip3 install rendascii
- download and install pure Python distribution.
# pip3 install --no-binary rendascii rendascii
- download source distribution, build accelerator extension modules, and install resulting binary distribution.
Manual
$ git clone https://github.com/Foxbud/rendascii.git
- clone repository source.
$ cd rendascii
- change working directory to cloned source.
# python3 -m setup install
- build accelerator extension modules and install resulting binary distribution.
# PURE_PY_DIST=true python3 -m setup install
- build and install pure Python distribution.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rendascii-1.0.0a3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2179650bf864d372d74afbdfd32bf918da79516c516a731cb6e806e43eee37cf |
|
MD5 | c5e2b90778139788a75070e959cd8fb0 |
|
BLAKE2b-256 | e59fc188607ce9880904f58d870f9c68fa219f175869d9ad3617734baae349aa |