Cycles Development Updates

More procedural textures based on structured patterns would be a nice thing to have (as you can’t do everything with the brick, checker, and wave textures without a lot of work).

There is also that current patch that allows for perfectly even crack patterns with voronoi’s crackle setting, but we can also use a depth setting like the noise texture has.

The Embree integration project (in an initial state at least) is now in code review.
https://developer.blender.org/D3682

Stefan, in a comment, also gives hard numbers for an Agent 327 scene with motion blur, a >3X performance increase while RAM usage declines from 7.1 GB to 6.1 GB

12 Likes

I asked in different thread about caustics, but feel that maybe this is the right place to ask about it. Is there any development to make caustics in cycles better?
I know about Metropolis Sampling https://developer.blender.org/T38401 but is that project dead?

yes it is dead.

I asked on DevTalk, and this is w hat Brecht answers:

Dont know whether this is possible in Cycles - but could cycles ever support a ‘black light’ type effect.

The way i’m thinking it would work is that a lamp or an emitter could have a ‘blacklight’ checkbox. If this checkbox were ticked, the lamp/emitter would not illuminate normal materials in the scene.

Material nodes like diffuse could have a ‘fluorescence’ checkbox. The ‘blacklight’ would only affect materials that had ‘fluorescence’ ticked, although a ‘fluorescence’ material would be illuminated by normal lights.

Isn’t this essentially light-linking? Or are you thinking about an “per-shader” checkbox rather than “per material”?

Per shader - although thinking about it, would an ‘is blacklight’ option on the lightpath node be better. That way you could mix two materials (e.g. a diffuse and an emission) based on whether the material was receiving blacklight rays or not.

1 Like

What would be even better is if Cycles had an equivalent of BI’s “light groups” option. Cycles would add a tag to the rays depending on which light they hit.

Then you can have a group of lights called Black or something similar and you can use a node to create a mask.


While on the subject of lighting, I wonder if it would be possible for area lights to have solid shapes (rectangular prism, sphere, cylinder, and more). The idea is that you then can assign a volumetric shader to the lights to give a more natural appearance to the sources seen via reflecting and refracting rays, but with better sampling compared to mesh volumes.

Charlie has been busy, he submitted a new patch that adds some insane functionality to the Voronoi node.
https://developer.blender.org/D3743

It includes a triangle distance metric, cell coords, cell jittering, rendering as a tiled texture. cell-based coloring, ect…

If the CUDA compiler doesn’t vomit on this level of added code, then it will lead to another big leap in procedural texturing.

2 Likes

IMHO we need to get OSL to run on the GPU, one way or the other. Some work for PTX/CUDA is in the OSL repository already, and it should be possible (probably not easy though) to get it to OpenCL (or Vulkan/Metal, whatever we’ll be using on non-NVIDIA hardware then).

Just look at it: One one side, you have a shading language. On the other side, you have hardware with programmable shaders. To me it’s obvious that the two should be connected.

7 Likes

New voronoi looks super hot! Could the jitter input function as a 4th coordinate? Allowing it to evolve over time without moving in 3D space. Also, I think the regular noise generator should have repeatable option as well.

1 Like

As long as you’re not doing too crazy things, OSLPY actually does a decent job of translating osl to shader that’ll run on the GPU. Yeah sure it has limitations, but for basic stuff, it does the job rather nicely.

[/shameless plug]

1 Like

It’s not a periodic input but if you plug in a value node running through a keyframed mapping node you can rotate the jitter to create a periodic effect.

The Gabor noise patch has also been resurrected.
https://developer.blender.org/D3495#85625

As exciting as all of these new procedural texturing features are though, it would help if each new patch came with examples of real world materials and details that become far easier to make (either via surface shading, volumetric shading, or micro-displacement). I say that because I think the patches are more likely to be accepted if their uses can easily extend beyond abstract or artsy images.

1 Like

Don’t think it’s trivial to implement something like


but Gabor noise is a component.
2 Likes

Ace - I think it’s difficult to give real world examples without experimenting.

For example - through expermentation - I came up with a malachite material using the voronoi node.

I would never have guessed I could produce it by looking at what voronoi patterns look like without putting it through various other nodes.

Interesting video. I wonder how the scattering functions they are using compare to the ones cycles uses. Could there be an opportunity to learn something here and increase the speed of volume rendering?

We need that realtime clouds in Eevee,and a fast mie scattering model for atmosphere.HDRIs are still great,but very static.With Clouds like this,with a atmospheric model,you could render every day/night cyclus with thin to huge overcast stormy clouds in realtime.

At the end he explains how they optimized the cloud shader speed.i have posted the paper from these clouds a few months before.

https://www.guerrilla-games.com/read/the-real-time-volumetric-cloudscapes-of-horizon-zero-dawn
https://www.guerrilla-games.com/read/nubis-realtime-volumetric-cloudscapes-in-a-nutshell
http://www.advances.realtimerendering.com/s2017/index.html

1 Like

Cuda 10 is now supported for Nvidia RTX 2000 cards but you have to build Blender by yourself.
https://developer.blender.org/rB9a674a749b171959eff590d006c0bc650ce27a18
Thanks to LazyDodo and Brecht.

Cheers, mib

3 Likes