blender.git
4 years agoDepsgraph: Add additional relations/id update tags
Sergey Sharybin [Tue, 12 May 2015 08:29:00 +0000 (13:29 +0500)]
Depsgraph: Add additional relations/id update tags

This calls are not strictly speaking needed for the old dependency graph, but
due to more granular nature of upcoming depsgraph more actions requires update
of relations of IDs.

On the one hand this extra tags could be wrapped with if() statements, but on
the other hand it makes sense to keep tag in sync so it's clear if some issue
is caused by missing/extra tag or by depsgraph itself.

4 years agoDepsgraph: Add utility function to tag pose for recalc
Sergey Sharybin [Tue, 12 May 2015 08:13:36 +0000 (13:13 +0500)]
Depsgraph: Add utility function to tag pose for recalc

Currently this function only tags pose itself, totally matching previous
behavior. But this will be needed in the future once new dependency graph
is landed, because of it's granular nature which relies on the fact that
pose channels are all up to date when building the graph.

Should be no functional changes so far.

4 years agoDepsgraph: Move update-related functions into own files
Sergey Sharybin [Tue, 12 May 2015 07:50:24 +0000 (12:50 +0500)]
Depsgraph: Move update-related functions into own files

Currently it is just moving existing functions into a new file,
but in the future those new files will be grown much more due
to upcoming more granular scene updates.

Should be no functional changes.

4 years agoFix T44677: Normal Edit Modifier Radial Mode broken with target object.
Bastien Montagne [Tue, 12 May 2015 08:56:28 +0000 (10:56 +0200)]
Fix T44677: Normal Edit Modifier Radial Mode broken with target object.

Very stupid mistake, odd nobody hit this earlier... :/

4 years agoPyAPI: Remove release method, just use delitem
Campbell Barton [Tue, 12 May 2015 08:43:30 +0000 (18:43 +1000)]
PyAPI: Remove release method, just use delitem

4 years agoMinor tweaks to preview templates
Campbell Barton [Tue, 12 May 2015 08:28:05 +0000 (18:28 +1000)]
Minor tweaks to preview templates

4 years agoDoc: add bpy.utils.previews
Campbell Barton [Tue, 12 May 2015 08:06:31 +0000 (18:06 +1000)]
Doc: add bpy.utils.previews

Updated sphinx_doc_gen.py to better handle pure py-classes.

4 years agoDoc: correct rst syntax
Campbell Barton [Tue, 12 May 2015 07:59:37 +0000 (17:59 +1000)]
Doc: correct rst syntax

also remove some API docs from example

4 years agoDoc: replace addons -> scripts in docstring
Campbell Barton [Tue, 12 May 2015 07:17:31 +0000 (17:17 +1000)]
Doc: replace addons -> scripts in docstring

Theres nothing add-on specific here.

4 years agoDoc: minor fixes
Campbell Barton [Tue, 12 May 2015 06:56:40 +0000 (16:56 +1000)]
Doc: minor fixes

- check for class/static methods assumed nonzero args.
- subclass references and set-flag items are now sorted.
- use 'order' for Py operator mix-ins,
  so operator settings don't show in random order.

4 years agoBGE: Adding material IPO support to GLSL materials
Mitchell Stokes [Tue, 12 May 2015 06:05:04 +0000 (23:05 -0700)]
BGE: Adding material IPO support to GLSL materials

Most of this patch was created by Daniel Stokes, I'm mostly just cleaning
it up and testing it. Still todo: hardness. I need to figure out how to
handle the integer -> float conversion on a dynamic uniform.

Reviewers: psy-fi, brecht

Reviewed By: psy-fi

Subscribers: psy-fi

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

4 years agoFreestyle: Fix for assertion failure in viewport preview.
Tamito Kajiyama [Mon, 11 May 2015 07:53:11 +0000 (16:53 +0900)]
Freestyle: Fix for assertion failure in viewport preview.

An assertion to check if `re->clipsta` < 0 (added as part of addressing
T36009 in rBrB795034c17d76bef2a15e576ac9c70ae2268a823b) was failing when
Freestyle viewport preview rendering takes place in the camera view with
an orthographic camera (in this case, the user-defined clipping range is
used without changes, so that `re->clipsta` is positive).  The
`re->clipsta` property has a negative value only when the 3D viewport is
in an orthographic view but not in the camera view.  It seems that this
viewport setting cannot be identified from rendering settings accessible
from Freestyle.  Now a negative `re->clipsta` value is directly checked
instead, without relying on other render flags.

4 years agoCycles: check for F16C support with __cpuid, as we do for BMI and BMI2
Sv. Lockal [Mon, 11 May 2015 15:49:36 +0000 (15:49 +0000)]
Cycles: check for F16C support with __cpuid, as we do for BMI and BMI2

4 years agoCollada Exporter: sanitize a bit lnor export.
Bastien Montagne [Mon, 11 May 2015 15:22:18 +0000 (17:22 +0200)]
Collada Exporter: sanitize a bit lnor export.

In case `BKE_mesh_calc_normals_split()` would fail, exporter would read
uninitialized random mem... Should not happen, but better be safe than sorry.

4 years agoClearing preview image shall also unset 'user edited' flag!
Bastien Montagne [Mon, 11 May 2015 15:12:31 +0000 (17:12 +0200)]
Clearing preview image shall also unset 'user edited' flag!

4 years agoCycles: Get rid of one more OpenGL matrix manipulation/push/pop.
Antony Riakiotakis [Mon, 11 May 2015 14:40:38 +0000 (16:40 +0200)]
Cycles: Get rid of one more OpenGL matrix manipulation/push/pop.

4 years agoExpose PreviewImage & custom icons to py API.
Bastien Montagne [Mon, 11 May 2015 14:29:12 +0000 (16:29 +0200)]
Expose PreviewImage & custom icons to py API.

This commit mainly:

* Exposes PreviewImage struct in RNA, including ways for user to set images data.
* Adds a new kind of PreviewImage, using a file path and IMB_thumb to get image.
* Adds a new kind of custom icon using PreviewImage, unrelated to ID previews system.
* Adds a python API (utils.previews) to allow python scripts to access those custom previews/icons.

Note that loading image from files' thumbnails is done when needed (deferred loading), not
when defining the custom preview/icon.

WARNING: for release addons who would want to use this, please keep it to a strict minimum, really needed level.
We do not want our UI to explode under hundreds of different flashy icons!

For more info, see also the release notes of Blender 2.75 (http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.75/Addons)
and the example/templates featured with Blender.

Patch by Campbell (ideasman42), InĂªs (brita) and Bastien (mont29).

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

4 years agoCycles: use vertex buffers when possible to draw tiles on the screen.
Antony Riakiotakis [Mon, 11 May 2015 14:28:41 +0000 (16:28 +0200)]
Cycles: use vertex buffers when possible to draw tiles on the screen.

Not terribly necessary in this case, since we are just drawing a quad,
but makes blender overall more GL 3.x core ready.

4 years agoKeep valgrind happy by using tight vec3 packing instead of lax vec4 with
Antony Riakiotakis [Mon, 11 May 2015 12:14:06 +0000 (14:14 +0200)]
Keep valgrind happy by using tight vec3 packing instead of lax vec4 with
an unused coordinate missing.

4 years agoCycles OpenGL: Don't use full matrix transform when we can just use
Antony Riakiotakis [Mon, 11 May 2015 11:10:19 +0000 (13:10 +0200)]
Cycles OpenGL: Don't use full matrix transform when we can just use
simple addition.

4 years agoUI: initial support for UI editing selected items
Campbell Barton [Mon, 11 May 2015 05:32:43 +0000 (15:32 +1000)]
UI: initial support for UI editing selected items

Add basic support (holding Alt) to edit all selected objects/bones/sequences.

4 years agoGHash: avoid redundant casts
Campbell Barton [Mon, 11 May 2015 02:39:39 +0000 (12:39 +1000)]
GHash: avoid redundant casts

4 years agoGHash: use const keys when only used for lookups
Campbell Barton [Mon, 11 May 2015 02:39:08 +0000 (12:39 +1000)]
GHash: use const keys when only used for lookups

4 years agoOutliner: postpone rebuilding the tree
Campbell Barton [Mon, 11 May 2015 01:06:35 +0000 (11:06 +1000)]
Outliner: postpone rebuilding the tree

On existing Blender could rebuild tree many times (on freeing each ID).
Use a flag instead of immediately rebuilding.

4 years agoOutliner: cleanup flag was never cleared
Campbell Barton [Mon, 11 May 2015 00:58:53 +0000 (10:58 +1000)]
Outliner: cleanup flag was never cleared

Was running cleanup on every draw.

4 years agoGHash: Add BLI_ghash_ensure_p_ex to copy the key
Campbell Barton [Sun, 10 May 2015 23:27:05 +0000 (09:27 +1000)]
GHash: Add BLI_ghash_ensure_p_ex to copy the key

Needed in cases where the memory from each key is owned by the GHash.

4 years agoCycles: And yet another compilation fix after half-float commit for clang.
Sv. Lockal [Sun, 10 May 2015 19:32:32 +0000 (19:32 +0000)]
Cycles: And yet another compilation fix after half-float commit for clang.

Suggested by Brecht, tested with gcc > 4.4 and Clang

4 years agoCycles: fix compilation on 32-bit Windows for half-floats
Sv. Lockal [Sun, 10 May 2015 19:04:24 +0000 (19:04 +0000)]
Cycles: fix compilation on 32-bit Windows for half-floats

Reported by IRC user HG1.

4 years agoFix T44633: image cache broken for movies and sequences.
Brecht Van Lommel [Sun, 10 May 2015 18:37:38 +0000 (20:37 +0200)]
Fix T44633: image cache broken for movies and sequences.

After multiview, it was continuously unloading/loading image buffers from
the cache due to mismatch in cache insert and lookup keys.

4 years agoCycles: Add -mf16c for previous commit for Scons
Sv. Lockal [Sun, 10 May 2015 17:48:07 +0000 (17:48 +0000)]
Cycles: Add -mf16c for previous commit for Scons

Thanks to Dingto for noticing!

4 years agoBGE : Fix crash during physics mesh update.
Porteries Tristan [Sun, 10 May 2015 17:21:21 +0000 (19:21 +0200)]
BGE : Fix crash during physics mesh update.

Currently we can't update the physics mesh of an added rigid body.
The cause is that that we need to update all shapes to say that the mesh was changed, for static object we don't do that previously because we use a odd way to reallocate memory at the same place.
So now when a mesh is changed we iterate all physics controllers which use the same shape info and recreate its shape with the correct mesh.

example file : {F168100}

Reviewers: scorpion81, sergof, hg1, sybren, moguri, agoose77

Reviewed By: moguri, agoose77

Subscribers: sybren

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

4 years agoCycles: Use native float->half conversion instructions for Haswell CPUs.
Sv. Lockal [Sun, 10 May 2015 16:20:04 +0000 (16:20 +0000)]
Cycles: Use native float->half conversion instructions for Haswell CPUs.

This makes OCIO viewport color correction a little bit faster (about -0.5s for 100 samples)
Also set max half float value to 65504.0 to conform with IEEE 754.

4 years agoCycles: Correction to opencl whitelist check
Sergey Sharybin [Sun, 10 May 2015 15:01:24 +0000 (20:01 +0500)]
Cycles: Correction to opencl whitelist check

Was using platform as a device id accidentally.

4 years agoBGE: Cleanup constraints documentation
Thomas Szepe [Sun, 10 May 2015 13:58:17 +0000 (15:58 +0200)]
BGE: Cleanup constraints documentation

* Fixing Python example. Behavior has changed with Blender 2.74
* Adding missing return type
* Fixing typo simbolic
* Fixing note for upper/lower limit
* Adding link to constraints constants

4 years agoCycles: Fix tiny greying out inconsistency for Volume settings.
Thomas Dinges [Sun, 10 May 2015 10:58:27 +0000 (12:58 +0200)]
Cycles: Fix tiny greying out inconsistency for Volume settings.

4 years agoCycles: Do not show Branched Path integrator for OpenCL.
Thomas Dinges [Sun, 10 May 2015 10:55:30 +0000 (12:55 +0200)]
Cycles: Do not show Branched Path integrator for OpenCL.

Branched Path is not supported, neither in the Split nor Megakernel.

4 years agofix T44648: Collada finding bone chains during import crashes when no bones are there
Gaia Clary [Sun, 10 May 2015 09:04:09 +0000 (11:04 +0200)]
fix T44648: Collada finding bone chains during import crashes when no bones are there

4 years agoFix T44644 Missing thread-protection (spinlock) of image in new multiview code.
Bastien Montagne [Sun, 10 May 2015 07:13:16 +0000 (09:13 +0200)]
Fix T44644 Missing thread-protection (spinlock) of image in new multiview code.

Many thanks to Sergey, for practically giving the solution!

Note that it may also fix T44345, depends whether there are other missing
protections/locks or not...

4 years agoUI: consistent naming for operator props
Campbell Barton [Sun, 10 May 2015 05:23:41 +0000 (15:23 +1000)]
UI: consistent naming for operator props

4 years agoUI: move sharp/smooth out of vertex menu
Campbell Barton [Sun, 10 May 2015 05:06:44 +0000 (15:06 +1000)]
UI: move sharp/smooth out of vertex menu

Was confusing to have shade smooth/soft in both edge & vertex menu named differently.

This is an edge-flag, so keep in the edge-menu, use vertex option when in vertex mode.

4 years agoBGE: Fix T43822 Videotexture does not use sky color for off-screen
Jorge Bernal [Sat, 9 May 2015 22:54:06 +0000 (00:54 +0200)]
BGE: Fix T43822 Videotexture does not use sky color for off-screen
rendering

Make scene background color as default for render-to-texture instead of
current blue color (0, 0, 255).

It is very useful for mirrors setups.

Reviewers: moguri, ben2610, sybren, panzergame, hg1

Reviewed By: panzergame, hg1, moguri

Subscribers: mpan3

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

4 years agoCycles: Fix typo in global space version of normal transform
Sergey Sharybin [Sat, 9 May 2015 19:53:32 +0000 (00:53 +0500)]
Cycles: Fix typo in global space version of normal transform

It was using direction transform, which is obviously wrong.

4 years agoCycles: Only whitelist AMD GPU devices in the OpenCL section
Sergey Sharybin [Sat, 9 May 2015 18:40:26 +0000 (23:40 +0500)]
Cycles: Only whitelist AMD GPU devices in the OpenCL section

Only those ones are priority for now, all the rest are still testable
if CYCLES_OPENCL_TEST or CYCLES_OPENCL_SPLIT_KERNEL_TEST environment
variables are set.

4 years agoFix T38335: incorrect triangle index in raycast with more than 2 quads
Porteries Tristan [Sat, 9 May 2015 16:45:54 +0000 (18:45 +0200)]
Fix T38335: incorrect triangle index in raycast with more than 2 quads

eb81153896 broke the fix for T38335, and this fix was incomplete, now we iterate by triangles and polys in the same while block.

4 years agoCycles: Workaround for AMD compiler crashing building the split kernel
Sergey Sharybin [Sat, 9 May 2015 14:56:38 +0000 (19:56 +0500)]
Cycles: Workaround for AMD compiler crashing building the split kernel

It's a but in compiler but it's nice to have working kernel for until
that bug is fixed.

4 years agoCycles: OpenCL kernel split
George Kyriazis [Sat, 9 May 2015 14:34:30 +0000 (19:34 +0500)]
Cycles: OpenCL kernel split

This commit contains all the work related on the AMD megakernel split work
which was mainly done by Varun Sundar, George Kyriazis and Lenny Wang, plus
some help from Sergey Sharybin, Martijn Berger, Thomas Dinges and likely
someone else which we're forgetting to mention.

Currently only AMD cards are enabled for the new split kernel, but it is
possible to force split opencl kernel to be used by setting the following
environment variable: CYCLES_OPENCL_SPLIT_KERNEL_TEST=1.

Not all the features are supported yet, and that being said no motion blur,
camera blur, SSS and volumetrics for now. Also transparent shadows are
disabled on AMD device because of some compiler bug.

This kernel is also only implements regular path tracing and supporting
branched one will take a bit. Branched path tracing is exposed to the
interface still, which is a bit misleading and will be hidden there soon.

More feature will be enabled once they're ported to the split kernel and
tested.

Neither regular CPU nor CUDA has any difference, they're generating the
same exact code, which means no regressions/improvements there.

Based on the research paper:

  https://research.nvidia.com/sites/default/files/publications/laine2013hpg_paper.pdf

Here's the documentation:

  https://docs.google.com/document/d/1LuXW-CV-sVJkQaEGZlMJ86jZ8FmoPfecaMdR-oiWbUY/edit

Design discussion of the patch:

  https://developer.blender.org/T44197

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

4 years agoCycles: Communicate number of closures and nodes feature set to the device
Sergey Sharybin [Sat, 9 May 2015 14:28:00 +0000 (19:28 +0500)]
Cycles: Communicate number of closures and nodes feature set to the device

This way device can actually make a decision of how it can optimize the kernel
in order to make it most efficient.

4 years agoCycles: Initial work towards selective nodes support compilation
Sergey Sharybin [Sat, 9 May 2015 14:22:16 +0000 (19:22 +0500)]
Cycles: Initial work towards selective nodes support compilation

The goal is to be able to compile kernel with nodes which are actually needed
to render current scene, hence improving performance of the kernel,

The idea is:

- Have few node groups, starting with a group which contains nodes are used
  really often, and then couple of groups which will be extension of this one.

- Have feature-based nodes disabling, so it's possible to disable nodes related
  to features which are not used with the currently used nodes group.

This commit only lays down needed routines for this approach, actual split will
happen later after gathering statistics from bunch of production scenes.

4 years agoCycles: Add utility function to count maximum number of closures used by session
Sergey Sharybin [Sat, 9 May 2015 14:15:58 +0000 (19:15 +0500)]
Cycles: Add utility function to count maximum number of closures used by session

This will be used by split kernel in order to compile most optimal kernel.

Maximum number of closures is actually being cached in the session, so viewport
rendering will not trigger kernel re-loading when number of closures goes down.

4 years agoCycles: Add utility function to graph to query number of closures used in it
Sergey Sharybin [Sat, 9 May 2015 14:11:37 +0000 (19:11 +0500)]
Cycles: Add utility function to graph to query number of closures used in it

Currently unused but will be needed soon for the split kernel work.

4 years agoCycles: Pass requested tile size to the device via device task
Sergey Sharybin [Sat, 9 May 2015 14:09:07 +0000 (19:09 +0500)]
Cycles: Pass requested tile size to the device via device task

This is currently unused but crucial for things like calculating amount of
device memory required to deal with the tasks.

Maybe not really best place to store it, but consider it good enough for now.

4 years agoCycles: Change the way how we pass requested capabilities to the device
Sergey Sharybin [Sat, 9 May 2015 14:05:49 +0000 (19:05 +0500)]
Cycles: Change the way how we pass requested capabilities to the device

Previously we only had experimental flag passed to device's load_kernel() which
was all fine. But since we're gonna to have some extra parameters passed there
it makes sense to wrap them into a single struct, which will make it easier to
pass stuff around.

4 years agoCycles: Presumably correct workaround for addrspace in camera motion blur
Sergey Sharybin [Sat, 9 May 2015 13:57:51 +0000 (18:57 +0500)]
Cycles: Presumably correct workaround for addrspace in camera motion blur

4 years agoCycles: Add CPU compat headers to some of the OSL implementation files
Sergey Sharybin [Sat, 9 May 2015 13:55:46 +0000 (18:55 +0500)]
Cycles: Add CPU compat headers to some of the OSL implementation files

This header was already included into some of the implementation files already,
and this change is needed for some upcoming changes in the way how kernel_types.h
works.

4 years agoCycles: Set default closure values to some of the nodes
Sergey Sharybin [Sat, 9 May 2015 13:53:57 +0000 (18:53 +0500)]
Cycles: Set default closure values to some of the nodes

Previously it was only set at compilation time which is all fine but does
not let us to check which closure the node corresponds to prior to the
compilation.

4 years agoFreestyle: Partial fix for a crash with Save Buffers option enabled.
Tamito Kajiyama [Sat, 9 May 2015 04:04:29 +0000 (13:04 +0900)]
Freestyle: Partial fix for a crash with Save Buffers option enabled.

Prevents null pointer references in the case of the Save Buffers option
enabled.  This is a regression likely due to rBd5f1b9c22233.

4 years agoCleanup: warning (sequence-point)
Campbell Barton [Sat, 9 May 2015 01:00:50 +0000 (11:00 +1000)]
Cleanup: warning (sequence-point)

4 years agoFix 3D View Properties scrollbar being not set to top in startup.blend
Julian Eisel [Fri, 8 May 2015 20:20:18 +0000 (22:20 +0200)]
Fix 3D View Properties scrollbar being not set to top in startup.blend

4 years agoFix T38335: incorrect triangle index in raycast result
Porteries Tristan [Fri, 8 May 2015 18:55:50 +0000 (20:55 +0200)]
Fix T38335: incorrect triangle index in raycast result

Previously we forgot to do a special operation for indexes to convert a quad to two triangles.

4 years agomatcaps browser: changing emboss style and grid direction according to T44613
Ines Almeida [Fri, 8 May 2015 18:22:41 +0000 (19:22 +0100)]
matcaps browser: changing emboss style and grid direction according to T44613

4 years agoAdd Intel's 3000 driver to exceptions for df/dy calculations. Should fix
Antony Riakiotakis [Fri, 8 May 2015 17:25:51 +0000 (19:25 +0200)]
Add Intel's 3000 driver to exceptions for df/dy calculations. Should fix
another case of SSAO effect reversal.

4 years agoBGE: Cleanup function UpdateMesh and SetMesh in CcdPhysicsController.cpp
Porteries Tristan [Fri, 8 May 2015 16:08:02 +0000 (18:08 +0200)]
BGE: Cleanup function UpdateMesh and SetMesh in CcdPhysicsController.cpp

"if (value == true)" -> "if(value)"
"if (ptr == NULL)" -> "if (!ptr)"
"vector<bool>" -> "std::vector<bool>"
And other blender typo.

4 years agoRevert "Motionpaths: Use scene range option, takes start/end frame and
Antony Riakiotakis [Fri, 8 May 2015 15:13:39 +0000 (17:13 +0200)]
Revert "Motionpaths: Use scene range option, takes start/end frame and
preview"

Looks like this does not work for animators here after all, will use a
different code for this (probably not hardcoded)

This reverts commit 3bbb4020e7f0fae80a5edd31e19b7fa97d2149e4.

4 years agoMotionpaths: Use scene range option, takes start/end frame and preview
Antony Riakiotakis [Fri, 8 May 2015 10:35:38 +0000 (12:35 +0200)]
Motionpaths: Use scene range option, takes start/end frame and preview
settings into account.

4 years agoCleanup: Remove unused ray type flags.
Thomas Dinges [Fri, 8 May 2015 10:10:26 +0000 (12:10 +0200)]
Cleanup: Remove unused ray type flags.

They were added for completeness, but it seems we don't need them.

4 years agoCleanup: #define -> enum, and get rid of useless braces in case's.
Bastien Montagne [Fri, 8 May 2015 08:38:53 +0000 (10:38 +0200)]
Cleanup: #define -> enum, and get rid of useless braces in case's.

4 years agoFix T44634: Slide edge not responding to ALT + WHEEL to change reference edge in...
Bastien Montagne [Fri, 8 May 2015 08:29:59 +0000 (10:29 +0200)]
Fix T44634: Slide edge not responding to ALT + WHEEL to change reference edge in "even mode".

Modal events (TFM_MODAL_EDGESLIDE_UP/_DOWN) were eaten by NOP generic transform event handling...

4 years agoAdd missing TEXTEDIT_UPDATE option
Campbell Barton [Thu, 7 May 2015 22:58:29 +0000 (08:58 +1000)]
Add missing TEXTEDIT_UPDATE option

4 years agoCleanup: use r_* prefix for return args
Campbell Barton [Thu, 7 May 2015 21:25:39 +0000 (07:25 +1000)]
Cleanup: use r_* prefix for return args

4 years agoDNA; document how to ignore a struct
Campbell Barton [Thu, 7 May 2015 20:46:16 +0000 (06:46 +1000)]
DNA; document how to ignore a struct

4 years agoMinor cleanup
Antony Riakiotakis [Thu, 7 May 2015 16:32:35 +0000 (18:32 +0200)]
Minor cleanup

4 years agoFix T44604 bad quality of rake with bezier curves.
Antony Riakiotakis [Thu, 7 May 2015 16:10:34 +0000 (18:10 +0200)]
Fix T44604 bad quality of rake with bezier curves.

We can calculate tangents analytically for bezier curves, so just make
them awesome. New code uses forward differencing calculation for
efficiency just like curve calculation.

Picture before/after:

http://www.pasteall.org/pic/87843

4 years agoFix T44631: Custom Normal Data Transfer crash.
Bastien Montagne [Thu, 7 May 2015 13:32:37 +0000 (15:32 +0200)]
Fix T44631: Custom Normal Data Transfer crash.

Own stupid mistake in rBcdabf7e3...

4 years agoFix T44611: 'make_links_data' modifiers would fail and crash with multires modifier.
Bastien Montagne [Thu, 7 May 2015 13:16:10 +0000 (15:16 +0200)]
Fix T44611: 'make_links_data' modifiers would fail and crash with multires modifier.

Since it was not ensuring dest has valid mdisp data matching new multires modifier subdiv level...

Also, fixed a bug in `multires_subdivide()`, which would crash when trying to
increase from level 0 (aka no subdiv) to > 1 (wrong check, trying to interpolate
when it should not). And added a few sanity checks.

4 years agoRake: store last position from mouse, don't store halfpoint between last
Antony Riakiotakis [Thu, 7 May 2015 13:03:55 +0000 (15:03 +0200)]
Rake: store last position from mouse, don't store halfpoint between last
and current position.

patch by Bastien

4 years agoFix T44627, black spots with lock alpha in projection paint:
Antony Riakiotakis [Thu, 7 May 2015 12:49:40 +0000 (14:49 +0200)]
Fix T44627, black spots with lock alpha in projection paint:

Painting would revert alpha even on unpainted pixels, where values would
contain garbage.

4 years agoFix crash when rendering opengl from sequencer.
Antony Riakiotakis [Thu, 7 May 2015 12:08:28 +0000 (14:08 +0200)]
Fix crash when rendering opengl from sequencer.

4 years agoEdgeSlide: support for un-clamped sliding
Campbell Barton [Thu, 7 May 2015 11:28:03 +0000 (21:28 +1000)]
EdgeSlide: support for un-clamped sliding

Functionality matches vertex slide.

4 years agoCleanup: remove unneeded context arg
Campbell Barton [Thu, 7 May 2015 10:10:05 +0000 (20:10 +1000)]
Cleanup: remove unneeded context arg

4 years agoEdgeSlide: use pairs for TransDataEdgeSlideVert
Campbell Barton [Thu, 7 May 2015 09:57:54 +0000 (19:57 +1000)]
EdgeSlide: use pairs for TransDataEdgeSlideVert

no functional changes

4 years agoEdgeSlide: fix divide by zero
Campbell Barton [Thu, 7 May 2015 09:50:46 +0000 (19:50 +1000)]
EdgeSlide: fix divide by zero

4 years agoCycles: Cleanup, make it more clear what endif closes what ifdef
Sergey Sharybin [Thu, 7 May 2015 10:02:43 +0000 (15:02 +0500)]
Cycles: Cleanup, make it more clear what endif closes what ifdef

4 years agoFix first part of T44627, locking alpha should happen in straight space
Antony Riakiotakis [Thu, 7 May 2015 09:42:09 +0000 (11:42 +0200)]
Fix first part of T44627, locking alpha should happen in straight space
for float images or we get inconsistent premultiplied values.

4 years agoFix T44630: incorrect mirror modifier merge limit tooltip.
Brecht Van Lommel [Thu, 7 May 2015 08:56:45 +0000 (10:56 +0200)]
Fix T44630: incorrect mirror modifier merge limit tooltip.

4 years agoFix T27642: Add version in .exe installer properties
Anatoly TechTonik [Thu, 7 May 2015 08:27:40 +0000 (10:27 +0200)]
Fix T27642: Add version in .exe installer properties

4 years agoCorrect typo: ifdef'd now, but obviously wrong
Campbell Barton [Thu, 7 May 2015 00:12:12 +0000 (10:12 +1000)]
Correct typo: ifdef'd now, but obviously wrong

4 years agoFix T44614: Maya keymap left mouse click to add cut not working.
Brecht Van Lommel [Wed, 6 May 2015 21:58:15 +0000 (23:58 +0200)]
Fix T44614: Maya keymap left mouse click to add cut not working.

4 years agoChange fix for T44530 which caused a "regression".
Antony Riakiotakis [Wed, 6 May 2015 21:29:59 +0000 (23:29 +0200)]
Change fix for T44530 which caused a "regression".

Looks like the previous commit here is really correct and fixes cases of
distortion that were in mirror-subsurf combination since blender 2.5.

This may cause some changed files in which case we will be adding an
option, but it is expected this will only happen with low res models,
and hand painted textures, and the better distortion here compensates
for that enough to consider not adding a compatibility option yet.

Leaving the facemap winding argument as is just in case we do consider
to add the option.

4 years agoFix T44598: blender internal not giving same result on repeated texture bakes.
Brecht Van Lommel [Wed, 6 May 2015 20:58:22 +0000 (22:58 +0200)]
Fix T44598: blender internal not giving same result on repeated texture bakes.

4 years agoBGE : KX_VertexProxy support for more than 2 UV channel.
Porteries Tristan [Wed, 6 May 2015 20:55:46 +0000 (22:55 +0200)]
BGE : KX_VertexProxy support for more than 2 UV channel.

I have added an optional named "index" argument for methode get/setUV, I have also modified the and set to deprecated methodes setUV2 and getUV2 : the doc was wrong and the methode can't be called anyway because it declared as VARARG in the .h and convert directly the args value to a vector in the .cpp.

Reviewers: sybren, lordloki, hg1

Reviewed By: lordloki, hg1

Subscribers: agoose77

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

4 years agoFeature request: Dyntopo detail expressed in percentage of brush radius.
Antony Riakiotakis [Wed, 6 May 2015 20:51:49 +0000 (22:51 +0200)]
Feature request: Dyntopo detail expressed in percentage of brush radius.

Not sure how useful this will be but people have requested it so, here
it is...

4 years agoFix T44624: world menu appears in node editor header with Blender internal.
Brecht Van Lommel [Wed, 6 May 2015 19:54:13 +0000 (21:54 +0200)]
Fix T44624: world menu appears in node editor header with Blender internal.

4 years agoRip tool, support filling-edges with fill enabled
Campbell Barton [Wed, 6 May 2015 19:34:07 +0000 (05:34 +1000)]
Rip tool, support filling-edges with fill enabled

4 years agoCorrect own error: is_manifold_region on wire vert
Campbell Barton [Wed, 6 May 2015 19:23:07 +0000 (05:23 +1000)]
Correct own error: is_manifold_region on wire vert

4 years agoFix T44381: Text Editor: Un-indent undo fails
Campbell Barton [Wed, 6 May 2015 18:43:33 +0000 (04:43 +1000)]
Fix T44381: Text Editor: Un-indent undo fails

D1284 by @mikidep

4 years agoFix T44618: Rip Fill on a single vert would only generate one of the two expected...
Bastien Montagne [Wed, 6 May 2015 15:50:10 +0000 (17:50 +0200)]
Fix T44618: Rip Fill on a single vert would only generate one of the two expected faces.

Was tagging (for filling) the wrong edge for one of the two involved loops...

4 years agocollada:custom normals generated by normals modifier have not been exported correctly...
Gaia Clary [Wed, 6 May 2015 15:03:24 +0000 (17:03 +0200)]
collada:custom normals generated by normals modifier have not been exported correctly. Also triangulating during export did not work.

4 years agoCleanup: use ntreeFromID
Campbell Barton [Wed, 6 May 2015 14:18:11 +0000 (00:18 +1000)]
Cleanup: use ntreeFromID

4 years agoShader node: support native render capabilities
Campbell Barton [Wed, 6 May 2015 13:50:54 +0000 (23:50 +1000)]
Shader node: support native render capabilities

D1188 by @a.romanov

4 years agoOpenGL render: Update metadata as before, for every frame written to a
Antony Riakiotakis [Wed, 6 May 2015 13:30:00 +0000 (15:30 +0200)]
OpenGL render: Update metadata as before, for every frame written to a
file, since we need the updated times and frames.

This was lost during stamp code refactoring. The refactoring moved the
stamp when render is initialized so we would be guaranteed to have
correct cameras even when saving render stills at a later time (and even
if cameras were changed). For regular render this would work since
render init takes care of stamp, but for openGL rendering we need to do
this manually.

Still not 100% correct, does not apply multiview cameras to metadata