Commit graph

66000 commits

Author SHA1 Message Date
Sergey Sharybin
3c043732d3 Blender 2.78b: Point addons to an updated revision 2017-02-08 14:50:08 +01:00
Sergey Sharybin
9cb21a1400 Blender release: We are officially 'b' now 2017-02-03 17:54:29 +01:00
lazydodo
a3e746733d [msvc] cmake fixes to support the recent for oiio/ffmpeg/numpy version changes. 2017-02-03 09:47:54 -07:00
Brecht Van Lommel
8fa3801c49 Fix fluid sim build error with MSVC. 2017-02-03 15:48:09 +01:00
Brecht Van Lommel
34b09852fd Fluids: improve multithreaded CPU usage.
Fixes for clamp-omp, fewer shared variables, fix some cases of threads writing
to the same memory location. Issue found by Jens Verwiebe, who reports 30%
speedup with 16 core CPU, when using this with a recent clang-omp version.
2017-02-03 15:48:06 +01:00
Sergey Sharybin
f6d2981ffb Cycles tests: Allow python auto-exec 2017-02-03 10:46:56 +01:00
Lukas Stockner
9f6cfa3ead Cycles: Fix rng_state initialization when using resumable rendering 2017-02-01 11:48:50 +01:00
Sergey Sharybin
7314ede784 Fix compilation error with latest OIIO 1.7.8
There are some changes in OIIO includes so now need to do some
things differently.
2017-01-26 11:27:44 +01:00
Alexander Romanov
8ceed387c9 Return correct alpha for environment map in GLSL 2017-01-26 11:19:12 +01:00
Mai Lavelle
672fbbfb4e Fix T49405: Crash when baking with adaptive subdivision
Blenders baking system currently doesn't support the topology used by
adaptive subdivision and primitive ids will be wrong or out of range
leading to crashes. Updating the baking system to support other
topologies would be a bit involved, so for now we simply disable
subdivision while baking to avoid crashes.
2017-01-26 11:16:34 +01:00
Sergey Sharybin
59c224ebc7 Cycles: Don't rely on indirectly included algorithm 2017-01-26 11:16:24 +01:00
Sergey Sharybin
7a9f8d0c77 Cycles: Fix typo in the panel name
No user visible changes, it was a typo in the name of the class.

Spotted by povmaniac in IRC, thanks!
2017-01-26 11:15:35 +01:00
Sergey Sharybin
2a757450f5 Cycles: Update current Cycles version 2017-01-26 11:15:25 +01:00
Bastien Montagne
82e0127065 Fix T50491: Cycles UI breaks when pushing F8.
Cycles add-on did not actually support reloading correctly.

When you want to correctly reload sub-modules (i.e. modules of an add-on
which is a package), you need to use importlib, a mere import will do
nothing with already loaded modules (RNA classes are sort of
pre-registered when they are evaluated, through the meta-class system).
2017-01-26 11:15:18 +01:00
Sergey Sharybin
bfd209007d Cycles: Use more const qualifiers to avoid possible issues 2017-01-26 11:15:06 +01:00
Sergey Sharybin
db26c6f66c Cycles: Cleanup, split one gigantic function into two smaller ones 2017-01-26 11:15:00 +01:00
Sergey Sharybin
a65a988592 Cycles: Store time in BVH nodes
This way we can stop traversing BVH node early on.

Gives about 2-2.5x times render time improvement with 3 BVH steps.
Hopefully this gives no measurable performance loss for scenes with
single BVH step.

Traversal is currently only implemented for QBVH, meaning old CPUs
and GPU do not benefit from this change.
2017-01-26 11:14:51 +01:00
Sergey Sharybin
91fe6bdcb6 Cycles: Add option to split triangle motion primitives by time steps
Similar to the previous commit, the statistics goes as:

BVH Steps     Render time (sec)       Memory usage (MB)
    0                46                    260
    1                27                    373
    2                18                    598
    3                15                    826

Scene used for the tests is the agent's body from one of the barber
shop scenes (no textures or anything, just a diffuse material).

Once again this is limited to regular (non-spatial split) BVH,
Support of spatial split to this feature will come later.
2017-01-26 11:14:42 +01:00
Sergey Sharybin
9bf3b4679e Cycles: Add option to split curve motion primitives by time steps
The idea is to create several smaller BVH nodes for each of the motion
curve primitives. This acts as a forced spatial split for the single
primitive.

This gives up render time speedup of motion blurred hair in the cost
of extra memory usage. The numbers goes as:

BVH Steps     Render time (sec)       Memory usage (MB)
    0               258                    191
    1               123                    278
    2                69                    453
    3                43                    627

Scene used for the tests is the agent's hair from one of the barber
shop scenes.

Currently it's only limited to scenes without spatial split enabled,
since the spatial split builder requires some changes to work properly
with motion steps coordinates.
2017-01-26 11:14:36 +01:00
Sergey Sharybin
be431c7cdc Cycles: Add utility function to calculate curve boundbox from given 4 keys
Also fixed some issues with motion keys calculation:

- Clamp lower and upper limits of curves so we can safely call those
  functions for the very first and very last curve segment.
- Fixed wrong indexing for the curve radius array.
- Fixed wrong motion attribute offset calculation.
2017-01-26 11:14:28 +01:00
Sergey Sharybin
d87caabf29 Cycles: Cleanup, trailing whitespace 2017-01-26 11:14:20 +01:00
Sergey Sharybin
f6742d36cd Cycles: Split motion triangle file once again, avoids annoying forward declarations 2017-01-26 11:14:12 +01:00
Sergey Sharybin
acbba822f7 Cycles: Move motion triangle intersection functions to own file
Mimics how regular triangles are working and makes it more clear where
the stuff is located in the kernel.

Needed to have some forward declarations because of the current placement
of things in the kernel.
2017-01-26 11:14:02 +01:00
Sergey Sharybin
69357d9db0 Cycles: Cleanup, better variable name 2017-01-26 11:13:54 +01:00
Sergey Sharybin
5a5b45374b Cycles: Add utility function to fetch motion keys while on CPU side 2017-01-26 11:13:48 +01:00
Sergey Sharybin
93c5388e34 Cycles: Cleanup, comments 2017-01-26 11:13:40 +01:00
Sergey Sharybin
df3511c96f Cycles: Add utility function to fetch motion triangle when on CPU side 2017-01-26 11:13:34 +01:00
Sergey Sharybin
eabb8f1d12 Cycles: Cleanup, delete trailing whitespace 2017-01-26 11:13:28 +01:00
Thomas Dinges
5283a7e518 Fix T50460. Greying out issue with Cycles culling options. 2017-01-26 11:13:06 +01:00
Sergey Sharybin
c727bc7743 Fix T50517: Rendering expecting time is negative 2017-01-25 11:22:14 +01:00
lazydodo
feb2f0ae30 FIX T49899: Add EIGEN_MAKE_ALIGNED_OPERATOR_NEW to classes that use eigen's data types , to force aligned on 16 byte boundaries. 2017-01-24 11:54:39 +01:00
Sergey Sharybin
44ffbcd254 Fix T49857: Blender crashes after adding texture node to compositing tree 2017-01-24 11:54:39 +01:00
Sergey Sharybin
f8a3b9b50c Cycles: Fix compilation error on with older GCC
Hopefully it works on all platforms now.
2017-01-20 12:17:11 +01:00
Sergey Sharybin
faaf41b330 Depsgraph: Bone parent should also include armature transform relation
It is required to have world-space bone position, which consists of armature
object transform and local bone transform.
2017-01-20 11:37:00 +01:00
Sergey Sharybin
8a0e91366c Depsgraph: Only re-schedule objects which are on visible layers
Otherwise it's possible to cause infinite update loop in Cycles viewport.

Gets a bit messy logic, need to revisit this..
2017-01-20 11:37:00 +01:00
Sergey Sharybin
85c7ecce27 Depsgraph: Use HIGH priority for scheduled tasks
This kind of keeps threads "warmer" and should in theory give better
cache coherency bringing some %% of speedup. It was already tested
few months ago and it gave few % speedup in barber shop, but was
reverted due to some bone popping. The popping is now fixed so it
should be fine to use new scheduling policy.
2017-01-20 11:37:00 +01:00
Sergey Sharybin
e3ede8294a Depsgraph: avoid more transitive relations for rigid body simulation 2017-01-20 11:37:00 +01:00
Sergey Sharybin
bff566215e Depsgraph: Rigid body simulation doesn't need explicit time relation
It'll be dependent on time via Time Source -> Rebuild RB World chain.
2017-01-20 11:36:59 +01:00
Sergey Sharybin
10ce1eea3f Depsgraph: Avoid transitive relation from local transform to final
There is always an uber eval node on the way. so we can avoid creating
some relations here in order to speed up both construction time and
evaluation.
2017-01-20 11:36:59 +01:00
Alexander Gavrilov
5c4c2bebaa Fix depsgraph: hair collision is actually enabled, so add the relations. 2017-01-20 11:36:59 +01:00
Sergey Sharybin
85ec0446e1 Depsgraph: Fix matrix_world driver source
Reported by Dalai in IRC, thanks!
2017-01-20 11:36:59 +01:00
Sergey Sharybin
4a4959a647 Fix T49981: New Depsgraph - When camera is on inactive layer, it does not evaluate constraints 2017-01-20 11:36:59 +01:00
Sergey Sharybin
a3f66a868e Depsgraph: Fix infinite viewport object update in CYcles render mode
The issue was caused by wrong object re-tag needed to have proper dependnecies
update for OpenSubdiv.
2017-01-20 11:36:58 +01:00
Sergey Sharybin
8e908ae321 Depsgraph: use more explicit parenthesis 2017-01-20 11:36:58 +01:00
Sergey Sharybin
82cee9cb89 Depsgraph: Fix residue of debug-only code 2017-01-20 11:36:58 +01:00
Bastien Montagne
b5b0354b7c Fix copy/paste typo in new depsgraph object geometry builder (found by coverity). 2017-01-20 11:36:58 +01:00
Sergey Sharybin
5708ec2a01 Depsgrpah: Fix missing animation update in movie clips 2017-01-20 11:36:58 +01:00
Sergey Sharybin
317431461f Depsgraph: Move scene builder function to own file
This way it's much easier to grasp what the graph actually contains.
2017-01-20 11:36:57 +01:00
Sergey Sharybin
48a8a20e2a Fix T50060: New depsgraph does not update mask animation 2017-01-20 11:36:57 +01:00
Sergey Sharybin
cf60343b06 Depsgraph: Use utility macro to iterate over linked list
This will be compiled into same exact code, just saves us from
doing annoying type casts all over the place.
2017-01-20 11:36:57 +01:00