3D projection library



You can also use your local clone with git send-email.


3D projection library, written in Uxntal.

#Quick start

$ uxnasm examples/cube.tal cube.rom
$ uxnemu -2x cube.rom


Check out the examples for concrete and detailed use cases of the library.

Pinhole is device-independent and designed to be included or copy-pasted inside another project. All of its labels and macros are prefixed with pinhole or Pinhole to prevent clashes with labels and macros used in the incorporating project.

#Known issues

  • Precision gets really wonky when the camera is directly above or below the target.


Special thanks to Erik for the help with the implementation of Q8.8 fixed-points and to Hundred Rabbits for creating Uxn.


This software is licensed under the MIT license and uses third party libraries that are distributed under their own terms.

See the LICENSE and LICENSE-3RD-PARTY files for more details.