
A remake of the Windows pipes screensaver using Three.js - reimertz
http://isaiahodhner.ml/pipes/
======
TheAceOfHearts
I don't know if it's my memory failing me, but something about it feels a
little bit off. I looked at videos on YouTube and I think it's because of the
timing. I get the impression that right now it's moving much faster than it
did originally.

Does anyone else get the same feeling?

In any case, it's still fun! A great bit of nostalgia.

Personally, I was a bigger fan of the maze [0]. Although watching this video
made me a little dizzy.

[0]
[https://www.youtube.com/watch?v=oRL5durPleI](https://www.youtube.com/watch?v=oRL5durPleI)

~~~
daveguy
Original pipes didn't have knots did it? And there's some pipes that come out
through other pipes which I don't think happened in the original. Very cool
implementation though.

~~~
Buge
As in spheres at the corners? I remember it having those. Some corners had
them and some didn't, same as in this.

~~~
DiThi
I think it was a setting.

~~~
TazeTSchnitzel
Yep: [http://i.imgur.com/mWXqZh0.png](http://i.imgur.com/mWXqZh0.png)

"Elbow" is just an L-shaped joint. "Ball" is the spheres. "Mixed" is a random
choice per-joint. "Cycle" means successive screens will use different choices.

~~~
mschuster91
Given your tweets I had expected a screenshot in a browser ;)

~~~
TazeTSchnitzel
Trying to preview 3D Pipes on win95.ajf.me causes a timeout, alas.

------
kabdib
I could have sworn that Microsoft released the source code to this screen
saver, long, long ago.

[Edit: Yup, it was in the SDK: SDKs\Win32 SDK\OpenGL\Code Samples\PIPES]

~~~
maaaats
OpenGL, interesting. Someone knows more about this choice?

~~~
thrownaway2424
Pipes predates Direct3d by a lot. It was first release, IIRC, in Windows NT
3.5. At that time it was novel that a PC had OpenGL.

~~~
TazeTSchnitzel
It was one of the four OpenGL screensavers 95 had (presumably NT 3.5 had the
same bunch). They used opengl32.dll which provided OpenGL with software
rendering, IIRC.

~~~
thrownaway2424
Right, these had no requirements for hardware support at all, because if they
had had any nobody would have been able to run them. The release of these
screensavers for Windows NT predated the release of Windows 95 by a few
months, which is why I mentioned it.

Windows NT 3.51 also introduced the inexplicable animated cursors feature
later included in Windows 95.

~~~
kabdib
Animated cursors, like puppies and kittens, need no explanation :-)

~~~
TazeTSchnitzel
Though they do consume rather a lot of conventional memory, which might cause
problems :)

------
reimertz
Here is the repo:
[https://github.com/1j01/pipes](https://github.com/1j01/pipes)

~~~
matiasb
Do you know any interesting threejs guide/book?

I'm still learning it, my last hack was a (J)SCAD file previewer inside Atom:

[https://atom.io/packages/atom-scad-preview](https://atom.io/packages/atom-
scad-preview)

~~~
reimertz
This is not my repo, so all creds go to the author:
[https://github.com/1j01/](https://github.com/1j01/)

But to reply to your question, what really amazed me a year a go was this
demo:
[https://www.youtube.com/watch?v=SKPYx4CEIlM](https://www.youtube.com/watch?v=SKPYx4CEIlM)

After watching that, I feel in love with all the possibilities that comes with
interactions one can do with anything that is represented in a virtual 3D
environment.

So instead of learning Three.js, I started to work with Unity since they are
multi-platform and have UnityScript which is a lot similar to Javascript. Due
to my background as a web developer, it was a very comfortable transition.

~~~
tim333
UnityScript seems cool but it looks like I need to download a 350mb executable
to run it so I guess it's for a different use case.

~~~
drivingmenuts
It's pretty much only for use inside Unity itself as a game development
language.

I have a small hope, since Microsoft appears to be opening up DotNet, that
Unity will itself one day be able to work with any of the DotNet languages.

~~~
mattmanser
You can use C# in Unity. I was under the impression that most people do.

------
joeframbach
The teapots are a nice easter egg! I took a few screenshots:
[http://i.imgur.com/PEBxHnTm.png](http://i.imgur.com/PEBxHnTm.png)

------
markbnj
Just FYI I get a blank black screen in Chrome 45.0.2454.101. Two javascript
errors in the console. "Error creating WebGL context THREE.WebGLRenderer @
3.js:421" and then "Uncaught TypeError: Cannot read property 'getExtension' of
null," which is probably just an after effect of the first one. Have ABP
extension installed, along with a few development plugins.

Runs great on Firefox. Seems to draw quite a bit faster than the original,
which I had as my screensaver for years on my NT 3.5 workstation.

~~~
TazeTSchnitzel
> "Error creating WebGL context THREE.WebGLRenderer @ 3.js:421"

Sounds like Chrome is unable to get GPU acceleration. Are you on Linux?

~~~
markbnj
That test was on Windows 7 Professional, with a GTX 660 and latest nVidia
drivers.

~~~
TazeTSchnitzel
Odd. Check about:gpu?

~~~
markbnj
Here's the status section from the top. Don't want to post the whole mess so
if you want anything else let me know and I will cherry pick. Also, installed
extensions: ABP 1.9.3, Evernote Web Clipper 6.7, rest console 4.0.2, xpath
helper 2.0.2 and a couple of standard Google shims.

Graphics Feature Status Canvas: Hardware accelerated Flash: Hardware
accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline
profile: Hardware accelerated Compositing: Hardware accelerated Multiple
Raster Threads: Enabled Rasterization: Software only. Hardware acceleration
disabled Video Decode: Hardware accelerated Video Encode: Hardware accelerated
WebGL: Hardware accelerated

------
greggarious
Even the teapots?

~~~
dewey
"A remake of the Windows pipes screensaver (sspipes32.scr) with Three.js

Includes Utah Teapots and candy cane!"

------
andrepd
It's running at 15fps in my browser. I remember the original ran at 60Hz 15
years ago in a computer a couple orders of magnitude slower.

~~~
pcwalton
Buggy GPU drivers weren't an issue back then with software implementations of
OpenGL.

------
kenOfYugen
Brings back memories ...

------
anonbanker
Marcello Vianna's version of Pipes (included in Xscreensaver) was always much
nicer[0], and ran much faster on my box. I wish someone would port it to js.

0\.
[https://www.youtube.com/watch?v=UsUGENa7jvE](https://www.youtube.com/watch?v=UsUGENa7jvE)

------
jtoronto
JS demo scene?

------
ultimatejman
Ahhh that's super cool!

------
mshenfield
This is awesome!

------
matiasb
Really cool!

------
paki123
I remember being like 7 and just watching this go off for as long as possible.
This and the maze.

