Cycles Development Updates

Well, this was the context, just search for “Anisotropy is interpreted differently from the Glossy BSDF”. Not sure how much that helps though.

Downloaded latest but it didn’t have it in yet. But I fear it will have the same issues as Principled, and also glossy as of late.

Issue I have is that now values are hard locked while they used to be soft locked. Principled in v3.6 at 1.0 roughness and max aniso looked way too weak compared to anisotropic shader, but aniso cound be forced to 1.111 (1.112 would fail) to achieve the same look. Principled also allowed negative aniso, but the normalization was way different. Similarly, roughness also go beyond 1.0, in line with disney’s notes.

Never understood the negative anisotropy in the old anisotropic shader. 1 aniso rot 0 is the same as -1 aniso rot 0.25. As for the rotation discrepancy I figured it was only to unify results to other renderers, and only impact it had for me was having to add 0.25 to rotation values, no biggie.

These were tricks available to me in the past, to create i.e. a compound anisotropic metal; 1 aniso with “regular look” for regular reflections, 1 aniso with a “very tight look” for super bright highlights (stretched like crazy, but still allowed for a fairly polished look, think polished copper tanks), and 1 glossy on top for grazing angles (examine a brushed stainless steel sheet metal part).

1 Like

Some of the stuff we used to do with values had to be done in the past because of limitations in the shading system at the time. For some of these things they can now be done in a proper manner that works better with Cycles sampling.

As for a few of the other things I do in fact get the impression that the devs. are saying “please don’t abuse the shading system you may not understand what is going on” and in response placing guardrails that can’t be turned off by users who know what they are doing (even if a warning has to pop up beforehand).

Though I would not be surprised if some of the newer features like OIDN denoising and Path Guiding simply won’t work well with that kind of trickery, but advanced users should be knowledgeable enough that their mileage is going to vary, and that they can’t count on reporting potential issues as a bug.

I don’t know about this specific slider range, but some values simply don’t make sense outside of a certain range. So it stands to reason that they would be capped

There are other things too, one of them being how you could once use the AO color node to drive the density of a volume shader.

The devs. a couple of years expressed surprise that such a thing worked at all, but instead of letting it be or improving on it, they decided it should no longer work at all in the name of ‘design’. Now we do have the means to replace it with a volume, but it is more complex and the solution at the time of removal was not clear.

More recently, the devs. decided the point density texture should no longer be allowed to color the surface of the mesh, which again was something sacrificed on the altar of design. Now we have to wait until we get a dedicated SDF texture type at some unknown point in the future to do it correctly while people who made use of it research workarounds.

Hmmm, what did it do exactly? I’ve never used AO from a volume, but afaik it requires a mesh to compute distance.

I’m not sure what that means. Can you point to the relevant tasks for both of these?


The Ambient Occlusion node (before Cycles X) could be used with volumes as something like a “distance to nearest surface” measure, and so be used to create volumetric “auras” as pictured. Kinda hacky; now I use Geometry Nodes volumes or image textures or just program in the distance field directly, in descending order of how complex the application needs to be.

4 Likes

Attendees

  • Christophe Hery (Meta)
  • Nikita Sirgienko (Intel)
  • Patrick Mours (NVIDIA)
  • Sahar A. Kashi (AMD)
  • Sergey Sharybin (Blender)
  • Weizhen Huang (Blender)

Notes

  • For 4.3
    • Metallic BSDF has landed
    • Artisitc Conductor Fresnel type to Metallic BSDF needs to be looked at
    • HIP-RT is getting closer to be ready
      • It works pretty well on the AMD test machine at the studio, main concerns from Cycles side, and from CI/CD are resolved
      • Waiting for platform maintainers to finish review
  • Nikita was looking into failing tests with oneAPI
    • The Light Linking tests seems to fail due to noise difference
      • Maybe we already diverting from the “clean” result on other platforms, but just managing to stay within the threshold?
      • Usual way of either increasing sample count or test tolerance seems to be the way to go.
      • Weizhen will help Nikitra to cover more platforms
    • Difference in rendering hair on different platforms
      • To keep GPU rendering fast, it seems that the practical solution seems to be align CPU to GPU
      • Not high priority issue
  • Weizhen is working on volume algorithms
    • Ray marching is the old method, slower but lower variance
    • The new tracking based methods are faster, unbiased, but higher variance
  • OptiX 7.4
    • Christophe runs into some weird and wonderful issues. Might need some changes from the Cycles side, not clear yet.
8 Likes

I hope these volume algorithms can also be used for an SDF modeling toolset in Blender. It’s about time for Blender to jump onto the SDF train.

4 Likes

Don’t you already have enough playthings? :stuck_out_tongue_winking_eye:

2 Likes

:slightly_smiling_face: Once Blender supports SDF modeling, I’ll be happy to work completely inside Blender again. And I’m sure lots of Blender modelers will be as enlightened by non-destructive SDF modeling as I am.

2 Likes

Maybe I’m missing something here, but I just don’t get the SDF hype.

1 Like

It’s just a different way of doing things. Instead of approximating arbitrary volumes by meshes where each triangle has to be flat and you might need loads especially to approximate curved shapes, you approximate them by volumes that are easy to model such as spheres or capsules or whatever else might be practical.
The big advantage is that those shapes have “infinite” resolution. Perfectly smooth shapes, perfectly smooth normals, no need to worry about certain artifacts, and some things are just way easier to model with the common primitives.
By using operations like the modulo function you can also create scenes with literally infinite detail without any issues (the only limit then is how far rays travel before they consider something to be infinitely far away/ the camera far clip)
You can also push the distance metrics that define these primitive through some noise to get extremely intricately detailed surfaces again practically for free.

Disadvantages might be difficulties with texturing and specific distortions like volume preserving muscle stuff or something where you might use shape keys.

Both techniques have their usecases and it’d be nice to have full support for both

There also is a recent paper that generalizes SDFs to efficiently and accurately ray trace arbitrary harmonic functions
https://markjgillespie.com/Research/harnack-tracing/index.html

9 Likes

Have a look at this thread and these videos for SDF modeling info and impressions.

To me personally, since I started using MagicaCSG, polygon subdivision modeling feels like a previous chapter.

Sorry for the off-topic deviation by the way. Let’s get back to Cycles.

Are there production level path tracers which support SDF?

MagicaCSG has a great path tracer, including volumetric materials.

1 Like

Sorry, I wasn’t clear. My question is whether there are conventional path tracers which were made for polygon shapes, which on top of it also support SDF?

Not that I know of. Traditional polygon-based path tracers usually mesh the SDF volumes before rendering. For example, the Blender SDF add-on ConjureSDF has its own SDF volume renderer (using ray-casting), and the result needs to be meshed to be rendered with EEVEE or Cycles.

1 Like
12 Likes

I don’t think that’s the case for aniso value. Sounds to me they clipped it for Principled in order to match some other renderer like Disney. But at least we could ramp it beyond 1 if we wanted to. Now we can’t anymore, and now that I’ve tested Metal BSDF, it suffers the same problem; 1.0 aniso (now hard clipped) in Principled/Metal corresponds to about 0.7 aniso in Glossy BSDF. So we can’t achieve a very sharp (low roughness) highlight that stretches immensely, an effect often seen with semi perfect polished rolled sheet metal. Think boilers, tanks/vessels, and brewery equipment in semi high polished stainless steel or copper.

Do you have a reference picture of this ?