[RayCaster] just the rays, and a DSP-inspired processor, in the new version
Lauren Pullen <[email protected]> Tue, 7 Jul 2026 12:16:00 -0600
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <[email protected]> |
Greeting, List, I'm excited to announce a new package, RayCaster-Kernel-lrnp.6, that includes just the Ray2D and Ray3D classes. Also included is a new feature, RayProcessorObject. I hope the code and math is easy to follow; you won't find ray casting code like this in tutorials! If you're using RayCaster for teaching trigonometry, computer graphics, or programming and it's too hard, let me know where and I'll add comments! I can correctly explain this thing in dreams I've worked on it so much. First up, Ray2D has been totally refactored with the latest advances in my OOPing skill. You can now piggyback off the ray's knowledge of which direction it's aimed while stepping to write if-free direction conditional code! Take a look at the 'acceptors' and 'continuations' message categories. If you thought 3D support was lacking, it's because I was having trouble with occlusion at edges and vertices. Occlusion is now based on implementing signed axis acceptors; if you need it you can add it fairly straightforwardly. For existing users, you'll want to update your class references to LegacyRay2D until you can upgrade to acceptors and continuations. You no longer "cast" a ray, you "step" it. I'm gonna be reusing "cast" to mean something else. The major enhancement is RayProcessorObject, which is supported in the new Ray2D and Ray3D classes (but not the legacy versions). Think of it like a filter bank you'd set up in audio mixing software, but for rays. Adding support for a new function, like a different virtual reality format, is as simple as swapping out processors. While the -Kernel package is ready to go, and -LampDemo is updated, please be patient while I update the BitBlt renderer; the -Core package is a bit of a disaster from experimenting with different techniques and virtual reality models. Check it out: <http://www.squeaksource.com/RayCaster.html> Squeak-dev mailing list -- [email protected] To unsubscribe send an email to [email protected]