Hacker News new | past | comments | ask | show | jobs | submit login
The most advanced MySQL raytracer on the market (pouet.net)
276 points by polemic on Oct 10, 2019 | hide | past | favorite | 47 comments



If you're unfamiliar with navigating the fabulous Pouet.net, the relevant background is in the so-called "infofile": https://www.pouet.net/prod_nfo.php?which=83222

(or click [nfo] in the right top)


I really appreciate comments like this for the quick time save they offer. Thank you for this comment, it was the most useful in this post for me.


> This is a raytracing engine contained in a single Mysql SELECT statement. In the beginning of the code there are a few parameters that can be modified. The scene can be specified using the @triangles and @squares parameters, but everything is explained in the comments. The whole query returns a bitmap file which can be written to the filesystem using the "INTO DUMPFILE" syntax at the end of the query, if mysql has filesystem write permissions.

> The raytracer supports shadows and reflections, which makes it, to my knowledge, the most advanced MySQL raytracer on the market right now.

https://demozoo.org/productions/268459/info/2923/



That is the same link I posted without the path to the readme.


Fun fact:

The official XPath/XQuery test suite of the W3C contains an raytracer written in XQuery.

So most xml databases should support raytracing


Now this is art! I think us geeks have finally hit upon the formula the high brow art people are used to. Now we just need to start a physical market so that:

a) demoscene creators can get rich

b) "art investors" can launder their money


the problem with "demoscene art" is that the final product is often only impressive if you know how it was done. really you want to display it in a way that shows off the mechanism. i guess quines don't have this problem.


I'd argue a good chunk of "Art art" is quite similar: the thing you see is quite unimpressive and really only considered important because of context.


A nice demoscene example is "Piledriver", which contains all of the last 2 decades worth of demoscene tropes, no exceptions. Hexagonal cones, walking robots, purple explosions, drum'n'bass with rap vocals, television walls with earlier scenes, it's all there. And it's extremely well executed, which hides that it's a parody. So I guess it only works as a work of art if you saw the demos it mocks.

https://www.pouet.net/prod.php?which=82882

https://m.youtube.com/watch?v=4zkSd3-6I2A


A lot of art derives value from craft, but when craft is systematized, it becomes product design and targeted towards consumers instead. Demoscene folks have often crossed over to the industrial side of computer graphics and gaming.

A good proportion of the art-as-art world either finds new and original ways to push craft, or focuses on medium facilitating message(which in turn falls neatly into the product-marketing framework).


agreed that it is true for a lot of "high art" too. but much of it can still be appreciated at face value.


I think you could physically implement demos (especially very very small ones) in such a way as to demonstrate just how compact their implementation is. E.g. use ancient computer hardware, load from 5.25" floppy when you press a button to start it, etc.


The best example (counter-example?) of this that I can think of is one of the realtime raytracing demos that came out circa 2000 when it was all the rage. I can't remember the name but basically after doing well in a compo the authors revealed that it was just a rasterizer running at low rez with some hacked reflections, which everyone had believed was super impressive because they thought it was raytracing and the deliberately low resolution made it look the part.


Iirc that was Transgression 2 by MFX: http://www.pouet.net/prod.php?which=672


For better or worse, there's no scarcity in software. And thus, “we hackers do for love what others wouldn't do for money.”


I'm thinking the democoders could create scarcity. I'm imagining e.g. Future Crew making a Third reality. Or Triton making Crystal Dream III. Release at like a 300p video for the world and like AM audio mono sound quality and sell the binary to the highest bidder. Or perhaps smarter, release it at 1:1 quality for the first minute, but only for the first minute.

;)

Edit: of course this would be a horrible future. Also, there's no way these now old guys could recreate the magic they experienced together in the early 90s.

Example:

https://www.youtube.com/watch?v=LIIBRr31DIU

(make sure to enable the thirdparty english subtitles)


You can create scarcity by marrying the software with a physical object.

William Gibsons poem Agrippa [1] is easily accessible, though it was distributed as part of a program that'd overwrite the floppy it was distributed on.

But it was sold in various ridiculously expensive collectors editions.

While the point of Agrippa is ostensibly the poem, the mechanism of delivery was very important to the appeal of it as well as the media attention (of course the fact that Gibson was well known by then was important), and you could imagine something similar for a demo. Add a hardware element, and packaging that forms part of the whole.

https://en.wikipedia.org/wiki/Agrippa_(A_Book_of_the_Dead)


Pushwagner printouts are sold for a ludicrous amount of money here in Oslo. No reason demo scene guys shouldn't be able to do that also.


Anybody in North America who's interested in this kind of technical magic should consider attending one of the few demoscene parties (meetings/competitions) in the U.S. such as Demosplash [1]

1 - https://www.youtube.com/watch?v=A-GTf7b9PKk

If you are in Europe, especially Northern Europe, there's a ton of very well attended parties. There's even a few in Japan!

It's really for people who are extremely passionate about technology for technology's sake and like to show off a little.


This is actually a pretty neat mechanism that builds a string (including BMP magic number and header) and shoves it into a dump file, doing a ray trace per byte. I wish there was a commented/not collapsed version of it to better enjoy reading. Right now it's just a blob.


"Released under the do whatever the fuck you want license. If you use it for commercial purposes, like rendering your Hollywood studio's new big animated A-Movie, please let me know at holtsetio@gmail.com. " -- https://demozoo.org/productions/268459/info/2923/


Is there a "this is probably a bad idea; if you use this code I'm not responsible" license?


Sounds like you want the MIT license


Yep, that's the one.


Is there a TL;DR legal entry for that? LMAO.


Here is probably the best source for that: http://www.wtfpl.net/faq/


Related: there's a codegolfing answer to draw the biohazard symbol -- in Microsoft SQL Server. It has graphics! For real. https://codegolf.stackexchange.com/a/191323/7733


Clever (and unreadable) :-)

Here's another raytracer written in Linq (2007) https://blogs.msdn.microsoft.com/lukeh/2007/10/01/taking-lin...


Now that PostGIS outputs pngs directly, we can imagine future databases handling 3d assets (select * from objects where can_fit_in(x);) and even rendering them.

https://postgis.net/docs/RT_ST_AsRaster.html


By the way, you can find all releases of that party here: https://demozoo.org/parties/3800/

Youtube captures of all events and competitions are here: https://www.youtube.com/playlist?list=PL1nWnZ0_fy8DvL13vfLD8...

And here's another production which is an insane tech-feat: https://demozoo.org/productions/268576/ Moving cubes with pathtracing, lighting and ambient sound in 64 bytes


Wherefore the fuck?

Though I'm suddenly curious if this can be done in other SQL engines, too.


Well, yes of course, there's probably an ripe untapped market there. Lot's of potential!


This is nice. So this is one SELECT statement in which the triangles and/or spheres are defined, and the raytracing-engine is written. Then it calculates the Pixels and dumps them into a .bmp-file.


It is surprising to discover that there is actually a market for multiple MySQL Raytracers, much less that this is the best of them. Clever stuff.



Calling it "the most advanced [...] on the market" is probably tongue in cheek. Notice that this is being given away free and there is no mention of price anywhere.


Did we break it? (site doesn't load for me)


Site just loads really slowly.


Ok so now I am curious if it could be done in other engines Cassandra,SPARQL ...


Unrelated question: Is there an Ignobel for Computer Science?


I wonder if something like this might even be slightly practical using BigQuery or similar..


UDFs are throttled, so to get max perf out of BQ one would need to make sure it was pure sql.


So to accelerate this, do I need an SSD or a GPU or a DBA?


Yes.


Many "cube"s, whatever they are


If you tesselate models down to triangles, you're going to want to persist them in a triplestore.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: