Commit Graph

8718 Commits

Author SHA1 Message Date
Brecht Van Lommel
32a6a3eb63 Fix #33747: do better backwards compatibility for image transparency changes.
The use alpha option moved from the texture datablock to the image, and now it
will duplicate the image datablock in case you have one texture using alpha and
the other not.
2013-02-08 15:56:14 +00:00
Sergey Sharybin
95bca1c6bc Small UI annoyance: proxy build progress could is incorrect in some cases 2013-02-07 14:15:30 +00:00
Campbell Barton
296444e1dc style cleanup: some warnigs & spelling. 2013-02-06 14:02:19 +00:00
Ton Roosendaal
f0ce8a563d Bugfix #34046
Linked Armature with local proxy, using feature "Custom shape at other bone" stopped working
on undo/redo.

It was actually a bug in the original commit (r26600, april 2010), storing a pointer from 
the library bone into the local proxy bone.
That's strictly forbidden in Blender, but it never showed up because on every undo-redo a 
complete proxy-sync was called again. To allow undo/redo I had to disable this syncing, 
except for file load. Hence the feature got lost :)

The fix is simple; just store the pointer to its own local bone instead.
2013-02-06 12:16:53 +00:00
Campbell Barton
441c7fb79a fix for crashes running some operators in background mode and some divide by zero errors. 2013-02-06 02:48:03 +00:00
Thomas Dinges
2fc46efbd6 Compositor:
* Bump BLENDER_SUBVERSION to "10", to reflect changes in r54304. (Compositor Translate Node)
2013-02-05 15:01:08 +00:00
Brecht Van Lommel
1ca0d66bd2 Fix particle child render resolution access not working outside of the render thread,
and rename ToggleRender to set_resolution to follow RNA conventions.
2013-02-05 13:33:54 +00:00
Sergey Sharybin
48cfe610db Tracking settings for new clip didn't match default reset 2013-02-05 13:10:26 +00:00
Sergey Sharybin
fdfa5910b5 Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashes
Issue was caused by couple of circumstances:

- Normal Map node requires tesselated faces to compute tangent space
- All temporary meshes needed for Cycles export were adding to G.main
- Undo pushes would temporary set meshes tessfaces to NULL
- Moving node will cause undo push and tree re-evaluate fr preview

All this leads to threading conflict between preview render and undo
system.

Solved it in  way that all temporary meshes are adding to that exact
Main which was passed to Cycles via BlendData. This required couple
of mechanic changes like adding extra parameter to *_add() functions
and adding some *_ex() functions to make it possible RNA adds objects
to Main passed to new() RNA function.

This was tricky to pass Main to RNA function and IMO that's not so
nice to pass main to function, so ended up with such decision:

- Object.to_mesh() will add temp mesh to G.main
- Added Main.meshes.new_from_object() which does the same as to_mesh,
  but adds temporary mesh to specified Main.

So now all temporary meshes needed for preview render would be added
to preview_main which does not conflict with undo pushes.

Viewport render shall not be an issue because object sync happens from
main thread in this case.

It could be some issues with final render, but that's not so much
likely to happen, so shall be fine.

Thanks to Brecht for review!
2013-02-05 12:46:15 +00:00
Campbell Barton
9ddf928dbd remove stringify macro from alloc's 2013-02-05 09:42:40 +00:00
Sergej Reich
e9ef8d6eff rigidbody: Avoid always making passive objects kinematic
It's only needed when they're being transformed.
Also deactivate passive objects after transformation so they don't keep
acitvating deactivated objects.

Fixes issues with using "start deactivated".
2013-02-04 23:50:38 +00:00
Sergej Reich
ace88b6962 rigidbody: Fix [#34108] Rigid body with no polygons crashes blender
Fall back to using box shape in case creating shape from mesh fails.
2013-02-04 23:50:36 +00:00
Sergej Reich
ae27a548f8 rigidbody: Fix [#34106] Deleting an object with Bullet Constraint crashes Blender
Constraints are deleted before rigid bodies so need to check if constraint
exists in case both the constraint and ridid body are on the same object.
2013-02-04 23:50:31 +00:00
Campbell Barton
9d713688ba code cleanup: warnings 2013-02-04 16:20:39 +00:00
Campbell Barton
29a15f287f fix [#34098] Crash after using Decimate or Remesh modifiers
converting a derived mesh to a mesh didnt clear its selection history, which could be invalid after applying a modifier.
2013-02-04 11:28:31 +00:00
Campbell Barton
69993c5d40 style cleanup: spaces -> tabs 2013-02-04 00:18:09 +00:00
Campbell Barton
518bfbb1c9 style cleanup 2013-02-02 04:58:03 +00:00
Brecht Van Lommel
496c3e4f8f Fix #34070: set origin operator did not work for lattice objects. 2013-02-01 15:17:39 +00:00
Sergey Sharybin
7dc33e3ef8 Move opencl and reigidbody from source/blender/ to intern/
This modules does not depend on any blender-specific data
structures or algorithms and due to our policy better be
placed to intern/

Shall be no functional changes, tested CMake and SCons on
Linux, hopefully other platforms will work as well.

P.S. SVN history shall be preserved for the files.
2013-02-01 06:24:49 +00:00
Campbell Barton
b77eccf801 patch [#33985] Added FModifierEnvelope control_point add remove to API
from Peter Staples (batfinger)
2013-01-31 08:19:11 +00:00
Campbell Barton
54223ed05b Add active region for operator execution.
This means you can for example, uv unwrap in quad-view and change settings in the toolbar without defaulting back to the first quad-view region available. 

This may be displayed to the user later, for now this is set on executing registrable operators.
2013-01-30 12:22:02 +00:00
Miika Hamalainen
e9678e74b0 Fix [#34008]: Scaling Smoke Domain In Z-Axis Crashes Blender
Also as minor change skip base_res update on domain step if adaptive domain isn't enabled.
2013-01-29 19:27:05 +00:00
Sergey Sharybin
6d4a6b957c Fix #34009: multi user curves + deform modifier behavior
Issue was caused by storing BB calculated from final displist in
Curve datablock and not having Object's BB at all. This is not
clear at how could have been worked for so long.

Changed it so Curve's BB is calculated from non-deformed displist,
which matches BKE_object_min_max and BKE_curve_texspace_calc and
made it so Object's BB would be calculated from final displist.
2013-01-29 08:21:21 +00:00
Joshua Leung
004d0a3a9a Whitespace 2013-01-29 01:23:29 +00:00
Campbell Barton
774ff1c246 style cleanup: also remove unneeded NULL check. 2013-01-28 01:59:59 +00:00
Brecht Van Lommel
6cadd2bee3 Fix drivers and shape keys not handling subframes / frame mapping properly.
Change Scene.frame_set so that it ensures subframe in range [0,1[ as Blender
expects, otherwise some things like physics point cache lookups don't get
evaluated properly.
2013-01-27 16:45:00 +00:00
Ton Roosendaal
1a97efb1ba Very old todo: Packed file UI
- The "ID" buttons (for browse images, for example) now show a Pack icon, for packed
  Images. Using this button allows unpack.

- Pack and unpack operations now give a Info report on what happened.

- Not restored yet: option to set "AutoPack".
2013-01-27 14:28:45 +00:00
Sergej Reich
c84383301c Fix [#34005] blender will close immediately in debug mode on deleting objects
Was silly mistake from rigidbody merge, base was used after it's been
freed.

Now don't free base in BKE_scene_base_remove() and rename it to
BKE_scene_base_unlink().
2013-01-26 17:38:45 +00:00
Nicholas Bishop
7e49a39acd Check for deletion before moving vert in dyntopo collapse edge
Fixes [#33964] Dyntopo crash with edge collapse + undo
projects.blender.org/tracker/?func=detail&aid=33964&group_id=9&atid=498
2013-01-26 17:19:21 +00:00
Joshua Leung
4f565d48fb Motion Path calculations for objects now takes rigidbodies sim effects into
account
2013-01-26 05:28:58 +00:00
Campbell Barton
c411cde415 header cleanup, include BLI before BKE, also use bool for ntreeShaderExecTree 2013-01-24 21:57:13 +00:00
Sergey Sharybin
da4028d4a8 Fix #33953: blender crash after few steps with .exr image in compositor
Issue was caused by FILE multilayer ImBuf sharing buffers with render
result, and SEQUENCE multilayer ImBufs duplicating buffers. Which is
nice by it's own. But, changing image source wouldn't remove any loaded
image buffers, meaning if you've got loaded FILE multilayers they'll
likely became invalid.

That behavior of handling multilayers on changing source was done as
a fix for #24976, which is now actually not needed (removing check
for multilayer doesn't change behavior at all).

Just to be sure added check to RNA, so signal wouldn't be fired if
source wasn't actually changed form a menu.
2013-01-24 17:21:22 +00:00
Ton Roosendaal
b12a019948 Usability
- Cycles materials now render in Blender Internal too, skipping the nodes.
  Not very useful, but at least things then show up on renders and in
  previews.

- Node editor: if wrong shader nodes are in a tree, they draw with thene
  color RED ALERT headers now. (Switching render engine will show it).
2013-01-24 16:11:07 +00:00
Campbell Barton
1da7d7d1a0 use bool for new code. 2013-01-24 14:48:08 +00:00
Campbell Barton
66bf63d7af use inline functions for subsurf MVert,MEdge mesh array functions, also some include cleanup for scons/cmake. 2013-01-24 11:28:26 +00:00
Ton Roosendaal
9592cade86 Armature rigging:
Added more clear warning print for cases when a Proxy cannot be resolved.
2013-01-24 11:21:40 +00:00
Campbell Barton
8a60c7dc7d fix for missing initialization of vert data in ccgDM_copyFinalVertArray 2013-01-24 09:36:22 +00:00
Campbell Barton
296f91c4cc add 'deform - integrate' option to mesh-cache,
This means the deformation on the input to the modifier can be re-applied ontop of the mesh cache.

In practice this is most useful for using corrective shape-keys with mesh-cache.
2013-01-24 04:02:30 +00:00
Sergej Reich
5489d5c2b5 rigidbody: Fix [#33971] Bullet Physics crash + patch
BKE_rigidbody_aftertrans_update() can be called before rigid body is
validated so check before updating physics_object.

Thanks to Antony Riakiotakis (psy-fi) for the initial patch.
2013-01-24 03:49:30 +00:00
Campbell Barton
c24777ee9e style cleanup 2013-01-23 23:42:18 +00:00
Lukas Toenne
6558a22b91 Fix for missing function stub when WITH_BULLET is disabled. 2013-01-23 14:55:41 +00:00
Brecht Van Lommel
b9472cbd83 Code cleanup: move render baking code into own file. 2013-01-23 13:13:16 +00:00
Sergej Reich
419ce840f9 rigidbody: Make rigid bodies kinematic during transformation
This allows moving rigid bodies on frame > startframe.
Also rigid bodies can now be picked up and trown around while the
simulation is running.

Note: There is a small glitch with cancelling tansform during simulation
but it's tricky to get rid of.

TODO: Avoid static-static collision warnings
2013-01-23 12:06:18 +00:00
Thomas Dinges
d2161ec488 Blender 2.66 Release Cycles:
* We enter BCon3 now, ongoing module work, stabilization of new features and fixes.
2013-01-23 11:00:57 +00:00
Campbell Barton
69ddc5eb99 make bullet optional again 2013-01-23 07:26:39 +00:00
Sergej Reich
c48238fac6 rigidbody: Add generic spring constraint
Behaves like the generic constraint but has optional spring on each axis.

TODO: Add option to set rest length.

Patch by Markus Kasten (markus111), thanks!
2013-01-23 05:57:01 +00:00
Sergej Reich
47c96081d0 rigidbody: Add rigid body constraints
Constraints connect two rigid bodies.
Depending on which constraint is used different degrees of freedom
are limited, e.g. a hinge constraint only allows the objects to rotate
around a common axis.

Constraints are implemented as individual objects and bahave similar to
rigid bodies in terms of adding/removing/validating.

The position and orientation of the constraint object is the pivot point
of the constraint.

Constraints have their own group in the rigid body world.

To make connecting rigid bodies easier, there is a "Connect" operator that
creates an empty objects with a rigid body constraint connecting the selected
objects to active.

Currently the following constraints are implemented:
* Fixed
* Point
* Hinge
* Slider
* Piston
* Generic

Note: constraint limits aren't animatable yet).
2013-01-23 05:56:56 +00:00
Sergej Reich
2d8637946b rigidbody: Add rigid body simulation
Add operators to add/remove rigid body world and objects.
Add UI scripts.

The rigid body simulation works on scene level and overrides the
position/orientation of rigid bodies when active.
It does not deform meshes or generate data so there is no modifier.

Usage:
* Add rigid body world in the scene tab
* Create a group
* Add objects to the group
* Assign group to the rigid body world
* Play animation
For convenience the rigid body tools operators in the tools panel of the 3d view
will add a world, group and add objects to the group automatically so you only have
to press one button to add/remove rigid bodies to the simulation.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:44 +00:00
Sergej Reich
089cf12435 rigidbody: Add point cache support
Add read/write/interpolate functions.

In order to get rigid body point cache id from object it's now required to pass the
scene to BKE_ptcache_ids_from_object().

Rigid body cache is drawn in the orange color of the bullet logo.
2013-01-23 05:56:34 +00:00
Sergej Reich
fc377c17e3 rigidbody: Add force field support
Force fields work with rigid bodies just like they do with other simulations.

Increase min and max strength of force fields so they can influence heavy rigid
bodies.

TODO: Adjust force field strength based on the time step taken.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:27 +00:00