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 rendascii@gmail.com.
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 :all: rendascii
- download source distribution, build accelerator extension modules using Cython and a C compiler, and install resulting binary distribution.
Manual
$ git clone https://bitbucket.org/Foxbud/rendascii.git
- clone repository source.
$ cd rendascii
- change working directory to cloned source.
# python3 -m setup install
- build accelerator extension modules using Cython and a C compiler 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 Distributions
Hashes for rendascii-1.0.0a2.post1-py3.7.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1693263e5be1bc474a503686bfdcbad036156c57522b80152632baf416704fd |
|
MD5 | 2210f1a19155e06bfced955e7dafc633 |
|
BLAKE2b-256 | e81df89a771b056c2ecce453ca86ba98fa391aeb0b54aa6b953b386771306ade |
Hashes for rendascii-1.0.0a2.post1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79489ee0d2a933dc577a50ba8d97382f4124ebc9daf922585ab1962b090bb4d2 |
|
MD5 | 0b28153f7fe49f25119367c17eb93170 |
|
BLAKE2b-256 | 062bcfb912d17379fe6ca5af1952245115d2a9ad993195a514acda056c3d1e5b |