Psychedelic Graphics: An Introduction
43 comments
·January 23, 2025dtristram
Hi, David Tristram here. founding member of Raster Masters, 1990's computer graphics performance ensemble. As @hopkins has mentioned, we used high end Silicon Graphics workstations to create synthetic imagery to accompany live music, including notably the Grateful Dead, Herbie Hancock, and Graham Nash.
After many iterations I'm currently working mainly in 2D video processing environments, Resolume Avenue and TouchDesigner. The links here are inspiring, thanks for posting.
relaxing
Do you have links to this work we could see?
DonHopkins
Who were the other people in Raster Masters, and what crazy stories from Grateful Dead concerts can you tell? ;)
Every time I've ever plugged in a modern projector into a laptop at a presentation it's so stressful, like rolling the dice if the screen will ever come up. What kind of a projector and calibration and preparation did it take to project live hires SGI video onto the screen above the band?
coffeecantcode
I’ll be honest I’m far more interested in the rolling hills article that accompanies this one.
Specifically about halfway through the process and applying:
uv.x = uv.x + sin(time + uv.x * 30.0) * 0.02; uv.y = uv.y + sin(time + uv.y * 30.0) * 0.02;
to the static image. Having experienced a range of psychedelic experiences in my life this appears to be the closest visually with the real thing, at least at low, non-heroic, doses. Maybe slow the waves down and lessen the range of motion a bit.
Note: I am far more interested in replicating the visual hallucinations induced by psychedelic compounds than by making cool visuals for concerts and shows, utmost respect for both sets of artists though.
There is an artist (and I’m sure many more) who does a fantastic job with psychedelic visuals using fully modern stacks to edit, unfortunately their account name entirely escapes me. I’ll comment below if I find it.
The comparison that I would make with this portion of the Rolling Hills article would be the mushroom tea scene from Midsommar, specifically with the tree bark. The effect of objects “breathing” and flowing is such a unique visual and I love to see artists accomplishing it in different ways.
satyarthms
If anyone wants to play around with psychedelic graphics without going too low-level, [hydra](https://hydra.ojack.xyz/) is a cool javascript based livecoding environment with a gentle learning curve.
jerjerjer
Is there anything which supports music input? I liked Winamp era visualizers, but the art seems to be dead today.
leptons
There's a lot of examples of using javascript for "psychedelic graphics" on dwitter.net
AndrewStephens
I love how easy it is to write shaders that operate on images in HTML. My skills in this area are mediocre but I love seeing how far people can take it. Even providing a simple approximation of a depth map can really make the results interesting.
Some years ago I did a similar project to smoothly crossfade (with "interesting effects") between images using some of the same techniques. My writeup (and a demo):
https://sheep.horse/2017/9/crossfading_photos_with_webgl_-_b...
cancerhacker
Early 90s, Todd Rundgren realized a Mac App called Flowfazer - it didn’t simulate your experience but was helpful as a distraction to move you along. Some people used it to provide guidance for their own creations.[2]
[1] https://grokware.com/ [2] https://m.youtube.com/watch?v=3Z4X4FmIhIw
It was a time of screensavers and palette animation.
trollied
This needs a link to shadertoy https://www.shadertoy.com
Falimonda
Wow! Thanks for sharing that!
dtristram
Regarding the OP doc and UV coordinates. A major area of investigation for us back in the day was finding interesting ways to displace the uv texture coordinates for each corner of the rectangular mesh. We used per-vertex colors, these days one would use a fragment (pixel) shader like those in ShaderToy.
A very interesting process displaces the texture coordinates by advecting them along a flow field. Use any 2D vector field and apply displacement to each coordinate iteratively. Even inaccurate explicit methods give good results.
After the coordinates have been distorted to a far distance, the image becomes unrecognizable. A simple hack is to have a "restore" force applied to the coordinates, and they spring back to their original position, like flattening a piece of mirroring foil.
Just now I am using feedback along with these displacement effects. Very small displacements applied iteratively result in motion that looks quite a bit like fluid flow.
DonHopkins
That was how Jeremy Huxtable (inventor of the original NeWS "Big Brother" Eyes that inspired XEyes) PostScript "melt" worked: choose a random rectangle, blit it with a random offset, lather, rinse, repeat, showing how by repeating a very digital square, sharp, angular effect, with a little randomness (dithering), you get a nice smooth organic effect -- this worked fine in black and white too of course -- it's just PostScript:
https://www.donhopkins.com/home/archive/news-tape/fun/melt/m...
%!
%
% Date: Tue, 26 Jul 88 21:25:03 EDT
% To: NeWS-makers@brillig.umd.edu
% Subject: NeWS meltdown
% From: eagle!icdoc!Ist!jh@ucbvax.Berkeley.EDU (Jeremy Huxtable)
%
% I thought it was time one of these appeared as well....
% NeWS screen meltdown
%
% Jeremy Huxtable
%
% Mon Jul 25 17:36:06 BST 1988
% The procedure "melt" implements the ever-popular screen meltdown feature.
/melt {
3 dict begin
/c framebuffer newcanvas def
framebuffer setcanvas clippath c reshapecanvas
clippath pathbbox /height exch def /width exch def pop pop
c /Transparent true put
c /Mapped true put
c setcanvas
1 1 1000 {
pop
random 800 mul
random 600 mul
random width 3 index sub mul
random height 2 index sub mul
4 2 roll
rectpath
0
random -5 mul
copyarea
pause
} for
framebuffer setcanvas
c /Mapped false put
/c null def
end
} def
melt
Here's Jeremy's original "Big Brother" eye.ps, that was the quintessential demo of round NeWS Eyeball windows:https://www.donhopkins.com/home/archive/news-tape/fun/eye/ey...
DonHopkins
Aaaah, remember the simple directly manipulative pleasures of Kai Power Goo:
LGR: Kai's Power Goo – Classic 90s Funware for PC!
brotchie
If this is your kind of thing and you ever get a chance to see the musical artist Tipper alongside Fractaled Visions driving the visuals, you’re in for a treat.
Most spot on visual depictions of psychedelic artifacts I’ve witnessed.
Saw them together last year and it’s the no. 1 artistic experience of my life. The richness, and complexity of Fractaled Vision’s visuals are almost unbelievable.
Even knowing a lot about shader programming, etc. some of the effects I was like “wtf how did he do that”.
Here’s the set, doesn’t fully capture the experience, but gives a feel: Seeing this in 4k at 60fps was next level.
yieldcrv
ooo I was there
null
byearthithatius
The styling makes this not readable on a computer with a browser window < 1000px. You need a width attribute on .container set to 100% and set box-sizing: border-box. Right now you only have a max-width 1000px which doesn't make sense for anyone with a viewport with less width than that.
z3phyr
Slightly offtopic: Is there a way to do create meshes and animate them directly inside blender, pragmatically? Sort of like shadertoy, but instead of drawing, sculpting and rigging manually, I write some code that generates meshes and run shaders on them for effect?
zipy124
Yes, all of blender is extensible with python, and last time I used it in a project in university it was surpisingly easy to do too.
mwfogleman
Here's a music video the OP and I made with these techniques: https://www.youtube.com/watch?v=5GOciie5Pjk
Ben - so glad I stumbled on this article. Love this kind of graphical stuff (I'm a huge sucker for psychedelia) and I really enjoyed your videos on your channel. Thanks for sharing!