Commit Graph

49420 Commits

Author SHA1 Message Date
Campbell Barton
1da7d7d1a0 use bool for new code. 2013-01-24 14:48:08 +00:00
Campbell Barton
5c9d1ec080 fix for mesh-cache modifier deform-integration used with axis-flipping would fail. 2013-01-24 14:36:02 +00:00
Sergey Sharybin
4d50d3ac43 Tiles highlight shall work fine with border render now
Before it was some offset from actual tile pixels.
2013-01-24 13:55:04 +00:00
Sergey Sharybin
7803b51b42 Fixed for strict compiler flags 2013-01-24 13:43:37 +00:00
Ton Roosendaal
f93d6758b7 New 'X' icon in search buttons sometimes overlapped text, needs extra space. 2013-01-24 13:02:00 +00:00
Campbell Barton
9513c03619 fix for setting RegionView3D.view_matrix 2013-01-24 11:54:11 +00:00
Bastien Montagne
6146110270 Final memory fix for bpy.app.translations (not really a leak, but unfreed memory at end of program - I thought addons were unregistered at quit time...). 2013-01-24 11:38:17 +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
Sergey Sharybin
6510367c38 Fix #33975: Crash when reloading texture
Two issues in texture_changed:
- Missing NULL check for material (slot could be empty)
- Materials could be linked to object, added special check for this
2013-01-24 08:49:48 +00:00
Campbell Barton
69900035b3 fix for G,G causing vertex slide in UV/Image window, also comment unused defines/enums. 2013-01-24 08:49:40 +00:00
Sergey Sharybin
59a187b338 Fix threading issues of viewport rendering when using movies/generated images
Issue was caused by the fact that guarded allocator is not thread-safe and
generated images/movies could allocate memory when loading pixels to Cycles.

Currently solved by switching memory allocator to using mutex lock (the same
as sued for jobs) when viewport rendering is used.

Nicer solution would be to make guarded allocator thread-safe by using atomic
operations and lock-free lists, but that's more serious change.
2013-01-24 08:14:20 +00:00
Sergey Sharybin
5e739ddae2 Added some code which helps troubleshooting issues caused by
non-threadsafe usage of guarded allocator.

Also added small chunk of code to check consistency of begin/end
threaded malloc.

All this additional checks are commented and wouldn't affect on
builds, however found them helpful to troubleshoot issues so
decided to commit it to SVN.
2013-01-24 08:14:05 +00:00
Campbell Barton
c65c1958bd code cleanup: minor edits to mesh-cache formatting. 2013-01-24 05:54:17 +00:00
Nicholas Bishop
0e2a6178c2 Remove dynamic-topology flag from mesh when entering sculpt mode
This will be enabled if the file was saved with dynamic topology on,
but we don't automatically re-enter dynamic-topology mode when loading
a file so remove the flag.

Fixes bug [#33956]
projects.blender.org/tracker/?func=detail&aid=33956&group_id=9&atid=498
2013-01-24 04:33:29 +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
Joshua Leung
aea3545973 Bugfix [#33974] Bone roll flips 180 degrees when extruding bones vertically
For example, if you're making a chain of bones (e.g. for a spine) by extruding
the tip joint of an initial bone, the bone rolls would be: 0 (for the initial
bone), 180, -180, 180, -180, etc. This has the undesirable effect of causing
B-Bones to twist to match the roll values at the other end of the bone.

The fix here seems to improve the situation in this case: bone roll values don't
flip or change anymore (in fact, the bone axes stay perfectly aligned now, as
they should). It also doesn't seem to cause any problems in other common cases I
checked.
2013-01-24 02:52:03 +00:00
Campbell Barton
936b82802a add bullet define & include for scons makesrna, also move meshcache utils into own file. 2013-01-24 02:14:39 +00:00
Campbell Barton
dccec5727e replace calloc + memcpy with recalloc. 2013-01-24 00:46:51 +00:00
Campbell Barton
c24777ee9e style cleanup 2013-01-23 23:42:18 +00:00
Campbell Barton
9ff704db39 style cleanup: bake 2013-01-23 23:28:22 +00:00
Brecht Van Lommel
327b17b26f Fix #31338: python enum properties can now specify icons for items, in the following
order: (identifier, name, description, icon, unique number)

This also works without the icon still, for compatibility.
2013-01-23 21:55:11 +00:00
Brecht Van Lommel
555ae1f4b0 Fix #33896: particle add brush with radius 1 would give duplicated and NaN hairs. 2013-01-23 19:40:52 +00:00
Stuart Broadfoot
976c6b7b6e Cycles Hair: Multiple vertex colours and UV coordinates
Added export of multiple UV coordinates and vertex colour attributes.

A debugging option to export the strands without using the cache has also been removed.
2013-01-23 17:15:45 +00:00
Thomas Dinges
ed652aa8d1 Mesh Cache UI:
* Modifier was not in alphabetical order
* No Icon was displayed in the Add Modifier menu. 

Note: Mesh Cache uses Mesh Deform Icon at the moment, needs a unique one.
2013-01-23 16:57:43 +00:00
Antony Riakiotakis
82e4484de2 fix blenderplayer scons after bullet merge 2013-01-23 16:38:09 +00:00
Ton Roosendaal
17b1c19054 UI todo:
Added "Panel Title" style to Theme settings.
Allows to make these nice larger or draw differently.

Also tried to put hinting in Style, but this needs to be a per-font
setting. uiFont data is still not being saved (also not allowing
to set own font files for UI). That's a todo for 267 then.
2013-01-23 16:01:35 +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
8f863ec625 Fix normalize_m4_m4 not working correct by not copying the entire matrix,
caused issue in blender internal with recent fix.
2013-01-23 14:37:12 +00:00
Thomas Dinges
456a2d9de7 Fix for [#33959] laplacian smooth gui buggy
* Made the property UI range do bigger steps.
* Increased default values a bit. If people need extreme small values (0.00001) they can enter that manually.
2013-01-23 14:19:01 +00:00
Brecht Van Lommel
f0c313c8b6 Fix #33556: overlapping regions draw over render info at the top of 3d view and
image editor. Also fix it not scaling properly with DPI.
2013-01-23 14:05:08 +00:00
Brecht Van Lommel
b9472cbd83 Code cleanup: move render baking code into own file. 2013-01-23 13:13:16 +00:00
Brecht Van Lommel
a03cc5c6c5 Fix small issue found in vertex color bake bug that caused the result to be
different each time, due to float precision issues. The camera matrix itself
should not be modified in render, just its copy.
2013-01-23 13:13:10 +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
Joshua Leung
5412d00310 Code cleanup
* Removed unused block of code
* matrice -> matrix
2013-01-23 11:24:48 +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
Bastien Montagne
bb14b390e5 Fix own stupid memory leak in new py i18n code (forgot to free temp keys when searching messages in GHash cache!).
Thanks to PerfectionCat for finding this.
2013-01-23 07:59:07 +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
Sergej Reich
27601aaf01 rigidbody: Add DNA/RNA/BKE infrastructure for the rigid body sim
This is just the basic structure, the simulation isn't hooked up yet.

Scenes get a pointer to a rigid body world that holds rigid body objects.
Objects get a pointer to a rigdid body object.

Both rigid body world and objects aren't used directly in the simulation
and only hold information to create the actual physics objects.

Physics objects are created when rigid body objects are validated.
In order to keep blender and bullet objects in sync care has to be taken
to either call appropriate set functions or flag objects for validation.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:22 +00:00
Sergej Reich
5c85deb285 rigidbody: Add rigidbody module
It's mostly a C API for bullet that interfaces nicely with blender.
It could act as a generic interface for rigid body simulations but right
now it's very specific to bullet.

TODO: Fix building without bullet.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:13 +00:00
Sergej Reich
e83e3b0cf7 math: Add functions to decompose transformation matrices
mat4_decompose() is similar to mat4_to_loc_rot_size() but returns
rotation as quaternion.
mat4_to_loc_quat() just returns location and rotation without size.
2013-01-23 05:56:05 +00:00
Campbell Barton
281e094e16 workaround [#32866] Crash by cyclic use of Boolean Modifier
officially - modifiers shouldn't calc other objects derived mesh, but in some cases its needed at the moment for certain scenes, so just disallow booleans depending on booleans.
2013-01-23 05:42:45 +00:00
Campbell Barton
833104e647 fix for own regression since 2.4x, non-linear number button range was too insensitive for int buttons. 2013-01-23 04:55:34 +00:00