Skip to content
/ zero-1 Public
forked from sinclairzx81/zero

3D graphics rendering pipeline. Implemented in JavaScript. Run in a terminal.

License

Notifications You must be signed in to change notification settings

hhy5277/zero-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zero

A graphics pipeline implemented in JavaScript and rendered to the terminal. No GPU required.

NPM package

# install
$ npm install zero-demo -g

# run it
$ zero-demo

Overview

Zero is a small graphics app that uses JavaScript to replicate the functionality of a GPU and uses the terminal to display its rendered output via nodejs' stdout. Zero was written for fun as well as to see how far one could reasonably push JavaScript performance. Rendering has been tested on Windows, OSX and Linux terminals.

This project and associative materials are offered as is to anyone who may find them of use.

Zero implements:

  • Programmable Vertex and Fragment shaders (in JavaScript)
  • Perspective Z-Correct Texture Mapping
  • Per Pixel Depth Buffering
  • Adaptive Resolution on Terminal resize (TTY only)
  • Matrix and Vector math libraries.
  • A Scene Graph
  • Support for Windows Command Prompt, Powershell and Linux Terminals

Licence MIT

Building Locally

Clone this project and run the following from the terminal.

$ npm install
$ npm run build
# run it
$ node index

About

3D graphics rendering pipeline. Implemented in JavaScript. Run in a terminal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.3%
  • JavaScript 0.7%