generative sine displacement texture in blender

Nikolaus Gradwohl2019-07-07T04:21:38+00:00

I started playing with generated textures in the shader node editor of blender. For this animation I used two sine nodes to calculate the displacement texture and the factor for the color mix node from the uv coordinates of a torus. Then I used a noise texture node to distort the texture coordinates and animated the scale factor

you can download the blend file here

sine node displacement

read more ...

animated mesh of an icosphere

Nikolaus Gradwohl2018-10-31T02:18:35+00:00

I created a set of splines using the animation nodes vertices-to-spline node and then animated it with a builder modifier in blender

you can download the blend file here

Building an ico sphere

read more ...

blender denoiser experiment: subsurface shader

Nikolaus Gradwohl2017-09-11T06:05:41+00:00

I made a new Blender Experiment to explore the possibilities and limits of the new blender denoise function. This time I tested the denoiser on a material using a subsurface shader node in combination with a pretty low sample number, because the subsurface node in a material creates very noisy images and increases render time a lot


you can download the blend file here

blender denoise experiment


For this experiment I creatd a simple is-sphere and added a voronoi texture as the displacement texture to make the object a bit more interesting. The material was created using the new cycles Principled BSDF node.

read more ...

microdisplacement denoise test

Nikolaus Gradwohl2017-09-05T05:54:43+00:00

I wanted to test the limits of the new blender denoise function so I used a very detailed texture with lots of sharp edges for microdisplacement.

you can download the blend file here

displacement denoise test

read more ...

AN experiment - Boxes

Nikolaus Gradwohl2017-04-17T15:19:57+00:00

For this animation node experiment I copied instances of a hollow box and rotated them slightly using a loop

you can download the blend file here


read more ...

Dynamic Paint particle growth

Nikolaus Gradwohl2017-04-12T05:50:44+00:00

For this animation I used a dynamic paint canvas on a plane that emits hair particles based on a wet map. I used another particle system as the dynamic paint brush

you can download the blend file here


read more ...

AN experiment - delayed instanciation

Nikolaus Gradwohl2017-04-10T08:38:27+00:00

For this animation I distributed instances of a box on instances of a bezier circle and delayed their appearance by animating their scale

you can download the blend file here

delayed appearence

read more ...

AN experiment - distance

Nikolaus Gradwohl2017-04-09T09:44:34+00:00

For this animation I used the distance node from the animation nodes addon to change the height of the boxes based on their distance to an empty.

you can download the blend file here


read more ...

AN experiment - instances

Nikolaus Gradwohl2017-04-08T12:10:35+00:00

For this animation I used the animation nodes "distribute instances on spline"-Template and animated the instances using a math node and wiggle node. I rendered the animation using cycles and freestyle.

you can download the blend file here

AN Test instances

read more ...

denoising blender animations with opencv and python

Nikolaus Gradwohl2017-04-07T05:42:22+00:00

Nikos Priniotakis posted a teaser of a denoising script for blender animations a few months ago, that shows really impressive improvements on a noisy cycles animation (see his original tweet here) I sent some twitter messages back and forth with him and he sent me the links to the opencv denoise function he used for the demo. So I finaly found the time to wirte a short python script that uses pyopencv to denoise all the pictures in a folder and copies it to another folder.

The script I used to denoise my animation is here

import cv2
import os
import numpy as np
from matplotlib import pyplot as plt
files = os.listdir("metabubbles/")
for f in files:
    if f.endswith('.png') and f.startswith('0'):
        print f
        img = cv2.imread("metabubbles/%s" %f);
        dst = cv2.fastNlMeansDenoisingColored(img)
        cv2.imwrite('res/%s' %f, dst);

The denoising process is no magical pixiedust that can be sprinkled on your noisy cycles-renders to fix everything but when used correcly it can improve preview renders a lot, but if the script is used on an image sequence that is too noisy it introduced a whole lot of new artifacts. I used the script on an amiation I rendered last year. Here is how the original video compares to the denoised version.

denoising blender animations

read more ...