Cycles Requests

Thank you so much guy !

1 Like

Emphasis on ā€œfor baking normal mapsā€ and other normal shenanigans, for the Edge Split modifier is still very useful for, well, actual edge splitting in procedural modelling

1 Like

Hi.

These features might be outside of Cycles, but asking here as this seems to be most relevant topic.

  1. Seems like itā€™s not possible to setup different bit depths for different AOVs saved in EXR format. To save disk space it would be useful to be able to save all other AOV passes as half-float and specified passes (like Cryptomatte, etc.) full-float. Could this be implemented or is there an existing method to do it already?

  2. To save render output for still image renders it seems to be always suggested to render as 1 frame animation unless want to save image from render output window after render is finished. Could there be an option for single frame render which still saves the frame end of rendering? Render animation is not most logical option for still renders and saving from output window has a risk to forget saving if closing render or start another render. Best if could send the render to background and still continue to work (with limited cpu threads). This is useful for freelancers and other single workstation users who canā€™t send renders to farm as would do in normal studio environment.

1 Like
  1. you can do that by using the file output node
  2. nice request, I add my voice. Rendering with a background blender instance would be very useful!

By the way you can work on your file while rendering. You can even save changes!

1 Like

Thanks for reply. Iā€™m still more of a newcomer to Blender, so many things are outside my current knowledge even though having extensive experience CGI in general.

  1. The File Output node seems to do almost what I need, but would work only if saving as separate EXR image files for different AOV sets. Can be done with 2 file outputs, but do you know if there is a possibility to save different bit depths inside one EXR? I attached an image to show how I tested and had one Color Depth option for all layers (beauty and AOV should be half-float and Crypto layers full-float).

  1. Actually you are right that it is possible to use Blender while rendering, thanks. Suggestion for developers (unless you @lsscpp are one) is to have a separate process for rendering. In Windows Blender has one process ā€œgroupā€ which includes render, but itā€™s not possible to affect it separately to select amount of CPU threads just for it. Or is there a way I can do that?


:slight_smile:

1 Like

Amazing! Thanks.

Need to add some text as wanted to make clear I noticed, but less than 20 character posts not allowed. :slight_smile:

I canā€™t put my hands on a fire, but I guess itā€™s not possible. And not on Blender side, but on EXR side.
Iā€™d be glad to get disproved.

Btw, somoene in the past asked for mixed compressed/uncompressed data for passes. You know, some are not meant to be squeezed.
I noticed that when using compression (especially DWAA) thereā€™s no real KB gain using half instead full bitdepth

In my opinion, Blender should always save Cryptomatte data as 32-bit float, whether the user selects 16-bit or 32-bit, just like it does for the Z-depth data, since Cryptomatte requires it.

3 Likes

Yes, you said it more clear, thanks.

Cryptomatte doesnā€™t work in 16-bit and Z-Depth saves automatically 32-Bit, so Blender seems to be able to handle the need technically when saving EXR.

My 2000x2000px render comparison for file sizes with about 20 AOV layers:

  • half-float (16bit) is 225mb
  • full-float (32bit) is 415mb.
  • Both multilayer EXR with ZIPS compression.

I donā€™t know at the moment how much difference would be if cryptomatte layers are 32bit in half-float image, but there should still be clear difference. Same shot in 5000x5000px size half-float is already 1.4gb, but I donā€™t have full-float comparison made for that size.

1 Like

Would be nice to get some help when setting the tile/samle size, so that the system wonā€™t end up under-utilised. For Cuda it would be something like if the device would be saturated according to cuOccupancyMaxPotentialBlockSize().

It is already using cuOccupancyMaxPotentialBlockSize() and scheduling several samples at a time if a single sample per tile isnā€™t saturating the GPU. See device_cuda_impl.cpp, CUDADevice::render().

Assuming you have enough samples.
E.g., If you are doing a progressive render, that wonā€™t help.

Could this improve Cycles caustics and denoising speed?

6 Likes

I didnā€™t notice there was this Cycles Requests thread.
Iā€™m going to throw my request in here.

Can we add a boolean at render time?
Similar to what in other render engines is called Clip Geo or Clipper.
Basically, the boolean is handled via shader.
Examples in this thread

5 Likes

That would be neat!
Setting up such effects with booleans is tedious (clipping away many objects requires a modifier for each object) and error prone (booleans on non-closed or non-manifold meshes).

1 Like

May I point your attention to this thread (How useful could be a Material Input node?) to discuss the idea?

1 Like

To improve Cycles realism Iā€™d also love to see proper micro-roughness added.

Have a look at this interesting Blender Artists thread for more info:

1 Like

Are you sure Cycles does not have that already?