blender.git
12 years agoMesh Deform Modifier
Brecht Van Lommel [Mon, 12 Nov 2007 09:12:37 +0000 (09:12 +0000)]
Mesh Deform Modifier
====================

Forgot to uncomment line again for the weight threshold before I committed,
this should save some time and memory space.

12 years agoPatch #7767: Constraint Subtargets can now target anywhere on a bone, not just the...
Joshua Leung [Mon, 12 Nov 2007 04:17:03 +0000 (04:17 +0000)]
Patch #7767: Constraint Subtargets can now target anywhere on a bone, not just the head or tail
Patch by: Roland Hess (harkyman)

For example, a constraint can be sub-targeted at the 50% (or 31.2% or 85% etc.) point of its target bone, giving you enormous rigging flexibility and removing the need for complex contraptions to do such things as:

- A bone whose base slides only between to points on a rig (CopyLoc with a variable, animated subtarget point)
- Bones that attach to multiple points along another bone (CopyLocs, each with a different head/tail percentage)
- Bones that need to stretch to a point midway between specific spots on two other bones (old way: too crazy to mention; new way: stretch bone between points on end bones, then another stretch to the midpoint of the first stretch)

It is only used for the constraint types for which it is relevant: CopyLoc, TrackTo, StretchTo and MinMax, TrackTo, and Floor.

Notes:
- This is accessed by the Head/Tail number-slider.
- This value can be animated per constraint
- The old "Copy Bone Tail" option for the CopyLoc constraint has been automatically converted to 1.0 Head/Bone values for the affected constraints
- In the code, this value is in the bConstraint struct, so it is available for all constraints, even though only a few implement it.

12 years agoMesh Deform Modifier
Brecht Van Lommel [Sun, 11 Nov 2007 22:54:14 +0000 (22:54 +0000)]
Mesh Deform Modifier
====================

Dynamic binding support. This means that the mesh can move _within_
the cage and still deform correct. If the mesh goes out of the cage,
don't expect correct result. Must be enabled with the 'Dynamic'
option, because it is slower and consumes more memory.

This is useful to use e.g. the cage mesh for main deformations and
still have shape keys for facial deformation working.

12 years agoLoop in parents cant happen anymore, better dealing with segments with more then...
Campbell Barton [Sun, 11 Nov 2007 21:14:44 +0000 (21:14 +0000)]
Loop in parents cant happen anymore, better dealing with segments with more then 4 children. print timing stats.

12 years agodropped some unused lines, if that was some new feature witch I no found mentions...
Joilnen Leite [Sun, 11 Nov 2007 16:56:22 +0000 (16:56 +0000)]
dropped some unused lines, if that was some new feature witch I no found mentions in svn logs please to commit
for trunk when ready

12 years agoProper code for bugfix revision 12365 (which was uncommitted today).
Ton Roosendaal [Sun, 11 Nov 2007 16:13:27 +0000 (16:13 +0000)]
Proper code for bugfix revision 12365 (which was uncommitted today).

Old log Message:
-----------
bug fix, when opening blender with a file (by double clicking or from the
command line) - the initial undo state would be set to the default scene.
So holding Ctrl+Z would go back to the default .B.blend rather then the
file that the user opened.

12 years agoUndoing 'undo' fix 12365, it didn't work the same on mac's, Ton would like to fix...
Campbell Barton [Sun, 11 Nov 2007 15:18:53 +0000 (15:18 +0000)]
Undoing 'undo' fix 12365, it didn't work the same on mac's, Ton would like to fix the bug himself.

Tree From Curve,
- report error when nurbs or poly curves are used.
- don't throw errors when >4 branch's per segment are used. also try deal with this better. though no nice solution exists.
- default speed is 10x slower then before.

12 years agoRewrote the part that converted blenders curves into branches,
Campbell Barton [Sat, 10 Nov 2007 20:00:15 +0000 (20:00 +0000)]
Rewrote the part that converted blenders curves into branches,
Was converting into a mesh and then doing location checks, to figure out what the radius should be and then interpolating. this was the slowest part of the script and it made a mesh every time.

Now use blenders bezier interpolation function and calculate points like blender does.

fixed a driver syntax error for the Z axis (typo)

12 years agoExclude generated images when checking if an image is already loaded, it can be very...
Campbell Barton [Sat, 10 Nov 2007 19:56:06 +0000 (19:56 +0000)]
Exclude generated images when checking if an image is already loaded, it can be very confusing when you don't appear to have the image loaded anywhere.

12 years agoadded buttons in the Transform Properties for changing curve handle types, (Similar...
Campbell Barton [Sat, 10 Nov 2007 15:31:41 +0000 (15:31 +0000)]
added buttons in the Transform Properties for changing curve handle types, (Similar to how Metaballs can be selected) for easier access then H,Shift H, V keys

12 years agoBugfix #6797: Relative paths load problem on new file (fix included)
Andrea Weikert [Sat, 10 Nov 2007 11:45:25 +0000 (11:45 +0000)]
Bugfix #6797: Relative paths load problem on new file (fix included)
- brought back the check for a valid relative base when selecting.
- kept the check for when file is saved too and warning message is printed to console instead of popping up.
Also fixed BLI_split_filedir overwriting parameter passed as const char*

12 years ago==Python API==
Campbell Barton [Sat, 10 Nov 2007 11:05:44 +0000 (11:05 +0000)]
==Python API==
added .smooth setting to CurNurb's

so you can do....
for curNurb in Curve.Get('foo'): curNurb.smooth = True

12 years ago== imagebrowser ==
Andrea Weikert [Sat, 10 Nov 2007 09:11:42 +0000 (09:11 +0000)]
== imagebrowser ==
* bugfix: calling imagebrowser with relative path results in non-existing dir
* cleanup: removed unneeded BIF_filelist_appenddir function
* added check for valid relative base when activating imagebrowser (like in filebrowser)

12 years agoCopyRot Constraint and Transforms:
Joshua Leung [Sat, 10 Nov 2007 02:53:19 +0000 (02:53 +0000)]
CopyRot Constraint and Transforms:

Now, when rotating along local axes of an object/bone with a copy-rot constraint that has offset on, the results are more predicatable. However, doing so with global axes is still in CrazySpace (TM).

12 years agobetter segment collapsing (check for radius/angle difference)
Campbell Barton [Fri, 9 Nov 2007 23:06:31 +0000 (23:06 +0000)]
better segment collapsing (check for radius/angle difference)
remove vert groups from existing mesh when its being reused

12 years agobranch cap ends, UV scale options, Automatic update option added. as well as some...
Campbell Barton [Fri, 9 Nov 2007 16:51:24 +0000 (16:51 +0000)]
branch cap ends, UV scale options, Automatic update option added. as well as some bugs fixed.

12 years agomistake in last commit
Campbell Barton [Fri, 9 Nov 2007 16:05:04 +0000 (16:05 +0000)]
mistake in last commit

12 years agoFeature: transform manipulator (align normal option) aligns with bezier
Ton Roosendaal [Fri, 9 Nov 2007 16:02:31 +0000 (16:02 +0000)]
Feature: transform manipulator (align normal option) aligns with bezier
handles now. Needed & useful for modeling trees here...

12 years agoPyTuple_Pack dosnt work with python 2.3 - removed
Campbell Barton [Fri, 9 Nov 2007 15:56:41 +0000 (15:56 +0000)]
PyTuple_Pack dosnt work with python 2.3 - removed

12 years agoQuick added feature: the "do not get scaling from parent bone" option.
Ton Roosendaal [Fri, 9 Nov 2007 14:58:55 +0000 (14:58 +0000)]
Quick added feature: the "do not get scaling from parent bone" option.

It's next to the 'hinge' button, a small 'S'. No more space here... will
make it nicer inferface later. :)
Let's first see if this works as expected.

12 years agosaving and loading of settings per tree, also added a way to get unique animation...
Campbell Barton [Fri, 9 Nov 2007 12:19:10 +0000 (12:19 +0000)]
saving and loading of settings per tree, also added a way to get unique animation using object locations in drivers

12 years agocurve2tree - animation settings - speed and magnitude
Campbell Barton [Fri, 9 Nov 2007 10:29:19 +0000 (10:29 +0000)]
curve2tree - animation settings - speed and magnitude
Python api - texture.evaluate can now accept tuples of numbers as well as vectors

12 years agotree branch bones can now animate using drivers that reference textures, so animation...
Campbell Barton [Fri, 9 Nov 2007 01:35:00 +0000 (01:35 +0000)]
tree branch bones can now animate using drivers that reference textures, so animation can be controlled from clouds, noise settings after being created. still need to add user preferences for animation speed and magnitude.

12 years agoBranch's now have weights assigned to the mesh and an armature modifier applied so...
Campbell Barton [Fri, 9 Nov 2007 00:05:15 +0000 (00:05 +0000)]
Branch's now have weights assigned to the mesh and an armature modifier applied so the bones effect the tree.

12 years agoautomatic armature generation follows branch's
Campbell Barton [Thu, 8 Nov 2007 22:13:40 +0000 (22:13 +0000)]
automatic armature generation follows branch's

12 years agobug fix with trimming intersecting branches, added setting for branch joint smoothing...
Campbell Barton [Thu, 8 Nov 2007 20:25:56 +0000 (20:25 +0000)]
bug fix with trimming intersecting branches, added setting for branch joint smoothing. some speedups

12 years agoBugfix:
Brecht Van Lommel [Thu, 8 Nov 2007 18:02:15 +0000 (18:02 +0000)]
Bugfix:
Issue with dual quaternion scaling + vertex group influence.

12 years agoFix for bug [#7741] new colorband for weightpainting overlaps with verse settings
Martin Poirier [Thu, 8 Nov 2007 15:57:18 +0000 (15:57 +0000)]
Fix for bug [#7741] new colorband for weightpainting overlaps with verse settings

12 years agouser interface added for 'Tree from curves' tool.
Campbell Barton [Thu, 8 Nov 2007 15:41:11 +0000 (15:41 +0000)]
user interface added for 'Tree from curves' tool.
renamed Filter to Blur to Filter for #define as well

12 years agoFix for bug #7697 Appending screen crashes when appended screen is accessed:
Juho Vepsalainen [Thu, 8 Nov 2007 13:49:11 +0000 (13:49 +0000)]
Fix for bug #7697 Appending screen crashes when appended screen is accessed:
This commit fixes the issue by disabling access to screens via the path input field.

Note that appending screens might actually be a useful feature to implement at some point.

12 years ago* new stamp option to stamp forground sequence strip name.
Campbell Barton [Thu, 8 Nov 2007 13:02:59 +0000 (13:02 +0000)]
* new stamp option to stamp forground sequence strip name.
* made stamp filename optional
* renamed weightpaint "Filter" to "Blur"
* made the defailt weightpaint opacity 1.0 rather then 0.2 so when you select 1.0 weight you can paint it with without multiple clicks.

12 years agoBugfix #7682: Constraint.InsertKey works odd for PoseBones
Joshua Leung [Thu, 8 Nov 2007 09:49:49 +0000 (09:49 +0000)]
Bugfix #7682: Constraint.InsertKey works odd for PoseBones

Constraint.InsertKey was inserting keyframes for the wrong action-channel. It was doing so for the active bone, not the owner of the constraint.

12 years agoPatch #7722: no 'Auto IK' for solitary (unconnected) bone
Joshua Leung [Thu, 8 Nov 2007 08:27:21 +0000 (08:27 +0000)]
Patch #7722: no 'Auto IK' for solitary (unconnected) bone

'Auto IK' is a great feature, however when solitary unconnected bone (without connected child bones) is grabbed it can't be moved because of IK. This can be really annoying. Preventing 'Auto IK' for solitary bones would improve user-experience by making mixing of FK and IK  more convenient while using 'Auto IK'.

Patch by Teppo Kansala (teppoka).

12 years agoPatch #7760: X-Axis-Mirror support for 'make bone parent'
Joshua Leung [Thu, 8 Nov 2007 08:06:50 +0000 (08:06 +0000)]
Patch #7760: X-Axis-Mirror support for 'make bone parent'

This patch by Teppo Känsälä (teppoka) makes parenting bones with Ctrl-P support the X-Axis-Mirror option for Armatures. It will cause the mirror-bone of the selected bone to also get parented. i.e. if "bone.R" was selected and being parented, "bone.L" would also get parented.

I've made an addition to this patch, which means that if the bone that acts as the parent also has a mirror-bone (i.e. when parenting "lowerArm.L" to "upperArm.L", "lowerArm.R" gets parented to "upperArm.R"). Otherwise, they both get parented to the same parent bone (i.e. a parent bone that doesn't belong on either side such as "upperSpine")

12 years agoNew Curve function in the curve specials menu - "Smooth Radius" this smooth's the...
Campbell Barton [Thu, 8 Nov 2007 00:06:48 +0000 (00:06 +0000)]
New Curve function in the curve specials menu - "Smooth Radius" this smooth's the radius of selected curve points to unselected or endpoints. useful when changing the taper of a long curve
with many points (think treetrunk), it would be nice to take into account distance on the path when doing the curve interpolation.
Also moved added undo call's that were missing for 2 of the other curve specials.

12 years ago(work in progress commit) - tree wizard, makes a subsurfed skin from curves. also...
Campbell Barton [Wed, 7 Nov 2007 21:39:23 +0000 (21:39 +0000)]
(work in progress commit) - tree wizard, makes a subsurfed skin from curves. also adds UV's (and soon bones)
needs a user interface.

12 years ago=Python API bugfix=
Joseph Eagar [Wed, 7 Nov 2007 18:52:23 +0000 (18:52 +0000)]
=Python API bugfix=

Scene.update(full=1) was pretty useless as it didn't actually evaluate the
depsgraph DAG.  This meant, for example, that re-evaluating the parenting
tree for an armature pose could only be done by redrawing the view (which
evaluates the depsgraph). scene_update_for_newframe() is now called when Scene.update is in "full" mode; to prevent firing off newframe scriptlink events, scriptlinks are
temporarily disabled while scene_update_for_newframe() is being called.

12 years agoown silly error, was reusing an existing flag for the draw curve handles setting.
Campbell Barton [Wed, 7 Nov 2007 13:02:50 +0000 (13:02 +0000)]
own silly error, was reusing an existing flag for the draw curve handles setting.

12 years agoSmall fix for feature 'custom weight paint range': the range was not
Ton Roosendaal [Wed, 7 Nov 2007 11:14:52 +0000 (11:14 +0000)]
Small fix for feature 'custom weight paint range': the range was not
initialized on starting Blender.

12 years agocurve selection wasnt checking if the screen coords were clipped. made selecting...
Campbell Barton [Tue, 6 Nov 2007 19:56:25 +0000 (19:56 +0000)]
curve selection wasnt checking if the screen coords were clipped. made selecting off screen verts possible. This looks like an old bug (at least it existed before I added
hide handles option).

12 years ago==Python API==
Campbell Barton [Tue, 6 Nov 2007 18:53:46 +0000 (18:53 +0000)]
==Python API==
Blender.Geometry.ClosestPointOnLine(pt, vec1, vec2) -> (pt, lambda)
This wraps lambda_cp_line_ex

Needed for experemental tree generator

12 years agoBugfix:
Brecht Van Lommel [Tue, 6 Nov 2007 14:15:45 +0000 (14:15 +0000)]
Bugfix:
Mesh deform invert vertex group influence didn't work entirely correct.

12 years ago==Python API==
Campbell Barton [Tue, 6 Nov 2007 13:44:26 +0000 (13:44 +0000)]
==Python API==
Bugfix, Space Handlers could crash blender when used with armatures.
also fixed some possible bugs in other areas.

12 years ago== "Extend" Transform Mode for Action + NLA Editors ==
Joshua Leung [Tue, 6 Nov 2007 11:41:09 +0000 (11:41 +0000)]
== "Extend" Transform Mode for Action + NLA Editors ==

Peach Request:
Now the Action and NLA editors have the "Extend" transform mode first seen in the Sequence Editor. Just use the EKEY to start transforming.

It works like Grab, except it only moves the keyframes/side of NLA-strip that was on the same side of the current-frame marker as the mouse was when transform started.

12 years agoBugfix:
Brecht Van Lommel [Tue, 6 Nov 2007 11:25:48 +0000 (11:25 +0000)]
Bugfix:
Mesh deform modifier crashed when applied to lattices.

12 years agoMesh Deform Modifier
Brecht Van Lommel [Tue, 6 Nov 2007 09:44:34 +0000 (09:44 +0000)]
Mesh Deform Modifier
====================

Added a button to invert the vertex group influence, to make blending
between mdef and armature deform easier.

12 years agosequencer snap was crashing when no last selected was available (own mistake)
Campbell Barton [Mon, 5 Nov 2007 21:06:27 +0000 (21:06 +0000)]
sequencer snap was crashing when no last selected was available (own mistake)
material names spelling was odd - HalveGreen -> HalfGreen

12 years ago== MSVC 7.1 projectfiles ==
Andrea Weikert [Mon, 5 Nov 2007 20:16:23 +0000 (20:16 +0000)]
== MSVC 7.1 projectfiles ==
- added missing CMP_crop.c

12 years agoBugfix:
Brecht Van Lommel [Mon, 5 Nov 2007 18:44:42 +0000 (18:44 +0000)]
Bugfix:
B-bones didn't work well with non-uniform scaling applied to them.
The code to solve this is not too pretty, but don't know how to do
it simpler, and at least it makes that stretchy spine work.

12 years agoBugfix:
Brecht Van Lommel [Mon, 5 Nov 2007 17:38:07 +0000 (17:38 +0000)]
Bugfix:
Dual quaternions + armature modifier vgroup didn't work together correct.

12 years agoTweaks I needed to get blender compiling on my new macbook running leopard.
Kent Mein [Mon, 5 Nov 2007 17:27:11 +0000 (17:27 +0000)]
Tweaks I needed to get blender compiling on my new macbook running leopard.

Kent

12 years agoTweak for MSVC2005 people:
Kent Mein [Mon, 5 Nov 2007 16:46:48 +0000 (16:46 +0000)]
Tweak for MSVC2005 people:

http://www.blender.org/forum/viewtopic.php?t=12408

Kent

12 years agoMesh Deform Modifier
Brecht Van Lommel [Sun, 4 Nov 2007 22:00:24 +0000 (22:00 +0000)]
Mesh Deform Modifier
====================

The MeshDeform modifier can deform a mesh with another 'cage' mesh.
It is similar to a lattice modifier, but instead of being restricted
to the regular grid layout of a lattice, the cage mesh can be modeled
to fit the mesh better.

http://www.blender.org/development/current-projects/changes-since-244/modifiers/

Implementation Notes:
- OpenNL has been refactored a bit to allow least squares matrices to
  be built without passing the matrix row by row, but instead with
  random access. MDef doesn't need this actually, but it's using this
  version of OpenNL so I'm just committing it now.
- Mean value weights for polygons have been added to arithb.c, a type
  of barycentric coordinates for polygons with >= 3 vertices. This
  might be useful for other parts of blender too.

12 years agoA different approach for the new driver option: it now uses pose-space
Ton Roosendaal [Sun, 4 Nov 2007 19:41:21 +0000 (19:41 +0000)]
A different approach for the new driver option: it now uses pose-space
instead of bone-space. This makes it visual easier to use. For the todo:
a large array of buttons for users to pick what kind of 'space' is used?

12 years agoNew driver option for the poor suffering riggers:
Ton Roosendaal [Sun, 4 Nov 2007 17:14:39 +0000 (17:14 +0000)]
New driver option for the poor suffering riggers:

"Rotation Difference"

This option, for Bones, allows the angle between two Bones to be
the driver for another Ipo channel. This angle now is hardcoded
based on the Bone-space orientation (without parenting rotation).

Thanks to nathan for poking and test!

12 years agoBug fix to handle extruding with a mirror modifier, now that axes are
Chris Want [Sun, 4 Nov 2007 02:25:32 +0000 (02:25 +0000)]
Bug fix to handle extruding with a mirror modifier, now that axes are
specified with a bitmask rather than only operating on a single axis.
This is a reworking of the fix done in blender 2.42 that was mentioned
in the sixth on item on this page:

http://www.blender.org/development/release-logs/blender-242/mesh-tools/

12 years agoTypo fix for my previous commit... wrong-sized array was being allocated, but somehow...
Joshua Leung [Fri, 2 Nov 2007 03:00:35 +0000 (03:00 +0000)]
Typo fix for my previous commit... wrong-sized array was being allocated, but somehow this still managed to work fine last night.

12 years ago== utils ==
Martin Poirier [Thu, 1 Nov 2007 21:44:41 +0000 (21:44 +0000)]
== utils ==

New listbase functions:
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink);
- corrolary to insertlinkbefore

BLI_sortlist(struct ListBase *listbase, int (*cmp)(void *, void *));
- simple in place sorting method. NOT optimized, so use for small lists only. Uses a variant of insertion sort (I was lazy, people should feel free to rewrite).

12 years agoHinge Bone Transform
Brecht Van Lommel [Thu, 1 Nov 2007 12:55:47 +0000 (12:55 +0000)]
Hinge Bone Transform
====================

This changes the way hinge bones are transformed when their parent bones
are also selected. Before it just disabled transform for these, now they
are rotated and scaled as well, but without influencing the transform
center, which gives behaviour as if they were regular bones.

12 years agoIK
Brecht Van Lommel [Thu, 1 Nov 2007 12:40:46 +0000 (12:40 +0000)]
IK
==

Solving is now done independent of scale, by scaling the chain to have a
size of about 1.0. This solves some issues with small or big chains, and
also makes the IK stretch setting independent of scale. The latter breaks
backwards compatibility somewhat, but is an improvement over what it did
before.

12 years agoBugfix - Ipo-Editor Scaling:
Joshua Leung [Thu, 1 Nov 2007 11:40:56 +0000 (11:40 +0000)]
Bugfix - Ipo-Editor Scaling:

When scaling all the control-points in the IPO Editor with negative scales, the control-points would end up "sticking together", and cancelling/undo would not help.

12 years agoBugfix #7639: Visual Rot keyframing not working properly
Joshua Leung [Thu, 1 Nov 2007 11:08:07 +0000 (11:08 +0000)]
Bugfix #7639: Visual Rot keyframing not working properly

When using targetless-ik, the offset in rotation of the final transform from the rest-position was being incorrectly calculated.

Now, visual-rotation keyframing uses the space-switching code I wrote for constraints, to calculate the value to keyframe. So far, it seems to work quite well.

As the constraint space-switcher correctly handles hinged bones too (I think it should!), I've also removed the restriction of only allowing visual-rotation keying on bones that didn't have hinge set.

12 years ago* Two usability tweaks in adding objects, with user prefs
Matt Ebb [Wed, 31 Oct 2007 21:55:06 +0000 (21:55 +0000)]
* Two usability tweaks in adding objects, with user prefs

This changes the default behaviour in adding new objects, which has been
discussed for a long time, in person, on the funboard, and in the tracker,
and was agreed to be implemented during the 2.5 release cycle, so here it is.
They have been made default, with preferences to bring back old behaviour since
although people like myself still prefer the new default anyway, it will benefit
new users the most.

The preferences are in the 'Edit Methods' section, changing back to old behaviour
is as simple as a click of a button.

- Switch to edit mode preference

By default, now adding a new object doesn't automatically switch to edit mode.
Not only can this be annoying (most of the time when setting up scenes and models
I don't want to edit it straight away anyway), but it's a major hurdle in the learning
curve that new users have had to deal with at a very early stage.

Blender's different modes are an important part of understanding how the software works
and should have clear behaviour. The problem is that when a user selects something from
the add menu, he's not telling Blender to change modes, he wants to add an object.
But Blender then goes ahead and changes modes underneath him anyway, something that was
never explicitly asked for, something that's unrelated to the mental task at hand, and
fundamentally important to the operation of the software.

We observed plenty of people struggling with this during the training sessions that
we ran during Project Orange, and there's also no shortage of "why can't I select
other objects" questions on the forums.

- Aligned to View preference

Now by default, adding a new object doesn't rotate it so it's aligned facing the view,
but rather, it's remains unrotated in world space. This is something that's more of
a convenience issue (allowing people like me to stop the 'Add->Tab->Alt R dance),
but also makes things easier for new users, especially when doing things like rigging.

For a lot of tools in Blender, like curve deform, path cycling, constraints, it's necessary
for your objects' local axes to be aligned. This requirement isn't that obvious, and I've
had to debug rigs a few times from the animator in our studio, who has everything set up
correctly, but he just happened to be in a different vie at the time he added the object,
so they're misaligned and causing problems. Having all objects get created aligned to
worldspace, by default, makes a lot of these problems go away. It's much more understandable
when rotations are caused by something you've done explicitly, rather than as a side effect
of the software.

For convenience as well, most of the time, when I'm working in context and I decide I need a new object,
particularly working on production scenes that involve more than just one model, an Alt R
is almost always required after adding, since I don't want to have to disrupt the current
view of the scene by switching to top view, just to add an object. It's a bit arbitrary,
the view from which you want to look at your objects isn't usually the way you want them to
be looking at you.

12 years agoFix typo in "#include" file.
Diego Borghetti [Wed, 31 Oct 2007 16:28:07 +0000 (16:28 +0000)]
Fix typo in "#include" file.

12 years agoNew feature:
Ton Roosendaal [Wed, 31 Oct 2007 13:56:07 +0000 (13:56 +0000)]
New feature:

Weightpaint drawing now allows to define your own range of colors;
using a ColorBand, available in the User settings.

Log:
http://www.blender.org/development/current-projects/changes-since-244/animation-features/

12 years ago== Copy Scale Constraint - Offset ==
Joshua Leung [Wed, 31 Oct 2007 10:04:57 +0000 (10:04 +0000)]
== Copy Scale Constraint - Offset ==

Now the Copy Scale Constraint also has the Offset functionality that Copy Loc/Rot have.

== Copy Rotation Constraint ==

Also, fixed the tooltip for the CopyRot Offset button.

Note: when working with pose-bones, and using offset, setting both owner+target spaces to pose-space should cancel any unwanted rotations visible.

12 years ago== Copy Rotation Constraint - Peach (Cessen) Request ==
Joshua Leung [Tue, 30 Oct 2007 11:18:50 +0000 (11:18 +0000)]
== Copy Rotation Constraint - Peach (Cessen) Request ==

Copy Rotation constraint now has ability for the owner's rotation to be added on top of the copied rotation (i.e. an 'offset' like for the Copy Location constraint).

12 years agoBugfix #7685: Stamp info displays incorrect label for scene.
Joshua Leung [Tue, 30 Oct 2007 05:58:25 +0000 (05:58 +0000)]
Bugfix #7685: Stamp info displays incorrect label for scene.

Copy+Paste error, wrong prefix used. Patch provided by Malcolm Tredinnick (malcolmt)

12 years agoBugfix: "exploding candy"
Joshua Leung [Tue, 30 Oct 2007 05:22:46 +0000 (05:22 +0000)]
Bugfix: "exploding candy"

Missed a case where I converted set_constraint_target incorrectly. This resulted in mancandy "exploding" on loading proxy-linked mancandy files.

12 years agoGE Patch(#7684) by Ovidiu Sabou, Speedup patch for GE in OpenGL Display Lists.
Hamed Zaghaghi [Mon, 29 Oct 2007 19:41:25 +0000 (19:41 +0000)]
GE Patch(#7684) by Ovidiu Sabou, Speedup patch for GE in OpenGL Display Lists.

12 years agoCrop Compositing Node:
Juho Vepsalainen [Mon, 29 Oct 2007 14:37:19 +0000 (14:37 +0000)]
Crop Compositing Node:

This commit adds a new node, crop, to the compositor. This node can be used to
crop input image. It has two modes of operation. It can either crop image
size (Crop Image Size option) or crop while retaining original size of the
image. This latter mode can be used to preview the crop.

Use X1, Y1, X2, Y2 controls to manage the area to be cropped.

Note that I added a check for image preview min and max values to node_update.
This is because it could give inappropriate values in certain cases when
Crop Image Size option was toggled (values such as x1=0, y1=0, x2=60, y2=0 would
result in eternal loop due to bad min and max (min bigger than max!)). The check
makes sure that min and max values are always valid.

12 years agoStampinfo: added correct redraw after adding stamp.
Ton Roosendaal [Mon, 29 Oct 2007 13:11:42 +0000 (13:11 +0000)]
Stampinfo: added correct redraw after adding stamp.

The issue: while renderprogress is in use, the rr->renlay has to be set

12 years ago- handle size on last commit was incorrect at times, intended
Campbell Barton [Mon, 29 Oct 2007 10:59:26 +0000 (10:59 +0000)]
- handle size on last commit was incorrect at times, intended
functionality now works
- sequencer transform markers now redraws other views

12 years agoSmall fix:
Ton Roosendaal [Mon, 29 Oct 2007 10:48:50 +0000 (10:48 +0000)]
Small fix:

Commit I did in March (10378) tried to fix typedef callback for Group
nodes, but it missed a case, causing group node display to be wrong on
load (only first drawing was wrong).

12 years agoRoutine purge of compiler warnings. Yet again, they were mostly uninitialised vars.
Joshua Leung [Mon, 29 Oct 2007 05:59:26 +0000 (05:59 +0000)]
Routine purge of compiler warnings. Yet again, they were mostly uninitialised vars.

12 years agoBugfix #7629:
Joshua Leung [Mon, 29 Oct 2007 05:26:53 +0000 (05:26 +0000)]
Bugfix #7629:

Version patch for Constraints Refactor I was getting called for too many cases. This was noticeable in the way the StretchTo constraint got reset on loading.

12 years agorender stamp drawing is now done everywhere - (not just when saving
Campbell Barton [Sun, 28 Oct 2007 22:27:07 +0000 (22:27 +0000)]
render stamp drawing is now done everywhere - (not just when saving
images)
separated stamp metadata and stamp draw functions.

12 years agosequencer strip selection didnt work well for verry thin strips.
Campbell Barton [Sun, 28 Oct 2007 16:00:23 +0000 (16:00 +0000)]
sequencer strip selection didnt work well for verry thin strips.
Improved the logic that deciedes when to select handles.

12 years agoBugfix #7674: Making proxy from linked armature ruins local armature
Joshua Leung [Sun, 28 Oct 2007 01:01:46 +0000 (01:01 +0000)]
Bugfix #7674: Making proxy from linked armature ruins local armature

This was caused by an error I made when converting old code during the constraints recode 2. As a result, constraint subtargets got cleared, messing up proxies.

(set_constraint_target didn't use to clear the subtarget of a constraint when passed NULL for the subtarget argument)

12 years ago== imagebrowser ==
Andrea Weikert [Sat, 27 Oct 2007 10:06:03 +0000 (10:06 +0000)]
== imagebrowser ==
* added support for .dds image files
* added support for .int, .inta and .rgba image files

== MSVC 7.1 project files ==
* added WITH_DDS to support .dds files when compiling with the project files by default
* added the dds source files to imbuf project
* also added CMP_glare, CMP_lensdist, CMP_tonemap nodes to nodes.vcproj

12 years ago==Python API==
Campbell Barton [Fri, 26 Oct 2007 22:38:15 +0000 (22:38 +0000)]
==Python API==
layerMask access for pose bones, even though this is a Bone property, its much more convenient to add access from the poseBone, it also matches how the
user interface works.

12 years agofix for msvc
Campbell Barton [Fri, 26 Oct 2007 22:11:08 +0000 (22:11 +0000)]
fix for msvc

12 years agoReplace ceilf()/floorf() with ceil()/floor() to fix VC7 compilation problems
Ken Hughes [Fri, 26 Oct 2007 20:04:04 +0000 (20:04 +0000)]
Replace ceilf()/floorf() with ceil()/floor() to fix VC7 compilation problems
reported by Stephane Soppera.

12 years agoPython API
Ken Hughes [Fri, 26 Oct 2007 19:53:55 +0000 (19:53 +0000)]
Python API
----------
Document Peter's fps_base attribute for scene rendering objects; also remove
framesPerSecBase() method (preference is to add only attributes, and he did
add fps_base attribute).

12 years agonodes from eechlo
Campbell Barton [Fri, 26 Oct 2007 15:32:36 +0000 (15:32 +0000)]
nodes from eechlo
* glare
* tonemap
* lense distort
* fast gauss blur

http://projects.blender.org/tracker/?func=detail&atid=127&aid=7505&group_id=9

made fast gauss blur an option for the blur node rather then a separate node.

12 years agoWhitespace commit
Joshua Leung [Fri, 26 Oct 2007 11:37:29 +0000 (11:37 +0000)]
Whitespace commit

12 years ago==Python API==
Campbell Barton [Fri, 26 Oct 2007 08:19:40 +0000 (08:19 +0000)]
==Python API==
layerMask access for bone and armatures
Window.PoseMode() similar to Window.EditMode()

12 years agofix for valgrind warning - strcpy was trying to copy to/from the same value (aparentl...
Campbell Barton [Thu, 25 Oct 2007 20:30:18 +0000 (20:30 +0000)]
fix for valgrind warning - strcpy was trying to copy to/from the same value (aparently this can corrupt the value in some cases)
Fixed problem where hidden curve handles could still be transformed.

12 years ago==Curve Editing==
Campbell Barton [Thu, 25 Oct 2007 15:23:52 +0000 (15:23 +0000)]
==Curve Editing==
Curve select lasso and border didnt work with hide handles enabled.

Hiding handles was using the scene->selectmode variable, but looking at this now, I see there are places where selectmode is compared with
SCE_SELECT_VERTEX, EDGE, FACE etc. as well as being.
Better to use a global flag, same as G_DRAWFACES.
This is not good since anyone using this in the few days will have an invalid selectmode variable. simple way to fix is to change modes, so do_versions shouldnt be needed.

12 years agoFix for pole target commit, broke blenderplayer compile.
Brecht Van Lommel [Thu, 25 Oct 2007 15:19:06 +0000 (15:19 +0000)]
Fix for pole target commit, broke blenderplayer compile.

12 years agocheckers being drawn as many glRects is slow when zoomed in, use
Campbell Barton [Thu, 25 Oct 2007 09:37:52 +0000 (09:37 +0000)]
checkers being drawn as many glRects is slow when zoomed in, use
glPolygonStipple draw checkers.

12 years ago==UV/Image Window==
Campbell Barton [Wed, 24 Oct 2007 21:51:49 +0000 (21:51 +0000)]
==UV/Image Window==
nice alpha grid drawing. dont follow image.

12 years ago[#7531] Linked Flat Faces doesn't work anymore
Martin Poirier [Wed, 24 Oct 2007 19:25:34 +0000 (19:25 +0000)]
[#7531] Linked Flat Faces doesn't work anymore

Modifier checks weren't done properly, so it fell into edge_flip instead.

12 years ago* Changing images in the UV view didnt work properly - reported as bug 7467 (own...
Campbell Barton [Wed, 24 Oct 2007 18:58:26 +0000 (18:58 +0000)]
* Changing images in the UV view didnt work properly - reported as bug 7467 (own error, broke on UV in editmode conversion)
* when setting the face, images with alpha's will set the texface's alpha option.
* added a draw even to redraw view3d and uv/image view - so the Draw Faces button redraws properly.
* made a macro for checking if the object will draw with textures
* textured meshes in editmode only draw a selected face overlay (otherwise the entire mesh would get a plue tint wich isnt
nice for viewing textures), the selected highlight is still there, this is how Face/UV mode looked.
* Alpha clipping STILL had a case where it wasnt disabled and the interface had its alpha clipped, this should be fixed now.

12 years agoPole Target for IK
Brecht Van Lommel [Wed, 24 Oct 2007 14:58:31 +0000 (14:58 +0000)]
Pole Target for IK
==================

This adds an extra target to the IK solver constraint to define the
roll of the IK chain.

http://www.blender.org/development/current-projects/changes-since-244/inverse-kinematics/

Also fixes a crashes using ctrl+I to set an IK constraint on a bone
due to the recent constraints refactor.

12 years ago==Sequencer==
Campbell Barton [Wed, 24 Oct 2007 13:12:07 +0000 (13:12 +0000)]
==Sequencer==
added an option to reload selected strip data (Alt+R - same as reloading images in the imaeg
viewer)
made the sequencer max memory limit 16gig for 64bit's.

12 years ago* Adaptive QMC AO feature - "Adapt from speed vectors"
Matt Ebb [Wed, 24 Oct 2007 12:42:08 +0000 (12:42 +0000)]
* Adaptive QMC AO feature - "Adapt from speed vectors"

This is a new feature that can make using AO a lot more attractive when rendering
animations with vector blur. It uses the speed vector info calculated in the 'Vec'
speed vector pass, in order to reduce AO samples where pixels are moving more
quickly. There's not much point calculating all those AO samples when the result is
going to be smeared anyway, so you can save a bit of render time by doing
a more noisy render in those areas.

You can use this with a new slider in the Adaptive QMC settings 'Adapt Vec'. The
higher the value, the more aggressively it will reduce samples. 0.0 means no
reduction, and 1.0 reduces one sample per pixel of average displacement for that
pixel. 0.25 or so generally gives decent results, but it depends on how fast things
are moving.

Here's a demo (compare the final blurred result, and render times):
http://mke3.net/blender/devel/raytracing/adapt_speed_off2.jpg
http://mke3.net/blender/devel/raytracing/adapt_speed_on2.jpg

And a less contrived example, a short clip from macouno's 'petunia' bconf animation:
http://mke3.net/blender/devel/raytracing/petunia-adaptvec-noblur-h264.mov
http://mke3.net/blender/devel/raytracing/petunia-adaptvec-blur-h264.mov

12 years agoset the alpha value of text, so stamps are always visible in RGBA
Campbell Barton [Wed, 24 Oct 2007 11:16:48 +0000 (11:16 +0000)]
set the alpha value of text, so stamps are always visible in RGBA
images, (reported by basse)

12 years agoPyConstraints Bugfixes (again!):
Joshua Leung [Wed, 24 Oct 2007 10:03:19 +0000 (10:03 +0000)]
PyConstraints Bugfixes (again!):

Files saved with PyConstraints with multiple targets crashed on load, as the targets didn't actually get saved.

12 years ago==Unfolder python script update==
Campbell Barton [Wed, 24 Oct 2007 09:02:58 +0000 (09:02 +0000)]
==Unfolder python script update==

Patch from Matthew Chadwick (celeriac) [#7603] fix for bug#7520
Replaced overlap detection code with code using Geometry.LineIntersect2D