
Planet Shadertoy - ttsiodras
https://www.shadertoy.com/view/4tjGRh
======
laurentlb
Nice!

It reminds me of two other recent demoscene productions, also shader-based:

Waillee, in 4kB:
[http://www.pouet.net/prod.php?which=71873](http://www.pouet.net/prod.php?which=71873)

Fermi Paradox, in 64kB:
[http://www.pouet.net/prod.php?which=67113](http://www.pouet.net/prod.php?which=67113)

~~~
sbarre
FYI I downloaded the Fermi Paradox intro from that website (the actual
executable one), and Windows Defender quarantined it, claiming it contains a
Win32/Tiggre!rfn trojan.

I don't know enough about this stuff to figure out if it's a false positive,
but there you go.

~~~
laurentlb
Some antivirus complain about any file compressed using kkrunchy
([http://www.farbrausch.de/~fg/kkrunchy/](http://www.farbrausch.de/~fg/kkrunchy/)).
This is a known issue.

Some background here:
[https://conspiracy.hu/about/antivirus/](https://conspiracy.hu/about/antivirus/)

The only solution is to report the false positive to antivirus vendors, but it
takes a lot of time.

~~~
userbinator
Alternatively, stop using antivirus. The amount of stuff that gets flagged as
false positives is incredible once you go outside of the applications written
by big corporations and the like. It's almost as if they use a whitelist...

Also, seeing that some AV will alert on even the presence of an empty folder
that happens to share the same name as actual malware[1] or a completely
innocuous Hello World[2][3], it's hard to recommend any. That and the
detection of cracks and keygens (which goes beyond "antimalware", IMHO)
further strengthens my opposition against what is essentially censorware.

[1]
[https://news.ycombinator.com/item?id=2390907](https://news.ycombinator.com/item?id=2390907)

[2] [https://www.csoonline.com/article/3216765/security/heres-
why...](https://www.csoonline.com/article/3216765/security/heres-why-the-
scanners-on-virustotal-flagged-hello-world-as-harmful.html)

[3] [https://stackoverflow.com/questions/22926360/malwarebytes-
gi...](https://stackoverflow.com/questions/22926360/malwarebytes-gives-trojan-
warning-for-basic-c-sharp-hello-world-program)

------
Keloran
I’m not sure what I’m more impressed by the shader itself was r the fact that
it runs at 60fps on an iPhone 7

~~~
loeg
And a solid 5 fps on Chrome on Linux on Haswell, heh.

~~~
beefsack
I got solid 60FPS using Firefox Developer Edition on Arch, it would be
interesting to see what the issue is for you (might be hardware, I'm running a
Vega.)

~~~
Frondo
Between 30 and 50 fps on Firefox 58, on Kubuntu, on a slow-ass Intel Celeron
3205U (1.50ghz) laptop.

Amazing. Just amazing.

------
danbolt
I really admire the value this piece has as a composition. Or, the clouds,
rings, and water terrain individually work as cool demoscene shaders, but
flipping them on/off depending where the camera is gives it a great sense of
scale.

------
microcolonel
ShaderToy is the new demoscene, in my opinion. It's cool to figure out what
you can do running the exact same shader code for every fragment on the screen
exactly once per frame.

~~~
adamnemecek
It’s better than demoscene. Demoscene is super secretive, Shadertoy is open
and lets me study the shit out of shaders.

~~~
ageofwant
The demoscene thinking is - I've been led to believe - that given most of the
coding is done on assembly level, anyone with the binary already has the code.

~~~
laurentlb
Apart from old-school productions, there's very little assembly in modern
demoscene. 64kB intros use mostly C++ (or Rust). Even for 4kB intros, assembly
is not used very often (and the interesting code is in the shaders anyway).

~~~
teamhappy
Who's writing demos in rust?

~~~
jsheard
Logicoma's demos are almost entirely written in Rust, last I heard they were
only using C++ for their audio synthesizer. Examples:

[http://www.pouet.net/prod.php?which=69658](http://www.pouet.net/prod.php?which=69658)
/
[http://www.pouet.net/prod.php?which=68375](http://www.pouet.net/prod.php?which=68375)

Their coder Ferris answered some questions about the implementation here:

[https://www.reddit.com/r/rust/comments/597hhv/logicoma_elysi...](https://www.reddit.com/r/rust/comments/597hhv/logicoma_elysian_1st_place_trsac_2016_pc_64kb/)

------
therein
Did this cause noise in anyone else's audio output? I have a GTX1070, running
on Arch w/ Chromium. I am using the onboard sound card, not even the GTX for
that.

~~~
gpm
Yes, it's supposed to, they're "wind noises", check the audio tab of the
shaders.

If you stick a "vol = 0.;" before the final line of the shader (that says
"return Wind(time _.05)_ vol;") it should be silent.

~~~
JepZ
or you simply click the mute button in the GUI ;-)

------
ttoinou
If you're looking for a high res video out of this awesome shader, look at the
intro of my recent Shadertoy Best Of video on YouTube :
[https://www.youtube.com/watch?v=7BB8TkY4Aeg](https://www.youtube.com/watch?v=7BB8TkY4Aeg)

------
kalkut
The democratization of non gaming 3D content and both powerful and cheap
consumer electronics are long term driving forces.

I am both biased and hopeful since I am working on something very related, but
my take on this is that the 3D part of the web will grow much faster than the
non 3D part [1]. This growth will mainly be driven by non gaming 3D content
that do not need high quality graphics to be relevent or entertaining.

VR and AR are better understood when we realize that they are just means to
the end of consuming a wider variety of 3D content in a more engaging fashion.

The percieved lack of interest about VR is absolutely not about technical
limitations (such as HMD weight, resolution, controllers, wire or whatever)[2]
but it clearly is about the layman having no 3D content as relevant to his
daily life as let say Facebook, YouTube, LinkedIn, Amazon etc. The first big
VR company will launch a product that will be useful both in and out of VR and
the web is the platform the most likely to host it.

[1] Most (say over 70%) of the web will stay 2D for a VERY long time though
[2] Most people who try VR HMDs enjoy the experience just fine (for the
least). They just have no reason to try it again, and even less reason to pay
money for that.

------
Sharlin
I was already sufficiently impressed... and then I realized that by default
it's in "VERY_LOW_QUALITY" mode. Select "HIGH_QUALITY" using the #defines at
the top of the file if your machine can handle it :)

------
jsd1982
For a second there I thought it was going to be a cut for cut remake of the
Star Trek TNG intro.

~~~
corysama
It’s not working on my iPhone. But, I think this is what you are looking for

[https://www.shadertoy.com/view/ldSfRG](https://www.shadertoy.com/view/ldSfRG)

------
lxe
Shadertoy in the new WinAmp Visualizations.

~~~
megaman22
Wow, I miss those... Software from that era was just more _fun_... Things have
gotten a little sterile since

~~~
IntronExon
I still run Winamp with Milkdrop on an old laptop. It’s still a lot of fun
too. It really whips the llama’s ass.

------
grondilu
Very impressive. Any chance the author would be interested in porting
Oolite[1] to the web? I started to work on it[2] but gave up eventually[3].

1\. [http://www.oolite.org/](http://www.oolite.org/)

2\. [http://grondilu.github.io/oolite/](http://grondilu.github.io/oolite/)

3\.
[http://aegidian.org/bb/viewtopic.php?f=5&p=260273](http://aegidian.org/bb/viewtopic.php?f=5&p=260273)

~~~
blarg1
the best way to do it would be with emscripten. You just need to make sure it
only uses at most GLES3 gl calls, and also replace the sound/input/controllers
apis with emscripten/web ones.

------
cleeus
Remember that WebGL is also a security nightmare. Shaders are fed to the GPU
driver. The driver contains a compiler and compiles the shaders into the GPU
specific ISA. The GPU that runs that code is a PCIe device with full DMA
access. What could possibly go wrong?

(I'm aware that at least Chrome does some syntactic checks on the shader
syntax)

~~~
FraKtus
Are there examples where this model has been abused to steal real data?

~~~
jburgess777
A long time ago, a bug in Firefox let a screenshot be taken of data outside
the browser window:

"This issue allows attackers to capture screen shots of private or
confidential information"

[https://blog.mozilla.org/security/2011/06/16/webgl-
graphics-...](https://blog.mozilla.org/security/2011/06/16/webgl-graphics-
memory-stealing-issue/)

~~~
FraKtus
I suppose this is more about reading another texture than the one you are
supposed to use. GPU memory is flat, and there is no concept of process memory
up there.

------
applecrazy
Truly amazing work, especially considering the whole thing isn't running off
of a game engine. Everything was made from scratch.

That being said, I wish I had the patience to do something like this :)

~~~
lawlessone
It isn't completely from scratch, i recognize several noise functions, of
course everyone uses them.

------
usernam
Marginally related: is there something native (and for linux/unix) equivalent
to shadertoy? When debugging a sharer it's quite handy, but the web interface
is just too laggy for me.

I'm currently using my own simple test rig, but I'd like something more
refined.

~~~
laurentlb
Bonzomatic is an equivalent of Shadertoy designed for live-coding
competitions:
[https://github.com/Gargaj/Bonzomatic/blob/master/README.md](https://github.com/Gargaj/Bonzomatic/blob/master/README.md)

------
auvi
What is a good introductory book to start learning stuff like this?

~~~
otaviogood
Books might not be the best resource for Shadertoy-type stuff. Almost all of
Shadertoy 3d shaders use a technique called ray-marching with signed distance
functions. If you Google it, you should find good resources. Also, someone on
Shadertoy made a very good tutorial using Shadertoy, which I think is kindof
amazing...
[https://www.shadertoy.com/view/4dSfRc](https://www.shadertoy.com/view/4dSfRc)
There are other tutorial shaders on Shadertoy and I always try to make mine
readable and heavily commented...
[https://www.shadertoy.com/user/otaviogood](https://www.shadertoy.com/user/otaviogood)

~~~
chii
wow, a shader tutorial and it's written in shaders!

------
newnewpdro
What I find most incredible is that consumer-grade computer hardware has
gotten so fast this kind of thing can be done in a web browser.

~~~
vardump
I'm honestly not sure if that's an attempt at sarcasm or whether you're really
serious.

Isn't it just rendering two triangles with a fragment (pixel) shader executing
purely on the GPU. I mean, why would that be any slower in a web browser than
anywhere else? (Unless the shader compiler is pretty bad?)

Are pure WebGL fragment shader demos really significantly slower in a web
browser? If so, why?

~~~
newnewpdro
I'm not being sarcastic.

Viewed through the lens of someone that lived through PCs requiring programs
written in x86 assembly and be the only thing running on the bare metal to
achieve anything close to 60FPS for full-screen faux-3D in 320x200 in 256
colors and well.. yes, this is absolutely incredible that a damn web browser
can do this stuff in a tab - and it's entirely due to how fast processors
(including GPUs) have become.

I'm aware the shader is being throw at the GPU and that's the majority of the
complexity, but the GPU is part of the incredible progress consumer hardware
has made.

The browser being in the loop just furthers the impressiveness; there's a
bunch of other software running on the computer while this is going on in a
damn tab.

~~~
tluyben2
This[0] is a great book for people who do not know the history of gaming and
the struggles devs had in early pc game dev when you had no gpu’s and very
crappy graphics cards.

[0]
[https://www.amazon.com/gp/aw/d/B0768B3PWV/ref=mp_s_a_1_1?ie=...](https://www.amazon.com/gp/aw/d/B0768B3PWV/ref=mp_s_a_1_1?ie=UTF8&qid=1519487524&sr=1-1&pi=AC_SX236_SY340_QL65&keywords=wolfenstein&dpPl=1&dpID=415zLWtgKhL&ref=plSrch)

~~~
ConcernedCoder
Yes, coming from the days of 6502 8-bit assembly with 64k of memory total for
the operating system, the video memory, and whatever was left over for a
program to run on the Apple ][+, this IS amazing.

------
vijaybritto
45-60 fps on my 120$ Xiaomi Redmi phone. This is amazing work! The amount of
math in this code can not even be dreamt by me!

------
parmesan
It doesn't render properly on my Samsung S8+, Chrome/Firefox. Weird!

------
saagarjha
Huh, this works in Safari but not in Safari Technology Preview. Weird.

------
HugoDaniel
:O 24fps on the all mighty Intel HD3000 :O

------
danschumann
Can someone make a video and upload it to youtube please? While slowly
scrolling through the shader code? I'm on a linux laptop :0

~~~
voctor
The author made a video of it:
[https://www.youtube.com/watch?v=VVrPhvfAXko](https://www.youtube.com/watch?v=VVrPhvfAXko)

~~~
porjo
The shadertoy version is missing the mountain terrain scene present in this
video.

~~~
ygra
Only when using the VERY_LOW_QUALITY preset.

------
IntronExon
That’s so incredibly impressive, and the frame rate is pretty stable too! I’d
love to see a similarly detailed dive into a black hole with these tools.

------
nodesocket
They should apply at Space X.

~~~
make3
they write pretty 3D graphics ray tracing software, how does that make them
good for space-x? pixar or nvidia, maybe

~~~
TheCoreh
SpaceX does make promotional 3d animations for their projects/concepts.

Here's an example:

[https://www.youtube.com/watch?v=zqE-
ultsWt0](https://www.youtube.com/watch?v=zqE-ultsWt0)

~~~
oatmealsnap
I'm sure they outsource that.

~~~
seanmcdirmid
Also sure they at least use vertex shaders :)

