Commit Graph

58503 Commits

Author SHA1 Message Date
Jens Verwiebe
ed61017391 Really fix scons with new glsl shaders 2015-03-20 20:24:30 +01:00
Antony Riakiotakis
d5abff589e Fix scons build 2015-03-20 19:47:06 +01:00
Jens Verwiebe
0582aa6f13 Partly fix T44025, pixelFormat retain was left, for 2.74 backport 2015-03-20 17:57:35 +01:00
Sergey Sharybin
919a665497 Cycles: Avoid memcpy of intersecting memory
Could happen when assignment happens to self during sorting.
2015-03-20 21:14:50 +05:00
Sergey Sharybin
8ff4c53e63 Correction to previous commit, initialization of needs_free got lost by accident 2015-03-20 21:09:52 +05:00
Campbell Barton
f91850d564 Disable IME for headless builds 2015-03-21 03:02:09 +11:00
Antony Riakiotakis
b9dc4f851b Fix link error with GLEW 2015-03-20 16:35:41 +01:00
Campbell Barton
94a3924eab Correct recent commit 2015-03-21 02:25:28 +11:00
Campbell Barton
63ab5b0883 Fix for building win32 headless 2015-03-21 02:17:27 +11:00
Campbell Barton
d12ab9a9a8 Remove unused armature code
ED_armature_deselect_all now simply de-selects
2015-03-21 02:17:27 +11:00
Sergey Sharybin
62b31a6e99 Avoid per-draw allocation when drawing currently rendering tiles 2015-03-20 19:56:09 +05:00
Antony Riakiotakis
339e43e1e8 Only create vertex buffers if supported and clean them up properly. 2015-03-20 15:43:34 +01:00
Antony Riakiotakis
07b2508305 Fix high quality depth of field on the Mac.
Quite a few things wrong here:

* Mac did not support EXT_draw_instanced, only ARB_draw_instanced
* Draw instanced did not work unless data came from vertex buffer, which
is second time we see weird things with vertex arrays in mac
* There were a few stupid mistakes by me as well, such as binding to
uniform locations for the wrong shaders (it's a wonder it ever worked
:p)
2015-03-20 15:26:13 +01:00
Sergey Sharybin
3d6642db83 Fix race condition and bad memory access highlighting render tiles
Is was possible that interface will be refreshed at thesame time
as render engine will start freeing render parts.

Not sure if we can get away without RW mutex here, seems we need
one way of synchronization or another..
2015-03-20 17:51:05 +05:00
Campbell Barton
c0be69f7fd Fix/Improve FKey bone creation
- new bone is now made active
- previous selection cleared
- bone direction places the tip on the active bone (if available)
2015-03-20 23:48:27 +11:00
Bastien Montagne
6786ef6783 Fix T43986: VSE Mask Modifier don't move with video-Clip.
Now mask animation is offset to start of strip, instead of staying at frame 1!

Warning: this may break existing files, in case some would be using (hacking around!)
current bad behavior...
2015-03-20 12:39:25 +01:00
Sergey Sharybin
03d945095a Cmake: Some more tweaks to building from branch without upstream 2015-03-20 14:07:56 +05:00
Sergey Sharybin
6f51df5384 SCons: Attempt to deal with branches without upstream configured 2015-03-20 14:03:54 +05:00
Sergey Sharybin
6de12b1b43 CMake: Suppress unconfigured branch upstream error in the output 2015-03-20 13:59:05 +05:00
Sergey Sharybin
1cd4070e35 Fix T43786: Cycles bake disregards Auto Smooth (vertex per-face normals)
Added an utility function which performs vertex split based on the loop
normal so now backing API matches to what's happening in Cycles and BI
in terms of autosplit.

Reviewers: dfelinto, campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D1174
2015-03-20 12:47:19 +05:00
Sergey Sharybin
56edaf7867 Fix stupid strict flags in math_color_inline.c
It was unleashed with recent ghash commit and issue seems to
be the same as fixed in 69065b5b.
2015-03-20 12:25:14 +05:00
Campbell Barton
35ea7efbca Add missing update adding a shape-key
Noticeable when pin is enabled.
2015-03-20 15:50:56 +11:00
Campbell Barton
cf29010bd4 Cleanup: warnings bit-shift int overflow 2015-03-20 15:41:36 +11:00
Antony Riakiotakis
f51a3aedc9 Cleanup remove unused variable 2015-03-19 21:11:33 +01:00
Antony Riakiotakis
fd559ed94f Missed this last commit. 2015-03-19 21:10:41 +01:00
Bastien Montagne
05e3c261a4 Fix T43989: Sequencer - Ctrl snapping a sequencer strip does not work if you specify the x axis.
New 'strip' snapping was simply not computed in case of constrained transform, hence init
'0' value was used as frame offset in this case.

This commit reorganizes a bit that snapping, to keep it more 'confined' into `snapSequenceBounds()`
dedicated function. It still needs a minor hack (setting snapping mode to something else than
defualt `SCE_SNAP_MODE_INCREMENT`, to avoid this snapping to be called by contraint code).

Thanks to Antony for review and enhancements.

This fix should be backported to 2.74.
2015-03-19 20:53:34 +01:00
Antony Riakiotakis
ea12b87afd Fix cycles dof settings 2015-03-19 20:49:18 +01:00
Campbell Barton
81472aff2b Remove deleted list for palette colors
was used because of UI memory access only.
2015-03-20 06:08:38 +11:00
Campbell Barton
eee538f0d2 UI: minor re-organization of dof options 2015-03-20 06:08:22 +11:00
Antony Riakiotakis
bd1e5eeab7 Blender will now use trilinear filtering by default 2015-03-19 20:05:31 +01:00
Bastien Montagne
2941b4ad9b BLI GHash: add some basic gtests.
We could likely add much more, but those already covers basic behavior and should be able
to catch most errors when editing this code.

Also added some performances tests as well (timing ghash insert/lookup under heavy loads,
for different kinds of keys).
2015-03-19 19:50:51 +01:00
Bastien Montagne
cfdd27381c GHash - code reorganization, performance enhancements, add a few missing utils to API.
This patch is the root of the GHash rework, all other diff will be based on it:

Reduce average load from 3.0 to 0.75
----------------------------------

This is the big performance booster part, e.g. makes tracing a dyntopo stroke between 25% and 30% faster.

Not much to say about it, aside that it obviously increase memory footprint (about 25% - 30% too).

Add optional shrinking
----------------------------------

I.e. ghashes/gsets can now shrink their buckets array when you remove enough entries. This remains optional and OFF by default.

Add code to use masking instead of modulo
----------------------------------

Buckets indices are obtained from hashes by “reducing” the hash value into the valid bucket range. This can be done either by bit-masking, or using modulo operation.
The former is quicker, but requires real hashes, while the later is slower (average 10% impact on ghash operations) but can also be used as a 'fake' hashing on raw values, like e.g. indices.

In Blender currently not all ghash usages actually hash their keys, so we stick to modulo for now (masking is ifdef’ed out), we may however investigate the benefits of switching to masking with systematic very basic hashing later…

Add various missing API helpers
----------------------------------

I.e. a way to deep-copy a ghash/gset, and a way to (re-)reserve entries (i.e. manually grow or shrink the ghash after its creation).

Various code refactoring
----------------------------------

* Get rid of the 'hack' regarding ghash size when used as gset (it’s simpler and safer to have two structs defined here, and cast pointers as needed).
* Various re-shuffle and factorization in low-level internal code.
* Some work on hashing helpers, introducing some murmur2a-based hashing too.

Thanks a bunch to Campbell for the extensive review work. :)

Reviewers: sergey, campbellbarton

Subscribers: psy-fi, lukastoenne

Projects: #bf_blender

Maniphest Tasks: T43766

Differential Revision: https://developer.blender.org/D1178
2015-03-19 17:37:54 +01:00
Campbell Barton
881e05fc54 Armature select-hierarchy now uses connected bones
Traverse down connected child bones (when available)

Also remove redundant bone loops.
2015-03-20 01:40:45 +11:00
Antony Riakiotakis
3e9947c4d4 Depth of field high quality:
A new checkbox "High quality" is provided in camera settings to enable
this. This creates a depth of field that is much closer to the rendered
result and even supports aperture blades in the effect, but it's more
expensive too. There are optimizations to do here since the technique is
very fill rate heavy.

People, be careful, this -can- lock up your screen if depth of field
blurring is too extreme.

Technical details:

This uses geometry shaders + instancing and is an adaptation of
techniques gathered from

http://bartwronski.com/2014/04/07/bokeh-depth-of-field-going-insane-

 http://advances.realtimerendering.com/s2011/SousaSchulzKazyan%20-
%20in%20Real-Time%20Rendering%20Course).ppt

TODOs:

* Support dithering to minimize banding.
* Optimize fill rate in geometry shader.
2015-03-19 15:18:14 +01:00
Sergey Sharybin
93048873f1 Fix compilation error of blenderplayer after recent constraint commit 2015-03-19 19:10:40 +05:00
Campbell Barton
7c65b75d01 Correct recent armature symmetrize
Duplicating part of a chain could have invalid 'connected' flag.
2015-03-20 00:42:17 +11:00
Sergey Sharybin
15b37a4a4d Speedup for constraints update from python script
General idea is to avoid actual calculation from property update()
callback and tag things for update later instead.

That said, pose constraint flags are now tagged for update and
handled as a part of object update. In the new depsgraph it'll
be a nice dedicated operation node.

Also avoid updating disabled flags for all the modifiers. This
part of the path is not totally optimal since it'll still need
to iterate over bones in order to get pchan, but to optimize it
further would be nice to find a way to avoid pchan requirement
all together.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D1191
2015-03-19 18:28:49 +05:00
Sergey Sharybin
c69b5e0276 Fix T44040: Blender crashes when nodes are muted
It was actually an old issue with wrong conversion happening for muted
nodes, which wasn't visible before memory optimization commit.

This is to be backported to the final release.
2015-03-19 16:04:49 +05:00
Campbell Barton
52d72a37cd Cleanup 2015-03-19 20:34:02 +11:00
Campbell Barton
ad95cb72bc Transform: Shift for precision PET adjustment
Patch T36753 by @hjaarnio
2015-03-19 20:11:33 +11:00
Campbell Barton
156921114e Armature Symmetrize tool
D1147 by @julien, with fixes/improvements

Duplicate bones where needed, otherwise use existing.
Keeps parent relations intact, can operate on parts of an armature.
2015-03-19 19:26:48 +11:00
Campbell Barton
c6ee43d384 Cleanup: style (armature duplicate) 2015-03-19 18:13:47 +11:00
Campbell Barton
8b6e777736 Fix out-of-bounds read BKE_deform_flip_side_name 2015-03-19 18:13:47 +11:00
Campbell Barton
4b88541d59 CMake: unbundle eigen3
Optionally use systems eigen3 library.

T41989 by @hasufell with edits
2015-03-19 15:41:41 +11:00
Campbell Barton
2df4444def CMake: exclude Colamd when OpenNL's disabled 2015-03-19 14:48:52 +11:00
Campbell Barton
2a2bf3c1ab Freestyle: pass Main struct to new/copy 2015-03-19 14:34:14 +11:00
Campbell Barton
9b54c88e0f Cleanup: spelling grey -> gray 2015-03-19 14:14:48 +11:00
Campbell Barton
4f602ff943 Revert part of recent color-management commit
This adds back rgb_to_grayscale,
not all color is managed or depends on the current loaded blend file's CM options.

Noted in comments that this is only to be used outside the CM pipeline.
2015-03-19 14:12:51 +11:00
Campbell Barton
255b07681a Color managed luminance for shader ramp-in-energy 2015-03-19 12:59:36 +11:00
Campbell Barton
ce11e1c878 Cleanup: better not pass function call to FTOCHAR
also use rgb_uchar_to_float
2015-03-19 12:42:34 +11:00