Commit Graph

53000 Commits

Author SHA1 Message Date
Tamito Kajiyama
08528f577d Freestyle: Partial fix for thinning strokes due to flipping stroke directions at TVertices.
A description of the problem is found in https://developer.blender.org/T36425#19 .

The cause of the issue was identified as roudning errors in Operators::createStroke() due
to insufficient numerical precision.  Precision promotion from float to double was done in
the return values of getPoint3D/2D methods in Interface0D and its subclasses in C++
(data members stored in the 0D classes have already been in double precision).
2014-05-25 19:47:49 +09:00
Bastien Montagne
aef443ab2d Fix T40438: Pressing G key to move the camera quits Blender. 2014-05-25 11:06:32 +02:00
Bastien Montagne
c75261c8cb Fix T40331: Incorrect display of path of editted data. 2014-05-24 16:02:44 +02:00
Sergey Sharybin
f5055d8688 Some operation allowed to set invalid active scene render layer
Forbid this now and do tricks in the versioning code to repair
corrupted files.

Thanks to Pablo, Caminandes and Koro for discovering this bug!
2014-05-23 18:30:36 +02:00
Sergey Sharybin
5811076d0d Fix crash rendering linked scenes in compo
Simply linking scene (lib.blend) without compo into another one (compo.blend),
using it in a compositor and rendering it would crash.
2014-05-23 17:42:15 +02:00
Sergey Sharybin
4c9587d754 Optimization of keying clip operations
Gives around 20%-30% speedup by doing early exit from
kernel traversal cycle.
2014-05-23 16:02:45 +02:00
Sergey Sharybin
56b7d55833 Report to the console when custom ocio config is used 2014-05-23 13:48:35 +02:00
Bastien Montagne
d3a94941ef Fix T40325: Part II
Use same cursors for GRIP buttons as for window resize e.g.
2014-05-23 13:06:36 +02:00
Campbell Barton
4e13616b04 Checker Deselect: keep active item selected by default 2014-05-23 20:50:27 +10:00
Campbell Barton
bec8cee7cf Fix T40324: Checker deselect fails for edge-rings 2014-05-23 20:50:27 +10:00
Campbell Barton
fad267bf57 BMesh Walker: add face-shell walker 2014-05-23 20:50:27 +10:00
Campbell Barton
7e78322eef BMesh Walker: rename BMW_SHELL -> BMW_VERT_SHELL 2014-05-23 20:50:27 +10:00
Campbell Barton
d82cd4d5ef BMesh Walker: typecheck args for walker->begin() 2014-05-23 20:50:27 +10:00
Lukas Tönne
90449f9950 Another fix for T40230/T40290: Object tags were not properly initialized
before entering the recursion check.

Now use group tags instead of object tags, which could be a little more
efficient and was used before this patch too.
2014-05-23 09:28:46 +02:00
Bastien Montagne
01f5845778 Fix T40325: UILists do not save their height anymore 2014-05-23 08:55:31 +02:00
Campbell Barton
561be3ac53 Bake API: compare with NULL rather then casting to bool 2014-05-23 14:54:12 +10:00
Dalai Felinto
2ffe037420 Bake-API: shows the baked image in the biggest SpaceImage around (just like Blender Internal)
Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D544
2014-05-22 22:39:51 -03:00
Campbell Barton
cab9bd2bf9 Cleanup 2014-05-23 10:42:24 +10:00
Dalai Felinto
7f089afc8b Bake-API: relaxing in the check for scale uniformity
It still warns the user that there may be an error, but the baking goes
on. Also using the new is_uniform_scaled_m4() instead of float comparison.

Reported and fix suggested by Campbell Barton as a concern over 2bfc3deb
2014-05-22 21:35:58 -03:00
Dalai Felinto
2bfc3debd9 Bake-API: throws error if highpoly object(s) doesn't have uniform scale (fix T40156)
The real fix would be to support non-uniform scaled highpoly objects.
For more information see 8d29739
2014-05-22 15:05:02 -03:00
Dalai Felinto
a8a5d68bb5 Bake-API: throws error if there is no UV 2014-05-22 15:05:01 -03:00
Tamito Kajiyama
97d047a3e9 Fix T40307: Crash with freestyle and particle hair.
The scene file provided by the problem report has many degenerate faces coming from
a particle system.  These zero-area faces were not expected in the ray-casting line visibility
algorithms of Freestyle.  Now degenerate faces are properly excluded from the imported
mesh data and not fed to the line visibility algorithms.
2014-05-22 23:18:47 +09:00
Lukas Tönne
7a86765095 Fix T40290: False (or malfunctioning) dependency-cycle warning when adding dupligroup objects to another group.
The new recursion check for groups duplicating themselves has to un-set the LIB_DOIT flag after each object, otherwise it will prevent duplicating a (non-recursive) group multiple times.
2014-05-22 15:46:35 +02:00
Sergey Sharybin
c56bbccb0d Fix T39901: Crashes if the resolution % is changed while rendering an animation
Copy render percentage. dimensions and border settings and use them for all the
frames in the animation render.
2014-05-22 14:39:31 +02:00
Bastien Montagne
7ab602b730 Correction to previous commit, sorry about that. :/ 2014-05-22 14:03:32 +02:00
Bastien Montagne
1dd977272b PackedFiles: add (readonly for now) access to packed raw data (most useful for exporters). 2014-05-22 13:57:35 +02:00
Nathan Letwory
cd14dcbe91 Don't write all uv textures, but only active uv layer.
Fix T39922
2014-05-22 12:34:47 +03:00
Campbell Barton
29dc8259a8 Mistake naming in recent commit 2014-05-22 17:40:35 +10:00
Campbell Barton
c6de033bf1 Fix T38493: ray_cast causes runtime error with no faces 2014-05-22 17:11:44 +10:00
Tamito Kajiyama
1cf5e95f3d Freestyle: added missing forward declarations of referenced struct's. 2014-05-22 16:03:36 +09:00
Tamito Kajiyama
77153b3032 Freestyle: Fix for versioning code not working properly with new texture options.
To get the versioning code properly work, the condition should have been:

  DNA_struct_elem_find(fd->filesdna, "FreestyleLineStyle", "MTex", "*mtex[18]")

The present commit uses another new structure member instead, to avoid referring
to the magic number 18 in the last string literal.
2014-05-22 16:03:35 +09:00
Campbell Barton
d27d982657 Fix T40215: Boolean looses bevel width 2014-05-22 16:43:38 +10:00
Campbell Barton
07ffd9c790 Fix T40309: Select inner region 'bigger' failed with equal regions 2014-05-22 14:58:34 +10:00
Joshua Leung
6ce67a8eab For increased type safety, ANIM_animdata_filter() now specifies the enums its arguments can use
Hopefully this should help prevent bugs lik T40304 from occurring again.
2014-05-22 15:46:51 +12:00
Joshua Leung
5f70f8b2b4 Code cleanup - Reshuffling some defines 2014-05-22 15:45:27 +12:00
Joshua Leung
6f99699d7d Previous commit uncovered another bug - Ungrouped FCurves couldn't be rearranged still
This was because to the filtering code, those FCurves still weren't in any
groups, and so couldn't be visible (since a temporary group is created to
house them). As a result, the visible-channels list would be empty, causing
all hidden FCurves to be treated as hidden.
2014-05-22 15:37:32 +12:00
Joshua Leung
9e76f13e6b Fix T40304: Rearranging NLA Tracks (and actually, all animation channels) didn't work anymore
These were broken by 1f3655d224, since
an argument of the wrong type was getting passed to ANIM_animdata_filter(),
resulting in no channels ever being picked up for the "visible channels" list.
2014-05-22 15:25:54 +12:00
Joshua Leung
5bb615c41e Bugfix T40292: Trying to rename shapekey datablocks from AnimEditors renamed object instead 2014-05-22 14:10:39 +12:00
Campbell Barton
049b6cfa6d Fix for image garbage collection failing to run for render-only views
Check for freeing old images was running per-object, move this to viewport drawing.
2014-05-22 11:58:07 +10:00
Campbell Barton
90db85a263 Fix T40283: Matcaps disables GLSL shadows 2014-05-22 11:28:03 +10:00
Bastien Montagne
a217db0d63 Fix T40297: Crash while ripping an edge when autosmooth is activated.
Turned out there was still quite a few cases were indices were set dirty,
but elem_index_dirty was not tagged accordingly (mostly for BM_LOOP,
but a few others as well). So probably this crash was not the only one
hidden here.

Hopefully all possible cases were catched this time!
2014-05-21 22:37:50 +02:00
Dalai Felinto
8d297394ba Bake API: partial fix T40156 (applyRotation issues)
This fixes most of the cases, the only situation not addressed is when
the highpoly object(s) has non-uniform scale.

mul_transposed_mat3_m4_v3() should take care of non-uniform scales so
I'm a bit confused on why it doesn't work. The lowpoly object can have
any transformation, the only issue is if the highpoly object has
non-uniform scale.

Test file of the remaining issue:
https://developer.blender.org/file/info/PHID-FILE-tpw2xgddyzxtpg3e7xzs/

Reference reading:
http://www.unknownroad.com/rtfm/graphics/rt_normals.html
2014-05-21 15:10:57 -03:00
Lukas Tönne
79fe023ec6 Fix T40299, Crash on rendering due to dependency cycles and NULL pointer when using particle duplis. 2014-05-21 19:07:53 +02:00
Antony Riakiotakis
d88e9fb338 Minor cleanup of previous commit. 2014-05-21 18:52:50 +02:00
Antony Riakiotakis
b963434f49 Fix T40222 texture painting on mirrored meshes does not apply pixel
bleeding at the symmetry edges.

We need an extra way to detect if faces overlap here. An easy way is to
detect the winding of the faces in UV space. If the winding differs, the
faces will naturally overlap. I have tried a few approaches here such as
choosing an offset point from the middle of the edge for intersection in
both faces of the edge in uv space, but winding is the safest way and
should work with very small faces/dense meshes too.
2014-05-21 18:35:27 +02:00
Tamito Kajiyama
e07034f8e1 Freestyle: code cleanup: removed old commented lines of code in SilhouetteGeomEngine. 2014-05-22 00:46:25 +09:00
Tamito Kajiyama
56b67cb2b4 Freestyle: code cleanup - removed very old commented lines of code. 2014-05-22 00:46:25 +09:00
Tamito Kajiyama
13c92a77d3 Freestyle: Fix for Z normalization in SilhouetteGeomEngine.
The Z component of the projected point in the 2D image space has already been normalized
in GeomUtils::fromWorldToImage().
2014-05-22 00:46:23 +09:00
Tamito Kajiyama
01ac74e4ad Freestyle: Added utility function SilhouetteGeomEngine::CameraToImage().
TODO: Fix for Z normalization in SilhouetteGeomEngine methods.
2014-05-22 00:46:22 +09:00
Brecht Van Lommel
27cebb2651 Fix T39711: cycles particle motion blur affected by viewport draw method. 2014-05-21 15:51:37 +02:00