Sdfgeoff's node shaders and other experiments

Howdy guys. When I get inundated with programming and design work, I like to spend a little while playing with blenders node shaders to unleash my creative side. In this thread I’ll post images and blends of what I come up with.

These very often do not look realistic, and are more artistic. I make no claims for good performance.

Latest Images:
https://s24.postimg.org/qbf0wq49h/anim.gif
https://blenderartists.org/forum/attachment.php?attachmentid=463284&d=1481250819&thumb=1


THE FIRST ONE:

Energy Tentacles (animated):
/uploads/default/original/4X/5/f/a/5fa5fdb2da02697d6f9ea17e5e183b28ad86d02c.jpgstc=1
They are an animated flat plane, so probably best for sidescrollers. I can’t think of a good way to get this effect in 3D.
Based on this analysis.
Blend: Energy Tentacles.blend (695 KB)

Attachments


1 Like

Nuclear Explosion (animated):


Starts off as a small bright explosion and grows to a pillar of black smoke before fading out. Uses a novel method of changing colors using a lookup in a texture.
Uses UV scrolling to create a nice flow effect as it grows.
Only looks good from below the level of the torus.
Also based off a post off the same link as the first post (he does lots of nice stuff).
Blend: AnimatedColorRampExample.blend (745 KB)

Attachments


love the fade :eyebrowlift:

Cool. I was going to do these after reading that same blog the other day.
Glad you beat me too it. :smiley:

A random 2D filter I whipped up:


It’s a combination of edge-detect and thresholding. Originally I designed the system to convey information in 1 bit of information per pixel, but I decided to re-add the colour to add more variation.
FilterTest.blend (982 KB)

Attachments


Technicolour mist. Done by rendering the depth-buffer to a texture and putting it in a node shader. Yes, this could be done in a 2D filter.
/uploads/default/original/4X/e/9/3/e934c4caaaa15d39abcdbfd357bc0fe9ca84230d.jpgstc=1
Mist.blend (564 KB)

Attachments


Cool. Depth buffer gonna be very useful for other things too.

Deteriorating painted concrete walls.
These use no object-specific maps. The level of deterioration is controlled by the vertex colour. It is combined with a texture to give higher resolution edges to the chips.


Only a single texture is used here. It is one of my favourite noise types due to it’s versitility.

ConcreteWall.blend (1.29 MB)

Attachments


nice great job

Real time reflective water:


Blend:
WaterDemoi.blend (702 KB)

Uses ImageMirror to do the reflections, and a node texture to map it to the plane with distortion. The plane copies the ‘players’ position, so the water moves with you - so with some tricks should appear infinite.

Attachments


Volumetric Mist:
/uploads/default/original/4X/3/9/5/39580829e851382be728f0c218c61f0a36092b51.jpgstc=1
Brute force volumetric mist using lots of transparent planes. I suspect the only reason I can run it is the GTX970 pushing it all along.
I’d be interested to get some performance feedback.
Mist.blend (1.04 MB)

Attachments


Mist runs at 5 FPS on GT 610.
The water runs at solid 60 FPS, though.

Here is improved version with fresnel.

Attachments

WaterDemoi.blend (704 KB)

I get 51 to 49 for framerate for mist on a laptop i use.

Your laptop is 10 times more powerful than my PC :smiley:

1 Like

Don’t feel bad the hewllet packard desktop i use gets 10 for framerate.And what is strange about it is
the hewllet packard laptop gets waymore.Like five times more.

1 Like

how did you make the water’s reflection high resolutioned??
I know the capsize is broken…

The water is great!
Another way to get a UV scroll is to use a object color as a vector, but there the trade off is you need an extra material for capturing object color.

BTW:
Capsize works fine on my computer (with blender 2.77)

/uploads/default/original/4X/c/b/c/cbcc4e8518934b50d613f6ee356ce610f3332113.jpgstc=1

And a little trick I learned the other day is that if you use “normal” as in input rather than “color” you don’t need the corrective vector:

Attachments



NOOOO im using 2.76b

@kitebitz:
The water’s resolution is currently just floating. I think by default it is 512x512? Not too sure really.

@Smoking_mirror:
Thanks for that node trick. Makes a lot of sense now I think about it.

I’ll update my blender and see if that fixes capsize (I’m on 2.77, but I’m sure there is a newer one somewhere)

On a side note: I figured out that you can pass however much information you like into a node shader by manually addressing pixels. For instance if you create the vector (0,0) and pass it into the mapping of a texture, you extract the pixel value at (0,0). You can set that pixel value in python.

1 Like

Ah yes. I know theres something on the api for dealing with textures. I’ll try that out tonight.