blender.git
5 years agoCode cleanup: use bool
Campbell Barton [Mon, 31 Mar 2014 12:39:08 +0000 (23:39 +1100)]
Code cleanup: use bool

5 years agoCode cleanup: pack BezTriple a little (though size remains same)
Campbell Barton [Mon, 31 Mar 2014 08:56:00 +0000 (19:56 +1100)]
Code cleanup: pack BezTriple a little (though size remains same)

5 years agoVector handles were hidden but were allowed to slide apparently
Sergey Sharybin [Mon, 31 Mar 2014 12:32:27 +0000 (18:32 +0600)]
Vector handles were hidden but were allowed to slide apparently

5 years agoDidn't meant to commit debug-only-code in the previous commit!
Sergey Sharybin [Mon, 31 Mar 2014 12:02:46 +0000 (18:02 +0600)]
Didn't meant to commit debug-only-code in the previous commit!

5 years agoCode cleanup: use bool/true/false in movieclip.c
Sergey Sharybin [Mon, 31 Mar 2014 11:59:50 +0000 (17:59 +0600)]
Code cleanup: use bool/true/false in movieclip.c

5 years agoFix T39525: branched path + no lights + disabled use all lights option crash.
Brecht Van Lommel [Mon, 31 Mar 2014 11:51:52 +0000 (13:51 +0200)]
Fix T39525: branched path + no lights + disabled use all lights option crash.

5 years agoSculpt/dyntopo: Make the omp threads configurable to overcome performance issues
Jens Verwiebe [Mon, 31 Mar 2014 11:51:40 +0000 (13:51 +0200)]
Sculpt/dyntopo: Make the omp threads configurable to overcome performance issues
- autodetect optimal default, which typically avoids HT threads
- can store setting in .blend per scene
- this does not touch general omp max threads, due i found other areas where the calculations are fitting for huge corecount
- Intel notes, some of the older generation processors with HyperThreading would not provide significant performance boost for FPU intensive applications. On those systems you might want to set OMP_NUM_THREADS = total number of cores (not total number of hardware theads).

5 years agoFix T39510, Fix T39523: camera motion blur not working correct after recent changes.
Brecht Van Lommel [Mon, 31 Mar 2014 11:36:51 +0000 (13:36 +0200)]
Fix T39510, Fix T39523: camera motion blur not working correct after recent changes.

5 years agoCode cleanup: fixes for function prototypes
Sergey Sharybin [Mon, 31 Mar 2014 11:34:57 +0000 (17:34 +0600)]
Code cleanup: fixes for function prototypes

5 years agoFix T39405: Make "amplitude" for elastic easing more intuitive to use
Joshua Leung [Mon, 31 Mar 2014 11:24:34 +0000 (00:24 +1300)]
Fix T39405: Make "amplitude" for elastic easing more intuitive to use

Previously, amplitude was more of an "absolute" value in the sense that whatever value
you set it to became a sort of "maximum bounce" height. However, it turns out that this
approach isn't so nice when dealing with large gaps between the values of two keyframes,
as the elastic easing equations expect that "amplitude > |change|" (where change is the
difference in values from key1 to key2).

Now, the "amplitude" value we pass to the easing functions are "|change| + amplitude".
This is easier to control, as now, as soon as you start changing that value, there are
immediately visible effects.

5 years agoCode cleanup: use bool insted of int/short in MCE
Sergey Sharybin [Mon, 31 Mar 2014 09:31:28 +0000 (15:31 +0600)]
Code cleanup: use bool insted of int/short in MCE

5 years agoCode cleanup: use bool instead of short in motrack
Sergey Sharybin [Mon, 31 Mar 2014 09:24:23 +0000 (15:24 +0600)]
Code cleanup: use bool instead of short in motrack

5 years agoCode cleanup: use false/true/bool for masking
Sergey Sharybin [Mon, 31 Mar 2014 09:23:27 +0000 (15:23 +0600)]
Code cleanup: use false/true/bool for masking

5 years agoMasking: fix for initialdeather point not being offset to the mouse position
Sergey Sharybin [Mon, 31 Mar 2014 08:59:53 +0000 (14:59 +0600)]
Masking: fix for initialdeather point not being offset to the mouse position

5 years agoMaksing: fix issue when it's not possible to drag right handle of aligned handles
Sergey Sharybin [Mon, 31 Mar 2014 08:46:30 +0000 (14:46 +0600)]
Maksing: fix issue when it's not possible to drag right handle of aligned handles

5 years agoFix bug in image texture UI: "Use Alpha" checkbox doesn't appear if file format is...
IRIE Shinsuke [Mon, 31 Mar 2014 05:20:55 +0000 (14:20 +0900)]
Fix bug in image texture UI: "Use Alpha" checkbox doesn't appear if file format is BMP.

5 years agoAdd Simple randomize vertex tool
Campbell Barton [Mon, 31 Mar 2014 03:56:43 +0000 (14:56 +1100)]
Add Simple randomize vertex tool

D432 from Walid Shouman with normal & uniform options added.

5 years agoAdd normal option to ED_transverts
Campbell Barton [Mon, 31 Mar 2014 03:55:55 +0000 (14:55 +1100)]
Add normal option to ED_transverts

5 years agoTweak slerp assert to be less picky
Campbell Barton [Mon, 31 Mar 2014 03:55:12 +0000 (14:55 +1100)]
Tweak slerp assert to be less picky

5 years agoPy API: Vector.slerp(). also added interp_v3_v3v3_slerp(_safe) functions
Campbell Barton [Mon, 31 Mar 2014 02:18:23 +0000 (13:18 +1100)]
Py API: Vector.slerp(). also added interp_v3_v3v3_slerp(_safe) functions

5 years agoFix for error in normalize_vn_vn(), add len_squared_vn
Campbell Barton [Mon, 31 Mar 2014 00:17:46 +0000 (11:17 +1100)]
Fix for error in normalize_vn_vn(), add len_squared_vn

5 years agoCycles: Deformation Motionblur works on GPU, so remove the checks in the UI.
Thomas Dinges [Mon, 31 Mar 2014 00:18:29 +0000 (02:18 +0200)]
Cycles: Deformation Motionblur works on GPU, so remove the checks in the UI.

5 years agoCode cleanup: remove unused members of TransVert
Campbell Barton [Sun, 30 Mar 2014 22:57:34 +0000 (09:57 +1100)]
Code cleanup: remove unused members of TransVert

5 years agoRefactor: Add generic poll ED_transverts_poll
Campbell Barton [Sun, 30 Mar 2014 21:23:40 +0000 (08:23 +1100)]
Refactor: Add generic poll ED_transverts_poll

5 years agoFix T39490: BGE: Text to Mesh, then MouseOver does not work
Mitchell Stokes [Sun, 30 Mar 2014 20:55:10 +0000 (13:55 -0700)]
Fix T39490: BGE: Text to Mesh, then MouseOver does not work

Non-mesh objects default to no collisions. lordloki provided a
patch that sets the collision properties for a mesh converted from
a curve/meta/surf/text to the default collision properties for
a mesh.

5 years agoStyle cleanup
Campbell Barton [Sun, 30 Mar 2014 18:45:28 +0000 (05:45 +1100)]
Style cleanup

5 years agoFix for missing break statements
Campbell Barton [Sun, 30 Mar 2014 18:44:32 +0000 (05:44 +1100)]
Fix for missing break statements

5 years agoOSX: Remove the apple/omp workaround for now, to better judge compiler differences
Jens Verwiebe [Sun, 30 Mar 2014 15:38:33 +0000 (17:38 +0200)]
OSX: Remove the apple/omp workaround for now, to better judge compiler differences

5 years agoAnd another compile fix for M_PI and msvc2008...
Thomas Dinges [Sun, 30 Mar 2014 13:36:09 +0000 (15:36 +0200)]
And another compile fix for M_PI and msvc2008...

5 years agoCorrect own recent changes broke release builds
Campbell Barton [Sun, 30 Mar 2014 09:35:59 +0000 (20:35 +1100)]
Correct own recent changes broke release builds

5 years agoDoxy comment for main()
Campbell Barton [Sun, 30 Mar 2014 09:14:57 +0000 (20:14 +1100)]
Doxy comment for main()

5 years agoCode cleanup: warnings (clang)
Campbell Barton [Sun, 30 Mar 2014 08:37:43 +0000 (19:37 +1100)]
Code cleanup: warnings (clang)

5 years agoFix for uninitialized var use
Campbell Barton [Sun, 30 Mar 2014 08:36:51 +0000 (19:36 +1100)]
Fix for uninitialized var use

5 years agoEnable GCC pedantic warnings with strict flags,
Campbell Barton [Sun, 30 Mar 2014 04:02:24 +0000 (15:02 +1100)]
Enable GCC pedantic warnings with strict flags,

also modify MIN/MAX macros to prevent shadowing.

5 years agoCode cleanup: BKE_nurbList_handles_set used some strange logic
Campbell Barton [Sun, 30 Mar 2014 03:04:24 +0000 (14:04 +1100)]
Code cleanup: BKE_nurbList_handles_set used some strange logic

5 years agocorrect recent commit
Campbell Barton [Sun, 30 Mar 2014 02:22:01 +0000 (13:22 +1100)]
correct recent commit

5 years agoCode cleanup: use strict flags for BLI_rand
Campbell Barton [Sun, 30 Mar 2014 02:12:33 +0000 (13:12 +1100)]
Code cleanup: use strict flags for BLI_rand

5 years agoBLI_rand: Add BLI_rng_get_float_unit_v3, was static rayshade func
Campbell Barton [Sun, 30 Mar 2014 02:03:57 +0000 (13:03 +1100)]
BLI_rand: Add BLI_rng_get_float_unit_v3, was static rayshade func

5 years agoConvenience macro for print_ funcs, saves passing id each time
Campbell Barton [Sun, 30 Mar 2014 02:03:30 +0000 (13:03 +1100)]
Convenience macro for print_ funcs, saves passing id each time

5 years agofix scons ffmpeg libraries for mingw32
Antony Riakiotakis [Sat, 29 Mar 2014 23:34:55 +0000 (01:34 +0200)]
fix scons ffmpeg libraries for mingw32

5 years agoCode cleanup: reflect_v3_v3v3 made redundant copies
Campbell Barton [Sun, 30 Mar 2014 01:23:19 +0000 (12:23 +1100)]
Code cleanup: reflect_v3_v3v3 made redundant copies

5 years agoCorrection for poly_to_tri_count (used over-complicated method)
Campbell Barton [Sun, 30 Mar 2014 01:00:11 +0000 (12:00 +1100)]
Correction for poly_to_tri_count (used over-complicated method)

5 years agoFix mingw32 compilation
Antony Riakiotakis [Sat, 29 Mar 2014 22:51:30 +0000 (00:51 +0200)]
Fix mingw32 compilation

5 years agoCode cleanup: de-duplicate cotangent weight function & add arg sizes
Campbell Barton [Sun, 30 Mar 2014 00:08:33 +0000 (11:08 +1100)]
Code cleanup: de-duplicate cotangent weight function & add arg sizes

5 years agoCode cleanup: kdopbvh, move minmax init into function
Campbell Barton [Sat, 29 Mar 2014 23:33:01 +0000 (10:33 +1100)]
Code cleanup: kdopbvh, move minmax init into function

5 years agoSupport #ifndef WITH_SMOKE again
Campbell Barton [Sat, 29 Mar 2014 22:31:28 +0000 (09:31 +1100)]
Support #ifndef WITH_SMOKE again

5 years agoFix MinGW64 compilation until we update the libraries.
Antony Riakiotakis [Sat, 29 Mar 2014 20:12:52 +0000 (22:12 +0200)]
Fix MinGW64 compilation until we update the libraries.

5 years agoCycles UI: Do not grey out Object Motion Blur buttons, when we use CPU fallback ...
Thomas Dinges [Sat, 29 Mar 2014 20:58:34 +0000 (21:58 +0100)]
Cycles UI: Do not grey out Object Motion Blur buttons, when we use CPU fallback (User Preferences set to None).

5 years agoChange dyntopo detail size calculation slightly so the result is close
Antony Riakiotakis [Sat, 29 Mar 2014 16:16:36 +0000 (18:16 +0200)]
Change dyntopo detail size calculation slightly so the result is close
to the radius of the widget when setting the detail.

5 years agoFix scons CUDA build and compile error with more strict compilers.
Brecht Van Lommel [Sat, 29 Mar 2014 14:56:29 +0000 (15:56 +0100)]
Fix scons CUDA build and compile error with more strict compilers.

5 years agoCycles volume: change heterogeneous volume sampling in branched path first hit.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:50 +0000 (13:03 +0100)]
Cycles volume: change heterogeneous volume sampling in branched path first hit.

This now uses decoupled ray marching, and removes the probalistic scattering.
What this means is that each AA sample will be slower but contain less noise,
hopefully giving less render time to reach the same noise levels.

For those following along, there's still a bunch of volume sampling improvements
to do: all-light sampling, multiple importance sampling, transmittance threshold,
better indirect light handling, multiple scatter approximation.

5 years agoCycles code internals: add initial implementation of decoupled ray marching.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:50 +0000 (13:03 +0100)]
Cycles code internals: add initial implementation of decoupled ray marching.

This basically records all volumes steps, which can then later be used multiple
time to take scattering samples, without having to step through the volume
again. From the paper:

"Importance Sampling Techniques for Path Tracing in Participating Media"

This works only on the CPU, due to usage of malloc/free.

5 years agoCycles code refactor: minor refactoring and comments for volume code.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:49 +0000 (13:03 +0100)]
Cycles code refactor: minor refactoring and comments for volume code.

5 years agoCycles volume: change homogeneous volume sampling in branched path first hit.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:49 +0000 (13:03 +0100)]
Cycles volume: change homogeneous volume sampling in branched path first hit.

Similar to surfaces, this will now always scatter rather than probabilistically
scattering or not depending on the transmittance.

This also makes calculation of branched path throughput non-probalistic, which
makes thing slower too. That's to be solved by decoupled ray marching later.

5 years agoCycles code refactor: shuffle homogeneous volume code to factor out hit/miss decision.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:49 +0000 (13:03 +0100)]
Cycles code refactor: shuffle homogeneous volume code to factor out hit/miss decision.

This removes a few optimizations to avoid exp() calls and division, they will be
added back later, at the moment it's more important to make the code easier to
understand and refactor.

5 years agoCycles code refactor: move some more volume code into separate functions.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:49 +0000 (13:03 +0100)]
Cycles code refactor: move some more volume code into separate functions.

5 years agoCycles volumes: don't average coefficients over volume step.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:49 +0000 (13:03 +0100)]
Cycles volumes: don't average coefficients over volume step.

Rather use random point in each step instead of giving the steps random sizes.
Gives a bit more accurate results with large step sizes, but also convenient
convention for later changes.

5 years agoFix cycles error for heterogenous volumes, causing double step size to be used.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:49 +0000 (13:03 +0100)]
Fix cycles error for heterogenous volumes, causing double step size to be used.

This gives longer render times due to smaller step size, double it to get
something more like the previous behavior.

5 years agoCycles code refactor: move some volume code to separate functions.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:48 +0000 (13:03 +0100)]
Cycles code refactor: move some volume code to separate functions.

5 years agoCycles: add "density", "flame" and "color" attributes for smoke domains.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:48 +0000 (13:03 +0100)]
Cycles: add "density", "flame" and "color" attributes for smoke domains.

These can currently be accessed by adding an Attribute node and specifying one
of those three names. A Smoke/Fire node should be added at some point to make
this more convenient.

These values might change still before the release, in particular for flame the
meaning seems unclear, it's just values in the 0..1 range. This is useful for
color ramps, but it might be good if this was also available as temperature in
kelvin so it can be plugged into the blackbody node. But I couldn't figure out
from the smoke code if or how this corresponds to a physical unit.

Here's a (quite poor) example file for a fire + smoke setup:
http://www.pasteall.org/blend/27990

5 years agoCycles code internals: add support for mesh voxel grid attributes.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:48 +0000 (13:03 +0100)]
Cycles code internals: add support for mesh voxel grid attributes.

These are internally stored as a 3D image textures, but accessible like e.g.
UV coordinates though the attribute node and getattribute().

This is convenient for rendering e.g. smoke objects where data like density is
really a property of the mesh, and it avoids having to specify the smoke object
in a texture node, instead the material will work with any smoke domain.

5 years agoCycles code refactor: move more code to geom folder, add some comments.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:48 +0000 (13:03 +0100)]
Cycles code refactor: move more code to geom folder, add some comments.

5 years agoFix: cycles volume emission incorrectly enabling surface importance sampling.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:48 +0000 (13:03 +0100)]
Fix: cycles volume emission incorrectly enabling surface importance sampling.

5 years agoCycles code internals: add CPU kernel support for 3D image textures.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:48 +0000 (13:03 +0100)]
Cycles code internals: add CPU kernel support for 3D image textures.

5 years agoRNA/Smoke: add access to high resolution density grid, and flame and color grids.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:47 +0000 (13:03 +0100)]
RNA/Smoke: add access to high resolution density grid, and flame and color grids.

5 years agoCycles code refactor: replace magic ~0 values in the code with defines.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:47 +0000 (13:03 +0100)]
Cycles code refactor: replace magic ~0 values in the code with defines.

5 years agoCycles: add per object options to disable motion blur and set deformation motion...
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:47 +0000 (13:03 +0100)]
Cycles: add per object options to disable motion blur and set deformation motion steps.

Notes:

* The motion steps only affect deformation motion blur.
* The actual number of steps is 2^(steps - 1). This avoids having to sample at
  many different times for object with more/fewer steps, now the times overlap.
* Deformation motion blur is enabled by default in existing files that have
  motion blur enabled. If the object is not deforming, this will be detected at
  export time, so raytracing performance will not be affected.

Part of the code is from the summer of code project by Gavin Howard.

5 years agoCycles: add support for curve deformation motion blur.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:47 +0000 (13:03 +0100)]
Cycles: add support for curve deformation motion blur.

5 years agoCycles: add support for mesh deformation motion blur.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:47 +0000 (13:03 +0100)]
Cycles: add support for mesh deformation motion blur.

5 years agoCycles code refactor: add motion sampled normals attribute.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:46 +0000 (13:03 +0100)]
Cycles code refactor: add motion sampled normals attribute.

5 years agoCycles code refactor: improve vertex motion attribute storage and export.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:46 +0000 (13:03 +0100)]
Cycles code refactor: improve vertex motion attribute storage and export.

This now supports multiple steps and subframe sampling of motion.

There is one difference for object and camera transform motion blur. It still
only supports two steps there, but the transforms are now sampled at subframe
times instead of the previous and next frame and then interpolated/extrapolated.
This will give different render results in some cases but it's more accurate.

Part of the code is from the summer of code project by Gavin Howard, but it has
been significantly rewritten and extended.

5 years agoCycles code refactor: change curve key to float4 for easier storage as attribute.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:46 +0000 (13:03 +0100)]
Cycles code refactor: change curve key to float4 for easier storage as attribute.

5 years agoCycles code refactor: changes to make adding new primitive types easier.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:46 +0000 (13:03 +0100)]
Cycles code refactor: changes to make adding new primitive types easier.

5 years agoCycles code refactor: add support for motion vertex attributes.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:46 +0000 (13:03 +0100)]
Cycles code refactor: add support for motion vertex attributes.

5 years agoCycles code refactor: move more geometry code into per primitive files.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:45 +0000 (13:03 +0100)]
Cycles code refactor: move more geometry code into per primitive files.

5 years agoCycles code refactor: move geometry related kernel files into own directory.
Brecht Van Lommel [Sat, 29 Mar 2014 12:03:45 +0000 (13:03 +0100)]
Cycles code refactor: move geometry related kernel files into own directory.

5 years agoCode cleanup: avoid setting du/dv twice with ray intersection
Campbell Barton [Sat, 29 Mar 2014 11:38:01 +0000 (22:38 +1100)]
Code cleanup: avoid setting du/dv twice with ray intersection

5 years agoCode cleanup: replace dot with len_squared and is_zero checks
Campbell Barton [Sat, 29 Mar 2014 11:23:27 +0000 (22:23 +1100)]
Code cleanup: replace dot with len_squared and is_zero checks

5 years agoCleanup: Minor spelling fixes:
Antony Riakiotakis [Sat, 29 Mar 2014 09:56:32 +0000 (11:56 +0200)]
Cleanup: Minor spelling fixes:

5 years agoGPU_pbvh_buffers: Use triangles to render multires.
Antony Riakiotakis [Sat, 29 Mar 2014 09:39:25 +0000 (11:39 +0200)]
GPU_pbvh_buffers: Use triangles to render multires.

A question here might be: why?

The answer is that GPUs will convert this to triangles so we are wasting
memory during conversion of the element buffer to a triangle buffer
anyway.

The second reason is that some modern GPUs are slower rendering GL_QUADS

The third reason is that due to element caching, this should not in
theory be slower (cached elements do not get recalculated on the GPU).

5 years agoUI: Color-Ramp handles
Campbell Barton [Sat, 29 Mar 2014 04:26:29 +0000 (15:26 +1100)]
UI: Color-Ramp handles

- display handles with solid color.
- active handle is highlighted.
- 1/4 of the colorband draws solid.
- use old-style handles when zoomed out.

D289 by Charlie Jolly with own modifications.

5 years agoChecker percentage calc was wrong, also cleanup
Campbell Barton [Sat, 29 Mar 2014 00:25:44 +0000 (11:25 +1100)]
Checker percentage calc was wrong, also cleanup

5 years agoUpdate clang array checker for new clang py api
Campbell Barton [Sat, 29 Mar 2014 00:07:31 +0000 (11:07 +1100)]
Update clang array checker for new clang py api

5 years agoFix building without openmp continued
Antony Riakiotakis [Fri, 28 Mar 2014 22:11:35 +0000 (00:11 +0200)]
Fix building without openmp continued

5 years agoCode cleanup: correct arg size
Campbell Barton [Fri, 28 Mar 2014 21:42:11 +0000 (08:42 +1100)]
Code cleanup: correct arg size

5 years agoForgot to clean a line in last commit
Jens Verwiebe [Fri, 28 Mar 2014 21:42:21 +0000 (22:42 +0100)]
Forgot to clean a line in last commit

5 years agoFix compiling sculpt without OpenMP available
Jens Verwiebe [Fri, 28 Mar 2014 21:37:05 +0000 (22:37 +0100)]
Fix compiling sculpt without OpenMP available

5 years agoFix T39468
Antony Riakiotakis [Fri, 28 Mar 2014 20:01:26 +0000 (22:01 +0200)]
Fix T39468

Issue is that sampling functions did not pass a thread index to the
texture sampler so all threads were contesting for the same pool.

Paint cursors and sculpting that used openmp for threading suffered from
this. Now use omp_get_thread_num to pass the thread number.

5 years agoFix for mask vert add-slide dragging flipped direction
Campbell Barton [Fri, 28 Mar 2014 19:43:37 +0000 (06:43 +1100)]
Fix for mask vert add-slide dragging flipped direction

5 years agoFix T39484: Time line: highlighted area for frame range one frame too short.
Bastien Montagne [Fri, 28 Mar 2014 14:13:21 +0000 (15:13 +0100)]
Fix T39484: Time line: highlighted area for frame range one frame too short.

Just using same principle as the one already used for the 'cache bar': add -0.5/+0.5 offsets to start/end (also edited 'view all' op to match this).

5 years agoImplement asymmetric and free handles type for masks
Sergey Sharybin [Wed, 30 Oct 2013 09:38:45 +0000 (10:38 +0100)]
Implement asymmetric and free handles type for masks

Summary:
The title actually says it all, it's just possible to
have independent free handles for mask splines. Also
it's now possible to have aligned handles displayed
as independent handles.

Required changes in quite a few places, but they're
rather straightforward.

From user perspective there's one really visible change
which is removed Handle Type menu from the panel. With
asymmetric handles it's not clear which handle type to
display there. So now the only way to change handle type
is via V-key menu.

Rewrote normal evaluation function to make it deal
with new type of handles we support. Now it works in
the following way:

- Offset the original spline by maximal weight
- Calculate vector between corresponding U positions
  on offset and original spline
- Normalize this vector.

Seems to be giving more adequate results and doesn't
tend to self-intersect as much as old behavior used to,

There're still some changes which needed to be done, but
which are planned for further patch:

- Support colors and handle size via themes.
- Make handles color-coded, just the same as done for
  regular bezier splines in 3D viewport.

Additional changes to make roto workflow even better:
- Use circles to draw handles
- Support AA for handles
- Change click-create-drag to change curvature of the
  spline instead of adjusting point position.

Reviewers: campbellbarton

CC: sebastian_k, hype, cronk
Differential Revision: http://developer.blender.org/D121

5 years agoFix T37599: Crash making linked objects local and undo
Sergey Sharybin [Wed, 26 Mar 2014 10:55:20 +0000 (16:55 +0600)]
Fix T37599: Crash making linked objects local and undo

Root of the issues comes to the fact that it's possible to produce
a situation when library object data uses local object. This is
actually forbidden and not supported by .blend IO.

Made it so Make Local wouldn't produce such an unsupported states.

Reviewers: brecht

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

5 years agoBevel Factor Mapping
Lukas Treyer [Fri, 28 Mar 2014 10:41:56 +0000 (16:41 +0600)]
Bevel Factor Mapping

Bevel Factor Mapping allows to control the relation between bevel factors
(number between 0 and 1) and the rendered start and end point of a beveled
spline.

There are three options: "Resolution", "Segments", "Spline". "Resolution"
option maps bevel factors as it was done < 2.71, "Spline" and "Segments"
are new.

* "Resolution“: Map the bevel factor to the number of subdivisions of a
  spline (U resolution).
* "Segments“: Map the bevel factor to the length of a segment and to the
  number of subdivisions of a segment.
* "Spline": Map the bevel factor to the length of a spline.

Reviewers: yakca, sergey, campbellbarton

CC: sanne
Differential Revision: https://developer.blender.org/D294

5 years agoFix T39288: Inset regression with extreme offset
Campbell Barton [Fri, 28 Mar 2014 10:35:01 +0000 (21:35 +1100)]
Fix T39288: Inset regression with extreme offset

5 years agoFix for inset bug (edge rail had feedback loop with direction)
Campbell Barton [Fri, 28 Mar 2014 10:30:22 +0000 (21:30 +1100)]
Fix for inset bug (edge rail had feedback loop with direction)

also disable edge-rail by default.

5 years agoFix T39410: Crashes when Saving HiRes .tif
Sergey Sharybin [Fri, 28 Mar 2014 09:21:49 +0000 (15:21 +0600)]
Fix T39410: Crashes when Saving HiRes .tif

5 years agoFix T39455: Nodes scaled wrong when some in a frame, some not.
Lukas Tönne [Fri, 28 Mar 2014 09:05:16 +0000 (10:05 +0100)]
Fix T39455: Nodes scaled wrong when some in a frame, some not.

Transform operators for nodes were not taking parent nodes (frames) into
account. Now use the nodeToView/nodeFromView functions to apply
transforms in local node space.

5 years agoUnbreak carve build for clang
Sergey Sharybin [Fri, 28 Mar 2014 08:41:04 +0000 (14:41 +0600)]
Unbreak carve build for clang

Based on D420

5 years agoFix T39472: Changing Sequencer color space repeatedly changes movie strip's display...
Sergey Sharybin [Fri, 28 Mar 2014 07:58:39 +0000 (13:58 +0600)]
Fix T39472: Changing Sequencer color space repeatedly changes movie strip's display gamma

Issue was caused by the old color space settings being lurking around
seq->anim after the changes in color space settings.

5 years agoBGE code cleanup: Removing an unused include in KX_Light.cpp
Mitchell Stokes [Fri, 28 Mar 2014 05:44:30 +0000 (22:44 -0700)]
BGE code cleanup: Removing an unused include in KX_Light.cpp