Commit Graph

53000 Commits

Author SHA1 Message Date
Brecht Van Lommel
1bb6ba0605 Thread queue: use _ftime to get current time on windows, same as
pthreads-win32 test suite.
2010-01-23 14:29:56 +00:00
Joseph Eagar
10b1b61306 compile fix 2010-01-23 13:57:54 +00:00
Arystanbek Dyussenov
ea1b97a184 COLLADA branch: partial fix of bug #20634
* scale and rotation of objects with negative scale is exported correctly. This is accomplished by:
** if ob has no parent, use ob->rot, ob->scale values directly
** if ob has a parent, a local matrix is computed without scale and rotation is derived from it, scale value is copied directly from ob->size

Noted a few other bugs:
* importer suffers from negative scale problem too
* bones with negative scale are exported incorrectly too
* object animation values are copied from FCurves which is not ok for child objects where values should be in parent-space
2010-01-23 12:45:54 +00:00
Joseph Eagar
c71ace02c2 accidentally commited a patch that modifies wait_timeout, which I've not thourougly tested, but I'm not reverting it since it's needed to make msvc compile. it's only used if compiling with windows anyway. patch by mitchel stokes. 2010-01-23 11:32:21 +00:00
Joseph Eagar
7ef85aa41f Initial results of my profiling of the animation system.
Basically two simple changes, changes, I pulled in the faster 
ghash in bmesh (which uses mempools for allocation, providing 
a substanstial speedup in some cases, and also I inlined some
of the functions), and I changed __inline to __forceinline for inlining
of math functions.

I also removed the timer in the view3d zoom op (ctrl-middlemouse)
that was making it nonfunctional.  Why was that there?
2010-01-23 11:25:20 +00:00
Joshua Leung
f66d5a7b77 Animation Editors: DopeSheet filtering option to only include Objects that are members of the specified group
Between the datablock filtering options and the auto-snapping menu in the headers of Animation Editors, there is a new toggle for enabling this new feature (only when there are groups in the scene). Enabling this, a field to enter/select a group in the scene to filter with, will appear beside it. 

This feature has been added to make it easier to manage animating multiple character shots in Durian. 
By assigning the rigs of several bandits to a single group, or Sintel and her staff to another group, or Sintel and the guardians to another group, and so on, it is possible to filter the animation data shown in the editors to a useful subset of the total motion in the scene. 

This makes it easier to retime or edit the motions of one set of characters and their props without affecting the motions of other no-related objects. The downside is that there is a bit more setup work required upfront, but that's probably a small price to pay for some groupings that may be useful in other ways too later (perhaps for compositing or lighting work).
2010-01-23 03:57:11 +00:00
Joshua Leung
42c8448fe6 Durian Request: Expansion of Action Groups not linked between DopeSheet editors and the Graph Editor
Action Groups can now be expanded/collapsed in DopeSheet editors without the same thing happening in the Graph Editor, and visa versa. 

This should help improve the workflow, since the channel lists are generally kept more compact in the DopeSheet, while they are more expanded in the Graph Editor, so less time is spent expanding/collapsing stuff. Also this should hopefully alleviate some of the errors from accidentally deleting and then having to restore channels that were not intended to be deleted.

Also, switched the order of the expand/collapse hotkeys (in the channels list region) for channels so that Ctrl +/- now expands/collapses selected channels only, while +/- expands/collapses all channels. This should make it more convenient to quickly open up all groups to select F-Curves for the Graph Editor.
2010-01-23 03:04:37 +00:00
Campbell Barton
2f6a158d21 when python calls an operator, return a set from the operator flag, this matches the set that python operators themselves return. eg.
{'MODAL'} or... {'FINISHED'}
2010-01-23 01:02:53 +00:00
Joshua Leung
8dd14e1eed Graph Editor: Bugfixes for option where only the keyframes of selected F-Curves are shown
* Selected keyframes in unselected F-Curves were still being modified, although not shown
* Selection tools for keyframes were changing the selection status of F-Curves, making keyframes sometimes disappear after trying to select another keyframe

* Warning fixes in a few other files
2010-01-22 23:51:31 +00:00
Campbell Barton
5badcca867 bugfix [#20767] Particle edit mode crashes
& missing include added
2010-01-22 21:40:31 +00:00
Campbell Barton
8038171919 bugfix [#20771] Blender crashes after using pop-up color selection dialog in Texture Paint 2010-01-22 16:47:52 +00:00
Kent Mein
86facbd682 Change order of linking slightly so things link.
Kent
2010-01-22 16:28:16 +00:00
Campbell Barton
3b09e73e58 - bugfix (user supplied fix) [#20745] makesrna with rename error.
- error with last commit, length had an index arg.
2010-01-22 14:59:01 +00:00
Campbell Barton
ad65d6995c use string/int/length lookup functions for bpy.types, gives 20-30% overall startup time speedup on my system. 2010-01-22 14:06:42 +00:00
Brecht Van Lommel
8ec59c7c68 Math Lib:
* inline some more functions, from math_base and math_vector
* also made some changes to the way inline is done so it can
  work for more than one file
* reflect_v3_v3v3 requires input vectors to be normalized now.
* added rgb_to_grayscale
* added zero_v4, copy_v4_v4, swap_v4_v4, is_one_v3
* added box_clip_bounds_m4 to clip a bounding box against a
  projection matrix
2010-01-22 11:10:24 +00:00
Brecht Van Lommel
2d2339a709 Threads: added queue for passing data between threads. Includes a function
to wait for an item to be put in the queue and then pop immediately without,
this makes it possible to avoid sleep() while waiting for the results of a
thread.
2010-01-22 11:06:57 +00:00
Brecht Van Lommel
cbc4aae06a Fix crash rendering grass_wind.blend from regression tests. The real
problem is that where_is_object is being called from multiple threads
but is not thread-safe, added a note about this problem, this commit
only solves the crash. Also remove the pushdata/popdata mechanism
that was being used here, using this kind of system is bound to give
problems with threading.
2010-01-22 11:03:55 +00:00
Brecht Van Lommel
00318eaa2e RNA: added option to pass self ID to RNA functions. 2010-01-22 10:58:02 +00:00
Brecht Van Lommel
70d5215602 Workaround for crash when rendering particle systems, don't draw objects with
particle systems in the 3d view while rendering, this will recompute the particles
in the modifier stack, while these are being manipulated by the render engine
at the same time... a better fix is needed clearly but quite difficult.
2010-01-22 10:52:37 +00:00
Matt Ebb
38aacb92f3 Cleaned up some printfs in editors/ - converted some to reports, hid others behind G_DEBUG. 2010-01-22 06:48:29 +00:00
Matt Ebb
0de9b98a31 Fixed newly added group instances not getting any layers assigned. 2010-01-22 04:52:32 +00:00
Matt Ebb
96b5658d0c Fix [#20756] Texture painting on 3D tends to forget textures in the new texture menu.
Part of this fix (loading files with brushes/textures) will only apply for new files saved after this commit
2010-01-22 04:21:46 +00:00
Martin Poirier
0db45111ce Transform numeric input: increment initialize input if needed.
Reported by Aligorith on irc
2010-01-22 02:50:40 +00:00
Campbell Barton
e52084ced4 error message error 2010-01-22 02:24:58 +00:00
Matt Ebb
fe72f01d2f Added an icon for solidify modifier. Maybe if Jendryzch is around, he might
want to make a better one :)
2010-01-22 02:23:28 +00:00
Campbell Barton
7f1a8a947d initial sphinx doc generation support for python and C modules.
python modules bpy.app, bpy.utils are now included in docs.
C defined python module bpy.props has its docstrings extracted and written directly into sphinx docs since the C methods cant be inspected.

added docstrings to bpy.props and improved some in bpy.utils.

will update online docs tomorrow.
2010-01-22 02:04:25 +00:00
Matt Ebb
68874c9aa4 Fix [#20762] Problem When Font PreviewU resolution is set to 0 2010-01-22 01:30:06 +00:00
Matt Ebb
2c565ec48a Fix [#20538] exiting render turns my UV/image editor back to a 3d view 2010-01-22 01:02:11 +00:00
Matt Ebb
3e95d9cf65 Added Hue and Value modes to Hue Correct node, alongside existing
Saturation. Works the same way, selectively hue shifting or darkening/
brightening pixels based on their original hue.

Example:
http://mke3.net/blender/devel/2.5/hue_correct_hue_val.jpg
2010-01-21 22:23:57 +00:00
Martin Poirier
52858b7e66 [#20700] Transformation Increments
Patch by Jonathan Smith

When using numerical input, up and down arrow keys increment and decrement the value by the transform increment amount (grid for grab and so on).
2010-01-21 22:20:49 +00:00
Martin Poirier
b400703403 Macro operator properties using property groups in groups (initial code by brecht).
Works correctly with menu, keymap definitions and keymap export/import.

Properties set in the macro definition overwrite those set by the user (there's no way to see that in the UI at this point).

MISSING: Python operator calling code to fill in the properties hierarchy.

Also contains some keymap export changes by Imran Syed (freakabcd on irc): the exported configuration will use the name of the file and the exported script will select the added configuration when ran.
2010-01-21 21:58:40 +00:00
Martin Poirier
0d4583365a Fix bug in IDP_ReplaceGroupInGroup (it would sometimes add the same property twice).
Also simplify some other loops.
2010-01-21 21:01:18 +00:00
Campbell Barton
8f3f1da080 - temp marker rename in menu (using python or the outliner isnt fun)
- marker selected property
- rigify error formatting error
2010-01-21 19:43:27 +00:00
Campbell Barton
1425a9f6bc uninitialized value causing crashes when getting the image extension. 2010-01-21 14:08:07 +00:00
Brecht Van Lommel
48f48fa814 Fix crash in histogram in image window when image buffer contains
NaN values, now clamps integer instead of float to prevent this.
2010-01-21 13:06:44 +00:00
Brecht Van Lommel
e9b0956b55 Adjust material strand size ui range to show some more precision,
these values need to be very small for blender units.
2010-01-21 12:07:15 +00:00
Campbell Barton
ba8269c5f6 fix for baking crash 2010-01-21 11:49:02 +00:00
Campbell Barton
b33fd1cd1a bugfix, crash when rendering normally and then with the opengl view. 2010-01-21 11:34:36 +00:00
Joshua Leung
9d54d6ba4e Patch #20693: add parameters for FPS and wait timer for screen cast
This patch by Guillaume Lecocq (lguillaume) adds user preference settings for setting the playback frame-rate and delay between captured frames for the screencasting feature. 

-- 

I've made a few tweaks for a few minor issues
- Made DNA vars for these settings shorts instead of ints, reducing the number of unnecessary extra pad vars 
- Added version patching to ensure that these settings are initialised by default
- Made tooltips for the settings more descriptive
2010-01-21 10:28:19 +00:00
Matt Ebb
da3abc78a2 Fix [#20744] Turning on Shading in Themes adversely affects display of color swatches 2010-01-21 05:14:05 +00:00
Matt Ebb
1ad61f32aa Fix [#20750] adding Lattice object in Local space doesn't appears
Now add object operators take a layer parameter (hidden in UI) to determine their layer when created.
2010-01-21 04:54:52 +00:00
Joseph Eagar
7ad7820f7f Added a new notifyer, NC_SPACE_CHANGED, to signal an editor that
replaces another so it can do updates (e.g. dopesheet editor can
sync channel selection).

Also coded a simple optimization for allocating small objects,
based on mempools.  It's #ifdef'd out, you can enabled it by 
defining OPTIMIZE_SMALL_BLOCKS (e.g. adding -DDOPTIMIZE_SMALL_BLOCKS to
your compiler flags).

We suffer from a great deal of performance loss from the system allocator
(vgroups, ghash, edgehash, the singly-linked list implementation in blenlib,
editmesh, and likely a great many areas I'm forgetting), and this is the 
common solution for handling the many-small-objects problem.  It's not
really production-ready yet (it's long-term memory consequencers need to
be profiled first, and the implementation tweaked as necassary), but for
people on systems with slow system allocators it's worth trying.

Note that since this creates a guardedalloc<->blenlib link, the build systems
need to be updated accordingly (I've already done this for scons, though I'm
not sure if the player builds).
2010-01-21 03:08:57 +00:00
Matt Ebb
467cece2c1 Fix for key map python file export and load
Contributed by 'freakabcd' in IRC.
2010-01-21 02:10:50 +00:00
Matt Ebb
e74bc901d3 Fix [#20749] Mute doesnt refresh the compositor 2010-01-21 01:42:28 +00:00
Matt Ebb
6d06f54fbe Fix [#20742] splash screen: file names over 26 characters overlap with "Ctrl O" 2010-01-21 01:30:32 +00:00
Guillermo S. Romero
469a8d4537 SVN maintenance. 2010-01-21 00:25:01 +00:00
Matt Ebb
3e1783c715 New Compositor node: Hue Control
Was very quick to do, now re-aquainted with node editor.

http://mke3.net/blender/devel/2.5/hue_correct_node.jpg

Todo: modes for affecting hue and value on the vertical axis as well as just saturation - or if an enterprising coder wants to give it a go, let me know and 
I can help :)
2010-01-21 00:00:45 +00:00
Joshua Leung
946cdd8ff6 Proxy + Transforms Bugfix:
This commit fixes some update issues for some rig setups used for Durian, with proxies not updating correctly during transforms.

The setup involves an armature that has been proxified, which deforms a mesh in the group it came from. One of the bones in this armature is constrained to an empty that was added in the shot file.  
When the empty is moved around, the mesh does not deform in response to the armature until the transform is confirmed. 

This was because the depsgraph tagging was not comprehensive enough, since only a few cached tags got restored (but not all). For now, full depsgraph tagging is now performed for objects as they are transformed.
2010-01-20 22:21:10 +00:00
Martin Poirier
c781c3e6dc remove debug print 2010-01-20 21:21:05 +00:00
Brecht Van Lommel
9857ffde31 Bugfix: copying drivers did not set compiled expression to NULL, also tweak
to set it to NULL on file read instead of write as is done usually.
2010-01-20 18:27:19 +00:00