Commit Graph

6295 Commits

Author SHA1 Message Date
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
Brecht Van Lommel
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
Campbell Barton
c221717f70 NDOF/X11: incorrect dynamic_cast 2014-02-14 16:12:41 +11: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
Sergey Sharybin
83617d24d5 Rework carve integration into boolean modifier
Goal of this commit is to support NGons for boolean modifier
(currently mesh is being tessellated before performing boolean
operation) and also solve the limitation of loosing edge custom
data layers after boolean operation is performed.

Main idea is to make it so boolean modifier uses Carve library
directly via it's C-API, avoiding BSP intermediate level which
was doubling amount of memory needed for the operation and which
also used quite reasonable amount of overhead time.

Perhaps memory usage and CPU usage are the same after all the
features are implemented but we've got support now:

- ORIGINDEX for all the geometry
- Interpolation of edge custom data (seams, crease)
- NGons support

Triangulation rule is changed now as well, so now non-flat
polygons are not being merged back after Carve work. This is
so because it's not so trivial to support for NGons and
having different behavior for quads and NGons is even more
creepy.

Reviewers: lukastoenne, campbellbarton

Differential Revision: https://developer.blender.org/D274
2014-02-13 17:16:53 +06:00
Brecht Van Lommel
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
Brecht Van Lommel
8547d17739 Fix T38615: cycles rendering beckmann/GGX refraction wrong with IOR equal to 1. 2014-02-12 22:50:31 +01:00
Brecht Van Lommel
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
Campbell Barton
f2af54afd0 NDOF/X11: skip getting the time when no ndof events are processed 2014-02-12 21:05:24 +11:00
Campbell Barton
b9bf935cc3 NDOF/X11: fix for glitch using ndof outside the view and entering again 2014-02-12 21:05:24 +11:00
Thomas Dinges
9c8bf7302d Cycles: Avoid unnecessary dot products in Mesh/Hair export code. 2014-02-12 03:27:41 +01:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
2038eb10d0 Fix T38537: issue with OS X full screen startup.blend after recent changes.
Also fixed the redrawing while entering and exiting fullscreen, it would show
a distracting white window contents during the animation.
2014-02-10 23:09:23 +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
Brecht Van Lommel
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
Brecht Van Lommel
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
Jens Verwiebe
a84bcea070 OSX/scons: allow for compiling with clang-openmp-3.4
See: http://clang-omp.github.io
+ fix a longstanding bad include in darwin-config
2014-02-09 18:03:13 +01: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
Brecht Van Lommel
9c83ed774b Fix T36979: wrong render of textured mesh lights with multiple importance sampling. 2014-02-07 15:09:34 +01:00
Brecht Van Lommel
0f8ad228c3 Fix T38526: crash using blackbody node on background with multiple importance sampling. 2014-02-06 21:10:22 +01:00
Brecht Van Lommel
135e4e69a1 Fix T38524: Cycles not rendering sky texture correct when the direction vector is not normalized. 2014-02-06 21:10:22 +01:00
Brecht Van Lommel
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
Sergey Sharybin
9c587ae8a0 Fix wrong animation duration when using older Libav 2014-02-06 15:57:32 +06: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
Campbell Barton
6bb090f4bb Building elbeem without openmp failed 2014-02-06 02:26:48 +11:00
Daniel Genrich
1ab86e3f1f Fix T36769: fluid sim modifier can crash blender
Crash only happened when the number of openmp threads were greater than the resolution.
2014-02-05 15:37:38 +01:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
3314165a66 Fix T38452: on OS X 10.9, now always use Lion style fullscreen.
On earlier versions there is no proper multi-monitor support, so we leave the
choice still. But for 10.9 this just interacts better with other elements like
spaces and the dock.
2014-02-03 16:48:31 +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
Sergey Sharybin
9bec4f7779 Fix T38455: Blenderplayer is not working
Was a regression since avg_frame_rate changes.

Didn't find reliable way to get stream duration which will
work with both FFmpeg and Libav so added some freaking black
magic to distinguish one from another.
2014-02-03 17:25:47 +06:00