← All ideas
  • Published 10 Aug 2024

Make Cycles Spectral?

My main reason for suggesting this (I know it would be quite a big undertaking) is because currently, we have no easy way in cycles to simulate fluorescence dependent on certain lights.

There are certain situations where you want things to appear fluorescent under UV light but not under other light and it seems like a headache trying to figure out a way for emission strength to be relative to light brightness and proximity and also only have specific (UV) lights react that way in current cycles.

Other reasons:

  • (The obvious) Glass dispersion would allow for beautiful effects.

  • Rayleigh scattering, like the sky as a volume changing colour dependent on the position of the sun in the sky (I am aware that Nishita sky textures do this automatically, but that does not help very much if you are looking at the sky from off the planet.)

Other suggested features:

  • This is inspired from Luxcore: Bidirectional path tracing. Not only does this allow for more accurate indirect lighting but I also read somewhere that it can be faster than traditional path tracing.

  • Also inspired from Luxcore: Accurate caustics. The caustics you can get in Luxcore are astonishing and sharp in comparison to the blurred light refracting and transmitting through objects in cycles.

How this could be implemented:

I would suggest that, if possible, when introducing the new spectral cycles, you have both versions of cycles available, maybe called Cycles and S-Cycles (Spectral-Cycles).

I understand that keeping the older version of cycles in blender could be very draining of resources, especially if the team were developing both at the same time for future updates. Potentially, if the spectral version of cycles was faster and more accurate, then a full transition might be worth it, but I guess it would depend on feedback and whether the new shader nodes were up to par.

Basically, huge undertaking, would be awesome if this could be worked on, even if it was for an update like 2 years in the future.

Here are two low sample denoised renders with luxcore, one without dispersion and one with: denoised untitled.png Dispersion untitled.png

100%

Development Status: Open

Upvote 5 Downvote 0
thomas83
10 Aug 2024

5 Comments

Lauloque

Quite a lot of discussions already happened on the topic, with BF devs' input, and there's even a community developpement that is its own branch in the official tracker.

1
thomas83 Author

It seems to be slow progress, whereas Luxcore already exists as an addon. What are the chances that luxcore can be merged into blender by default in future updates?

The reason I don't just use luxcore now is because it's fairly unstable for new blender versions and the nodes need quite a bit of work.

It would be nice to have something very physically accurate to go alongside the efficency of cycles.

chris.lend

luxcore uses an apache license which isn't compatible with blenders GPL license. So no luck in getting that into main.

1
thomas83 Author

But, since luxcore for blender is rarely updated these days, it would suggest it could do with extra help. Couldn't conversations be had to discuss changing the license at least for luxcore when it is in blender?

Lauloque

even if there was a compatible license, the BF's devs already have enough work for the next decade with Blender alone. They don't need yet another render engine to maintain and they definitely don't have the manpower anyway.

1