blender-staging.git
6 years agoFileBrowser: add search field in header bar.
Bastien Montagne [Sat, 3 Jan 2015 20:55:16 +0000 (21:55 +0100)]
FileBrowser: add search field in header bar.

Not much to add, pretty straightforward...

6 years agoFreestyle: memory consumption optimization in stroke rendering.
Tamito Kajiyama [Fri, 8 Aug 2014 13:29:02 +0000 (22:29 +0900)]
Freestyle: memory consumption optimization in stroke rendering.

Previously individual strokes were represented by distinct mesh objects
no matter how many vertices and materials each stroke has, although
the vertex and material counts can be quite small depending on the input
scene data.  Now stroke meshes are packed into a minimum number of
mesh objects, so as to reduce the overheads of Blender object creation.

6 years agoBump subversion so that version patches for theme changes work
Joshua Leung [Sat, 3 Jan 2015 12:17:22 +0000 (01:17 +1300)]
Bump subversion so that version patches for theme changes work

6 years agoD824: Add themeing for keyframe lines in Timeline
Diego Garcia [Sat, 3 Jan 2015 11:48:29 +0000 (00:48 +1300)]
D824: Add themeing for keyframe lines in Timeline

Reviewed by: Joshua Leung (aligorith)

6 years agoGrease Pencil: Vertex size and colours are now themable
Joshua Leung [Sat, 3 Jan 2015 05:07:05 +0000 (18:07 +1300)]
Grease Pencil: Vertex size and colours are now themable

6 years agoCleanup: rename 'filelist' BLI funcs to consistent naming.
Bastien Montagne [Sat, 3 Jan 2015 11:27:40 +0000 (12:27 +0100)]
Cleanup: rename 'filelist' BLI funcs to consistent naming.

Also, add an optional callback to `BLI_filelist_free()` to allow freein
void poin if needed (consistency with `BLI_filelist_duplicate()`...).

6 years agoRefactor 'fit in camera view' code, and expose it to RNA.
Bastien Montagne [Sat, 3 Jan 2015 11:05:16 +0000 (12:05 +0100)]
Refactor 'fit in camera view' code, and expose it to RNA.

This changes BKE's fitting code to use `BKE_camera_params_compute_viewplane` instead of
`BKE_camera_view_frame`. This allows that code to work with orthographic projection too.

Also, two funcs were added to rna's Object, to resp. get the projection matrix of that
object (mostly useful for cameras and lamps objects), and return position this object
should be to see all (to fit) a given set of points.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D961

6 years agoAdd some BLI helpers needed by asset branch.
Bastien Montagne [Sat, 3 Jan 2015 09:13:02 +0000 (10:13 +0100)]
Add some BLI helpers needed by asset branch.

`BLI_strncpy_ensure_pad()` is also useful with current master code.

The two others (`BLI_strcmp_ignore_pad()` and `BLI_filelist_duplicate()`)
are only used in asset branch currently, but think they could be useful
in other places too, and simplifies handling of asset branch & future patch review.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D965

6 years agoGTest: test beautify with polyfill
Campbell Barton [Sat, 3 Jan 2015 07:04:37 +0000 (18:04 +1100)]
GTest: test beautify with polyfill

6 years agoGTest was broken on Linux
Campbell Barton [Sat, 3 Jan 2015 06:50:52 +0000 (17:50 +1100)]
GTest was broken on Linux

6 years agoFix for view map cache not flushed by updates of edge detection options.
Tamito Kajiyama [Fri, 2 Jan 2015 16:48:27 +0000 (01:48 +0900)]
Fix for view map cache not flushed by updates of edge detection options.

This fix should be considered for inclusion in the 2.73 release, since
it concerns a new feature of Freestyle introduced in 2.73.

6 years agoFix RNA Image.frame_duration.
Bastien Montagne [Fri, 2 Jan 2015 21:49:00 +0000 (22:49 +0100)]
Fix RNA Image.frame_duration.

If a video was loaded (e.g. from python) but never 'ibuf-acquired', its Image->anim
prop would still be NULL, returning useless '1' value as frame duration!

6 years agoCycles: Fix compilation error on AVX platforms with -arch-native
Sergey Sharybin [Fri, 2 Jan 2015 19:04:10 +0000 (00:04 +0500)]
Cycles: Fix compilation error on AVX platforms with -arch-native

Was a conflict in headers between clew and util_optimization.h.

6 years agoFix (unreported) 'pad9' not shown by UserPrefs' KeyBinding filter.
Bastien Montagne [Fri, 2 Jan 2015 17:24:25 +0000 (18:24 +0100)]
Fix (unreported) 'pad9' not shown by UserPrefs' KeyBinding filter.

Minor glicth, but still... Safe for 2.73.

6 years agoCycles: Fix unneeded int/float conversion happened in previous commit
Sergey Sharybin [Fri, 2 Jan 2015 12:21:24 +0000 (17:21 +0500)]
Cycles: Fix unneeded int/float conversion happened in previous commit

6 years agoFix T43027: OpenCL kernel compilation broken after QBVH
Sergey Sharybin [Fri, 2 Jan 2015 09:58:01 +0000 (14:58 +0500)]
Fix T43027: OpenCL kernel compilation broken after QBVH

OpenCL apparently does not support templates, so the idea of generic
function for swapping is a bit of a failure. Now it is either inlined
into the code (in triangle intersection) or has specific implementation
for QBVH.

This is probably even better, because we can't create QBVH-specific
function in util_math anyway.

6 years agoFix T43099: Modifiers in edit mode might mess up materials
Sergey Sharybin [Fri, 2 Jan 2015 09:23:54 +0000 (14:23 +0500)]
Fix T43099: Modifiers in edit mode might mess up materials

The issue was originall caused by 2e8ba17 by removing necessery call
GPU_enable_material(). It was probably removed because in some cases
material was enabled after calling setDrawOptions.

That wasn't always a case for edit mode.

This is absolutely to be included to 2.73

6 years agocleanup: style
Campbell Barton [Fri, 2 Jan 2015 08:18:57 +0000 (19:18 +1100)]
cleanup: style

6 years agoFix T43066: Joystick broken in GE since 2.73rc
Campbell Barton [Fri, 2 Jan 2015 06:12:39 +0000 (17:12 +1100)]
Fix T43066: Joystick broken in GE since 2.73rc

Caused by move to SDL2, fix thanks to jensverwiebe.

6 years agoFix same operator (curve.separate) in double in Curve menu.
Bastien Montagne [Thu, 1 Jan 2015 14:09:42 +0000 (15:09 +0100)]
Fix same operator (curve.separate) in double in Curve menu.

Reported by Leon Cheung on IRC, thanks.

6 years agocleanup: redundant casts & const cast correctness
Campbell Barton [Thu, 1 Jan 2015 12:26:03 +0000 (23:26 +1100)]
cleanup: redundant casts & const cast correctness

6 years agoSpaceFile: Cleanup: fix stupid indices in `filelist_from_main()`
Bastien Montagne [Thu, 1 Jan 2015 10:10:12 +0000 (11:10 +0100)]
SpaceFile: Cleanup: fix stupid indices in `filelist_from_main()`

Dead code (currently), but still...

6 years agoSpaceFile: Tweak thumbnail to avoid restarting the job needlessly.
Bastien Montagne [Wed, 31 Dec 2014 19:45:39 +0000 (20:45 +0100)]
SpaceFile: Tweak thumbnail to avoid restarting the job needlessly.

6 years agoSpaceFile: Refactor sorting and filtering of filelist.
Bastien Montagne [Wed, 31 Dec 2014 19:13:21 +0000 (20:13 +0100)]
SpaceFile: Refactor sorting and filtering of filelist.

New code shall be more easy to maintain and extend.
Sorting is now handled quite the same as filtering, and all filtering parameters
are now packed into a sub-struct to help extending it later.

Also done some optimizations in filelist refresh, and sorting/filtering area.
Now we should avoid re-sorting and re-filtering too often, also removed
calls to those in read_xxx funcs.

Note thumbnail job is still started basically on each call to `file_refresh()`,
will be addressed in next commit.

6 years agoSpaceFile: Filelist: reorder a bit things, also cleanup some unused and pure-private...
Bastien Montagne [Wed, 31 Dec 2014 18:17:20 +0000 (19:17 +0100)]
SpaceFile: Filelist: reorder a bit things, also cleanup some unused and pure-private funcs.

6 years agoFix T43079: Proxies of 100% size are ignored in sequencer
Sergey Sharybin [Thu, 1 Jan 2015 10:06:22 +0000 (15:06 +0500)]
Fix T43079: Proxies of 100% size are ignored in sequencer

6 years agoFix T43078: Strip custom proxy files did not respect color space settings
Sergey Sharybin [Thu, 1 Jan 2015 09:52:37 +0000 (14:52 +0500)]
Fix T43078: Strip custom proxy files did not respect color space settings

6 years agoAdd GPencil Copy/Paste to secondary pie + toolshelf
Joshua Leung [Wed, 31 Dec 2014 23:49:24 +0000 (12:49 +1300)]
Add GPencil Copy/Paste to secondary pie + toolshelf

6 years agoGPencil Editing: Copy and Paste selected stroke segments with Ctrl-C and Ctrl-V
Joshua Leung [Wed, 31 Dec 2014 23:36:01 +0000 (12:36 +1300)]
GPencil Editing: Copy and Paste selected stroke segments with Ctrl-C and Ctrl-V

6 years agoCycles: Post-reintegration tweaks to ensure things do compile
Sergey Sharybin [Wed, 31 Dec 2014 20:01:31 +0000 (01:01 +0500)]
Cycles: Post-reintegration tweaks to ensure things do compile

This commit contains all the tweaks which were missing in initial patch
re-integration from the standalone Cycles repository.

This commit also contains an utility cmake macro to help linking targets
with different libraries for release/debug builds, the name currently is

  target_link_libraries_decoupled

it gets a target and list of libraries and makes sure debug builds are
using libraries with "_d" suffix.

After all this changes it'll hopefully be easier to interchange patches
between blender and standalone repositories, because they're now quite
identical.

6 years agoCycles: Correction to previous SSE/AVX flags detection
Sergey Sharybin [Sun, 14 Dec 2014 22:51:43 +0000 (03:51 +0500)]
Cycles: Correction to previous SSE/AVX flags detection

Ensure AVX/AVX2 is not used when Cycles is configured with
WITH_CPU_SSE set to OFF.

6 years agoCycles: Be ready for gflags namespace auto-detect
Sergey Sharybin [Fri, 12 Dec 2014 11:01:30 +0000 (16:01 +0500)]
Cycles: Be ready for gflags namespace auto-detect

This way it is now possible to use gflags >= 2.1, where all the
functions were moved from google to gflags namespace.

This isn't currently used in blender, but for standalone repository
this change is essential.

6 years agoCMake: Rework linking strategy a bit
Sergey Sharybin [Sun, 7 Dec 2014 13:11:11 +0000 (18:11 +0500)]
CMake: Rework linking strategy a bit

Made it a dedicated macro to link release/debug targets against lib/lib_d
libraries which helps keeping code a bit more clean.

Also made it so MSVC is now happy about building debug Cycles with OSL
support.

Reshuffled code a bit and put some comments about what's going on, which
should make it a bit more clear.

6 years agoCycles: Fix compilation error with compilers which doesn't support AVX
Sergey Sharybin [Sun, 7 Dec 2014 10:22:05 +0000 (15:22 +0500)]
Cycles: Fix compilation error with compilers which doesn't support AVX

For SSE checks still could be decoupled to be able to compile SSE2
kernel and not SSE4 depending on the CPU or so.

6 years agoCycles FTBFS: Send Boost after OIIO to the linker since the order matters
Sergey Sharybin [Sun, 7 Dec 2014 10:04:02 +0000 (15:04 +0500)]
Cycles FTBFS: Send Boost after OIIO to the linker since the order matters

6 years agoCycles Standalone: Add initial support for compilation on Windows
Sergey Sharybin [Sun, 16 Nov 2014 13:01:10 +0000 (18:01 +0500)]
Cycles Standalone: Add initial support for compilation on Windows

This applies to an application comiling from the standalone Cycles repository
only.

There's still lack of proper install target, so currently pthreads
library is to be copied next to cycles.exe manually.

6 years agoCycles: Add logging to OSL and CUDA initialization/compilation
Sergey Sharybin [Sat, 15 Nov 2014 20:58:55 +0000 (01:58 +0500)]
Cycles: Add logging to OSL and CUDA initialization/compilation

This is what was handy troubleshooting issues in the studio,
plus this is exactly the same thing which would be helpful
when solving issues with paths to compiled shaders and cubins
for standalone repository.

6 years agoCycles: Fully support WITH_CYCLES_LOGGING option
Sergey Sharybin [Sat, 15 Nov 2014 20:12:19 +0000 (01:12 +0500)]
Cycles: Fully support WITH_CYCLES_LOGGING option

This commit generalizes logging module a little bit in making it possible to use
Glog logging in standalone Cycles repository.

6 years agoCMake: Minor cleanup
Sergey Sharybin [Sat, 15 Nov 2014 18:03:45 +0000 (23:03 +0500)]
CMake: Minor cleanup

6 years agoCycles: Fix compilation error when OIIO is compiled with external PugiXML parser
Sergey Sharybin [Sat, 15 Nov 2014 17:56:22 +0000 (22:56 +0500)]
Cycles: Fix compilation error when OIIO is compiled with external PugiXML parser

Basic idea is to check whether OIIO is compiled with embedded PugiXML parser
and if so use PugiXML from OIIO, otherwise find a standalone PugiXML library.

6 years agoCMake: use pthreads on all os's
Campbell Barton [Sat, 15 Nov 2014 15:51:21 +0000 (16:51 +0100)]
CMake: use pthreads on all os's

6 years agoCycles: Solve linking error caused by missing pthreads library
Sergey Sharybin [Sat, 15 Nov 2014 15:45:43 +0000 (20:45 +0500)]
Cycles: Solve linking error caused by missing pthreads library

Not sure why it worked on Debian but didn't work on Arch, could have
been some indirect link dependency or so.

Anyway, we explicitly depends on pthreads, so need to do corresponding
find_package().

6 years agoCycles: Synchronize changes with standalone repository
Sergey Sharybin [Mon, 29 Dec 2014 09:48:21 +0000 (14:48 +0500)]
Cycles: Synchronize changes with standalone repository

This changes were done in original commit of the standalone Cycles repository
and needed here for easier patch synchronization.

6 years agoModify shader for texture coordinates of objects to also match the
Antony Riakiotakis [Wed, 31 Dec 2014 14:48:05 +0000 (15:48 +0100)]
Modify shader for texture coordinates of objects to also match the
rendered result more closely (all three parameters should match now)

6 years agoJust another attempt to make MSVC happy
Sergey Sharybin [Wed, 31 Dec 2014 14:03:48 +0000 (19:03 +0500)]
Just another attempt to make MSVC happy

No idea why standalone libmv remo was all fine with the code..

6 years agoCorrections to world texture coordinates to match the rendered result
Antony Riakiotakis [Wed, 31 Dec 2014 14:00:18 +0000 (15:00 +0100)]
Corrections to world texture coordinates to match the rendered result
more closely

6 years agoGamma node support for Blender Internal
Dotsnov Valentin [Wed, 31 Dec 2014 12:29:38 +0000 (13:29 +0100)]
Gamma node support for Blender Internal

Patch by Blend4Web Team, thanks!

Reviewers: psy-fi

Subscribers: yurikovelenov, AlexKowel, Evgeny_Rodygin

Differential Revision: https://developer.blender.org/D899

6 years agoFix T42984 detail flood fill not respecting mask values for smooth/sharp
Antony Riakiotakis [Wed, 31 Dec 2014 12:11:42 +0000 (13:11 +0100)]
Fix T42984 detail flood fill not respecting mask values for smooth/sharp
curves.

Issue here is that brush curve could return negative values. This would
result in overflow of mask values. Those were not visible during real
time preview because result would be clamped.

We had two functions in the code, one of which allowed negatives but I
don't think that we really want that, users have no control over the
negative values at all anyway.

Thanks to the reporter, Leon Cheung for figuring out the issue :)

6 years agoHopefully fix compilation error after recent update
Sergey Sharybin [Wed, 31 Dec 2014 11:34:22 +0000 (16:34 +0500)]
Hopefully fix compilation error after recent update

6 years agoLibmv: Update to latest upstream version
Sergey Sharybin [Wed, 31 Dec 2014 10:55:00 +0000 (15:55 +0500)]
Libmv: Update to latest upstream version

Main purpose of this is to bring new gflags library which is more likely
to have a fix for undefined order of static variables initialization and
also to bring new glog where some compilation error are fixed (which are
only visible with more strict checks with clang and c++11 enabled).

6 years agoJoystick: Suppress add/remove device events
Sergey Sharybin [Wed, 31 Dec 2014 09:56:42 +0000 (14:56 +0500)]
Joystick: Suppress add/remove device events

Previously they'll be printed to the console as a totally unknown events
together claim this shouldn't have happened which is just misleading.

6 years agoCompilation error fix for strict flags
Sergey Sharybin [Wed, 31 Dec 2014 09:50:27 +0000 (14:50 +0500)]
Compilation error fix for strict flags

6 years agoRemove executable flag from the build configuration files
Sergey Sharybin [Wed, 31 Dec 2014 09:05:53 +0000 (14:05 +0500)]
Remove executable flag from the build configuration files

They're not intended to be executed directly and seems mode change happened
by accident.

Setting -x for this files to avoid possible incidents by trying to run this
files in shell.

6 years agoOperator to duplicate the active Grease Pencil layer
Joshua Leung [Wed, 31 Dec 2014 01:20:44 +0000 (14:20 +1300)]
Operator to duplicate the active Grease Pencil layer

TODO: this needs a proper "duplicate" icon, without the "ID" label

6 years agoFix an odd line that slipped in my ghost_hack_first_file commit
Jens Verwiebe [Tue, 30 Dec 2014 17:31:25 +0000 (18:31 +0100)]
Fix an odd line that slipped in my ghost_hack_first_file commit

6 years agoFix issue in separate rake control commit:
Antony Riakiotakis [Tue, 30 Dec 2014 17:06:59 +0000 (18:06 +0100)]
Fix issue in separate rake control commit:

Mask slot still depended on regular slot to check some capabilities.
Some angle capabilities now only depend on the texture slot, not the
brush, so separate them and use the slot where appropriate.

6 years agoFix T42780: Object linking allows to have linked armatures in pose mode
Sergey Sharybin [Tue, 30 Dec 2014 16:33:15 +0000 (21:33 +0500)]
Fix T42780: Object linking allows to have linked armatures in pose mode

This isn't so bad for until one goes re-posing the armature and then uses undo.

It is the same issue as with edit mode which was solved back in the days.

6 years agoPyAPI: geometry.normal, support polygons
Campbell Barton [Tue, 30 Dec 2014 11:47:56 +0000 (22:47 +1100)]
PyAPI: geometry.normal, support polygons

Previously this only supported tri/quads,
now arbitrary size poly lines are supported.

6 years agoPyAPI: allow non-vector args for geometry module
Campbell Barton [Tue, 30 Dec 2014 10:50:47 +0000 (21:50 +1100)]
PyAPI: allow non-vector args for geometry module

Previously only vector args were accepted,
now allow generic sequence of numbers.

Was annoying to create vectors just to pass in args.

6 years agoFix possible NULL pointer dereference
Campbell Barton [Mon, 29 Dec 2014 20:37:59 +0000 (07:37 +1100)]
Fix possible NULL pointer dereference

also remove redundant NULL check

6 years agoI18n scripts: minor spelling exceptions update.
Bastien Montagne [Mon, 29 Dec 2014 20:55:51 +0000 (21:55 +0100)]
I18n scripts: minor spelling exceptions update.

6 years agoCycles: Fix MSVC which desn't like condition to be split by preprocessor
Sergey Sharybin [Mon, 29 Dec 2014 16:10:37 +0000 (21:10 +0500)]
Cycles: Fix MSVC which desn't like condition to be split by preprocessor

6 years agoFix stupid handling of 'Object.matrix_local' in RNA.
Bastien Montagne [Mon, 29 Dec 2014 14:23:12 +0000 (15:23 +0100)]
Fix stupid handling of 'Object.matrix_local' in RNA.

The getter of this matrix (actually, `BKE_object_matrix_local_get()`) was only correct
in case of pure-object parenting, bone parenting and such did not gave valid results.

Also cleaned up a bit setter code, was using as temp storage ob->obmat itself,
which is supposed to be a world matrix!

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D958

6 years agoRevert "Fix T42888: Separate and Combine HSV distorts the hue value"
Sergey Sharybin [Mon, 29 Dec 2014 13:14:08 +0000 (18:14 +0500)]
Revert "Fix T42888: Separate and Combine HSV distorts the hue value"

This reverts commit 1549fea9995c348bc14a9105df5e460644e2b33a.

After some further discussion with other developers in the team it becomes
clear there's no correct solution here. It is just more matter of what's
more convenient in particular case.

We're just going back to old code to avoid possible frustration with the
older files in newer blenders. This also means all HSV/HSL is considered
to be "linear" in the shading nodes.

Would be ported to 2.73 final.

6 years agoSmall fix for QTCreator project script, by Sybren Stüvel.
Lukas Tönne [Mon, 29 Dec 2014 12:45:05 +0000 (13:45 +0100)]
Small fix for QTCreator project script, by Sybren Stüvel.

Either ./blender-git or ~/blender-git should be used, but not
.~/blender-git. This patch fixes that, by choosing ~/blender-git,
in line with the last CLI argument.

6 years agoRotate around selection now will work on last stroke position in texture
Antony Riakiotakis [Mon, 29 Dec 2014 11:34:46 +0000 (12:34 +0100)]
Rotate around selection now will work on last stroke position in texture
paint too.

6 years agofix for doc generator
Campbell Barton [Mon, 29 Dec 2014 11:15:14 +0000 (22:15 +1100)]
fix for doc generator

6 years agoMove average stroke from sculpt session to unified paint settings so it
Antony Riakiotakis [Mon, 29 Dec 2014 10:35:22 +0000 (11:35 +0100)]
Move average stroke from sculpt session to unified paint settings so it
can be reused by other paint systems too.

6 years agoCMake: Add check for whether OIIO has bundled pugixml library
Sergey Sharybin [Mon, 29 Dec 2014 10:02:16 +0000 (15:02 +0500)]
CMake: Add check for whether OIIO has bundled pugixml library

Will become handy when we'll be re-integrating changes from Cycles standalone
repository back to blender.

6 years agoCleanup: get rid of sculpt minmax and reuse last stroke function (code
Antony Riakiotakis [Mon, 29 Dec 2014 10:01:10 +0000 (11:01 +0100)]
Cleanup: get rid of sculpt minmax and reuse last stroke function (code
did that anyway, just kept the result in an intermediate variable)

6 years agoCycles: Add asserts around BVH stack pushes
Sergey Sharybin [Mon, 29 Dec 2014 09:00:25 +0000 (14:00 +0500)]
Cycles: Add asserts around BVH stack pushes

This way we're kind of safer to troubleshoot possible stack overflow issues.

6 years agoCycles: Bump stack size for QBVH traversal code
Sergey Sharybin [Mon, 29 Dec 2014 08:37:18 +0000 (13:37 +0500)]
Cycles: Bump stack size for QBVH traversal code

Traversal now can push up to 2x of nodes to the stack, so need some tweaks
to the stack size.

6 years agoCycles: Add some sanity check asserts in the traversal code
Sergey Sharybin [Mon, 29 Dec 2014 08:34:10 +0000 (13:34 +0500)]
Cycles: Add some sanity check asserts in the traversal code

This way we'll be sure (in debug builds) that regular BVH traversal is not used
for QBVH tree (could happen because of mismatch of logic in kernel and render).

6 years agocleanup: redundant call to BKE_object_apply_mat4
Bastien Montagne [Mon, 29 Dec 2014 02:04:46 +0000 (13:04 +1100)]
cleanup: redundant call to BKE_object_apply_mat4

6 years agoCycles: Disable QBVH on 32bit systems all together
Sergey Sharybin [Mon, 29 Dec 2014 08:23:44 +0000 (13:23 +0500)]
Cycles: Disable QBVH on 32bit systems all together

The reason for this is that we don't sue SSE optimization for 32bit platforms
because of T36316.

Things to look into:

- Nail the root of the issue of that report
- Implement non-SSE traversal code for QBVH

6 years agoFix T40930: Add a new option to select faces by smooth/flat shading.
Bastien Montagne [Sun, 28 Dec 2014 18:08:30 +0000 (19:08 +0100)]
Fix T40930: Add a new option to select faces by smooth/flat shading.

Org code by robschia (Roberto Schiavone), first review by campbellbarton (Campbell Barton),
final review and minor changes by mont29 (Bastien Montagne).

Reviewers: cambellbarton, mont29

Subscribers: mont29, campbellbarton

Maniphest Tasks: T40930

Differential Revision: https://developer.blender.org/D638

6 years agoCleanup: no need for hacks here, RNA allows for real read-only props, and if you...
Bastien Montagne [Sun, 28 Dec 2014 17:30:33 +0000 (18:30 +0100)]
Cleanup: no need for hacks here, RNA allows for real read-only props, and if you define
a getter func, it won't rely on any DNA member either...

6 years agoFix leak in cycles-bake
Campbell Barton [Sun, 28 Dec 2014 04:26:34 +0000 (15:26 +1100)]
Fix leak in cycles-bake

6 years agoFix leak in select-similar regions
Campbell Barton [Sun, 28 Dec 2014 04:26:24 +0000 (15:26 +1100)]
Fix leak in select-similar regions

6 years agoFix buffer overrun calculating unique names
Campbell Barton [Sun, 28 Dec 2014 04:59:12 +0000 (15:59 +1100)]
Fix buffer overrun calculating unique names

6 years agoBLI_string_utf8: add BLI_strncpy_utf8_rlen
Campbell Barton [Sun, 28 Dec 2014 04:58:13 +0000 (15:58 +1100)]
BLI_string_utf8: add BLI_strncpy_utf8_rlen

6 years agocleanup: avoid ref-counting None for a new matrix
Campbell Barton [Sun, 28 Dec 2014 04:13:01 +0000 (15:13 +1100)]
cleanup: avoid ref-counting None for a new matrix

6 years agoCycles: Mark visibility TODO as resolved
Sergey Sharybin [Sat, 27 Dec 2014 18:38:29 +0000 (23:38 +0500)]
Cycles: Mark visibility TODO as resolved

6 years agoCycles: Fix visibility check for instanced nodes
Sergey Sharybin [Sat, 27 Dec 2014 18:33:50 +0000 (23:33 +0500)]
Cycles: Fix visibility check for instanced nodes

The issue is that only instance node contains proper visibility flags,
nodes from instanced BVH are not correct.

6 years agoFix a very stupid memleak in own bpy_app_translations.c code...
Bastien Montagne [Sat, 27 Dec 2014 16:24:39 +0000 (17:24 +0100)]
Fix a very stupid memleak in own bpy_app_translations.c code...

Safe for 2.73.

6 years agoGPencil UI: Color swatches for both Stroke and Fill colors are now shown
Joshua Leung [Sat, 27 Dec 2014 14:02:47 +0000 (03:02 +1300)]
GPencil UI: Color swatches for both Stroke and Fill colors are now shown

The layers list and the Dopesheet channels now show color swatches for both the
stroke and fill colours now. This is useful when you've got layers that only
use either/or.

* Currently, these only get shown if the relevant opacity setting is high enough
  for that aspect to contribute to the result.

* The sizing of these items could do with some more tweaking (especially in the
  Dopesheet), as these may now be too small to accurately see and/or interact with.

* There are some potential issues when using near-gray (or actually, colours similar
  to the list backgrounds, but that issue exists in other areas of Blender anyway.

(NOTE: At this stage, these changes are still experimental, and not for 2.73 yet)

6 years agoExperimental fix for "random large dots" bug when using a stylus
Joshua Leung [Sat, 27 Dec 2014 04:37:45 +0000 (17:37 +1300)]
Experimental fix for "random large dots" bug when using a stylus

Since I don't have a (pressure sensitive) tablet handy, I can't really test this
out, but apparently there is a bug which currently exists with the following description:
  "Small Dots, when you do just one click a single GP dot is created, it´s fine but don't recognize the pen pressure, always the maximum value of thickness, and
    It´s so easy create dots accidentally (even when you use the eraser, this dots appear spontaneously) and you start to have big screen-size-constant dots beside of you fine lines."

This commit just shuffles around the order of things a bit so that some of the misfiring
events might get skipped instead.

6 years agoRestoring all the whitespace!
Joshua Leung [Fri, 26 Dec 2014 23:09:29 +0000 (12:09 +1300)]
Restoring all the whitespace!

6 years agoFix T43034: beautify-fill leaves zero area tri's
Campbell Barton [Sat, 27 Dec 2014 05:47:42 +0000 (16:47 +1100)]
Fix T43034: beautify-fill leaves zero area tri's

6 years agocleanup: redundant tri-normal calculation
Campbell Barton [Sat, 27 Dec 2014 05:36:31 +0000 (16:36 +1100)]
cleanup: redundant tri-normal calculation

6 years agocleanup: knife tools, use generic sort function
Campbell Barton [Sat, 27 Dec 2014 01:20:33 +0000 (12:20 +1100)]
cleanup: knife tools, use generic sort function

6 years agoFix typo in angle commit, noticed by Kevin Dietrich, thanks!
Antony Riakiotakis [Fri, 26 Dec 2014 23:10:53 +0000 (00:10 +0100)]
Fix typo in angle commit, noticed by Kevin Dietrich, thanks!

6 years agoOnly add a fill brush to default .blend if there isn't one already. For
Antony Riakiotakis [Fri, 26 Dec 2014 23:08:58 +0000 (00:08 +0100)]
Only add a fill brush to default .blend if there isn't one already. For
some reason this happened twice here.

Likely candidate for 2.73 final

6 years agoBrush Texture Angle Goodies:
Antony Riakiotakis [Fri, 26 Dec 2014 22:51:27 +0000 (23:51 +0100)]
Brush Texture Angle Goodies:

This commit includes a few things:

* It moves the Rake and Random flags from the brush to the MTex.
* The first change allows mask textures to have independent rake
support.
* Random rotation now has an angle value that controls the width of the
effect from the rake or default angle
* Rake and Random are now supported together.

6 years agoFix T43010 regression in material setting.
Antony Riakiotakis [Fri, 26 Dec 2014 19:06:56 +0000 (20:06 +0100)]
Fix T43010 regression in material setting.

Caused by own fix for another display case.

Shoud be safe for 2.73 final.

6 years agoGPencil: Picky whitespace cleanup
julianeisel [Fri, 26 Dec 2014 19:00:52 +0000 (20:00 +0100)]
GPencil: Picky whitespace cleanup

6 years agoPut editor initialization before python.
Antony Riakiotakis [Fri, 26 Dec 2014 18:13:32 +0000 (19:13 +0100)]
Put editor initialization before python.

Initially it was moved to allow setting keymaps of python defined menus
in C but looks like it breaks macro definition in python.

Thanks to Julian for tracking this down. It should fix T42485

6 years agoFix T42977: Weights failed to display in Wireframe mode when using Face Select
julianeisel [Fri, 26 Dec 2014 15:53:40 +0000 (16:53 +0100)]
Fix T42977: Weights failed to display in Wireframe mode when using Face Select

D948, reviewed by @mont29 (thanks for that)

6 years agoGPencil: Use a different brush cursor for eraser
julianeisel [Fri, 26 Dec 2014 15:38:51 +0000 (16:38 +0100)]
GPencil: Use a different brush cursor for eraser

D783 with minor edits to increase contrast

6 years agoFix T42641, Graphical fragments showing on Blender 2.71 and higher when baking.
Bastien Montagne [Fri, 26 Dec 2014 11:54:03 +0000 (12:54 +0100)]
Fix T42641, Graphical fragments showing on Blender 2.71 and higher when baking.

Safe for 2.73...

This revert rB9b0ab890676790bb1e8e77797629b889ea66f69e - needed to set that threshold to a small
negative value to remove the last artefacts reported in T39735, but now I could not reproduce
any with the previous 0.0f value, so restoring it for the time being.

If this 'shadowed neighbor face' case re-appears, we can always choose a value in-between, like -1e-18f...