Commit Graph

47594 Commits

Author SHA1 Message Date
20550d6f7f Fix T40582: issues with apply scale when having multires and scene simplify
Reshape and applying scale matrix on multires needs to create DM with simplify
setting disabled. Added a special flag to modifier apply for this now.
2014-06-12 13:49:46 +06:00
Dalai Felinto
aed67dc8a4 Bake-API: Set Custom Cage to be Cage Object
Suggestion by Andy Davies (metalliandy) to conform with industry standard (custom cage is something else apparently)

Note: this is the last bake related commit I plan for 2.71/rc (unless
everyone agrees that we could squeeze in D546 - custom UVs, which would
be really nice to add for 2.71 scripters)

Note 2: I'll update the wiki docs shortly
2014-06-11 22:49:30 -03:00
990eb2d737 blenderplayer stuff 2014-06-12 02:28:48 +03:00
7b5fe4f316 Fix flickering when transform snapping in edit mode and cursor is
slightly outside the mesh.

Reported by Thomas Beck on irc. Issue here is that the mesh bounding box
changes as we are transforming the vertices. Solution is to collide
against the initial bounding box. Unfortunately the snapping functions
are made in a way that a lot of code needed to be tweaked here, but the
change should be straightforward and harmless (famous last words, I
know).

Ideally we might want to even increase the size of the bounding box a
little (as seen in screen space) to allow snapping even in cases where,
cursor is slightly outside the bounding box, but since this is not so
straightforward to do for all cases, at least for me, leaving this as
a TODO.
2014-06-12 01:43:38 +03:00
Dalai Felinto
a8a536d23d Bake-API: new approach for cage
There is a new option to select whether you want to use cage or not.
When not using cage the results will be more similar with Blender
Internal, where the inwards rays (trying to hit the highpoly objects)
don't always come from smooth normals. So if the active object has sharp
edges and an EdgeSplit modifier you get bad corners.

This is useful, however, to bake to planes without the need of adding
extra loops around the edges.

When cage is "on" the user can decide on setting a cage extrusion or to
pick a Custom Cage object. The cage extrusion option works in a
duplicated copy of the active object with EdgeSplit modifiers removed to
inforce smooth normals. The custom cage option takes an object with the
same number of faces as the active object (and the same face ordering).

The custom cage now controls the direction and the origin of the
rays casted to the highpoly objects. The direction is a ray from the
point in the cage mesh to the equivalent point to the base mesh. That
means the face normals are entirely ignored when using a cage object.

For developers:
When using an object cage the ray is calculated from the cage mesh to
the base mesh. It uses the barycentric coordinate from the base mesh UV,
so we expect both meshes to have the same primitive ids (which won't be
the case if the cage gets edited in a destructive way).

That fixes T40023 (giving the expected result when 'use_cage' is false).

Thanks for Andy Davies (metalliandy) for the consulting with normal
baking workflow and extensive testing. His 'stress-test' file will be
added later to our svn tests folder. (The file itself is not public yet
since he still has to add testing notes to it).

Many thanks for the reviewers.

More on cages:
http://wiki.polycount.com/NormalMap/#Working_with_Cages

Reviewers: campbellbarton, sergey

CC: adriano, metalliandy, brecht, malkavian

Differential Revision: https://developer.blender.org/D547
2014-06-11 02:39:35 -03:00
6a18b0f6bf Regression Bugfix T40332: Bad driver behaviour on small distances.
!!! ANIMATORS/RIGGERS PLEASE TEST !!!

I've reduced the size of the threshold for the keyframe lookup here. This threshold
determines the minimum time in frames between keyframes (i.e. "how close" to each
other they can get). Making this too small causes problems like T39207, but it seems
that the threshold we've been using makes it impossible to get accurate behaviour on
driver curves with keyframes, when the driver target only moves 2cm (i.e. 0.02 BU).

So far, all of the test cases from T39207 seem to work fine, as well as Caminandes 2
files, and Kenny the Caterpillar. The Kiribati rigs/shots (thanks jpbouza for helping
to check on these!) also seem to be fine.
2014-06-11 15:49:12 +12:00
Dalai Felinto
ddf5ef0401 correction from last commit 2014-06-10 21:36:48 -03:00
Dalai Felinto
8a90edca86 Bake-API: removal of unecessary UV tests, as suggested by Campbell Barton 2014-06-10 20:51:34 -03:00
84767a29f1 Fix Bevel multisegment profile bugs T39184, T37502 and last part of T40365.
When doing a 'weld' type join where there are two non-beveled edges
in the same plane one beveled one but not the other, then there
should be a curved profile; bug was creating a straight one.
2014-06-10 11:21:52 -04:00
00c7e2a2aa Fix missing notifier when inserting keyframe
Reported by Sebastian Koenig in IRC
2014-06-10 21:15:35 +06:00
3286c8f8fb Curve: skip curves when matching bevel-fac (like 2.70) 2014-06-10 22:33:24 +10:00
74e32efbc8 Fix wrong memory write in partial render update with Save Buffers enabled
No idea why this issue hasn't been spotted before. Took several hours to
figure out where exactly wrong memory access happens..

P.S. I really want to switch ImBuf->rect from int* to unsigned char*...
2014-06-10 17:10:37 +06:00
e8c63caf77 Fix T40498 invalid textures flickering.
Issue here is most likely sampler uniforms and textures not being
updated properly when zero binding is created. Solution for now is to
allow zero binding but when this happens use sexy pink invalid texture
instead :p.
2014-06-10 01:43:54 +03:00
131d388d81 Usual UI message handling... 2014-06-09 21:52:10 +02:00
75381aea50 Fix for slowdown converting mesh to curve with large polygons
Walk the linked list rather then doing index lookups.
2014-06-10 01:18:05 +10:00
f1f33ba7be Fix T40549: box selection starting point in the file requester.
We need to 'reset' mouse coordinates to the one it was when the gesture handling started,
else org coords are where the tweak event is created, which gives a noticeable gap
(several pixels) and unwanted behavior like the one retported about file box selection.
2014-06-09 15:31:27 +02:00
0ae8ce3ab1 Fix T40057: invisible hair particles slowing down mesh edits
Skip doing particle update in object_handle_update if object is in
edit mode.

Object will be re-evaluated on exit from edit mode anyway, so it's
_expected_ to be a safe change.
2014-06-09 17:33:39 +06:00
4bd2609cd0 Quiet assert in debug mode, deleting mask/gpencil keys 2014-06-09 21:06:44 +10:00
5b367c9aaf Fix T40534: Multi-button editing, hard to distinguish sliders 2014-06-09 21:06:44 +10:00
615f4dc92f Fix T40547: Can't read single channel EXRs
The root of the issue goes to the fact that we only can
read RGB EXR files, but they could be YCbCr or just Luma.
Added support for this two cases.

Note: internally EXR would still be 3 channels, so no
big memory save would happen here, at least yet.
2014-06-09 16:43:08 +06:00
30e7bdfe10 Revert "Fix T40382: 2D stabilization uses disabled markers"
It's not that trivial to support disapearing tracks in the sequence,
and since we're having ongoing 2D stabilization rework patch wouldn't
want to start doing rather bigger changes here now.

Let's just stick to legacy behavior for this release.

This reverts commits 91429d0, 543ce85
2014-06-09 14:11:48 +06:00
0b5cd4b809 Fix T40529: Euler Rotation F-Curve Handlers wrong behaviour on moving keyframes 2014-06-09 13:43:56 +06:00
04c2e5d593 Fix T40543: Duplicators draw with 'Render Only' 2014-06-09 15:55:18 +10:00
c04c6a3b83 Fix T40538: Multi-button canceling edit-text could leave edited value 2014-06-09 15:35:34 +10:00
b707b07c5b Fix mempool bottleneck alloc & freeing a single item
Would continuously reinitialize the first chunk of the mempool,
now check for at least 2 blocks.
2014-06-08 23:09:30 +10:00
c6ea6e368b BMesh: avoid recursion for BM_mesh_edgenet, runs out stack memory on large nets 2014-06-08 22:20:03 +10:00
f8f25c38d3 Fix T40510, revert openmp thread count to how it was in
2.70 for non Apple systems.

Also refactored the code that restores the previous openmp thread count.
The logic here was weird, mostly due to all the commit madness with
Apple openmp support. The restored thread count though should not depend
on the on/off state of threaded sculpting (since it has to do with
systems other than sculpting only). For OSX threads are restored to the
system thread count but Jens should recheck here.
2014-06-08 01:39:02 +03:00
918f6a49a7 Replace open() with BLI_open 2014-06-07 11:30:08 +10:00
d53ed58c57 BMesh: avoid OpenMP use for low poly meshes (counting selection)
also use schedule(static) for simple for loops.
2014-06-06 23:54:15 +10:00
089608c25a Fix T40519: Keyed parameter are not redrawed
The issue has been introduced in 1fabfc9 by changing
notifiers being sent.
2014-06-06 18:18:05 +06:00
607cd0e8bc Fix T40522: Viewport layer name is not redrawed.
Yet another missing redraw flag catching (only affecting Cycles, in this case).
2014-06-06 14:14:56 +02:00
7f5d9a1f74 Fix compilation error after recent changes
fmc->script is a text datablock, for which we need to
access to it's IT property.
2014-06-06 16:07:58 +06:00
96f81242bd Fix for missing visits of ID's within SceneRenderLayer in BKE_library_foreach_ID_link().
Just noticed them while working on the previous commit (rB00f722042c07).
2014-06-06 12:51:14 +09:00
00f722042c Fix for missing visits of Freestyle-related ID data blocks in BKE_library_foreach_ID_link(). 2014-06-06 12:48:53 +09:00
81afc12442 Code cleanup: remove redundant void*->int->bool cast on NULL pointer 2014-06-06 11:45:51 +10:00
0b0bac846c Fix T40508: Calculating normals crashes 2014-06-06 11:27:09 +10:00
269b14f184 Freestyle: Fix for viewport render not updating with changes of Freestyle settings. 2014-06-06 09:58:43 +09:00
70e98a21e0 Freestyle: Fix for operator error messages with no active line set and associated line style.
This commit amends a de-duplication of error messages in the commit rB6067fa682b0c.
2014-06-06 09:58:42 +09:00
02808f2774 UI: higher precision for IK poll angle 2014-06-06 09:51:08 +10:00
ae4ed68dfe Code cleanup: style 2014-06-06 07:54:05 +10:00
6b256a7cd8 Fix subpixel precision in transform node
The node was using sampler from the callee node and passed
it to the input nodes. Since the fact that compositor output
node uses NEAREST interpolation (why it uses nearest is the
whole separate story) it's not possible to have subpixel
precision in such cases:

  <image> -> <translate> -> <output>

For now solving by hard-coding translate node to use BILINEAR
interpolation. It can't become worse in this node anyway and
the sampling pipeline is to be re-visited from scratch.
2014-06-05 22:05:05 +06:00
91429d09a3 Tweak to previous commit 2014-06-05 19:37:12 +06:00
543ce859f3 Fix T40382: 2D stabilization uses disabled markers
This lead to unpredictable results in some cases.
2014-06-05 19:36:20 +06:00
8355955058 Avoid openmp sections in BM_mesh_elem_index_ensure 2014-06-05 18:50:10 +10:00
6f47d054ff Code cleanup: mixup hflag/htype 2014-06-05 18:37:53 +10:00
ee5f43247b Fix T40436: No preview in Brush with Cycles
More like a feature request, but after i've implemented preview for
icons it was rather simple to support nodes previews.
2014-06-05 13:15:42 +06:00
650f1d0a6f Blender Internal: Fix for lamp option "Specular" not working when "Only Shadow" is enabled.
This is followup to rB8008d9bdfd57. Blender Render and GLSL preview
now produce the same results.
2014-06-05 16:08:15 +09:00
5474dfe701 Correct hard-coded height for UV-Vertex buttons 2014-06-05 16:03:33 +10:00
4ac5d3245d Freestyle: Fix for Interface0DIterator.object docstring with additional notes. 2014-06-05 14:07:08 +09:00
a1f8cb6dbb Fix T40423: UV Editing 'Draw Other Objects' fails with Cycles 2014-06-05 13:58:31 +10:00