Wednesday, June 11, 2025

Raytracing in a Week

I have just finished some graphics projects and I want to point out how cool raytracing and raymarching are. If you are not familiar raytracing is a 3D technique where you model light rays and test their collisions with a scene per pixel. Raymarching is a 3D technique where you make increments of a light ray and test to see if it hits any thing in a scene. I know both of these approaches pretty well but I found an online book for raytracing called Ray Tracing in One Weekend that gave me a great foundation for 3D graphics. The book starts out with Larmbertian lighting which is really just a shaded sphere. Next Metal spheres then (my favorite) Dielectric spheres which look like glass. I will admit it took me more than two days to finish the book but the code was written in c++ and I converted it to JavaScript. The image below is generated from my code based on one of the last chapters (the big sphere in front is Metallic, the sphere behind it is Dielectric, and the smaller spheres in front are Lambertian.

Friday, January 10, 2025

Savor the Flavor

There is a new twist to the Donut Pong game. Now you must battle the computer to acquire new donut flavors by notching a net score of 0 to 2 = glazed, 3 to 6 = chocolate, 7 to 11 = strawberry, 12 and up = mystery berry flavor. For instance, score 3 more wins than the computer to see the glazed donut turn into a chocolate donut and 7 or more for strawberry. Also, this game is the first to use the new signed distance field physics engine from PlumeriaSC. Finally I came across a cool JavaScript programming course on YouTube. After watching the series myself I highly recommend these videos no matter what coding level you are at or programming language you are using.

Wednesday, January 1, 2025

Bricks, Blocks, and Beyond

It's the New Year! First off, we have added 3D toy bricks as a new shape and background effect option for PlumeriaGIF so check it out! New features coming to PlumeriaSC 4.8 beta 2 include a new physics engine based on signed distance fields (SDF), instead of the usual Racasting. Also, the planet physics have always used SDFs but were missing features. Now that the entire physics engine uses SDFs all of the missing features can be added including bounce, drag, and friction. Finally, several other unannounced features added last year should make it easier to add updates and new games to our website this year.