Skip to main content

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.

Project Homepage

Project Documentation

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rendascii-1.0.0a3.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

rendascii-1.0.0a3-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file rendascii-1.0.0a3.tar.gz.

File metadata

  • Download URL: rendascii-1.0.0a3.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for rendascii-1.0.0a3.tar.gz
Algorithm Hash digest
SHA256 aa6e83ee92f5ac77505ff049c5aca48819bfdb6b91ed72732fa939f63b76c01b
MD5 fa464f6577a1c319767599704403ffc9
BLAKE2b-256 b55d277e58e0d5661d4b642a0b362b3693dae4a53eed1b86e864b6ba625fca4d

See more details on using hashes here.

File details

Details for the file rendascii-1.0.0a3-py3-none-any.whl.

File metadata

  • Download URL: rendascii-1.0.0a3-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for rendascii-1.0.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 2179650bf864d372d74afbdfd32bf918da79516c516a731cb6e806e43eee37cf
MD5 c5e2b90778139788a75070e959cd8fb0
BLAKE2b-256 e59fc188607ce9880904f58d870f9c68fa219f175869d9ad3617734baae349aa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page