Coder Social home page Coder Social logo

rendascii's Introduction

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 [email protected].

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.