Raytracing on a Graphing Calculator (again)

preview_player
Показать описание
A long time ago, I wrote a really slow ray tracing program for a TI-84 calculator. I figured it's about time for an upgrade.

Check out the code here:

Music Used:
Cream of the Earth - Romeo Knight (0:00, 11:03)
Take it Slow - SefChol (2:58)
Sunday Plans - Silent Partner (5:31)
Sunshine Samba - Chris Haugen (8:33)

Clips in Order of Appearance:
Рекомендации по теме
Комментарии
Автор

Don't mind me, I'm just playing Doom 2016 raytraced on my Ti-84 Plus CE while you're stuck playing a bad Pacman port in math classes

MrMateloi
Автор

Back in the dark ages when I was in school, I put several formulas into my TI calculator instead of memorizing them. A classmate tattled to the teacher who replied with, "If he can actually figure out how to do that, I won't stop him."

CaptainMarvelsSon
Автор

at this point, 'computer' and 'calculator' are synonyms of each other, just as much as 'compute' and 'calculate' are.

kommstein
Автор

Graphing calculators can do this but can’t draw a sin graph without taking like a full hour

jksupergamer
Автор

too cool - i struggled to get this type of thing done with opengl

Cyranek
Автор

I guess he's the guy who made it possible for Nasa to go on moon with 4Kb of Ram in 1969

r_atharv
Автор

“As always, it could always be improved. When writing some of the more complex fixed point functions, I got a little lazy and just used the floating point library instead of writing it myself in assembly.” is one of the most insane sentences i've heard said so casually

PunknPatch
Автор

It's very nice to see someone working for efficient code, even as a hobby. Too much nowadays is just incredibly bloated. Good luck with future endeavors!

firstnamelastname
Автор

This was a real trip down memory lane. I used to love writing ray-tracers using languages and hardware completely unsuitable for them and was very familiar with fixed point math. I never quite cracked global illumination but there was no internet back then, it was all from books.

I've always felt that ray tracing is the best way to learn about computer graphics because it's so intuitive - you don't even need to know any matrix math. To do the same thing using OpenGL or DirectX is an absolute nightmare because you have to master matrices, cameras, lights, shader programs, fragments etc. You can literally write a ray tracer in a dozen lines of code provided you have some function to draw pixels.

You get so many things for free with RT, for example 3D textures and constructive solid modelling, because you're dealing with surfaces and objects and not millions of flat triangles.

And there's a lot you can do to speed it up, which I'm surprised you didn't cover. For example using bounding volumes or adaptive sampling.

kirishima
Автор

The TI-Nspire is WAY more powerful. It can already run doom in full speed and color! With the source code out for Super Mario 64, I bet it could be possible to get it running on there. If not the TI-Nspire, definitely the TI-Nspire II (Which is 2.5 times faster)

ChickenScratch
Автор

Nerdy thing i love about this video: the font you use in your infographics is *Segoe UI!* It's the main stylistic font in most Microsoft products, and has been their logo text since *Windows 8!* It's also used in the Microsoft-published indie darling game *Ori and the Blind Forest!* It's such a clear and official-looking font and as much as people crap on Microsoft (fair) I absolutely love the look of it.

Anyway awesome video!!

thomasrosebrough
Автор

I wasn't expecting another upload for atleast a month!

arbitercs
Автор

I know it's not the focus of the video but blender's raytracing engine, cycles, had a complete overhaul in 3.0 and renders waaay faster, especially on low end devices.

NICK....
Автор

Great job! For sqrt(), it's easy to do using plain ints. Start with an approximate value that's 1 shifted left by half of the bits of your input number, then perform 1, 2 or 3 iterations of Raphson-Newton to get a more precise value, doing ret=(ret+x/ret)/2. You'll have to shift each intermediary result by 12 since you're using fixed point, but that can be way faster than passing by floats!

levieux
Автор

As a musician, I was surprised by how much of these terms I've stumbled across in my audio engineering courses. This was a great video, and I learned a lot about how sound and images are related! I was thinking of writing some advanced audio processing algorithms for my Gameboy Advance, and this video definitely helped to see your approaches on optomizing the code.

aura-audio
Автор

Great work! It's awesome to see your projects develop! I remember most of the comments on your TI-Basic version were "why didn't you do this in ASM?" :P
The transition of moving the window to the calculator screen was so smooth I though you were using a program to do it until I re-watched it!

TheLastMillennial
Автор

Banger video! Just as I'm going to sleep, you just uploaded today!

Thanks The Science Elf, I'll watch this after I wake up tomorrow morning 😆

Goodnight everyone and take care! 👋

DanielSuguwa
Автор

It’s actually quite amazing how well a video about raytracing with calculators can teach you the basics of how shaders and graphics fundamentally work. Following step-by-step the actual process of building the renderer from scratch and seeing how they affect the final image really helps you understand how it works. I’ve been working with unity for almost a year now and have fairly good experience using shaders for my projects and now seeing how one works under the hood (albeit using a very different rendering technique) really gives you a sense of appreciation for these wonderful bits of code.

ace_verco
Автор

A very basic raytracing algorithm like this sounds really awesome to implement on a modern computer for real time raytracing that isn't RTX, maybe a certain Java game...

nathanb
Автор

This video held my interest to the end, a pleasant surprise for what seemed like an absurd premise. It takes me back the early days of computer graphics and my first experiments with POV-ray on a 66MHz '386 when rendering an image took hours and Blender didn't exist.

Wayne_Robinson