blender.git
8 years agoSVN maintenance.
Guillermo S. Romero [Wed, 9 Feb 2011 03:48:40 +0000 (03:48 +0000)]
SVN maintenance.

8 years agomove validation into blender kernel so it can be called by internal modifier funcs...
Campbell Barton [Wed, 9 Feb 2011 02:28:11 +0000 (02:28 +0000)]
move validation into blender kernel so it can be called by internal modifier funcs more easily.

8 years agopatch [#25972] blender-thumbnailer.py: GVFS support
Campbell Barton [Wed, 9 Feb 2011 02:09:30 +0000 (02:09 +0000)]
patch [#25972] blender-thumbnailer.py: GVFS support
from Shinsuke Irie (irie) with some minor edits.

Shinsuke's description from the tracker:
---
I have implemented GVFS framework support of blender-thumbnailer.py which allows some file managers like Nautilus and Thunar to show thumbnails in trash or network directories. If Python's gio module is available, the thumbnailer uses it to access to filesystems mounted via GVFS. This change shouldn't affect desktop environments other than GNOME and XFCE.

A function gvfs_open() in this patch is defined to solve a stupid incompatibility between Python file object and GIO Seekable object.

On Ubuntu 10.10, I confirmed thumbnails can be generated for file://, trash://, sftp://, and smb://.

8 years agoGraph Editor: Added option to turn off AA drawing for performance
Joshua Leung [Wed, 9 Feb 2011 02:09:25 +0000 (02:09 +0000)]
Graph Editor: Added option to turn off AA drawing for performance
gains when using really heavy files

8 years agomesh validation function to report errors and help debug bad data generated by modifiers.
Campbell Barton [Wed, 9 Feb 2011 01:27:46 +0000 (01:27 +0000)]
mesh validation function to report errors and help debug bad data generated by modifiers.

detects...
- invalid vertex range for edges/faces
- duplicate indices in edge/face
- duplicate edges/faces in mesh
- missing edges data in faces

At the moment it doesn't correct errors, but eventually it will do this.

8 years agoFix for rendering procedual bump maps, mapped in world space, since the new bump...
Michael Fox [Wed, 9 Feb 2011 01:21:03 +0000 (01:21 +0000)]
Fix for rendering procedual bump maps, mapped in world space, since the new bump map kernel uses direction, this bug became a real issue, with bumps suddenly changing direction

Fix provided due to a long session on IRC with Morten S. Mikkelsen (sparky_)

8 years agoOld animation conversion code cleanups:
Joshua Leung [Wed, 9 Feb 2011 01:16:11 +0000 (01:16 +0000)]
Old animation conversion code cleanups:
- Tidying up some inconsistent formatting
- Names of old IPO blocks are now included in the names used for new
actions. These are included after a "CDA:" prefix, (i.e.  "_C_onverted
_D_ata _A_ction:"), which makes it easier to browse through these
actions later.

8 years agoBugfix [#25987] Duplicated markers naming issue
Joshua Leung [Wed, 9 Feb 2011 01:05:40 +0000 (01:05 +0000)]
Bugfix [#25987] Duplicated markers naming issue

One-liner fix - a missing "OPERATOR_FINISHED" on the select operator
was causing problems renaming markers and potentially with other
operations too!

To find this bug, I added debug method to dump the list of markers to
console. This has revealed some troublesome things about the way
markers are organised, which IMO need to be addressed.

8 years agoBugfix: When removing the "only insert for active keyingset" option
Joshua Leung [Wed, 9 Feb 2011 00:52:53 +0000 (00:52 +0000)]
Bugfix: When removing the "only insert for active keyingset" option
for Auto-keying from the UserPrefs, I forgot to remove the option from
the UI there.

8 years agoBugfix [#25990] backward compatibility with ShapeKey Actions :: 2.49
Joshua Leung [Wed, 9 Feb 2011 00:51:30 +0000 (00:51 +0000)]
Bugfix [#25990] backward compatibility with ShapeKey Actions :: 2.49
-> 2.50

Actionified ShapeKey IPO-blocks (i.e. "Shape Key Actions") would have
an action channel with the hardcoded name, "Shape", and this action
would be assigned to Object level (although ShapeKey blocks had their
own IPO-block slot, only Objects could have actions, so actionifying
ShapeKey IPO-blocks would wrap a ShapeKey block's IPO's to an Object-
level action).

Hence, the path conversions code would wrongly interpret this action
channel as referring to a Pose Channel instead, thus creating some
invalid paths with a 'pose.bones["Shape"]' prefix wrongly getting
tacked on. To ensure that the converted animation can work out of the
box, a 'data.shape_keys' prefix is now used instead so that these
actions can still be Object-rooted while still being able to correctly
control the Shape Keys. This is because there's no easy way to
identify and then shift such action from Object-level to ShapeKey-
level within the conversion code. The consequence though is that such
converted ShapeKey actions CAN ONLY BE USED THROUGH OBJECT LEVEL (i.e.
via Action NOT ShapeKey editor).

Secondly, the Action/ShapeKey editor version patching code has been
modified so that if a ShapeKey editor view was active when loading an
old 2.4x file, the action gets cleared from the view. This is because
of this didn't make semantic sense: the ShapeKey editor is for
ShapeKey-rooted actions, while the Action Editor is for Object-rooted
actions. The converted files though let Object-level actions be shown
in either one.

8 years agoignore __pycache__ dir for scons and cmake installation (py3.2 caches modules here).
Campbell Barton [Wed, 9 Feb 2011 00:45:16 +0000 (00:45 +0000)]
ignore __pycache__ dir for scons and cmake installation (py3.2 caches modules here).

8 years agouse update() rather then update_tag(), needed for making edge data.
Campbell Barton [Tue, 8 Feb 2011 21:32:26 +0000 (21:32 +0000)]
use update() rather then update_tag(), needed for making edge data.

8 years agojahka IRC fix
M.G. Kishalmi [Tue, 8 Feb 2011 16:24:00 +0000 (16:24 +0000)]
jahka IRC fix

pinning the texture properties gave python errors.

8 years agobugfix [#25969] GLSL missing an update on texture slot change
M.G. Kishalmi [Tue, 8 Feb 2011 14:33:08 +0000 (14:33 +0000)]
bugfix [#25969] GLSL missing an update on texture slot change

what did I learn from this?
"if at first you don't succeed..
   you're not kaito." ;)

8 years agoTexture context selector for texture panel:
Janne Karhu [Tue, 8 Feb 2011 14:29:48 +0000 (14:29 +0000)]
Texture context selector for texture panel:
* Texture context was previously determined by going to the appropriate panel, for example "world panel -> texture panel" to access world textures. Additionally there was a separate button to access brush textures.
* Now the texture context can be selected directly through an expanded icon menu, which shows the available context options.
* This context selector is now at the top of the texture panel, but this could later be perhaps integrated to the context path somehow to be more intuitive.

8 years agoBugfix #25957
Ton Roosendaal [Tue, 8 Feb 2011 13:48:06 +0000 (13:48 +0000)]
Bugfix #25957

RMB click in InfoWindow "console log" was missing call to set subwindow,
needed because it uses opengl picking to find active lines.
Result was that entire UI was glCleared, for some buffer swap methods.

8 years agofix: latest shader wasn't working on itel gfx-cards
M.G. Kishalmi [Tue, 8 Feb 2011 13:40:54 +0000 (13:40 +0000)]
fix: latest shader wasn't working on itel gfx-cards

couldn't use
a = ( float_function() < 0 )? b: c;
for whatever reason.

8 years agoPer-type node labels and customizable names. The label displayed in the node header...
Lukas Toenne [Tue, 8 Feb 2011 12:54:32 +0000 (12:54 +0000)]
Per-type node labels and customizable names. The label displayed in the node header is now by default the node type string. A custom label callback can be implemented to display more detailed information. This is currently used by group nodes, which display their internal tree name, and math, vector math, mix and filter nodes, which use their internal operation sub-type. Also the node tree selection/naming box for groups is now displayed only on open groups, to make it clearer that this is the internal type of the group and get a cleaner main tree.

8 years agofix own recent error [#25977] Torus disappears when adding "Subdivision Surface"
Campbell Barton [Tue, 8 Feb 2011 11:20:19 +0000 (11:20 +0000)]
fix own recent error [#25977] Torus disappears when adding "Subdivision Surface"
ID's and meshes both have update functions, call the meshes rather then update_tag() for recalculating edges.

8 years agoadd back options for loading a renderlayer to offset the image when copying the buffe...
Campbell Barton [Tue, 8 Feb 2011 10:31:47 +0000 (10:31 +0000)]
add back options for loading a renderlayer to offset the image when copying the buffer to a smaller renderlayer.
This was reverted by Brecht r22541 because its inefficient but there is no way to work around this with povray at the moment so adding it back as optional args.

8 years agoText Editor Bugfixes:
Joshua Leung [Tue, 8 Feb 2011 09:57:51 +0000 (09:57 +0000)]
Text Editor Bugfixes:

The poll() callbacks used in the Text Editor for scrolling and text-
block unlinking operators were too restrictive when the text block was
lib-data.

- Scrolling lib-linked texts is useful for just checking out parts of
the linked-in file that aren't visible on screen already. For example,
checking the specific rig that some UI panels script will work on, or
reading a "README.txt" linked in with notes on which layers various
controls are on. It should be fine that this temporarily modifies the
linked text-block (but for view-settings which will can be reset
later/on file load without any real consequences).
- Unlink operator should be able to be run, otherwise it would be very
difficult to remove linked files from a file (?)

8 years agoGroup node type info is now also initialized with helper functions.
Lukas Toenne [Tue, 8 Feb 2011 09:14:18 +0000 (09:14 +0000)]
Group node type info is now also initialized with helper functions.

8 years agoFinished the node type definition cleanup started in r34682. All static node types...
Lukas Toenne [Tue, 8 Feb 2011 09:02:16 +0000 (09:02 +0000)]
Finished the node type definition cleanup started in r34682. All static node types should now use the node_type_* definition helpers to initialize their bNodeType structs.

8 years agoproblem with blender and python 3.2
Campbell Barton [Tue, 8 Feb 2011 06:22:06 +0000 (06:22 +0000)]
problem with blender and python 3.2
- python 3.2 does 'import site' on startup which now tries to parse pyconfig.h which isn't copied. so for now just run without importing 'site', alternative would be to copy the header file for posix systems.
- cache PYTHON_VERSION variable so it can be set to 3.2, needed for copying python installation's other then 3.1.

8 years agoBugfix [#25814] ChildOf constraint: double transformation in object
Joshua Leung [Tue, 8 Feb 2011 05:51:20 +0000 (05:51 +0000)]
Bugfix [#25814] ChildOf constraint: double transformation in object
mode with drivers

ChildOf constraints added using the PoseBone.constraints.new() method
via Python scripts instead of using the operator (this latter method
is still the preferred/recommended method) were not getting some
critical flags set, causing errors arising from space conversions
being performed more than once.

8 years agofix [#25975] Quaternion/Vector.negated() isn't available
Campbell Barton [Tue, 8 Feb 2011 03:37:49 +0000 (03:37 +0000)]
fix [#25975] Quaternion/Vector.negated() isn't available
theres no need for value.negated(), better use -vec / -quat. however -quat didn't exist.

8 years agoChange in behavior to shrinkwrap modifier's offset value with negative enabled.
Campbell Barton [Tue, 8 Feb 2011 02:09:59 +0000 (02:09 +0000)]
Change in behavior to shrinkwrap modifier's offset value with negative enabled.
- negative ray casts would invert the offset direction.
  this meant if positive and negative were enabled at once and the mesh was slightly inside & outside the object it wrapped,
  the offset would be applied in opposite directions.
  This way the offset is always along the vertex normal.

- allow negative offset from RNA, could be useful and no benefit to disable.

8 years ago[#25693] Netrender "shadow" images with last frame always appear
Martin Poirier [Tue, 8 Feb 2011 01:56:36 +0000 (01:56 +0000)]
[#25693] Netrender "shadow" images with last frame always appear

Render engine postprocess property was not named properly

8 years agofix [#25801] Shrinkwrap Offset problems with Project mode.
Campbell Barton [Tue, 8 Feb 2011 01:43:16 +0000 (01:43 +0000)]
fix [#25801] Shrinkwrap Offset problems with Project mode.

The positive result from the previous ray-cast is used again, inadvertently negating the offset from the first hit (acts as if no offset is applied).

8 years agoun-initialized flag used with commit r34695.
Campbell Barton [Tue, 8 Feb 2011 00:18:00 +0000 (00:18 +0000)]
un-initialized flag used with commit r34695.

8 years agofix own error in recent commit [#25970] cannot create scale matrix after mathutils...
Campbell Barton [Tue, 8 Feb 2011 00:10:30 +0000 (00:10 +0000)]
fix own error in recent commit [#25970] cannot create scale matrix after mathutils updates

8 years agomailed Stani Michiels and he's ok to switch his console autocomplete to GPLv2 or...
Campbell Barton [Tue, 8 Feb 2011 00:01:15 +0000 (00:01 +0000)]
mailed Stani Michiels and he's ok to switch his console autocomplete to GPLv2 or later.

8 years agoBugfix: Constraint target validation code was broken
Joshua Leung [Mon, 7 Feb 2011 23:21:28 +0000 (23:21 +0000)]
Bugfix: Constraint target validation code was broken

While testing Apply Visual transforms last night, I noticed that
setting a constraint to use its owner as its target was allowed and
didn't trigger any warnings. This clearly doesn't do any good and is
different from the old behaviour.

8 years agominor edits, no functional changes.
Campbell Barton [Mon, 7 Feb 2011 22:48:23 +0000 (22:48 +0000)]
minor edits, no functional changes.
- BGE was getting MCol array and not using it.
- use list lookup functions for getting constraint from pose bone.
- use const char * in more places.

8 years agoGLSL shader part
M.G. Kishalmi [Mon, 7 Feb 2011 21:57:40 +0000 (21:57 +0000)]
GLSL shader part

bump-mapping update to properly support
multiple textures in different bump-spaces.

8 years agobump-mapping update to properly support
M.G. Kishalmi [Mon, 7 Feb 2011 21:55:54 +0000 (21:55 +0000)]
bump-mapping update to properly support
 multiple textures in different bump-spaces.

kudos to M.L.Mikkelsen (sparky) for helping with the math! :)

8 years agoLogic UI: Game Actuator options renaming
Dalai Felinto [Mon, 7 Feb 2011 18:42:07 +0000 (18:42 +0000)]
Logic UI: Game Actuator options renaming
After talking with Ton Roosendaal we agreed on making those changes.
I wonder if we should go for "Start Game" instead of "From File". But Space is not a constraint here so be it.

8 years agoLogic UI: Armature Actuator + general Captalizing 1st letter of UI text
Dalai Felinto [Mon, 7 Feb 2011 18:24:15 +0000 (18:24 +0000)]
Logic UI: Armature Actuator + general Captalizing 1st letter of UI text
- Armature Actuator now only shows the "Secondary Target" option when the Bone Constraint supports it (IK only now).
-- that may be overkill I don't know. It shouldn't slow down the UI considerably, so it should be fine. Easy to revert if needed though.

- renaming things such as "Start frame" to "Start Frame"

8 years agoBugfix 25965
Ton Roosendaal [Mon, 7 Feb 2011 18:09:27 +0000 (18:09 +0000)]
Bugfix 25965

New "auto render" now prevents calling anim-updates, that's
not needed (and popped back transformed keyed objects).

8 years agoTodo/feature request
Ton Roosendaal [Mon, 7 Feb 2011 16:41:57 +0000 (16:41 +0000)]
Todo/feature request

When using masks or other simple 3D elements in composites, doing
a layer re-rendering on a node is a bit clumsy all the time.

This commit does two things to help:
- new hotkey "Z" in node editor automatically finds render layer
  that changed and re-renders it + composites
- option "Auto Render" does same, but then after every transform
  edit in 3D window

The latter is experimental; real & proper system for this requires
full threaded render support (like previews). But it works!

Demo file:
http://download.blender.org/demo/test/auto_composite.blend

Important fix:
After any render, all the render layers were tagged "changed", which
caused any edit to first totally recomposte everthing. Now it only
composites changes.

Implementation notes

- DAG scene flush now sets 'changed' flags in render layer nodes
- Added notifier for 'transform finished' to trigger the update,
  this is temporarily.

8 years agoFix for [#25963] Show mouse option in wrong Panel.
Thomas Dinges [Mon, 7 Feb 2011 14:53:40 +0000 (14:53 +0000)]
Fix for [#25963] Show mouse option in wrong Panel.
Did some reorganization of the Game buttons, made a new "Display" Panel.

8 years agoremove mat_nr from MVert struct, saves 4 bytes per vertex.
Campbell Barton [Mon, 7 Feb 2011 13:02:44 +0000 (13:02 +0000)]
remove mat_nr from MVert struct, saves 4 bytes per vertex.
used to be used for halo's

8 years agoArgh! This code is haunted... (line 666) compiler here isn't barfing
Joshua Leung [Mon, 7 Feb 2011 12:37:14 +0000 (12:37 +0000)]
Argh! This code is haunted... (line 666) compiler here isn't barfing
on these errors tonight :/

8 years agoAnimSys Todo: Scene/CompoNode Driver Hacks
Joshua Leung [Mon, 7 Feb 2011 12:28:04 +0000 (12:28 +0000)]
AnimSys Todo: Scene/CompoNode Driver Hacks

Drivers for Scene, World, and Compositing Nodes now "work" (well,
sort-of)! Previously they were strictly restricted to object-
accessible data only; now they can function across the board (give or
take some weak spots).

Although there is still no depsgraph support so that these properties
update properly when their source controls are changed (this will
probably require a lot more work), they can still update under other
circumstances (i.e. frame change and/or manual refresh flushing via
mouse movement, etc.)

As the depsgraph tagging support is lacking, these just get always
executed for now, which might potentially be quite sluggish, though it
is hoped that there are so few of these top-level datablocks with
drivers hooked up that this is barely an issue in practice. At least I
haven't noticed any substantial slowdowns for animation playback, so
it should probably be fine.

8 years agofix [#25926] lattice + projection on surface snap issue
Campbell Barton [Mon, 7 Feb 2011 12:07:26 +0000 (12:07 +0000)]
fix [#25926] lattice + projection on surface snap issue

8 years agoBug fix: adding force fields from the add menu didn't sort the depsgaph, so hair...
Janne Karhu [Mon, 7 Feb 2011 11:55:24 +0000 (11:55 +0000)]
Bug fix: adding force fields from the add menu didn't sort the depsgaph, so hair didn't update straight away to force field settings changes.

8 years agoCompiling commit for previous commit...
Joshua Leung [Mon, 7 Feb 2011 11:51:28 +0000 (11:51 +0000)]
Compiling commit for previous commit...

8 years agoHair ui simplification:
Janne Karhu [Mon, 7 Feb 2011 11:43:33 +0000 (11:43 +0000)]
Hair ui simplification:
* There were a lot of settings in the particle panels that made no sense for simple hair and only cluttered up the ui.
* Now these settings are hidden by default unless "advanced" hair options are shown.
* Without advanced options the particle velocity controls are replaced by a simple "hair length" value, which actually corresponds to the grown hair length in blender units.
* Some hair effector options that are actually very useful were not shown in ui. These are now found in the "field weights" panel.

8 years agoadd access to radius for game objects (static objects can have radius) as well as...
Campbell Barton [Mon, 7 Feb 2011 11:42:49 +0000 (11:42 +0000)]
add access to radius for game objects (static objects can have radius) as well as anisotropic friction.

8 years agoVisual Keying Code Tweaks:
Joshua Leung [Mon, 7 Feb 2011 11:38:57 +0000 (11:38 +0000)]
Visual Keying Code Tweaks:

Moving this code to the same method as is used for Apply Visual
Transform (for bones case), which uses standardised decomposition
methods instead of the improvised ones used here before. This was in
an attempt to get IK chains Visual Keyed correctly, though this
doesn't seem to have improved the situation much.

Also, the decompositon for objects here now takes care of euler
rotation modes.
TODO: other rotation modes should get included here too...

8 years agoFix for [#25955] Hair paths under force field influence look jagged
Janne Karhu [Mon, 7 Feb 2011 10:54:55 +0000 (10:54 +0000)]
Fix for [#25955] Hair paths under force field influence look jagged
* Effectors were applied wrong for hair.

8 years agoBugfix [#25934] "Apply Visual Transform as Pose" not working?
Joshua Leung [Mon, 7 Feb 2011 10:50:35 +0000 (10:50 +0000)]
Bugfix [#25934] "Apply Visual Transform as Pose" not working?

Simplified the code for Apply Visual Transform as Pose.

This makes it work for IK chains now, since there aren't any
recalculations of the pose involved now, which were contributing to
the pose getting incorrect as the applying process went on, since the
IK chain was getting calculated differently with each successive
change to the chain.

8 years agoA simplified way of defining bNodeType structs. Instead of doing full struct member...
Lukas Toenne [Mon, 7 Feb 2011 09:33:36 +0000 (09:33 +0000)]
A simplified way of defining bNodeType structs. Instead of doing full struct member initialization for each node, this uses a couple of helper functions now. This will make it easier to change and extend the bNodeSocket interface in the future. Two examples (normal and mapping shader nodes) included, the rest should be converted too.

8 years agorename ID.update() --> update_tag() since this function only tags for updating and...
Campbell Barton [Mon, 7 Feb 2011 08:13:28 +0000 (08:13 +0000)]
rename ID.update() --> update_tag() since this function only tags for updating and scene.update() executes the update.

8 years agoType checks for internal ID-Property UI min/max/tip & use defines to get values from...
Campbell Barton [Mon, 7 Feb 2011 05:05:41 +0000 (05:05 +0000)]
Type checks for internal ID-Property UI min/max/tip & use defines to get values from ID-Props.
Probably wouldn't cause a problem but manually editing these types through python could easily crash blender.

also changed cmake, stub-makefile default build dir to be lower case and leave out architecture string, easier for documentation.
Use ../build/linux/ rather then ../build/Linux_i686/

8 years agocomment unused var
Campbell Barton [Mon, 7 Feb 2011 01:45:52 +0000 (01:45 +0000)]
comment unused var

8 years agoPoseLib Bugfix:
Joshua Leung [Mon, 7 Feb 2011 01:28:47 +0000 (01:28 +0000)]
PoseLib Bugfix:

When using Pose Lib with a search string, if the search fails after
typing a character and then you try to backspace to get back to the
previous search string, the pose does not refresh until you type in
another valid letter such that the search works again.

Did a logic reshuffled in the get next preview pose function so that
this is dealt with properly

8 years agopatch for building blender with CMake, OpenEXR & MSVC2010 by Peter K?\252mmel
Campbell Barton [Mon, 7 Feb 2011 01:23:18 +0000 (01:23 +0000)]
patch for building blender with CMake, OpenEXR & MSVC2010 by Peter K?\252mmel

8 years ago- own error with sound unpack operator using NULL pointer
Campbell Barton [Mon, 7 Feb 2011 01:13:21 +0000 (01:13 +0000)]
- own error with sound unpack operator using NULL pointer
- make stub now creates 'Release' build by default.

8 years agoPoseLib Preview/Browse Bugfixes:
Joshua Leung [Sun, 6 Feb 2011 22:20:26 +0000 (22:20 +0000)]
PoseLib Preview/Browse Bugfixes:

- [#25951] Hardcoded Keys in PoseLib modal operator register twice per
use
Now only the KM_PRESS events are handled. KM_RELEASE events for these
are ignored...

- While checking the above, I also found that the view-manipulation
while previewing functionality was broken. This was one of the
benefits of this UI approach over a fixed screenshot-only listview.
Fixed now :)

8 years agoBugfix #25953
Ton Roosendaal [Sun, 6 Feb 2011 18:38:53 +0000 (18:38 +0000)]
Bugfix #25953

Fix in crashing displacement last friday, assumed wrongly that
the old 'new bump' failed for displacement too. It still did
work (somewhat). This restores the situation again.

8 years agoTwo in one:
Ton Roosendaal [Sun, 6 Feb 2011 17:36:42 +0000 (17:36 +0000)]
Two in one:

- Bugfix #25937
  Child-of constraint now behaves like regular parent-child
  relationship when all options are set. This prevents the
  errors that can happen when decomposing non-uniform matrices.

- Todo item
  The area corner hotspots for splitting/merging were far too
  narrow. Now it uses a circular distance to detect whether
  the hotspot is active. Also cleaned up drawing code for it.

8 years agoBug fix: Particles in dupligroups were mostly drawn properly in 3d view, but renderin...
Janne Karhu [Sun, 6 Feb 2011 15:50:00 +0000 (15:50 +0000)]
Bug fix: Particles in dupligroups were mostly drawn properly in 3d view, but rendering them was a real mess.
* After countless different bugs particles should now render correctly inside dupligroups.
* Only particles with metaball visualization are still problematic, this is mostly due to the ancient metaball code.
* I'll also add a test file for some of the situations, so that hopefully these cases stay fixed :)

8 years agomathutils.Matrix.Scale(factor, size, axis)
Campbell Barton [Sun, 6 Feb 2011 11:17:22 +0000 (11:17 +0000)]
mathutils.Matrix.Scale(factor, size, axis)
- 'axis' arg was not coerced from a tuple like other args now do.
- 'axis' arg was being modified in-place (VERY BAD).
- also made new function matrix_3x3_as_4x4().

8 years ago- cmake was missing an inclide (IDE's wouldnt index)
Campbell Barton [Sun, 6 Feb 2011 10:18:20 +0000 (10:18 +0000)]
- cmake was missing an inclide (IDE's wouldnt index)
- made doc generation always sumlink newly built docs to static URL. http://www.blender.org/documentation/250PythonDoc/

8 years agobugfix [#25824] Quats + Camera + Fly = Madness
Campbell Barton [Sun, 6 Feb 2011 09:01:01 +0000 (09:01 +0000)]
bugfix [#25824] Quats + Camera + Fly = Madness
ensure quat, delta rotation is set to a unit quaternion on older files.

8 years agofix [#25947] Smart Project is broken SVN r34664
Campbell Barton [Sun, 6 Feb 2011 06:59:11 +0000 (06:59 +0000)]
fix [#25947] Smart Project is broken SVN r34664
own recent mathutils updates broke this script.

8 years agofix [#25948] blender-thumbnailer.py does incorrect checking for the number of arguments
Campbell Barton [Sun, 6 Feb 2011 06:54:19 +0000 (06:54 +0000)]
fix [#25948] blender-thumbnailer.py does incorrect checking for the number of arguments
noticed by Shinsuke Irie (irie)

8 years agoSVN maintenance.
Guillermo S. Romero [Sun, 6 Feb 2011 00:49:58 +0000 (00:49 +0000)]
SVN maintenance.

8 years ago[#25693] Netrender "shadow" images with last frame always appear
Martin Poirier [Sat, 5 Feb 2011 22:46:59 +0000 (22:46 +0000)]
[#25693] Netrender "shadow" images with last frame always appear

More debugging info with -d

Also fix some conditions that didn't check the proper list in the ui.

8 years agotodo list item:
Ton Roosendaal [Sat, 5 Feb 2011 19:07:54 +0000 (19:07 +0000)]
todo list item:

3D View:
In quad-view mode, the options to set back/bottom/left views were
blocked. Now they work again.

Note: the oparator polls don't have a check for properties... so it
cannot be finegrained here. Checks are inside code.

8 years agoAnother fix for the raytracing commit, forgot that it also included vertex
Brecht Van Lommel [Sat, 5 Feb 2011 17:54:00 +0000 (17:54 +0000)]
Another fix for the raytracing commit, forgot that it also included vertex
reordering to be consistent with the rest of the render engine. That means
the self intersection issues with non-planar quads should also be gone now.

8 years agoBugfix #25944
Ton Roosendaal [Sat, 5 Feb 2011 16:32:56 +0000 (16:32 +0000)]
Bugfix #25944

Save image (F3) didn't remember the last saved path on 2nd use.

8 years agoThis fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custo...
Peter Schlaile [Sat, 5 Feb 2011 15:11:29 +0000 (15:11 +0000)]
This fixes: [#25608] Video Sequence Editor: problem using cut on a strip with a custom proxy file.

8 years agoBugfix, own todo
Ton Roosendaal [Sat, 5 Feb 2011 15:05:17 +0000 (15:05 +0000)]
Bugfix, own todo

Saving a file for the first time (after opening blender) didn't
use the last directory as saved/loaded from in a previous session.

8 years agoRaytrace modifications from the Render Branch.
Brecht Van Lommel [Sat, 5 Feb 2011 13:41:29 +0000 (13:41 +0000)]
Raytrace modifications from the Render Branch.

These should not have any effect on render results, except in some cases with
you have overlapping faces, where the noise seems to be slightly reduced.

There are some performance improvements, for simple scenes I wouldn't expect
more than 5-10% to be cut off the render time, for sintel scenes we got about
50% on average, that's with millions of polygons on intel quad cores. This
because memory access / cache misses were the main bottleneck for those scenes,
and the optimizations improve that.

Interal changes:

* Remove RE_raytrace.h, raytracer is now only used by render engine again.
* Split non-public parts rayobject.h into rayobject_internal.h, hopefully
 makes it clearer how the API is used.
* Added rayintersection.h to contain some of the stuff from RE_raytrace.h
* Change Isect.vec/labda to Isect.dir/dist, previously vec was sometimes
  normalized and sometimes not, confusing... now dir is always normalized
  and dist contains the distance.
* Change VECCOPY and similar to BLI_math functions.
* Force inlining of auxiliary functions for ray-triangle/quad intersection,
  helps a few percentages.
* Reorganize svbvh code so all the traversal functions are in one file
* Don't do test for root so that push_childs can be inlined
* Make shadow a template parameter so it doesn't need to be runtime checked
* Optimization in raytree building, was computing bounding boxes more often
  than necessary.
* Leave out logf() factor in SAH, makes tree build quicker with no
  noticeable influence on raytracing on performance?
* Set max childs to 4, simplifies traversal code a bit, but also seems
  to help slightly in general.
* Store child pointers and child bb just as fixed arrays of size 4 in nodes,
  nearly all nodes have this many children, so overall it actually reduces
  memory usage a bit and avoids a pointer indirection.

8 years agoFix bones moving when changing between editmode and posemode.
Brecht Van Lommel [Sat, 5 Feb 2011 13:19:14 +0000 (13:19 +0000)]
Fix bones moving when changing between editmode and posemode.
Patch #25901 by Tobias Oelgarte.

Bone transformations would be converted back and forth between different
representations when changing modes, which due to numerical errors could
lead to bone transformations slowly changing as you edit the armature.

Now the editmode head, tail and roll values are stored in bones and used
directly when entering edit mode. Head and tail were already there but
now we ensure they are the exact same value, roll was not yet there, so
we have a version patch for it.

The sub version was incremented to 1 for the version patch.

8 years agoRenamed texture.c in render module, to prevent debuggers to
Ton Roosendaal [Sat, 5 Feb 2011 13:10:20 +0000 (13:10 +0000)]
Renamed texture.c in render module, to prevent debuggers to
complain about the same named file in blenkernel.

8 years agoBugfix 25871
Ton Roosendaal [Sat, 5 Feb 2011 13:07:51 +0000 (13:07 +0000)]
Bugfix 25871

Using displacement with new bump caused NaN values or crashes.
Since displace code doesn't provide derivatives, it now falls
back to "old bump" by default.

8 years agoaccidentally left scaling code commented out when testing.
M.G. Kishalmi [Sat, 5 Feb 2011 11:46:44 +0000 (11:46 +0000)]
accidentally left scaling code commented out when testing.

8 years agomathutils fixes noticed when refactoring.
Campbell Barton [Sat, 5 Feb 2011 10:40:42 +0000 (10:40 +0000)]
mathutils fixes noticed when refactoring.
- comparing eulers was ignoring the order.
- printing Euler()'s now prints the order too.
- un-orderable types (all except for Vector's), were not raising an exception when compared with >=, >, <, <=.

8 years agomathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
Campbell Barton [Sat, 5 Feb 2011 09:57:02 +0000 (09:57 +0000)]
mathutils rotate functions for Euler/Quaternion/Matrix/Vector types.
each accept Euler/Quaternion/Matrix types.

eg:
  Euler.rotate(Quaternion(axis, angle))
  Vector.rotate(Euler((pi/2, 0, 0)))

matrix.resize_4x4() and euler.make_compatible() were still returning an instance of themselves, now return None.

8 years agoupdate for changes in mathutils.
Campbell Barton [Sat, 5 Feb 2011 07:04:23 +0000 (07:04 +0000)]
update for changes in mathutils.

8 years agoRename python mathutils functions and split in-place methods from those that return...
Campbell Barton [Sat, 5 Feb 2011 06:14:50 +0000 (06:14 +0000)]
Rename python mathutils functions and split in-place methods from those that return new values.
http://wiki.blender.org/index.php/Dev:2.5/Source/Python/Mathutils
This completes the changes proposed.

This will break scripts (fixing coming up next), for full list of changes see mathutils.c comments.

8 years agoLogic UI: multiple fixes on Constraint Actuator
Dalai Felinto [Fri, 4 Feb 2011 21:25:57 +0000 (21:25 +0000)]
Logic UI: multiple fixes on Constraint Actuator
1) damping factor is not percentage (it's in frames, who would know that)
2) angles as degrees (cleaning the tooltips for those too)
3) setting Direction to None when changing from Loc and Fh Consts to Ori - negative axis is not supported in Ori Const. Buggy since ever (2.49).

8 years ago- Drivers should now be updated correct when curve changes topology
Sergey Sharybin [Fri, 4 Feb 2011 21:10:27 +0000 (21:10 +0000)]
- Drivers should now be updated correct when curve changes topology
- Fixed regression with keeping alive f=curves for deleted CVs
  (was a mistake in previous commit in this area)

8 years agoFix #25923: Active area of text editor line numbers too big
Sergey Sharybin [Fri, 4 Feb 2011 16:28:19 +0000 (16:28 +0000)]
Fix #25923: Active area of text editor line numbers too big

Area with width 60px was used for determing should we jump to line or
input new cahacter. Reduce this area to actual line numbers margin width.

8 years agoFix #25933: Drag Dog stroke method uses Jitter if set for other stroke method, but...
Sergey Sharybin [Fri, 4 Feb 2011 16:10:30 +0000 (16:10 +0000)]
Fix #25933: Drag Dog stroke method uses Jitter if set for other stroke method, but no jitter available.

Manually disable jitter usage for anchored and drag dot brush stroke metdhods.
Jitter slider is hidden in UI for this strokes so users can't set it to 0 by hand
and even if this slider would be visible in UI jitter gives wierd result for
this stroke methods.

8 years agoImprovements for particle grid distribution:
Janne Karhu [Fri, 4 Feb 2011 15:48:13 +0000 (15:48 +0000)]
Improvements for particle grid distribution:
* Particles that aren't shown are now actually deleted (huge memory savings for flat objects).
* Grid distribution for flat objects is now done on the surface object surface without offset.
* Invert grid option wasn't in ui and it didn't work for non-volume grids.
* New parameter to randomize the grid point locations.
* Resolution soft/hard limits changed to even 50/250.

8 years agoFix [#19997] Duplicating window results in graphics corruption in UI
Nathan Letwory [Fri, 4 Feb 2011 13:22:02 +0000 (13:22 +0000)]
Fix [#19997] Duplicating window results in graphics corruption in UI
reported by Micael Dias (and many others, see duplicates list)

On closing the first ("main") Blender window the very first OpenGL context
got deleted too. This context needs to be retained, since we share quite a
bit of OpenGL data through it to the newly created contexts (new windows).
Thanks to Ton Roosendaal for thinking out loud while trying to figure out
what the actual cause was.

8 years agosmall typo fix
Nathan Letwory [Fri, 4 Feb 2011 13:18:44 +0000 (13:18 +0000)]
small typo fix

8 years agoQuick Animation Feature: Paste Pose "Selection Mask" option
Joshua Leung [Fri, 4 Feb 2011 11:43:30 +0000 (11:43 +0000)]
Quick Animation Feature: Paste Pose "Selection Mask" option

After discussions with ZanQdo, it was agreed that the current workflow
for making a pose symmetrical was a bit too cumbersome, especially
when auto-keying was enabled, requiring pasting the flipped pose on
another frame so that the changes could be merged back in without
overwriting the "good" half of the rig.

This option for the Paste Pose operator makes things easier, by adding
an option which will make the pose only get pasted on to selected
bones instead of overriding the entire pose. By default this option is
turned off, but can be easily enabled either from the toolbar
(operator properties) or through the F6 popup.

The intended workflow with this option for making a rig symmetrical is
now:
1) Copy pose
2) Select "bad" bones
3) Paste Flipped
4) Enable "On Selected Only" for the operator

If there is sufficient interest, this option can even be enabled by
default. But, we'll see about that later

8 years agoswap Matrix.Shear(...) arguments so matrix size is the second argument, matching...
Campbell Barton [Fri, 4 Feb 2011 09:41:59 +0000 (09:41 +0000)]
swap Matrix.Shear(...) arguments so matrix size is the second argument, matching other constructors.

8 years agomathutils.Matrix.OrthoProjection(plane, size, axis), merged axis and plane args....
Campbell Barton [Fri, 4 Feb 2011 09:35:20 +0000 (09:35 +0000)]
mathutils.Matrix.OrthoProjection(plane, size, axis), merged axis and plane args. since axis was only allowed when plane was 'R'.
This was already done with Matrix.Rotation().

8 years agopep8 cleanup
Campbell Barton [Fri, 4 Feb 2011 09:27:25 +0000 (09:27 +0000)]
pep8 cleanup

8 years agohard- and ui-limit for particle grid resolution were vice versa.
M.G. Kishalmi [Fri, 4 Feb 2011 09:02:47 +0000 (09:02 +0000)]
hard- and ui-limit for particle grid resolution were vice versa.

8 years agoMoved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Joshua Leung [Fri, 4 Feb 2011 08:33:07 +0000 (08:33 +0000)]
Moved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Scene (Toolsettings, i.e. alongside "layered" option for using NLA
while doing auto-keying)

This option makes all Auto-Keying operations use the active Keying Set
to carry out keyframing operations instead of picking and choosing
their own Keying Sets to use, thus cutting down on the number of
unwanted keys.

Warning: if the older userpref option was enabled in an old
startup.blend, it may be difficult to turn this option off.

8 years agofix for make stub, readlink was used incorrectly and building didn't work on BSD...
Campbell Barton [Fri, 4 Feb 2011 04:12:24 +0000 (04:12 +0000)]
fix for make stub, readlink was used incorrectly and building didn't work on BSD because of CPU detection.

8 years agosmall mathutils changes.
Campbell Barton [Fri, 4 Feb 2011 03:39:06 +0000 (03:39 +0000)]
small mathutils changes.
- fix for returning empty slices (was returning list rather then tuple).
- report invalid type when mathutils_array_parse_fast() fails.

8 years agoPyAPI: coerce mathutils values. (vectors, quats, eulers) as proposed here:
Campbell Barton [Fri, 4 Feb 2011 03:06:23 +0000 (03:06 +0000)]
PyAPI: coerce mathutils values. (vectors, quats, eulers) as proposed here:
http://wiki.blender.org/index.php/Dev:2.5/Source/Python/Mathutils#Coerce_Method_Arguments