Commit Graph

12883 Commits

Author SHA1 Message Date
Campbell Barton
ea8b44cc15 style cleanup 2013-10-09 21:19:25 +00:00
Bastien Montagne
110b32cf6f Fix [#37012] The new export split normal does nor produce correct results.
Was a silly error introduced in algo during optimization, vertices having sharp and smooth edges would only get the first poly's normal for each "smooth loop group".

Also done a (minor) optimization, and some comment fixes.
2013-10-09 17:48:27 +00:00
Dalai Felinto
4abb8fde95 Photoshop PSD support
We now support the combined layer of Photoshop files (stored as layer 0
in the file). This way users can keep their files as multilayer PSD and
Blender always handle them as flat images.

For perfect alpha this requires an OpenImageIO update:
342cc2633f

Photoshop sample files:
https://github.com/OpenImageIO/oiio-images

Brecht has some pending fixes to push for OIIO as well, so we may as
well wait to update our libraries.

What works:
===========
* 8bit images (with or without alpha)
* 16bits images (alpha discarded)
* Photoshop files saved with 'Maximum Compatibility'
* Cycles, Blender internal,  BGE (and player)

Known limitations
(due to OIIO dependency):
=========================
* Images with less than 4 channels show a wrong thumbnail (bug may be in  OIIO)
* Packed images are not supported
* We do not write PSD files.

Note: old Blenders have support for PSD via Quicktime library. But due
to license issues this was discontinued.

Many thanks for Brecht van Lommel for reviewing the patch, suggesting
multiple improvements and to help solving the alpha issue.
2013-10-08 21:17:24 +00:00
Thomas Dinges
e6ce07a5d4 Cycles / SSS:
* Remove the compatible falloff SSS implementation. We shouldn't support two implementations in the long term, and 2.7x is a good release number do break some compatibility as well. 

* Version patch added, so Files with Compatible falloff will automatically use Cubic now. 

It was already mentioned in the manual, that Compatible is deprecated. 
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#BSSRDF
2013-10-08 17:07:18 +00:00
Thomas Dinges
dfe1610504 Release Maintenance:
* Blender 2.70 release cycle begins, BCon1.
2013-10-08 15:23:19 +00:00
Campbell Barton
525d0cac82 remove toolsettings (unused for a long time). 2013-10-08 13:07:09 +00:00
Campbell Barton
98a4ae8562 use booleans in BKE_nurb_handles_autocalc and BMO_op_vinitf 2013-10-08 12:35:58 +00:00
Campbell Barton
b0bb5cc6b2 replace len_v3v3 with len_squared_v3v3 for comparisons. 2013-10-08 12:03:49 +00:00
Lukas Toenne
31433a3809 Fix #36981, Removing Sample line fails during render.
The SAMPLELINE flag in histogram was set during the BKE_histogram_update_sample_line function. That function in turn is called during every scope update in area draw function, meaning that during render
it constantly gets set. OTOH the operator tries to disable the flag on invoke, which "cancels" the sample line by default. So during render the operator un-setting of the flag has no effect, because the
render job immediatly triggers a redraw, which updates scopes and sets it again.

Moved the flag out of the actual sample line update function into the operator execute. Now only the operator enables/disables overall sample line drawing, while the rest of the update works as before.
2013-10-07 09:25:39 +00:00
Brecht Van Lommel
c7882ec3bb Fix for my last customdata fix, accidentally left in comments. 2013-10-05 19:56:32 +00:00
Campbell Barton
b20c3f97a4 rename presets not to use '+' character, also some typo fixes. 2013-10-05 14:19:39 +00:00
Brecht Van Lommel
7cb10c60af Fix for unnecessary customdata warning with empty meshes. 2013-10-05 13:36:55 +00:00
Bastien Montagne
b0c36617c6 Remove prints from own r60549, sorry for the noise. 2013-10-04 17:49:26 +00:00
Bastien Montagne
d1827ff5d7 Fix obvious bug in particle code (copying normal into nor when in if(ornor) block...), though probably harmless in current code... 2013-10-04 14:28:32 +00:00
Brecht Van Lommel
cdb8736f83 Fix #36930: dynamic topology sculpting with masks gave bad results:
* The mask was not subdivided properly on splitting edges, which gave interesting
  but definitely wrong fractal-like borders around masks.

* Edge splitting was only done where the mask was < 50%, with the reasoning that
  you can't do a 50% topology update. But this gives an ugly border in the mesh.
  The mask should already make the brush move the vertices only 50%, which means
  that topology updates will also happen less frequent, that should be enough.
2013-10-04 13:40:21 +00:00
Lukas Toenne
e1a34f22d7 Fix #36939, Objects with nodes appear in gray in viewport, using Solid shade, and the Blender Engine (or Game Engine).
The "active ID node" concept has become slightly more complex with pynodes. To find the active material or other ID links in a node tree recursively requires a hash key based on the "parent" tree of the
current node group. To avoid returning NULL in case this key is not yet initialized (i.e. ID node has not been activated yet), just accept 0 key as well for the base node tree.
2013-10-04 08:27:54 +00:00
Campbell Barton
43217da6d9 set mempool debug in the game-engine-player too. also remove redundant mempool includes. 2013-10-03 16:34:00 +00:00
Antony Riakiotakis
98ee7fdd9a Fix an own regression introduced in the dyntopo cleanup commits. Do not
remove a vertex from the pbvh if the only face it was part of was
removed from the pbvh. This should work but no time to investigate now
properly, and better have a solid release. The problem could be seen
when sculpting to open meshes. Some vertices and faces on the boundaries
would become stuck and unresponsive.
2013-10-02 22:18:23 +00:00
Campbell Barton
ba01e5e3eb fix [#36919] Cannot delete keyframe of animated simulation parameter if simulation has been disabled 2013-10-02 16:37:47 +00:00
Campbell Barton
4627f9d92c style edits and use macro for prefix check 2013-10-01 16:40:11 +00:00
Dalai Felinto
d2e55cb282 bugfix [#32346] Node animation, removing nodes keeps FCurves.
The same bug happens for modifiers, but better to address it separately.
Contribution and review by Lukas Toenne and Brecht van Lommel
2013-10-01 16:15:52 +00:00
Brecht Van Lommel
d310e060d2 Fix use of uninitialized variable in recent node tree changes. 2013-10-01 15:37:01 +00:00
Campbell Barton
9883641f46 add assert for bone renaming, to check if the chanhash is still valid. 2013-10-01 13:28:59 +00:00
Brecht Van Lommel
ffec71db84 Fix issues reported by coverity scan in recent changes to customdata code. 2013-10-01 12:48:41 +00:00
Campbell Barton
d370c7619f replace inline searches for BLI_findindex 2013-10-01 11:44:39 +00:00
Lukas Toenne
ff9f799d8b Yet another fix for node groups localization: The ntreeLocalMerge function can not be used to free localized node groups, because it is not commonly called to free the localized node trees. Instead these
data blocks are freed using the standard ntreeFreeTree function, so freeing localized node groups has to be done there. This means an ugly loop over G.main to detect localized groups, but should not be a
big problem in practice.
2013-10-01 09:29:56 +00:00
Sergey Sharybin
3073a5b1c4 Mark some CCG funcrions as inlined
This seems to be giving speedup up to 10% in own tests.

--
svn merge -r60104:60105 ^/branches/soc-2013-depsgraph_mt
2013-10-01 09:17:35 +00:00
Lukas Toenne
a4068d39de Fix for own commit r60468: All the localized node groups ended up in the main library ... This was because of the G.main check in ntreeCopyTree_internal, which determines whether a node tree gets put
into main or is an independent data block. This can now be controlled by passing an explicit Main pointer, so we can ensure localized node groups don't pollute main.
2013-10-01 08:55:38 +00:00
Campbell Barton
f1f7648d4c fix for error setting vector handles to free when both vector handles were selected but not the mid-point.
only one of the handles would be changed to the HD_FREE.

effected curves and fcurves.
2013-10-01 08:18:43 +00:00
Lukas Toenne
4cd7799364 Fix #36850, Material Node Editor Crash Always.
This problem was introduced with pynodes merge in r55373. It's caused by missing localization of node groups in shaders in cases where GLSL + node previews causes threading conflicts. I'm not quite sure why
we didn't do this before, but now all node groups also get localized recursively.
2013-10-01 08:18:16 +00:00
Campbell Barton
92527b9264 remove assert for poly_find_ear(), added recently but its incorrect, also minor style edits. 2013-10-01 03:56:02 +00:00
Tamito Kajiyama
aaba317c76 Follow-up to r60433 (related to Bug #36878): additional checks for NULL line styles. 2013-09-30 23:02:29 +00:00
Bastien Montagne
ab31941874 Fix [#36422] Trimmed audio files (hard cut only) in a metastrip have their trim removed
Meta sound update (seq_update_sound_bounds_recursive_rec) was not taking into account hard trim (anim_startofs) when setting sound's start, while default sound strip update (sound_move_scene_sound_defaults) did... This could use some refactor, though, with a single func used in both cases, to avoid such issue.

Also added soft trim to sound panel, only hard one was available.
2013-09-30 20:53:53 +00:00
Campbell Barton
78a8b2a883 add asserts for id property functions (ensure invalid types aren't passed) 2013-09-30 11:27:03 +00:00
Sergey Sharybin
2ddbb5d1e1 Fix for plane track jittering
Jittering was caused by homography not being estimated
accurate enough.

Before this, only algebraic estimation was used, which
is indeed not so much great, Now use algebraic estimation
followed with refinement step using Ceres minimizer.

The code was already there since keyframe selection patch,
made such estimation a generic function in multiview/ and
changed API for estimation in order to pass all additional
options via an options structure (the same way as it's
done fr Ceres).

This includes changes to both homography and fundamental
estimation.

TODO:
- Need to document Ceres functors better.
- Need to support homogeneous coordinates (currently
  only euclidean coords are supported).
2013-09-30 09:35:04 +00:00
Campbell Barton
b6ea073af2 more fixes relating to [#36878], freestyle was only checking for NULL linestyles in some places. 2013-09-30 09:28:43 +00:00
Bastien Montagne
577e6e0290 Followup to r60416, we need to get cdlayers from bmesh everywhere! sorry... 2013-09-29 15:09:48 +00:00
Bastien Montagne
af915b443a Fix [#36847] If Force Field in Ridgid Body group, crash at first frame of animation on playback
Not all objects in RB group actually have a "rigid body object", needs to be checked.
2013-09-29 13:38:56 +00:00
Bastien Montagne
4829cf9cd0 Fix [#36830] 'Reset to Default Value' on Current Area Type button causes crash
Default default value for space types (0, i.e. SPACE_EMPTY) is not valid, use SPACE_VIEW3D instead.
2013-09-29 13:25:42 +00:00
Bastien Montagne
8fa068d30a Fix [#36841] UV-Maps cannot be renamed in EditMode
Own error in r60260, in edit mode we need to use bmesh's cdata!
2013-09-29 06:47:07 +00:00
Bastien Montagne
f18f2fbb33 Fix [#36831] Grease Pencil dont create a drawing in current frame less than 1
Only forbid negframes when user has not allowed them in whole Blender (userpref, editing). Else, it's more than annoying to not be able to draw negframed gpencil.
2013-09-28 19:28:41 +00:00
Bastien Montagne
71958f0052 Fix [#36827] 2.69 bug with smoke domain, particle emitter and a force field causes a crash
fuel array might be null!
2013-09-28 05:06:02 +00:00
Lukas Toenne
640fc26c03 Fix #36630, Particlesystem - boids - goal - collision.
Problem was introduced with r54648, which determined the initial interval for the Newton-Raphson method using the "total_time" of the collision - but this info is only defined for regular collisions, not
for the raycasting used in boids to find the "ground object". To ensure correct behavior, now clear the collision info before using it (good practice in any case), then check the inv_total_time variable
and use the standard 0.001 step if not defined.
2013-09-27 13:45:47 +00:00
Brecht Van Lommel
c3d3d8be36 Fix cycles issue with mapping node rotation and scale order. When using both
scale and rotation in mapping node, there would be shearing, and the only way
to avoid that was to add 2 mapping nodes. This is because to transform the
texture, the inverse transform needs to be done on the texture coordinate

Now the mapping node has Texture/Point/Vector/Normal types to transform the
vector for a particular purpose. Point is the existing behavior, Texture is
the new default that behaves more like you might expect.
2013-09-25 20:28:49 +00:00
Campbell Barton
3c05662f5e fix error where BKE_mesh_cd_validate layer renaming would use invalid index values. from r60260
also correct some comments.
2013-09-25 11:11:41 +00:00
Campbell Barton
c037e766fa fix [#36781] triangulation modifer creases
new geometry was initializing its original index to 0 (so all edges displayed with the first edges crease value).
now initialize to NONE.
2013-09-24 03:58:19 +00:00
Campbell Barton
5342d57a5e allocate bmesh data from known sizes where possible (was still using defaults in places),
add macros for initializing BMAllocTemplate's, also add assert on invalid use of bmesh_sfme()
2013-09-24 03:31:00 +00:00
Campbell Barton
9794c70f65 modifiers_isCorrectableDeformed now checks a modifier is enabled before returning true,
also check deformMatricesEM callback for modifier_isCorrectableDeformed() rather then checking modifier types.
2013-09-24 00:56:47 +00:00
Brecht Van Lommel
fb591ea913 Fix #36793: missing update on undo with proxy object that is not using a proxy group. 2013-09-23 21:55:56 +00:00
Lukas Toenne
826a7db5c0 Fix #36797 make linked node groups local does not work. Node tree library functions where missing the ntreeMakeLocal entry, was still marked as 'not implemented'. 2013-09-23 08:20:16 +00:00