~bellinitte/pinhole

3D projection library

clone

read-only
https://git.sr.ht/~bellinitte/pinhole
read/write
git@git.sr.ht:~bellinitte/pinhole

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

#Pinhole

3D projection library, written in Uxntal.

#Quick start

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

#Usage

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.

#Acknowledgments

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

#License

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.