As I've written about in the past couple of weeks, I've been investing a heavy amount of time into the Epoch programming language, particularly in the realm of runtime performance. Most of the work has gone into implementing native code generation via LLVM so that Epoch programs aren't bottlenecked by the rather flimsy virtual machine.
All this has culminated in a rather successful thrust to build a comparatively fast raytracer in Epoch. The feature set is pretty limited (one sphere lit by a single light source) but the code is simple enough and the results are satisfactory. I can run a 600x600 pixel scene at about 16-17 FPS on my development laptop, which makes me very very happy. (Keep in mind that at the beginning of this enterprise, the same image at 300x300 was taking 8 seconds to render.)
If I get the energy over the next couple of days, I'm going to write up a wiki article with a development postmortem and maybe shove it around the internet a little bit and see what people think. In the meantime, consider it a tasty reward for following my GDNet journal.
Here's the download: Epoch Realtime Raytracer Demo
Grab it, give it a shot, let me know how well it runs! (Just beware the really nasty pauses that happen when the garbage collector fires.)
All this has culminated in a rather successful thrust to build a comparatively fast raytracer in Epoch. The feature set is pretty limited (one sphere lit by a single light source) but the code is simple enough and the results are satisfactory. I can run a 600x600 pixel scene at about 16-17 FPS on my development laptop, which makes me very very happy. (Keep in mind that at the beginning of this enterprise, the same image at 300x300 was taking 8 seconds to render.)
If I get the energy over the next couple of days, I'm going to write up a wiki article with a development postmortem and maybe shove it around the internet a little bit and see what people think. In the meantime, consider it a tasty reward for following my GDNet journal.
Here's the download: Epoch Realtime Raytracer Demo
Grab it, give it a shot, let me know how well it runs! (Just beware the really nasty pauses that happen when the garbage collector fires.)
Create a custom theme





also, the light source seems to be dependent on where the cursor is on my entire desktop, rather than relative to the window.