TheScienceElf / TI-84-CE-Raytracing

A ray tracing engine for the Ti84 CE written in C++ and ez80 assembly.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ray Tracing for the TI-84 CE

A ray tracing engine written in C++/ASM for the TI-84 CE. This engine is capable of

  • Scenes of arbitrary sphere and plane primitives
  • Difuse and reflective shading
  • Texture mapping
  • Dithering
  • Gamma correct rendering and HDR tone mapping
  • Global illumination through radiosity

and can render the scene shown below (at standard resolution) in about 12 minutes.

Check out this video for more information and to see the renderer in action.

Screenshot

A sample scene rendered at double resolution.

Try It Yourself

Note: Due to reliance on some eZ80 hardware instructions, this program can only be run on CE or later model calculators from the Ti84 family.

  1. Download the binary here.
  2. Download the CE C Standard Libraries.
  3. Load both onto your calculator using the TI Connect™ CE software.
  4. Run the ASM program either with Asm(DEMO) or your favorite graphical shell.
  5. The renderer will take a few minutes to compute radiosity.
  6. When the graphics have completed rendering (usually takes about 12 minutes) press any key to exit to the OS.

Warning: This program takes a while to complete, and once started cannot be interrupted until it is finished. Every once in a while, it can also freeze up. If for any reason you need to quit the program, you will need to reset your calculator, which will clear any unarchived data in RAM. Make sure you don't have anything unarchived that you wouldn't be willing to lose before running this program.

Building Locally

This program appears to have some compatibility issues with the latest version of the toolchain, however version 9.1 still appears to be functional.


Looking for the older TiBASIC version, instead?

This was written using the CE Programming C SDK Toolchain.

About

A ray tracing engine for the Ti84 CE written in C++ and ez80 assembly.

License:MIT License


Languages

Language:C 93.4%Language:C++ 3.8%Language:Assembly 2.2%Language:Python 0.5%Language:Makefile 0.2%