[the tunnel]
[History of realtime raytracing (part #3)..............]
We need raytrace, anyway.


"balls are the new bobs" - Insectecutor

"When art critics get together they talk about Form and Structure and Meaning.
When artists get together they talk about where you can buy cheap turpentine." - Pablo Picasso


Did you think we were dead? Yes, we were, indeed. And then your scientists invented electricity.
Merry Christmas.




We've left raytracing extinguishing just after the release of Heaven seven. Demoscene of the years '00 gets oriented towards an orgy of 3d scenes, more and more crowded and detailed as the graphic cards give away more raw power for free. Or maybe, demoscene is simply dazzled by the German Rise of the group Farbrausch, that leads the way with robots, discoball-alike dancing men and supermarket carts.

But everything has an end, even the insatiable thirst for power. And at the millionth polygon, the scene searchs for new directions.

And how do you innovate, if not going back to the roots of old and dear raytracing?

Where it all started (again)
The ones that first recognize in the new graphic cards not only polygon crunching powers are the almost unknown Castrum Doloris, who incidentally name the new scene's manifesto "ps_2_0" (as the code directive that says to the graphic card to use pixel shaders 2.0), and propose again the undead classic of the shadowcasting spheres in a hollow cylinder. But somehow, a little bit for the (coder) colours, a little bit because the scenes' resolution makes it look like a mid-nineties intro, the tentative of pioneers Castrum Doloris doesn't gain any followers.

The scene goes ahead wandering between hundreds of polygons, with brief stops in the accelerated raytracing's field, as in the Tron-esque and beautiful "Fair play to the queen" by Candela, where the running robot escaping from something passes behind three metaballs with specular bumps (yes, that's made with pixel shaders).

Rudebox - toruses stomping
And then, suddenly the scene has a revelation. The "revelation" is not so different from the innovative Castrum Doloris' intro (of two years before), but:

1) it doesn't have coder colours
2) it shows much much higher resolution
3) it's 4k in size (OMG, 4k)

Its name is "kinderpainter", and the author is noone but iq of rgba.

A new era is born. Everybody realizes that raytracing, and fast raytracing is possible on the GPU, and suddenly everyone starts making 4k intros with raytracing. But why is raytracing so fast on modern GPUs? We asked that to the author of kinderpainter himself:

"Well, it fact depends a bit. Raytracing is also damn fast in CPUs today. With multithreading, SSE coding and cache friendly design you can get several million rays per second in a regular CPU, which allows realtime raytracing of huge 3d models with millions of polygons. You can find here a few screenshots of my own CPU realtime raytracing.

Now, democoders are not in general interested in real raytracing - we are quite behind the raytracing community. We are still tracing rudimentary spheres and planes like in the 80s which is completely unimpressive for those who are really doing raytracing today. If you speak about raytracing as understood in the "demoscene" (spheres and planes), then yes, GPU is very fast, faster than the CPU.


Muon Baryon - love the grid at the bottom
Real raytracers are usually memory bandwidth bound, and not compute bound, because huge kdtree/bih structures have to be traversed and few polygons accessed per ray. That's why the fastest raytracers out there are CPU and not GPU.
However, in simple scenes like in the demoscene without kdtree/bih or complex data structure and geometry, brute force rendering the GPU really shines indeed. That´s because no memory accesses means the ALUs of the shader units can work without stalling. Of course all these ALUs work in parallel because every pixel of the screen is independent of the other pixels in a raytracer. So, for demoscener kind of raytracing the GPU is really a good option. Also, as the setup needed is minimum so it's perfect for 4k productions. Lastly, as GPUs get more powerful by means of adding more shader units (arithmetical power) these sort of simple raytracers will benefit more and more, just like rendering of fractals which are pure computation problem.

However, the CPU is still probably the best/fastest option for real raytracing with not ten, or a hundred of "stupid" spheres but millions of polygons. However NVidia is trying to have real raytracing running fast in the GPU too, although it's only for a limited amount of polygons (say, a million)."


After this "breakthrough", it becomes possible to reproduce in realtime the first chapter's patinated covers of early '80s magazines. It's a cycle that completes inside the scene. "Photon race"'s still image now moves, between translucency and refractions, in "Photon race 2". Every surface that seemed made of plastic now reflects everything around or diverts the rays of light, reaching a realism never seen before at this detail and at those resolutions. The 3d scenes are not penalized anymore by triangles' jizziness, but gather new and unexplored roundness.

And finally, raytracing
The possibilities offered by pixel shaders motivate the scene to go behind the classic spheres and planes (on the contrary of what iq says).

In "Yes we can", the Obama-sponsored 4k, Quite use raytracing to create kaleidoscopic plasmas, curved and distorted surfaces that alternate with rainbows of flexuos lines, billions of dust particles that generate infinite geometries.

In "Nevada", Loonies recreate cavernous moon passages, undergound wet and barely lighted tunnels, but more than anything, creased tentacles that mix their roots in a substance that reminds of lava, and stretch out towards a distant and incandescent star.

In "dollop", SQNY uses isosurfaces to build an enviroment that reminds of the underwater abyss, passing with a seamless cut to the soft clouds of a sunny day, only disturbed in an imperceptible way by an electric and psychedelic shell that surrounds the observer.

Raytracing is born again.
Someone calls it "raymarching", but the line between the two techniques is thin.

4k intros, genre that was drying up as the use of 3d raised the bar further and further, come back, and in democompos the number of those little gems exceeds the one of other productions. The "still images in 4k" genre, newly born, can move towards a robust youth, leading to masterpieces like "organix" or "slisesix".

A spark generates an explosion, if you have explosive.

posted by friol at 12/24/2009 09:41:00 PM - under: , - comments? here (13)


[Ladies and gentlemen, the interval....................]
Yeah, who needs raytrace...

Guys, life took over as always, and part III of the raytracing series is gonna take a bit longer than expected (quite a bit longer...). So, in the mean time, you can probably check out some links. For example, take a look at this great article. It's one of the best making-of I've ever seen, for Applied Mediocrity, Kakiarts' intro.

Otherwise, you can always drop your jaw on the latest astounding 256-bytes intro by Rrrola: Puls.
The tunnel will be back in a second... almost...

posted by friol at 9/14/2009 07:19:00 PM - under: , - comments? here (2)


[History of realtime raytracing (part #2)..............]
Who needs raytrace, anyway?

(let me be proud of being Italian, just for one second, please)

The "optimizing" phase (mid 1997 - mid 2001) is the second era of demoscenic raytracing. Up to here, we've seen blocky slow spheres, really more similar to blurry squares, going nowhere on infinite parallel planes. Casting shadows. And all of this at fps-es you can count on the fingers of a hand.
Then, an intro came, out of nowhere, an intro that changed the state of things. Its name was obscure and ermetic: "Gamma" (no, not this one).

Let me make a SoLo-stylee description of "Gamma":

black screen
synth demo music
gamma logo
vertical and horizontal pipes with flares between
flashy metaballs
more flashes
psychedelic palette cycling
morphing and reflecting cube
end credits


(memo: write a Polygen grammar to generate automatic SoLo demoreviews)

The incredible raytracing engine of "Gamma"
"Gamma" has a unique trance-ish feeling. Differently from before, you can't say at the first glance that this production is raytracing. Fps-es are too high (it runs flawlessly on a 233mhz pentium), and, more then any other thing, there are no reflecting spheres and checkerboarded planes. Finally, mfx abandoned the mode-x scanlines and that blobby blurring we've seen in the "Transgression" series, and let pure raytracing powa flow outside of our screens.

The other groups will be astonished for a long period, and continue making raytraced planes and spheres for some time more... but! Let me open here the Italian parenthesis in raytracing's history!




Those guys have seen "Amici miei" too many times
Italian groups have made mainly "mainstream" and "one 'human' character show" type of demos.
But two groups were making raytracing instead: Spinning Kids and Bug2Fix.

Bug2Fix reached the aphex of their career in the first phase of raytracing history, when they brought "Just like Antani" at Assembly 1997 (making out an honorable 5th place in the intro compo - just behind mfx, by the way). "Just like Antani" is quite a good intro, but it belongs, as said, to the "inception" phase or raytracing history, with black/white floors and so on.

Spinning Kids hit the scene in 1997, with two contributions: one totally raytraced intro ("I feel like I could"), and one "not-so-realtime-but-beautiful" raytraced scene in their "Back to the mansion" prod (otherwise almost forgettable). The IFLIC engine is still phase-1 raytracing, but shows some nice innovations, like the dynamic resolution switcher (from 80x50 up) and the (forgettable) dithered mode.

video
Raytracing in *cough* "realtime"
Then, things evolve into "Sviluppo insostenibile" ('unsustainable development', but it sounds better in Italian). It was september 1998.
Dixan, Spinning Kids' musician, says something about the technical features of this one: "'Sviluppo Insostenibile' was coded at Pan's place, in Venice, and on the train, while we were going to Abort98. The most relevant feature is Pan's texture generator, clever coding exercise that had its own virtual machine, technologically advanced 2d filters and a highly optimized memory management scheme, so optimized that, at the end, we managed to put only *one* texture in the intro".


Maybe they've seen too many b-movies instead
Their raytracing engine really evolved, anyway, and lead to "Taint", presented at "The Trip '99", the (*last*) real Italian party (yeah, you've heard well, 1999; that's where I stop being proud of living in Italy :). "Taint" remains probably the higher expression of that technology, with its volumetric lights (maybe a primer in a demo) and atmosphere. I remember that the Spinning Kids guys had filled the Trip '99 party hall with black and white photocopies of one scene of "Taint", and everybody was asking what that blurry thing was.

Yeah, Italian history of raytracing, sadly, ends here (but with pride).


And then, on the 24th of April 2000, raytracing disappears from the scene.

Yes, that's the date when "Heaven seven" by Exceed was shown at Mekka & Symposium 2000.
"Heaven seven" was the fastest raytracing seen up to there. This intro became in people's imaginary like an icon of design and demo-crafting. Even many years after M&S, people have taken the binary of "Heaven seven", like a fetish, and expanded it, upgraded it. We can see now "Heaven seven" in 1080p HD. And it still runs as fast as a polygon rasterizer.
"Heaven seven" is still number 3 in the "pouet's top ten" of all time, and it's almost a decade old. Many young people have got in touch with the scene seeing that intro for the first time. We can't really explain why "Heaven seven" exploded like that. The only suggestion we can give is "watch it".
Blocky jagged spheres were forgotten forever after the 24th of April 2000.

The trancey atmosphere of 'Fresnel 2'
As said, after that date, raytracing disappears from the scene.
We still have some other examples of good raytracing intros or demos around 2000.
Suburban was perfectioning their rtrt engine (*then* "Heaven seven" came).
Kolor produced the "Fresnel" series, FAN brought us "Nature still suxx".
But "Nature still suxx" is already something different from a demo, something that pushes its bounds more towards a benchmark (and "Nature still suxx" will really become a benchmark).


The daemon of ray tracing will sleep from here after under the demoscenic beds.

posted by friol at 8/22/2009 10:22:00 PM - under: , - comments? here (2)


[History of realtime raytracing (part #1)..............]
How realtime raytracing has changed the demoscene and viceversa

"As we all know, the audience voted for best productions at Juhla Pi. And, as always - audience was stupid." -- Jmagic, on why the world's first realtime raytracing demo didn't win 1st place at Juhla Pi (from: "(Illogical) PC Demoscene Quotes List" or "how the 'first' realtime raytracing demo cannot be called 'Transgression 2'")

(not so) realtime raytracing on C64

Realtime raytracing, the wet dream of demoscene, deepens its roots on patinated PC magazines with still images of platonic solids that had unreal crystal reflections. Lifecycle of raytracing in the demoscene crosses at least three phases, the first one of which (the "inception" phase, that spans from the mid-90s to 1997's end) we'll analyze in this post.

The word on which the first realtime raytracing experiments bump is "fake" (or even "precalculated"). In order to build a convincing raytracing, in fact, one that you can really define "realtime", a minimum quantity of processing power is required, quantity that personal computers of old ages didn't have.
Not the widely used Commodore 64 or Amiga, but not even the first generations of PCs (i386 included).

For that reason, sceners had to reproduce visual-loops of pre-rendered images on those less powered platforms. For that reason, the intro quoted as "the first one with realtime raytracing" is an animation. The second intro of that series, instead, rushfully separates precalculated (duh) raytracing from the realtime one, but unfortunately the "realtime" version looks more like a slideshow of the magazine's images of above.

Attempts at raytracing again on C64
In the first creative phase, we can't count many productions using realtime raytracing. It seems that in order to show a sphere reflecting the surrounding landscape you need higher technical skills than the ones used to code (or rip) a 3d rotating cube. Or maybe the problem is that the closed circle of demoscene lacks information on this subject, and for those reasons realtime raytracing remains confined (and marked as "fake") to the black magic realms.

To make things more complicated, the raytracing-intro authors themselves mix cards, stating that the engine used in their productions is nothing else than "the slowest polygon engine in the world".

From the "Gamma 2" infofilu:

The 1st real rtrt intro (Transgression/MFX)
"It was in the beginning of 1995 when 216 had this pretty wild idea of a realtime raytracer. But soon it was discovered that the project was not only impossible but his programming skills weren't at that level. So he decided to do it the other way around.
Transgression 1 was created.

It wasn't anything but a regular polygon engine with a clever trick used. After filling the scene it just took samples from here and there and painted big blobs on those points and thus the outlook was so crappy that no-one was to tell whether it was traced or not."


The first few realtime raytracing demoscenic productions are all alike for using some cliches: reflecting spheres, shadow-caster spheres in all different sizes and colours (with fog, without fog, with lights, with more lights), perfectly perpendicular cylinders, checkerboard-textured planes and so on. By the way, those are the easiest primitives to trace.

Anyway, the limits of machines where those productions run are still there, and, for how great a coder could have been, tracing more than a textured plane at full framerate was impossible. For that reason, the around-'97 raytracing intros are rendered at resolutions that are fractions of real screen resolution (for most of them the fraction is fixed, but there are exceptions that we'll see next), and then interpolated to cover its entire surface. Raytracing is then rapidly associated in people's imaginary to the jagginess of any oblique surface.

For each intro of that period, also, the object's movement, seen on more powerful PCs, makes them look as they're submerged in highly viscous liquid. Coding a raytracing intro on a low-end i486 must have been hard (but that's demoscene: pushing the limits): probably it was like seeing a bunch of polaroids in sequence.

Bumped and raytraced trees anyone?
This phase of history of raytracing in demoscene ends symbolically with the highest evolution of polaroid-technology: "Sink" by Pulse (Pulse is the group that gave us presents like "Famous Cyber People", "73 Million Seconds" and "Square"), highly unknown and underrated intro that tries to go ahead of the "textured-plane/reflecting sphere with shadow" concept, and proposes more consistent scenes, like an underwater and futuristic landscape, or a Paper-esque cartoonish grass foreshortening with (bumped) trees and sun.

After "Sink" we won't see any raytracing from Technomancer again, but someone may be working on Pulse's nextgen engine:

"soon unreal's granny will join with her texture+phong+bump+zbuffer+shadows+ hexalinear heptapentametaoctamapping+fog+rain+particles+depth focus+hair modeller+volume rendering+ radiosity+ raytracing+ perspectivecorrect 3d system that she is coding since world war II
at the moment she's workin on the speed, now she's said to have 50spf (seconds per frame)"


posted by friol at 8/17/2009 08:47:00 PM - under: , - comments? here (0)