CyclesProject
ActivePublic

Details

Description

What is Cycles?
Cycles is a ray tracing renderer focused on interactivity and ease of use, while still supporting many production features.

Contacts

Documentation
Manuals for both Artists and Developers are available.

Development
Cycles is officially under the Blender Foundation umbrella, and so is developed on developer.blender.org. Source code is available either as standalone repository or as bundled into Blender sources.

To clone Cycles together with blender please consult BF Blender project.

To clone Cycles source from stadalone repository as read-only use:

git clone git://git.blender.org/cycles.git

To clone as read-write (needs ssh key):

git clone git@git.blender.org:cycles.git

Browse code
Online browse of sources is available for:

Module Owners: @Brecht Van Lommel (brecht) @Thomas Dinges (dingto) @Sergey Sharybin (sergey)
Developer Members: @Lukas Stockner (lukasstockner97) @Mai Lavelle (maiself) @Dalai Felinto (dfelinto) @Stefan Werner (swerner) @Alexander Gavrilov (angavrilov) @Martijn Berger (juicyfruit) @Nathan Letwory (jesterking)
User Members: @Matt Heimlich (m9105826) @Marco G (marcog)

Recent Activity

Today

Amir (Warrior) added a comment to T54314: Contents of "Viewer Node" image block do not get updated .

@Philipp Oeser (lichtwerk) @Jeroen Bakker (jbakker) Thanks for investigating this more. I also remember at some point when I was accessing the pixels directly through "Viewer Node" image block and stored them on disk. What I realized however was the pixels were sort of rotated. I remember the depth map rendering that I got was shown 90 degrees rotated. So I have a request from you: I would appreciate if you can provide a nice Python API that allows people to easily access the rendering results without having to store the renderings on disk. Maybe bpy.ops.render.render() could take an argument like keepInMemory=True. Then people can access the rendering results through something like renderings = np.array(bpy.ops.render.results). The should also account for having a couple of output nodes. For instance, if in the node editor I have 5 Viewer nodes, renderings should be a 5 x 4 x resolution x resolution tensor.

Thu, Apr 19, 5:41 PM · Python, Nodes, Cycles, BF Blender
Philipp Oeser (lichtwerk) changed Type from Bug to To Do on T54314: Contents of "Viewer Node" image block do not get updated .
Thu, Apr 19, 1:30 PM · Python, Nodes, Cycles, BF Blender
Philipp Oeser (lichtwerk) claimed T54314: Contents of "Viewer Node" image block do not get updated .

Interesting problem.

Thu, Apr 19, 1:30 PM · Python, Nodes, Cycles, BF Blender
Vuk Gardašević (lijenstina) merged task T54717: nVidia GPU not detected into T54295: Missing CUDA Computing Device.
Thu, Apr 19, 9:10 AM · Cycles
Dimitro (dimailer) updated the task description for T54717: nVidia GPU not detected.
Thu, Apr 19, 9:05 AM · Cycles
Dimitro (dimailer) triaged T54717: nVidia GPU not detected as Normal priority.
Thu, Apr 19, 9:03 AM · Cycles

Tue, Apr 17

Philipp Oeser (lichtwerk) closed T54671: Poor shadow smooth when using bump as Archived.

I believe this is caused by an extreme value for bump (causing the normals to point in all kinds of directions). Or I'll quote @Brecht Van Lommel (brecht) from T54498:

Tue, Apr 17, 1:02 PM · Rendering, Cycles, BF Blender
Henrique Balduino Gonzaga (henriquebg88) created T54671: Poor shadow smooth when using bump.
Tue, Apr 17, 12:11 AM · Rendering, Cycles, BF Blender

Mon, Apr 16

Brecht Van Lommel (brecht) updated the task description for T54180: Cycles Blender 2.8 tasks.
Mon, Apr 16, 7:02 PM · Code Quest, BF Blender: 2.8, Cycles
Brecht Van Lommel (brecht) triaged T54656: Cycles/Eevee texture nodes for modifiers, painting and more as Normal priority.
Mon, Apr 16, 1:17 PM · Cycles, Code Quest
Brecht Van Lommel (brecht) updated the task description for T54180: Cycles Blender 2.8 tasks.
Mon, Apr 16, 1:02 PM · Code Quest, BF Blender: 2.8, Cycles

Thu, Apr 12

LazyDodo (LazyDodo) added a comment to T54560: Cycles limits textures at 62 inside one material.

When rendering with OSL it compiles the shaders to native code and executes that, the SVM shader stack isn't used

Thu, Apr 12, 3:51 PM · Cycles
Serge Lyatin (SergeL) added a comment to T54560: Cycles limits textures at 62 inside one material.

Could you explain please, why does Open Shading Language helps in this situation? Enabling this thing was kind of desperate move, but helpfull in this case, so I am intersted in a bit more info

Thu, Apr 12, 3:48 PM · Cycles
Sergey Sharybin (sergey) closed T54560: Cycles limits textures at 62 inside one material as Archived.

Increasing SVM stack size will marginally increase GPU memory usage.

Thu, Apr 12, 3:33 PM · Cycles
Brecht Van Lommel (brecht) closed T54577: Cycles smoke render differs on CPU from GPU as Resolved.

That's correct, you can change the volume sampling method to Distance in the material if you want the same result on the CPU. Equiangular and multiple importance sampling reduce noise a lot when there are lights inside or near the volume, but increase it when that's not the case.

Thu, Apr 12, 7:59 AM · Cycles, BF Blender
Mai Lavelle (maiself) added a comment to T54577: Cycles smoke render differs on CPU from GPU.

Pretty sure this is the difference between decoupled volume sampling on the CPU vs regular volume sampling on GPU (decoupled isn't supported on GPU). Doesn't look like a bug to me.

Thu, Apr 12, 7:44 AM · Cycles, BF Blender
LazyDodo (LazyDodo) triaged T54577: Cycles smoke render differs on CPU from GPU as Incomplete priority.

2.79 5bd8ac9 is quite old, please try 2.79b and/or a build from http://builder.blender.org and see if the problem persists.

Thu, Apr 12, 3:39 AM · Cycles, BF Blender
Alex Murray (TheComet) updated the task description for T54577: Cycles smoke render differs on CPU from GPU.
Thu, Apr 12, 3:31 AM · Cycles, BF Blender
Alex Murray (TheComet) created T54577: Cycles smoke render differs on CPU from GPU.
Thu, Apr 12, 3:29 AM · Cycles, BF Blender

Wed, Apr 11

Amir (Warrior) added a comment to T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes).

@Brecht Van Lommel (brecht) Just an update: I can get somehow around the forking issue using subprocess and doing one rendering at the time. However, the problem with using subprocess is I have to literally import everything I need from scratch. This makes the rendering much more time-consuming than doing the rendering normally. Sorry if it's too obvious that I'm just trying to convince you to prioritize this :) I hope that happens :)

Wed, Apr 11, 5:24 PM · Python, Nodes, Cycles, BF Blender
Philipp Oeser (lichtwerk) assigned T54560: Cycles limits textures at 62 inside one material to Brecht Van Lommel (brecht).

Hm, it's running against the stack size limit, see here

Wed, Apr 11, 3:35 PM · Cycles
LazyDodo (LazyDodo) edited projects for T54560: Cycles limits textures at 62 inside one material, added: Cycles; removed Images & Movies, BF Blender.
Wed, Apr 11, 3:11 PM · Cycles

Mon, Apr 9

Thomas Monroe Clark III (TMcSquared) added a watcher for Cycles: Thomas Monroe Clark III (TMcSquared).
Mon, Apr 9, 6:33 PM

Fri, Apr 6

david serrano (dserama) added a comment to T52145: Denoising feature. Bug on GPU render (Mac OsX 10.11.6).
Fri, Apr 6, 3:16 PM · Platform: Mac OS X, Cycles, BF Blender

Thu, Apr 5

Brecht Van Lommel (brecht) removed a project from T54522: Sample clamping makes volume borders visible in branched path tracing: BF Blender.
Thu, Apr 5, 7:27 AM · Cycles
Brecht Van Lommel (brecht) triaged T54522: Sample clamping makes volume borders visible in branched path tracing as Confirmed priority.

Gathering all volume intersections would be good also to improve performance.

Thu, Apr 5, 7:27 AM · Cycles

Wed, Apr 4

Stefan Werner (swerner) added a comment to T54522: Sample clamping makes volume borders visible in branched path tracing.

A possible remedy would be to gather all volume intersections in one go (similar to intersect_shadow_all) and do the ray marching in a single step. There are hints that Arnold is using such a method in " Importance Sampling Techniques for Path Tracing in Participating Media", section 6.

Wed, Apr 4, 2:18 PM · Cycles
Stefan Werner (swerner) created T54522: Sample clamping makes volume borders visible in branched path tracing.
Wed, Apr 4, 2:11 PM · Cycles
Brecht Van Lommel (brecht) updated the task description for T54180: Cycles Blender 2.8 tasks.
Wed, Apr 4, 1:59 PM · Code Quest, BF Blender: 2.8, Cycles
Benjamin (51423benam) added a comment to T54466: Denoising crashes on cpu after rendering a few tiles (2.79b).

Ok, thanks! Then I will just build it by myself.

Wed, Apr 4, 12:18 PM · Cycles, BF Blender
Amir (Warrior) added a comment to T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes).

@Brecht Van Lommel (brecht) I hope you will prioritize this in the future. Many people like me need to use Blender as a module for their research work. Anyways, I used gdb to get you the back trace after Python freezes. Here's what I get (I had to CTRL+C at the end):

Wed, Apr 4, 5:46 AM · Python, Nodes, Cycles, BF Blender
Mai Lavelle (maiself) closed T54400: Unsupported GCN cards available to select for Cycles as Resolved by committing rB8c4d28cdb907: Fix T54400: Some GCN 1 cards available to select for use with Cycles.
Wed, Apr 4, 5:18 AM · Cycles, Rendering
Brecht Van Lommel (brecht) triaged T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes) as Low priority.

This is a very low priority issue for me, since it should be quite easy to work around in the ways I suggested and the python module is not something we officially release. Given that there are many more important bugs to solve I'm not going to spend time on this now.

Wed, Apr 4, 5:01 AM · Python, Nodes, Cycles, BF Blender
Amir (Warrior) renamed T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes) from Unable to export renderings in OpenEXR when using the multiprocessing in Python (Blender freezes) to Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes).
Wed, Apr 4, 4:54 AM · Python, Nodes, Cycles, BF Blender
Amir (Warrior) raised the priority of T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes) from Incomplete to Needs Triage.
Wed, Apr 4, 4:53 AM · Python, Nodes, Cycles, BF Blender
Amir (Warrior) added a comment to T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes).

@Brecht Van Lommel (brecht) I'm not sure if this could be very relevant but I used OpenEXR Python bindings package to do some tests. Here's what I found out: if I have a function that simply loads an exr file and separates its channels into (R, G,B) as shown below and I execute this function via multiprocessing.Process everything works fine. However, when I just do import bpy and execute the same function via multiprocessing.Process things do not work and Python freezes. I would say this is a bug in Blender. Could you please look into this? I would really appreciate it.

Wed, Apr 4, 4:53 AM · Python, Nodes, Cycles, BF Blender

Tue, Apr 3

Lukas Stockner (lukasstockner97) added a comment to T54466: Denoising crashes on cpu after rendering a few tiles (2.79b).

Okay, so it turns out that this is caused by one of the pointers in the NLM kernels not being aligned, but it's actually already fixed in the current master.

Tue, Apr 3, 6:44 PM · Cycles, BF Blender
Brecht Van Lommel (brecht) added a comment to T54486: Render difference with big quad light and ray visibility.

No, they're different issues.

Tue, Apr 3, 6:30 PM · BF Blender, Cycles
mathieu menuet (bliblubli) added a comment to T54486: Render difference with big quad light and ray visibility.

@Brecht Van Lommel (brecht) yep, so we agree, it's this same bug that makes the wood floor look strange and adds the noise in the other scene.

Tue, Apr 3, 6:16 PM · BF Blender, Cycles
Brecht Van Lommel (brecht) added a comment to T54486: Render difference with big quad light and ray visibility.

That's probably the main change, but note that commit changes both the RR continuation probability and removed RR min bounces.

Tue, Apr 3, 5:48 PM · BF Blender, Cycles
mathieu menuet (bliblubli) added a comment to T54486: Render difference with big quad light and ray visibility.

the difference in noise level in https://developer.blender.org/T54486#491645 are really due to the windows which should be completely ignored due to their visibility set to only camera rays. 2.79a ignores them, latest master not. When I render without the windows, both stable and master render the same image.

Tue, Apr 3, 5:47 PM · BF Blender, Cycles
mathieu menuet (bliblubli) added a comment to T54486: Render difference with big quad light and ray visibility.

@Brecht Van Lommel (brecht) I changed line 235 of kernel_path_state.h from

Tue, Apr 3, 5:45 PM · BF Blender, Cycles
Brecht Van Lommel (brecht) added a comment to T54486: Render difference with big quad light and ray visibility.

Russian roulette changes can cause increased noise. We hope that these are offset by reduced render time, so for a proper comparison at least an equal time render must be done. Even then there will be some scenes that are noisier, since it's a trade-off.

Tue, Apr 3, 2:24 PM · BF Blender, Cycles
Daniel Paul (DaPaulus) added a watcher for Cycles: Daniel Paul (DaPaulus).
Tue, Apr 3, 11:52 AM
mathieu menuet (bliblubli) added a comment to T54486: Render difference with big quad light and ray visibility.

I tried to reproduce it in a simple scene (a box with principled on multiscatter GGX, one opening, 1 portal and one window with only camera visibility), but somehow, the bug doesn't show up in master with this file. Making it a bit more complexe with some textures and objects to occlude and have more bounces show a clear difference in noise pattern, but not really noise levels. Complex and real use case scene on the other hand show clearly that 2.79a has a much better noise level, but I couldn't find yet, what the reason is. Keeping only the walls, windows and lights in the living room/kitchen scene above rendered significantly darker in master compared to 2.79a.

Tue, Apr 3, 11:10 AM · BF Blender, Cycles
mathieu menuet (bliblubli) added a comment to T54486: Render difference with big quad light and ray visibility.

@Brecht Van Lommel (brecht) so if I understand you right, this also explains the much higher noise levels in these scene (see pictures). This scene is lighten by portals with windows set to be only visible by camera. But indeed, although those windows are only hit by not camera rays, removing the windows completely greatly improves lightning and noise in latest master. So it showcases what you said about ray visibility. Here is a comparison of scene 10 from archinteriors 43 for Blender in master and stable:
2.79a = low level noise:


buildbot = very high noise level:

Tue, Apr 3, 10:19 AM · BF Blender, Cycles
Brecht Van Lommel (brecht) added a comment to T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes).

I would not make a bug report to the OpenEXR project, it's not clear at all there is a bug in their library and I wouldn't expect them to investigate a vague report like that. It's a possibility but too early to tell.

Tue, Apr 3, 6:54 AM · Python, Nodes, Cycles, BF Blender
Amir (Warrior) renamed T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes) from Unable to export rendering results in OpenEXR format using Python (Blender freezes) to Unable to export renderings in OpenEXR when using the multiprocessing in Python (Blender freezes).
Tue, Apr 3, 6:13 AM · Python, Nodes, Cycles, BF Blender
Amir (Warrior) added a comment to T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes).

@Brecht Van Lommel (brecht) I also posted an issue on OpenEXR's GitHub repo (link here). Hopefully they can also make some clarification from their side.

Tue, Apr 3, 6:09 AM · Python, Nodes, Cycles, BF Blender
Amir (Warrior) added a comment to T54461: Unable to export/import EXR files after doing `import bpy` and when using the multiprocessing in Python (Blender freezes).

@Brecht Van Lommel (brecht) You said it wouldn't surprise you if some parts of Blender of OpenEXr does not work well with forking. So I wonder, which one do you think is more likely to be the case given that I can store my renderings in other formats? Would you think it's more likely that OpenEXR is the one to blame here?

Tue, Apr 3, 5:51 AM · Python, Nodes, Cycles, BF Blender