Ray Tracing Is No New Thing

1987 Apple Mac ray traced imageIn the world of modern PC graphics hardware, all the buzz right now is about a rendering technique call ray tracing. This is mainly due to the release of Nvidia’s RTX development platform and Microsoft announcing its compatible DirectX Raytracing (DXR) API for DirectX 12 for Windows, both having taken place earlier this year. DXR allows Windows developers to utilize modern GPUs to accelerate the process of ray tracing a 3D environment in real time. This is big news for gamers because ray tracing allows for a much more realistic rendering of light and it’s real-world behavior within a 3D scene. Or…it will be as, presently, only a few games have been updated to utilize the rendering features that DXR brings to the table. And there aren’t a lot of GPUs out there yet with hardware designed with DXR in mind, directly targeting the acceleration of ray tracing calculations. Even still, it seems that ray tracing has become the new hotness and it’s even driven some observers fairly well out of their mind. It’s what’s new in tech.

Or is it?

Reading through today’s tech media, the casual observer could be forgiven for thinking so. One of the first articles I read about Nvidia’s new GPU’s (MarketWatch, Aug. 14) stated,

Nvidia on Monday announced its next-generation graphics architecture called Turing, named after the early-20th century computer scientist credited as the father of artificial intelligence.

The new graphics processing unit (GPU) does more than traditional graphics workloads, embedding accelerators for both artificial-intelligence (AI) tasks and a new graphics rendering technique called ray tracing.

But ray tracing is not a new technique. In fact, it’s almost as old as the earliest of 3D computer graphics techniques.

So, what is ray tracing? As A.J. van der Ploeg describes in his “Interactive Ray Tracing: The Replacement of Rasterization?” [ PDF ],

In computer graphics, if we have a three dimensional scene we typically want to know how our scene looks trough a virtual camera. The method for computing the image that such a virtual camera produces is called the rendering method.

The current standard rendering method, know as rasterization, is a local illumination rendering method. This means that only the light that comes directly from a light source is taken into account. Light that does not come directly from a light source, such as light reflected by a mirror, does not contribute to the image.

In contrast ray tracing is a global illumination rendering method. This means that light that is reflected from other surfaces, for example a mirror, is also taken into account. This is essential for advanced effects such as reflection and shadows. For example if we want to model a water surface reflecting the scene correctly we need a global illumination rendering method. With a local illumination rendering method the light from the water surface can only be determined by the light directly on it, not the light from the rest of the scene and thus we will see no reflections.

Ray tracing works by following the path of light. We follow the path of rays of light, i.e. lines of light. For an example of such a path consider a ray of light from your bathroom light­bulb. This particular ray of light hits your chin, some of it is absorbed, and the rest of the light is reflected in the colour of your skin. The reflected ray is then reflected again by the mirror in your bathroom. This ray then hits your retina, which is useful otherwise you would not see your self shaving. In exactly this way a ray of light in the virtual camera gives the colour of one pixel.

Continue reading

Posted in Just Rambling | Tagged , , , , , , , | 9 Comments

Today My “No Man’s Sky” Journey Reaches the Two-Year Mark

Two years ago I downloaded No Man’s Sky on the Playstation 4 and inserted myself into its infinite universe for the very first time. August 9, 2016 was launch day for Hello Games‘ space exploration survival game and the start of my now two-year journey. While I have now spent over 1,200 hours exploring this fascinating alternate reality, on that particular Tuesday two years ago I had no notion of just how deep into No Man’s Sky I would come to find myself.

After falling quickly in love with No Man’s Sky at launch, I began to gear-up in order to immerse myself as fully as I could. After a few weeks I built a gaming PC in order to give the game more powerful hardware to render its worlds. As the months exploring rolled by, the shelves and walls of my home and my office began to tell the tale of my travels. My family was quite aware when an anticipated update was imminent, and they heard, I fear, a bit more than they were hoping to about the ARG associated with some of said updates.

Three weeks after the game launched, I wrote,

All my life I have dreamed of exactly this in gaming — an interesting, alternate universe, massive in scale, in which I can freely wander and explore at my own pace. That is what No Man’s Sky is to me, and it’s my observation that many others are similarly moved by the game. The fact that the universe is procedurally generated and that even the game’s creators can’t describe everything that’s out there to be encountered adds to the incredible sense of the unexplored, the alien. There is a lovely feeling of solitude to the whole experience of discovering a world, leaving your mark on it, and moving on to the next.

Here, two years later, I feel no differently and have had the pleasure of seeing that dream realized every time I return to this other universe of mine. Two weeks ago, an absolutely massive update arrived — No Man’s Sky NEXT — and everything in the game’s universe has gotten all the more rich, vivid, evocative.

Hello Games has worked tirelessly in support and expansion of No Man’s Sky these two years (and all of this for free to gamers) and for that, I and other explorers I’ve come to know through Discord, Reddit, and other avenues, are grateful.

To mark this day, I have put together a small sample of the virtual photography that I have carried out in my travels within the game’s universe. (These are taken from my larger No Man’s Sky travel gallery.) I hope readers enjoy the vistas.

Happy Birthday, No Man’s Sky.

Previous posts I have written about the game can be found below:

Posted in No Man's Sky | Leave a comment

A Unique Work of Art for My Office in D.C.

Just a quick post to share a recent addition to my office (full disclosure: it’s a cubicle) at my workplace in Washington D.C., a framed plotter print — artwork created by Paul Rickards.

Plotter printout artwork by Paul Rickards

For quite a while now I’ve been enjoying Paul’s photos and videos of vintage color plotters laying fractal-like designs to paper, driven by his own custom scripts. (Regular readers will know Paul from his brilliant work in creating the WiFi232 Internet Modem.) His plotter art speaks strongly to me, striking a lovely balance between the vintage and a future aesthetic. Paul has made a number of these plots available for sale on his website and last month I purchased one and had it properly framed. It’s quite a conversation piece and is a most lovely work of art, to my eye.

Well done, Paul!

Posted in Just Rambling | Tagged , , , , , , , , , | Leave a comment

Brief Encounters of the Home Computing Kind

Back in the “home computer” days, I was something of a serial platform jumper; the list of systems I’ve owned is long. I would have a certain system and be happily using it and then become intrigued by a different system where the grass seemed greener. Way back when, jumping from one system to another was to take on a completely new experience — it wasn’t like today’s world where hundreds of different models of computers run either Windows or macOS. Basically, every system had its own unique hardware and its own OS.

So, I’d magazine-up on that shiny new platform, break into full lusting-after-it mode, and then talk my parents (my mom, really) into letting me put my current system in the local newspaper’s classified ads. With a few weeks and a little luck it would sell and then the new system could be had. I would do yardwork,  more chores — whatever — to cover the price differential (with some notable help from the parents).

Typically I would jump from one system to another about every year or year-and-a-half until the landscape became much less varied and I landed on Windows and then macOS. But in that fickle period, from 1982 to 1994 or so, there are a few stand-out systems that I used very lightly or owned for only a few days. It occurred to me that an account of these brief encounters may make for an interesting story to share.

Atari 400 home computer

The first system on the list is the Atari 400. In late 1984 I was 12 years old and using an Apple //c system that I got earlier that year, shortly after it launched. I wasn’t looking to switch platforms (yet), but when I spotted an Atari 400 on clearance in a Children’s Palace toy store at the local mall (Coliseum Mall in Hampton, Virginia), I was able to talk my parents into buying one. It was going for just $25 on a close-out sale. I hooked it up to the TV in the guest room and had fun playing the two cartridge games I had for it, Star Raiders and Gyruss. But, as it wasn’t my main system and as I wasn’t looking to expand it in any way, I probably didn’t spend more than four or five hours on it in total. When we moved from our home in York County to Williamsburg, Virginia the following year, that 400 somehow got lost in the shuffle and that was the end of my only experience with the Atari 8-bit line during its retail lifespan.

Continue reading

Posted in Amiga, Apple II, Atari, Commodore 64/128, Multi-Platform | 3 Comments

Quickie: A Little PETSCII BBS Fun on a Saturday Morning

Just quickie here. I thought I’d take the Amiga 1000 out for a spin on a few Commodore 64 / PETSCII bulletin board systems this weekend. Thanks to @AmigaL0ve for providing links to two Amiga terminal programs that are up to the emulation task, 64door and ColorTerm. Here you see me “dialing out” through a WiFi232 device attached to the Amiga’s serial port. Shown are the Cottonwood and Borderline BBS.

A post shared by Blake Patterson (@blakespot) on

Posted in Amiga, BBS, Commodore 64/128, Quickie | Tagged | Leave a comment

Remembering an Atari Computer Lab in Hampton, Virginia

Atari 130XE running a demo - photoRecently, I’ve been playing with Atari 8-bit computers for the first time ever, really. I purchased a bundle including an 800XL and 130XE through eBay back in 2002 but I never really did anything with them. What with the recent emergence of inexpensive and functional flash-based floppy disk emulators, however, I decided to pull them off the shelf have some fun. With the purchase of Lotharek’s SIO2SD device, I was on my way.

Using these machines took me back to my days as a member of the P.A.C.E. users group, the Peninsula Atari Computer Enthusiasts, based in Hampton, Virginia. I joined the group in 1986 after moving from an Apple IIe to an Atari 520ST system. The group consisted of users of both Atari’s new 16-bit ST line as well as the Atari 8-bits (or A8 systems). It was during one of the monthly meetings that I got my first chance to play around with a fully configured A8 system.

One of the events that the club carried out was a raffle for a monochrome Atari 520ST system, in an effort to raise money to purchase a similar ST for a local school, the Gloria Dei Lutheran School that allowed our group to sometimes meet in its Atari computer lab. It was the first Atari lab I had encountered; the elementary school I attended, Seaford Elementary in York County, VA, had two Apple II systems, while my middle / high school, Hampton Roads Academy in Newport News, VA, started out with a few Commodore PETs, then opened full Apple II labs some years later.

The lab at Gloria Dei, at that point, consisted entirely of A8 machines (well, until that successful fundraiser). Some were equipped with cassette decks, some with floppy drives. I went through a few disk boxes and loaded up this and that and just played around on the Ataris. Getting my first real taste of the A8s was a lot of fun and obviously memorable for me. Thinking back on this, I reached out to the school through Facebook and asked if there’s any chance they could find a photograph of that Atari lab from way back when that I might use for a blog post, and I’m pleased to say that they did, as you can see here!

Gloria Dei Lutheran School computer lab, kids at computers 1

Continue reading

Posted in Atari, Down Memory Lane | 2 Comments

BBSing on a Virtual NeXT Cube, Thanks to “Previous 2.0”

Screenshot of the Previous NeXT emulator

I’ve been having a lot of fun lately spending time BBSing with many of my vintage systems. One of the systems in my collection that I have not yet used to login is my NeXTstation Turbo Color slab. Its a favorite of mine and I want to give it a go at some point, but for now I have done the next best thing (ouch). I recently learned that a new version of the NeXT “black hardware” emulator, Previous, had been released, so I thought I would make my first real attempt at getting it up, running, and online and then pay a visit to some of my favorite boards out there.

Previous (antithetical to “next”) aims to emulate every model of the Motorola 680×0-based NeXT computer along with all of their peripherals including both greyscale and truecolor displays. It is based on the excellent Hatari Atari ST emulator (which, itself, is based to a degree on the UAE Amiga emulator), and development work, which appears to have begun in 2011, is carried out under Linux and macOS. Previous is able to boot all versions of the NEXTSTEP and OpenStep operating systems. FlyLab and Level 29 BBS on a NeXTSTEP screenIt is still a work in progress but is quite stable under most circumstances and is now able to emulate multiple NeXTdimension accelerated display boards allowing for a multi-headed virtual NeXT system.

Why emulate the Motorola based hardware, especially when NEXTSTEP and OpenStep for Intel can be run natively on real metal that’s orders of magnitudes faster than the black hardware ever was, or in a virtual machine on a top-end Mac or PC? Because plenty of NEXTSTEP applications were not released as fat binaries to take advantage of the Intel platform, support for which appeared in NEXTSTEP 3.1 released five years after the first NeXT machines shipped. Plenty of apps are Motorola-only including the groundbreaking Lotus Improv and huge numbers of creative, home-grown apps such as FlyLab, pictured here.

I logged on to the Level 29 BBS, shown above, first and it did an excellent job of rendering to the NeXT terminal. As for Previous, it feels genuine to the original machines’ speed, hasn’t crashed on me, and networking and file sharing weren’t too tough to setup. It even runs DOOM pretty smoothly. I am running it on both macOS High Sierra and Windows 10 Pro, the Mac setup having gone a little more smoothly.

The freely downloadable Previous source can be compiled under macOS, Windows, Linux, and likely a variety of other platforms. Pre-compiled binaries are out there, as well. Here are links for Previous 2.0 for macOS and Windows. And here are a couple more useful links.

Posted in BBS, NeXT, UNIX | 6 Comments

Modern-Day BBSing on the Epson PX-8 CP/M Laptop, Circa 1984

Regular readers and those who follow me on twitter have seen me talking a lot about my new hobby: spending time online logged in to telnet Bulletin Board Systems or BBSs around the net. Here on the blog I recently posted about BBSing from the Amiga 1000 via Raspberry Pi, using the WiFi232 device to get many different systems in my collect logged on, and clever tricks programmers used way back when to get around hardware limitations and enhance the BBS experience.

Of the BBSs I frequent, one of my favorites is Level 29. It recently underwent a notable change when SysOp Chris Osborn (@FozzTexx) transitioned the board from the off-the-shelf BBS software he was running to a system he has written from scratch in an effort to make it more compatible with vintage systems featuring meager character display capabilities and 40-column text modes — or sometimes even less, such as the VIC-20 (22 characters by 23 lines), the ZX-80 (32 by 24), and certain vintage mobiles.

One of the features of the BBS software he’s written is a system that detects the dimensions and terminal display protocol of the caller’s system (failing that, the user can enter the info manually). It’s a great feature that has made “dialing” in with my PocketChip a snap!

As I was enjoying the site’s flexibility on one of my “display challenged” machines, it occurred to me that I had a rather unique laptop sitting over on the shelf that would provide a fully satisfying BBS experience given the Level 29’s rendering flexibility, despite its modest display: the Epson PX-8 “Geneva.”

The Epson PX-8 is a most unique laptop computer; it runs not DOS but CP/M 2.2 — and entirely from ROM. The unit features an 80 character by 8 line non-backlit LCD display and lacks internal disk storage, relying upon swappable ROM (DIP) chips accessible through a hatch on the underside of the unit for program loading. The PX-8 also sports a micro cassette tape drive for loading and saving user data. I wrote a piece about the system that goes into more detail a decade ago, shortly after acquiring it new-in-box, when I wired it up as a serial terminal for my Mac mini. (I might have a bit of a “serial terminal problem,” admittedly.) And here’s a review of the system I scanned from the September 1984 edition of Computer & Electronics magazine I have on the shelf.

Photo of user being logged into the BBSTo get the PX-8 online, I dove into the three crates of cables I’ve accumulated over the past 35 years and found the cable parts I spliced ten years ago to get it attached to the Mac mini. Sadly the parts were separated, half having been repurposed and resoldered to get a TRS-80 Model 4 connected to my old Mac Pro. At any rate, I rebuilt the serial cable and attached the PX-8 to the USB-to-serial adapter hanging off of my Raspberry Pi 2 in order to get the PX-8 acting as a serial terminal so that it could jump via WiFi to Level 29. And it did so just fine and, indeed, provided a lovely BBS experience. I look rather forward to using the Epson PX-8 for more good times online!

Anyone wanting to checkout the growing world of telnet BBSs should have a look at the Telnet BBS Guide as well as the excellent SyncTerm terminal app supporting most of the character sets and emulations you might encounter online. SyncTerm is free and available for a large number of platforms including Windows, macOS, Linux, Solaris, and Haiku.

Relevant links of interest:

Posted in BBS, Other Platform, Serial Terminal | Tagged , , , , , | 6 Comments

A Planetary Anachronism: “No Man’s Sky” Beautifully Rendered on the Amiga 1000

It should be evident to anyone viewing this website that I have a bit of a vintage computer obsession. And regular readers who’ve been paying attention over the past year and a half or so likely know that my other obsession is the space exploration game No Man’s Sky. After watching an episode of The Guru Meditation (YouTube channel) the other day I got a nifty idea for combining the two and sharing the results with anyone who’d care to see.

No Man’s Sky is a game with some of the most beautiful visuals I’ve ever seen. And what’s more, those visuals render out an infinite universe made up of over 18 quintillion planets. Of all of the systems in my vintage computer collection, the Amiga stands out as having been furthest beyond the capabilities of its peers when it came to graphics rendering, among other things. The original Amiga’s 4,096 color palette seemed an infinite range of colors when compared to the 16 colors that was the typical best case scenario of the other machines of the day. And, with a clever graphics mode known as Hold-And-Modify or HAM, the Amiga could render with its full palette onscreen at once.

In the episode of The Guru Meditation in question, the hosts walk through converting modern, true-color images to the HAM8 mode of the late-model Amiga 1200. The results were impressive, shown on both LCD and CRT alike in the video. This inspired me to select a few of the beautiful in-game photos from the thousands I’ve taken along my No Man’s Sky journey and render them on my oldest Amiga, the original Amiga 1000 circa 1985.

The Amiga 1000 features what is known as the Original Chipset or OCS which delivers the 4,096 colors mentioned previously. The Amiga 1200, which came in 1992, introduced the Advanced Graphics Architecture or AGA chipset which expanded on the original HAM mode by introducing the new HAM8 mode capable of displaying 262,144 colors onscreen from the system’s 16.7 million-color palette, using eight bitplanes to work the magic that previously took six.

Investigating a reasonable way to convert the images, I discovered a fairly amazing Java-based application known, colorfully, as “ham_converter” which uses extremely optimized algorithms to get the most out of the Amiga’s bizarre HAM mode. The results, rendered in a 320×400 pixel interlace (and a 4:3 aspect ratio), are well beyond the quality that I recall seeing my Amiga 2000 generate with early, basic HAM converter programs, rendering MCGA images to the screen in HAM mode back in the early ’90s. In fact, they are so good that their shockingly high quality takes a bit of the “retro” out of this post; the images look a little too good! And, just to let you know this wasn’t just a click-and-drag process, the systems involved in the conversion were: a gaming PC [specs] able to run the Java app, an iMac [specs] not able to run the Java app (apparently) but also running an FTP server, an accelerated Amiga 2000 [specs] with a LAN connection and a floppy drive (and an FTP client), and the Amiga 1000 [specs] with a floppy drive, SCSI hard drives, and no LAN connection. Getting data to and fro was … involved.

After the images were converted, I moved them to the Amiga 1000’s SCSI hard disk and then spent a staggering amount of time searching for a slideshow program that would run on so early a machine, running AmigaDOS 1.3. But, I finally found one (QuickFlix from 1987) and the results can be seen in the embedded video. I felt that “going analog” and conveying the CRT experience, despite a bit of mild refresh-ghosting, got to the core of the experience better than simply throwing up a thumbnail gallery in the middle of this post. (Note that after the first pass through the slideshow showing the entire system at work, it repeats with a closer camera zoom for a better look at the images onscreen.)

I’m quite pleased with the end results (which can be downloaded here in IFF format). In developing No Man’s Sky, Hello Games have stated that they were visually going for the covers of the sci-fi novels of olde. Rendering the visuals of this modern title on the a 30+ year old Amiga platform seems something of an analog of that goal. I hope you enjoyed the show.

Related Links from this blog:

Posted in Amiga, No Man's Sky | 23 Comments

Highlighting My Bedside Apple //c for “Wedge Week” at r/RetroBattlestations

This week was “Wedge Week” at r/RetroBattlestations and I chose to focus on my Apple //c which I recently moved to a bedside configuration for leisurely retrocomputing BBS and IRC usage. This //c has lived in two D.C. offices and a bookshelf in my basement computer room (and it will likely take post in my new cubicle at American University in a short while).

Apple IIc

“Wedge Week,” as described in the subreddit:

As my collection grows I’ve found it fascinating how many computers were jammed entirely into the keyboard. This style of computer has pretty much disappeared, although at one time it seems like the majority of the marketplace was filled with them. There’s early 8-bits like the original TRS-80 and Ataris, ’80s computers like the ZX81 and Sinclair, and even some 32 bit computers like the Amiga were all jammed into the keyboard.

The challenge this week is to show off your wedge shaped computer. The main logic board (MLB) with the CPU, RAM, and ROM must reside within the case that holds the keyboard, and of course the case should have an overall resemblance of a wedge shape.

On the shelf below sits a WiFi-equipped Raspberry Pi 2, a USB-to-serial adapter, and power supply bricks that let me telnet into BBSs and attach to my favorite IRC servers. I use ProTerm 3.1, AgaTe, and Modem.MGR — terminal programs that let me connect with various emulations (VT-100, ANSI, ProTerm Special, etc.) to online destinations.

I have quite a few “wedges” in the collection, but as this is the system I most recently setup in a new location, I thought it would be a good choice to share for this week’s r/Retrobattlestations competition.

Visit a gallery of all my r/Retrobattlestations entry photos. A complete list, with links, of the fun I've had with challenges in that subreddit over the years can be seen below. Good times!

Posted in Apple II, r/Retrobattlestations | Leave a comment