Raytracer in our favourite spreadsheet application!
Raytracer in Excel
ReadMe
NOTE: For this model to work, you need to copy Row 24 in the "Objects" tab, and paste it on to Row 25 to Row 14405. This takes a few moments to complete.
This excel file allows you to gain an intuitive understanding of how raytracing works in the basic setting of an excel workbook. The approach underpinning this model is largely based on that used in the book "The Ray Tracer Challenge" by Jamis Buck. It is an excelllent book that teaches the foundations of Raytracing in a fun and engaging way.
However, this model only implements a select number of concepts from the book, as oddly not everything is portable to our favourite application! I hope this is of help for those trying to learn the basics of raytracing!
Instructions:
First, you need to go to the sheet named "Screen". Next, you need to run the macro called "Play" - you can do this using the "PLAY" button.
This macro assigns new functionality to the following keys:
- "w", "a", "s", "d": press these to move the camera forwards, backwards, and sideways
- "r", "f": press these to move the camera up and down
- "u", "i", "o", "j", "k", "l": press these to rotate the camera along the 3 different 3d axes
- "esc": press this to end the game and reset all key functionality
NOTE: this macro overrides these key's normal functionality - you must press ESC at the end of your session to reenble these keys in excel to their original functionality
Alternatively, you can press the "ANIMATE" button which will move the camera along a predetermined path.
by s0lly https://www.youtube.com/c/s0lly https://www.instagram.com/s0lly.gaming/ https://twitter.com/s0lly https://https://www.twitch.tv/s0llygaming
THE MODEL IS PROVIDED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MODEL OR THE USE OR OTHER DEALINGS IN THE MODEL.