Commit Graph

1521 Commits

Author SHA1 Message Date
6b1a4fc66e Cycle CUDA: revert the f1aeb2ccf4 and 84f958754 busywait fixes for now.
It's unclear what kind of impact they have on performance at the moment, so I
rather play it safe and postpone this for 2.71.

Ref T38679, Ref T38712
2014-02-19 16:08:08 +01:00
Campbell Barton
c9233bfd82 Code cleanup: style 2014-02-19 08:02:59 +11:00
Martijn Berger
f1aeb2ccf4 this is an attempted Fix: T38679
Cycles GPU Performance Regression

From my testing this (what i should have done in the first place) reduces the regression a lot.
Lets hope it is enough or we have to go back to busy waiting.
2014-02-17 20:11:45 +01:00
Thomas Dinges
30e89552e2 Cycles Standalone: XML wrapping of Lights and some more volume settings. 2014-02-14 23:22:29 +01:00
Thomas Dinges
8a1f3238be Cycles Standalone: Add more controls and options
* P key, pauses the render
* W/A/S/D for camera movement
2014-02-14 21:40:51 +01:00
Thomas Dinges
8cc925a216 Cycles Standalone: The camera now gets properly updated, when changing window size or using --width --height overwrites. 2014-02-14 18:40:31 +01:00
2bf591762a Cycles: equi-angular sampling for homogeneous volumes
This adds an option in the Volume Sampling panel, which helps rendering lamps
inside or near volumes with less noise. It can also increase noise though and
needs improvements to support MIS and heterogeneous volumes, but since it's
useful in some cases already (especially world volumes) it's there now.

Based on the code in the old branch by Stuart, with modifications by Thomas
and Brecht.

Differential Revision: https://developer.blender.org/D291
2014-02-14 17:37:34 +01:00
Thomas Dinges
76dd68351c Cycles Standalone: Up/Down movement was inverted. 2014-02-14 13:56:23 +01:00
Thomas Dinges
34d1746331 Cycles Standalone: Add interactive mode (I-key), to avoid accidental changes/movement.
Also some code and whitespace cleanup.
2014-02-14 13:41:02 +01:00
Thomas Dinges
b09684567e Cycles Standalone: The camera can now be moved and rotated with LMB/RMB mouse key.
ToDo: Add controls for forward/backward movement.
2014-02-14 01:17:01 +01:00
Thomas Dinges
0da1321985 Cycles Standalone: More updates for the Node XML API.
Should be almost complete now, apart from Ramp Nodes (Color Ramp, RGB Curves...).
2014-02-13 20:37:41 +01:00
e43c3ad88a Fix issue in recent bugfix, did not work with multiple sessions (preview render). 2014-02-12 23:14:57 +01:00
Campbell Barton
aea00c7a81 Code cleanup: style 2014-02-13 08:52:12 +11:00
8547d17739 Fix T38615: cycles rendering beckmann/GGX refraction wrong with IOR equal to 1. 2014-02-12 22:50:31 +01:00
f462e8a9c8 Fix T38332, Fix T38607: cycles render crash with motion blur.
It wasn't working together well with the python thread state changes after the
depsgraph multithreading.
2014-02-12 21:55:19 +01:00
Thomas Dinges
9c8bf7302d Cycles: Avoid unnecessary dot products in Mesh/Hair export code. 2014-02-12 03:27:41 +01:00
78f23ce9fc Cycles: mix hair minimum width code with SSE intersection code
Gives 6.5% speedup for hair.blend from testsuite.

This commit was previously reverted, but should work ok now. Patch by Sv. Lockal.
2014-02-11 18:49:38 +01:00
Thomas Dinges
842a66b07c Cycles: Code refactor for Clamping/Inf Rejection, combined into 1 function. Also avoid some conditionals.
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D310
2014-02-11 17:44:41 +01:00
c287624f50 Fix T38597: cycles status bar missing some updates. 2014-02-11 16:26:08 +01:00
Sv. Lockal
bd44dcb632 Better fix for T38501: blender crashes right after adding image texture to
material in cycles

Buggy MSVC 2008 in 32-bit mode ignores stack align attribute for float3.
Now it uses reference to __m128, which is always aligned.
2014-02-11 17:48:23 +04:00
Thomas Dinges
5a35034fb3 Fix Cycles Light Passes being always enabled, own regression in Clamp commit yesterday.
KernelIntegrator just doesn't have valid data at this point, so we need to go one level deeper.
2014-02-11 14:14:43 +01:00
Thomas Dinges
0203c5f2a2 Cycles: Clamp Direct now affects the Background too.
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D306
2014-02-11 12:18:47 +01:00
Thomas Dinges
e29a45b396 Cycles: Separation of Indirect and Direct clamping.
Indirect and Direct samples can now be clamped individually. This way we can clamp the indirect samples (fireflies), while keeping the direct highlights.
Example render: http://www.pasteall.org/pic/show.php?id=66586

WARNING: This breaks backwards compatibility. If you had Clamping enabled in an old file, you must re-enable either Direct/Indirect clamping or both again.

Reviewed by: brecht
Differential Revision: https://developer.blender.org/D303
2014-02-10 21:46:02 +01:00
a0c54d71d8 Fix part of T38304: cycles render problem with zero length curve segments.
Now these are removed from the curve.
2014-02-10 18:33:27 +01:00
644ca76356 Fix T38576: cycles hair not rendering in edit/paint modes. 2014-02-10 14:29:21 +01:00
Sv. Lockal
7096529704 Fix T38501: blender crashes right after adding image texture to material
in cycles

Also fix very similar problem in half-float SSE conversion.
2014-02-10 17:19:26 +04:00
Thomas Dinges
685c7a2272 Code cleanup: Remove Debug closure declaration. 2014-02-09 14:41:45 +01:00
Jonas Eschenburg
c6d1eaa3b2 Cycles: use COMPAT_ENGINES mechanism for UI panels.
This way addons like network renderers can more easily reuse them.

Reviewed By: brecht
2014-02-09 13:55:54 +01:00
Thomas Dinges
b0c314af9f Cycles Standalone: Expose Shader settings in the xml api. 2014-02-07 23:23:37 +01:00
Thomas Dinges
9025101122 Cycles Standalone: Exit when no xml file can be found. 2014-02-07 22:31:38 +01:00
9c83ed774b Fix T36979: wrong render of textured mesh lights with multiple importance sampling. 2014-02-07 15:09:34 +01:00
0f8ad228c3 Fix T38526: crash using blackbody node on background with multiple importance sampling. 2014-02-06 21:10:22 +01:00
135e4e69a1 Fix T38524: Cycles not rendering sky texture correct when the direction vector is not normalized. 2014-02-06 21:10:22 +01:00
a41648c1dc Cycles: add pass alpha threshold value to render layers.
Z, Index, normal, UV and vector passes are only affected by surfaces with alpha
transparency equal to or higher than this threshold. With value 0.0 the first
surface hit will always write to these passes, regardless of transparency. With
higher values surfaces that are mostly transparent can be skipped until an opaque
surface is encountered.
2014-02-06 15:24:15 +01:00
Martijn Berger
0f91f56ce3 Cycles Network rendering, remove some exception throwing, replace with saner error handling
This patch adds a network_error() function more alike how other devices handle error's

- it adds a check for errors on load_kernels to make sure we do not crash if rendering without a server.
- it uses the non throwing variation of boost::asio::read.

Reviewers: brecht

Reviewed By: brecht

CC: brecht

Differential Revision: https://developer.blender.org/D86
2014-02-05 21:55:51 +01:00
502f9312d8 Attempt to fix OSL build error on Linux with latest OSL master. 2014-02-04 22:50:11 +01:00
Sv. Lockal
bd438de8c6 Cycles: bvh_cardinal_curve_intersect intro SSE optimization
Gives 5% speedup for koro_final.blend, 10-15% for hair.blend

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D225
2014-02-04 23:39:02 +04:00
28e6d05e09 Fix cycles crash with float image textures on CPU without AVX support.
The AVX kernel functions for reading image textures could be get used from non-AVX
kernels. These are C++ class methods and need to be marked for inlining, all other
functions are static so they don't leak into other kernels.
2014-02-04 16:07:50 +01:00
Martijn Berger
4b07579cd4 Cycles_server also needs to link to libdl on linux 2014-02-03 20:19:15 +01:00
Sv. Lockal
cb96cf0b63 Cycles: small optimization for SSE 4.1 bvh intersector
Gives 0.7% - 1.3% speedup for BMW1M-MikePan scene.

Reviewers: juicyfruit

Differential Revision: https://developer.blender.org/D280
2014-02-03 20:49:07 +04:00
eff3bd4e98 Fix T38439: allow IOR in range [0, inf] instead of [1, inf] in Cycles.
The same can be achieved by flipping normals on the mesh, but it can be
convenient to do this in the shader.
2014-02-03 17:08:34 +01:00
Sv. Lockal
04984430ce Cycles: enable /arch:AVX in msvc 11 and later versions for avx kernel
This enables VEX-encoding in AVX kernel for windows msvc builds and gives 5-10% speedup for different scenes.

Reviewers: juicyfruit, dingto, brecht

Reviewed By: brecht

CC: brecht

Differential Revision: https://developer.blender.org/D284
2014-02-03 17:22:50 +04:00
Campbell Barton
d900f5be55 Code cleanup: use bools where possible 2014-02-03 19:35:44 +11:00
Campbell Barton
1dc1d92dab Code cleanup: white space and cmake was broken on all platforms 2014-02-03 13:56:34 +11:00
Thomas Dinges
c0e6a0d318 Code cleanup / Cycles: Remove unused "curverender" variable from Object class, was never used. 2014-02-02 20:11:50 +01:00
Thomas Dinges
5c06b2d33e Code cleanup / Cycles: Remove encasing_ratio variable, it was already hard coded, so define it in the kernel only. 2014-02-02 19:53:04 +01:00
Campbell Barton
41cc86a666 Add include needed for clang, quiet warning 2014-02-02 21:33:52 +11:00
Sv. Lockal
1ff299b317 Cycles: less instructions for CPU perlin code
Also move shuffle() in bvh traversal back (was accidentally lost in SSE hair revert)
2014-02-01 14:07:53 +04:00
Campbell Barton
b3bb50f687 Warnings: quiet unused define message 2014-01-30 15:26:22 +11:00
44cb138cf2 Fix sconscript syntax error when using python 2.x instead of 3.x. 2014-01-29 14:50:20 +01:00