this post was submitted on 01 Apr 2025
184 points (99.5% liked)
Technology
68245 readers
6668 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related news or articles.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I am still in awe of the fast inverse square root method used in QuakeIII. Good times.
IIRC, someone got with the author of that bit of code to ask how they came up with it, but they had simply learned it from someone else. So they tracked them down and found that they had also learned it from someone else. They eventually landed on Greg Walsh as the original author, but for a bit the code had no known origin.
I read this article and I know it's written in English, but I've accepted defeat in trying to understand it.
I write code for a living and I'm doing my best to ignore the feelings of inadequacy I'm currently experiencing.
I may have shared the link but even I don't know how it how it works.
It's like admiring the Eiffel Tower; you can understand that it's a marvel of engineering without understanding the underlying engineering concepts. Such experiences are rare but they truly humble you.
Regarding the square root, understand the following concepts
0010 << 1 → 0100
n
with a nice shift amountx
(I have greatly greatly over-simplified this), then you can calculate the inverse sq. root since inverse square root is2^(-1/2)
The resultant shifting gives us an answer which is close enough to the answer, and that is good enough for FPS games for calculation of reflections.
Source for bitshifting
PS: Someone who is more experienced in this domain can correct me if I'm wrong.