[Page under construction]
Note that these pages are still being built and, as of this time (June 2025), will continue to change in the upcoming weeks. Despite that, since I think there is enough useful material in the pages to justify it, I have chosen to make the site publicly accessible as of now even though the site is incomplete.
This site attempts to explain the CGI technique called "ray tracing", which is a computer programming technique that can be used to create realistic images of virtual three-dimensional environments by simulating the passage of virtual rays of light through a virtual environment in order to calculate the view/image that would be perceived from a particular vantage point (an "observer" or "camera") within that virtual environment.
In addition to being about ray tracing, this site is also specifically for software developers and, even more specifically, for those using the JavaScript language. All the examples shown on this site are in JavaScript accompanied by HTML and CSS. In most cases the source code examples shown will be the very same bits of JavaScript code used to dynamically generate the images shown on the pages of this site.
Still, the real topic of the site is ray tracing, and the use of JavaScript is just a means to an end. It is hoped that developers familiar other programming languages might still find this site useful and interesting.
The site is organized in an incremental "day-by-day" format. Each "day" in the material presents an new idea or concept related to CGI and ray tracing. For each day, coding examples in JavaScript are also provided. In addition to observing how that code is implemented, those with an interest in doing so might choose to develop their own JavaScript modules based on the ideas in these pages, or, alternatively, use the code in these pages as a starting point for their own projects using other languages.
I make no claim that any of the techniques I've used in these pages are the best or most efficient. Most of code on these pages is the result of my own trial-and-error efforts. Those more interested in the end results than the process would probably be well advised to find some appropriate pre-existing CGI tools rather than make use of the code in these pages. If you do make use of this JavaScript code, please take a look at the terms of the associated licensing which essentially grants free use of the code with the understanding that it is at your own risk. (Though attribution is not required, it is always appreciated.)
All source code for this web site (JavaScript, HTML, and CSS) can be found in its companion GitHub repository which can be accessed and viewed via the link below. Viewers of this site are welcome and even encouraged to view the source code of these pages, whether by viewing the source code directly in their browsers or by visiting the repository link below.
GitHub repository: ray-by-day-js