Is it possible to take the source code of Cycles and put it in a modified form

I downloaded the Blender sources today and uninstalled a few features.
Rendering speed on a processor without a video card doubled.

Can this be shared on the Internet?

1 Like

you’re free to do whatever you want as long as you abide by the license that comes the code (apache 2 for cycles)

if you want to contribute back your changes to us, you can read more about that here

just made a build and share it on https://blender.community/c/graphicall

1 Like

Oh that’s absolutely allowed! encouraged even! However if you share a blender build, people may ask you for the code changes you have made, and you have to share it with them when they ask.

1 Like

@LeoBio

Can you specify what things have you disabled?

I’m curious to see if I can apply your modifications to our build, maybe in an “optional” manner, but I will gladly take double speed in CPU rendering :slight_smile:

1 Like

I turned off indirect light

In total, 20 seconds came out per 1 frame on
a modified version of Blender 2.82.

It was believed on the 6 cores of the Haswell 4790 processor
The graphics card was not used for rendering.

2 Likes

But why did you had to modify the source to turn off indirect light? :slight_smile:

1 Like

When you turn off the indirect light in the source code, the noise disappears.
It’s better.

1 Like

Then could be interesting to create a conditional to disable it, like a “Direct Only” engine, like in Octane and other engines :slight_smile:

Can you point me towards what you disabled please? I would like to try to create such conditional in our build

1 Like

Surely the light paths configuration would allow for this without a custom build, no?

1 Like

you’re comparing the default cycles 4 bouces in GI vs cycles without GI in the code here ?

and if you dont need GI, why dont you use eevee ?

1 Like

HI.
In kernel_path_branched.h file, code where signed. Version Blender 2.80.
In version 2.82 you can do the same

/* indirect light */
//kernel_branched_path_surface_indirect_light(
// kg, &sd, &indirect_sd, emission_sd, throughput, 1.0f, &hit_state, L);

ccl_device void kernel_branched_path_integrate

1 Like

The render in cycles renders a better picture

1 Like

Only code modification helped me

1 Like

2 Likes

I think it should definitely be an option, like in other render engines. Depending on projects you don’t always want the full features, and render speed is always critical. Nice find.

2 Likes

Thanks! @LeoBio

I’ll try to implement it, I tested it and it kind of works, but it also gives other problems, like glass materials and such things, so I’ll investigate it :slight_smile:

But good catch never the less :slight_smile:

4 Likes

Modified version of Blender 2.80 for Windows

Details about the modification of version 2.80

This modification of the blender does not support rendering on video cards.
Indirect Light is not supported in this version to speed up rendering.
Many code optimizations have been made to speed up the rendering of Cycles.

Important!!!
Acceleration can only be obtained in render mode - Branched Patch Tracing.
The lamps have Max Bounce = 0.

Performance test.
The rendering time on the Haswell 4790 processor is reduced by 2 times compared to the official assembly.

http://blender.cuprumlang.org/Blender_2.80.zip