Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

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 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

# pip3 install rendascii - system wide installation without compiled extensions.

$ pip3 install --user rendascii - local user installation without compiled extensions.

# pip3 install --no-binary :all: rendascii - system wide installation with compiled extensions.

$ pip3 install --user --no-binary :all: rendascii - local user installation with compiled extensions.

Building

$ git clone https://bitbucket.org/Foxbud/rendascii.git - clone repository source.

$ cd rendascii - change working directory to local repository.

$ python3 -m setup bdist_wheel - build distribution without extension modules.

$ python3 -m setup bdist - build distribution with extension modules.

Project details


Download files

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

Files for rendascii, version 1.0.0a2.post0
Filename, size File type Python version Upload date Hashes
Filename, size rendascii-1.0.0a2.post0-py3-none-any.whl (14.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size rendascii-1.0.0a2.post0.tar.gz (12.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page