blender.git
7 years agoBGE: Adding docs for bge.logic.getProfileInfo().
Mitchell Stokes [Tue, 19 Mar 2013 04:56:51 +0000 (04:56 +0000)]
BGE: Adding docs for bge.logic.getProfileInfo().

7 years agoBGE: Adding a getProfileInfo() function to bge.logic. This function returns a Python...
Mitchell Stokes [Tue, 19 Mar 2013 04:51:37 +0000 (04:51 +0000)]
BGE: Adding a getProfileInfo() function to bge.logic. This function returns a Python dictionary with the same information as the on screen profiler.

7 years agobge bugfix: [#34677] Setting Boolean property on KX_GameObject creates Int type
Dalai Felinto [Mon, 18 Mar 2013 22:52:43 +0000 (22:52 +0000)]
bge bugfix: [#34677] Setting Boolean property on KX_GameObject creates Int type
we need to check for booleans before testing for longs.

7 years agoGrease Pencil UI
Pablo Vazquez [Mon, 18 Mar 2013 22:28:27 +0000 (22:28 +0000)]
Grease Pencil UI
The recent addition of the up/down arrows wasn't aligned.

Before/After: http://www.pasteall.org/pic/show.php?id=47512

Patch by Francesco Siddi.

7 years agorewind 55389 and make this gcc4.6+ only
Campbell Barton [Mon, 18 Mar 2013 21:36:12 +0000 (21:36 +0000)]
rewind 55389 and make this gcc4.6+ only

7 years agoSmoke Bugfix /enhancement: Load pre 2.65 pointcaches.
Daniel Genrich [Mon, 18 Mar 2013 21:33:48 +0000 (21:33 +0000)]
Smoke Bugfix /enhancement: Load pre 2.65 pointcaches.

Warning: Just make sure that you DON'T free the cache at any point. This patch can only display existing pointcaches from e.g. 2.64

7 years agofix for build error: "#pragma GCC diagnostic not allowed inside functions"
Dalai Felinto [Mon, 18 Mar 2013 21:16:04 +0000 (21:16 +0000)]
fix for build error: "#pragma GCC diagnostic not allowed inside functions"

It works in a newest gcc (e.g. 4.6.3) but fails here:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build
5658) (LLVM build 2336.11.00)

7 years agoAdd capluse bounds drawing
Sergej Reich [Mon, 18 Mar 2013 20:32:30 +0000 (20:32 +0000)]
Add capluse bounds drawing

Patch [#34566] by Alain Ducharme (phymec).

7 years agogame engine: Increase hard limit for fps property
Sergej Reich [Mon, 18 Mar 2013 20:32:28 +0000 (20:32 +0000)]
game engine: Increase hard limit for fps property

Patch by Alain Ducharme (phymec).

7 years agoAdded back the custom limits for value properties in standard node socket types,...
Lukas Toenne [Mon, 18 Mar 2013 20:27:39 +0000 (20:27 +0000)]
Added back the custom limits for value properties in standard node socket types, to override the standard range based purely on subtype.

7 years agoNode Interface:
Thomas Dinges [Mon, 18 Mar 2013 19:59:11 +0000 (19:59 +0000)]
Node Interface:
* Small tweak to the "Interface" panel for group nodes, move separator into the branch to save some UI space.

7 years agoHopefully blender will compile with strict flags again.
Sergey Sharybin [Mon, 18 Mar 2013 19:27:31 +0000 (19:27 +0000)]
Hopefully blender will compile with strict flags again.

7 years agoUse extern "C" when including BKE_node.h in C++ compositor code, to avoid linker...
Lukas Toenne [Mon, 18 Mar 2013 19:19:28 +0000 (19:19 +0000)]
Use extern "C" when including BKE_node.h in C++ compositor code, to avoid linker errors on windows (undefined NODE_INSTANCE_KEY_BASE).

7 years agoNode poll_instance callback is optional, check if it exists before executing.
Lukas Toenne [Mon, 18 Mar 2013 19:19:26 +0000 (19:19 +0000)]
Node poll_instance callback is optional, check if it exists before executing.

7 years agoUsual minor UI messages fixes.
Bastien Montagne [Mon, 18 Mar 2013 18:43:22 +0000 (18:43 +0000)]
Usual minor UI messages fixes.

7 years agoquiet warning about writing to deprecated member with gcc.
Campbell Barton [Mon, 18 Mar 2013 18:37:59 +0000 (18:37 +0000)]
quiet warning about writing to deprecated member with gcc.

7 years agoUI fix: drawing disabled buttons now draw OK in all cases.
Ton Roosendaal [Mon, 18 Mar 2013 18:29:22 +0000 (18:29 +0000)]
UI fix: drawing disabled buttons now draw OK in all cases.

The old 2.5 code was just drawing a blended rect over buttons, which looks bad
in cases the backdrop is undefined.

Now widget drawing code just draws everything half transparent. Much nicer!
Time for textured backdrops? ;)

7 years agoNode Editor / Group UI:
Thomas Dinges [Mon, 18 Mar 2013 18:27:28 +0000 (18:27 +0000)]
Node Editor / Group UI:
* Add, Move and Remove Socket operators missed a notifier for UI redraw.

Note: ND_DISPLAY seems to be for the Text editor only, according to WM_types.h, but seems to be used in quite a few places.
Time to cleanup notifiers again.

7 years agocode cleanup
Campbell Barton [Mon, 18 Mar 2013 18:25:05 +0000 (18:25 +0000)]
code cleanup

7 years agoAdded missing stub for uiTemplateNodeSocket.
Lukas Toenne [Mon, 18 Mar 2013 17:24:47 +0000 (17:24 +0000)]
Added missing stub for uiTemplateNodeSocket.

7 years agoFix for stupid MSVC compiler, float array cast not supported.
Lukas Toenne [Mon, 18 Mar 2013 17:24:16 +0000 (17:24 +0000)]
Fix for stupid MSVC compiler, float array cast not supported.

7 years agoFix blenderplayer (looks like gcc4.7 dislikes unamed parameters ;) ).
Bastien Montagne [Mon, 18 Mar 2013 17:08:29 +0000 (17:08 +0000)]
Fix blenderplayer (looks like gcc4.7 dislikes unamed parameters ;) ).

7 years agoMerge of the PyNodes branch (aka "custom nodes") into trunk.
Lukas Toenne [Mon, 18 Mar 2013 16:34:57 +0000 (16:34 +0000)]
Merge ... the PyNodes branch (aka "custom nodes") into trunk.

PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements.

=== Dynamic node type registration ===
Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes.

Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2].

=== Node group improvements ===
Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3].

The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there.

[1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes
[2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender
[3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/

7 years agoreplace format checks with is_movie_format
Campbell Barton [Mon, 18 Mar 2013 16:17:45 +0000 (16:17 +0000)]
replace format checks with is_movie_format

7 years agoFix for [#34671] Video file overwritten even though overwrite option is unselected
Thomas Dinges [Mon, 18 Mar 2013 16:01:13 +0000 (16:01 +0000)]
Fix for [#34671] Video file overwritten even though overwrite option is unselected
* Grey out Placeholders and Overwrite for Movie formats.

7 years agoBug fix, irc:
Ton Roosendaal [Mon, 18 Mar 2013 13:57:47 +0000 (13:57 +0000)]
Bug fix, irc:

Curves widget error: after deleting a point, and click to add a new point, on dragging
it the point flipped up 20 pixels. Was caused by changed layout and region view matrix.

Solved by storing actual mousecoords instead of mapped ones.

7 years agoJust added a comment:
Ton Roosendaal [Mon, 18 Mar 2013 12:16:19 +0000 (12:16 +0000)]
Just added a comment:

To make circle select allow pass-through for view events, several issues have to be
tackled.
 1) other modal ops run on top (border select),
 2) middlemouse is used now
 3) and what for tablet/trackpad or people without middlemouse?

The MMB deselection for border/circle is not optimal now... needs rethinking this.

Better would be to check on non-persistant-modality for circle, to start with gesture style
event like lasso or border can do now.

7 years agostyle cleanup
Campbell Barton [Mon, 18 Mar 2013 11:44:56 +0000 (11:44 +0000)]
style cleanup

7 years agoFix #34672: Image sampling line didn't use color management for byte buffers
Sergey Sharybin [Mon, 18 Mar 2013 11:34:05 +0000 (11:34 +0000)]
Fix #34672: Image sampling line didn't use color management for byte buffers

This makes it so sample line (for all image editor, sequencer and compositor)
displaying managed color for byte buffers as well. It was simply not implemented
before.

7 years agoForgot to commit the button to set memory limit for using GPU Images...
Ton Roosendaal [Mon, 18 Mar 2013 09:05:15 +0000 (09:05 +0000)]
Forgot to commit the button to set memory limit for using GPU Images...

7 years agoFix: Setting cursor to semitransparent objects will fail because of clip
Antony Riakiotakis [Sun, 17 Mar 2013 20:24:47 +0000 (20:24 +0000)]
Fix: Setting cursor to semitransparent objects will fail because of clip
alpha, added option when drawing depth to disable alpha clip override.
We use that in texture paint cursor now. Not too common but may be
useful for people dealing with cloning plugins.

Reported by kgeogeo on irc, thanks.

7 years agocode cleanup: name mesh functions more consistently, also use bools for mesh args.
Campbell Barton [Sun, 17 Mar 2013 19:55:10 +0000 (19:55 +0000)]
code cleanup: name mesh functions more consistently, also use bools for mesh args.

7 years agouse const pointers for file loading and booleans for animation system return values...
Campbell Barton [Sun, 17 Mar 2013 19:13:04 +0000 (19:13 +0000)]
use const pointers for file loading and booleans for animation system return values passed as pointers.

7 years agocode cleanup: add 'const' to headers to quiet msvc warnings, also remove (char *...
Campbell Barton [Sun, 17 Mar 2013 18:30:31 +0000 (18:30 +0000)]
code cleanup: add 'const' to headers to quiet msvc warnings, also remove (char *) casts that aren't needed now we're on Python3.3

7 years agoFix "can't paint" bug no.1, painting with black on image editor did not
Antony Riakiotakis [Sun, 17 Mar 2013 18:09:09 +0000 (18:09 +0000)]
Fix "can't paint" bug no.1, painting with black on image editor did not
paint. Was own regression when optimizing colour operations. I will not
use an alpha bit mask since it may run into portability issues with byte
order.

7 years agoFix for "draw images as texture"
Ton Roosendaal [Sun, 17 Mar 2013 17:32:45 +0000 (17:32 +0000)]
Fix for "draw images as texture"

Zooming in on images in Image window now shows pixels again (was filtered).

Now the glaDrawPixelsTex() and glaDrawPixelsAuto() have an argument to
define if images should zoom in with linear filter, or draw pixels.

7 years agoFeature:
Ton Roosendaal [Sun, 17 Mar 2013 16:54:06 +0000 (16:54 +0000)]
Feature:

Image Editor and 3D view background image now use new automatic switching for
drawing GPU texture or OpenGL DrawPixels too. For large zoomed images
it gives massive speedup.

7 years agoFix evil own bug: paint_redraw accessed freed memory. Still doesn't
Antony Riakiotakis [Sun, 17 Mar 2013 16:53:35 +0000 (16:53 +0000)]
Fix evil own bug: paint_redraw accessed freed memory. Still doesn't
solve problem not being able to paint with black in image editor.

7 years agoNew feature:
Ton Roosendaal [Sun, 17 Mar 2013 14:38:58 +0000 (14:38 +0000)]
New feature:

Automatic switching for drawing pixel buffers via glDrawPixels or using GPU textures

It works with a User Preference limit, in megapixels, to define whether to use
GPU or direct pixel drawing. Default is now initialized to 10 MP (4k buffers).

Especially for zooming out (draw smaller) texture drawing is much smaller. Also
Nvidia cards typically draw much faster with textures in general.

Added to node backdrop first now, the other editors follow in a next commit.

For coders: added new DNA function to initialize new struct variables, so you
don't have to sub-version files anymore.

   DNA_struct_elem_find(fd->filesdna, "structname", "typename", "varname")

"filesdna" is the sdna description of the current file being versioned.

7 years agoCycles / CUDA:
Thomas Dinges [Sun, 17 Mar 2013 14:32:50 +0000 (14:32 +0000)]
Cycles / CUDA:
* Simplify Computing Capability Check, only check for major.

7 years agocode cleanup: incorrect sized array args, remove some redundant code.
Campbell Barton [Sun, 17 Mar 2013 10:26:23 +0000 (10:26 +0000)]
code cleanup: incorrect sized array args, remove some redundant code.

7 years agofix for missing NULL pointer checks and incorrect array free
Campbell Barton [Sun, 17 Mar 2013 10:15:06 +0000 (10:15 +0000)]
fix for missing NULL pointer checks and incorrect array free

7 years agoAdded descriptions for each constraint type, including common usage
Joshua Leung [Sun, 17 Mar 2013 03:45:15 +0000 (03:45 +0000)]
Added descriptions for each constraint type, including common usage
restrictions/limits to reduce confusion

7 years agoSetting clone cursor is now an option for paint operator. This is not
Antony Riakiotakis [Sun, 17 Mar 2013 03:08:46 +0000 (03:08 +0000)]
Setting clone cursor is now an option for paint operator. This is not
too nice but it frees the Ctrl-LClick shortcut and allows us to set
invert mode for other paint tools, such as sharpen vs blur or invert
colour for draw brush. This conflict has existed on GSOC branch, better
resolve now before merging invert functionality.

7 years ago- ghost-sdl builds again.
Campbell Barton [Sat, 16 Mar 2013 20:49:46 +0000 (20:49 +0000)]
- ghost-sdl builds again.
- without python builds without warnings.
- replace MAXFLOAT -> FLT_MAX in some areas, MAXFLOAT overflows (lager then float range).
- add cmake option WITH_GCC_MUDFLAP to enable libmudflap use.

7 years agorevert own change: don't use memchr for strnlen, causes problems when the len is...
Campbell Barton [Sat, 16 Mar 2013 18:52:09 +0000 (18:52 +0000)]
revert own change: don't use memchr for strnlen, causes problems when the len is longer then the string data, instead use strnlen from freebsd.
also simplify empty string checks in logic_ops.c

7 years agoStop dyntopo updates from happening in masked areas
Nicholas Bishop [Sat, 16 Mar 2013 18:22:45 +0000 (18:22 +0000)]
Stop dyntopo updates from happening in masked areas

Fixes [#34348] Collapse short edges affects masked geometry
/projects.blender.org/tracker/?func=detail&aid=34348&group_id=9&atid=498

Fixed by disallowing topology updates on edges with a vertex masked at
50% or greater. This is a necessarily arbitrary choice; can't do
halfway updates for topology like we can with displacement.

7 years agoFix sculpt view normal for transformed objects
Nicholas Bishop [Sat, 16 Mar 2013 17:45:58 +0000 (17:45 +0000)]
Fix sculpt view normal for transformed objects

Patch from Antony Riakiotakis, thanks!

Fixes [#34641] "Front Faces Only" option in SculptMode behaves weird
projects.blender.org/tracker/?func=detail&aid=34641&group_id=9&atid=498

7 years agofix for buffer overrun in reading bookmarks when a line was over 256 bytes.
Campbell Barton [Sat, 16 Mar 2013 17:33:16 +0000 (17:33 +0000)]
fix for buffer overrun in reading bookmarks when a line was over 256 bytes.

7 years agoBug fix, irc reported:
Ton Roosendaal [Sat, 16 Mar 2013 17:12:39 +0000 (17:12 +0000)]
Bug fix, irc reported:

Using new off-screen backbuffer selection failed for Lasso in editmode.

7 years agodon't create empty mesh object when separating if nothing is selected.
Campbell Barton [Sat, 16 Mar 2013 16:38:18 +0000 (16:38 +0000)]
don't create empty mesh object when separating if nothing is selected.

7 years agopatch [#34634] Select vertices without a group
Campbell Barton [Sat, 16 Mar 2013 16:11:50 +0000 (16:11 +0000)]
patch [#34634] Select vertices without a group
from Kevin Mackay (yakca)

7 years agoown error in recent knife-project changes.
Campbell Barton [Sat, 16 Mar 2013 16:10:27 +0000 (16:10 +0000)]
own error in recent knife-project changes.

7 years agostyle cleanup
Campbell Barton [Sat, 16 Mar 2013 14:42:05 +0000 (14:42 +0000)]
style cleanup

7 years agocode cleanup: shadowing
Campbell Barton [Sat, 16 Mar 2013 14:33:32 +0000 (14:33 +0000)]
code cleanup: shadowing

7 years agofix for crash when using BM_face_calc_tessellation(), its not ensured that all tris...
Campbell Barton [Sat, 16 Mar 2013 14:18:32 +0000 (14:18 +0000)]
fix for crash when using BM_face_calc_tessellation(), its not ensured that all tris will be filled in.
(effected knife project and laplacian smooth).

7 years agoFix for [#34654] Cycles hair particle system modifier obeys viewport visibility as...
Thomas Dinges [Sat, 16 Mar 2013 08:49:39 +0000 (08:49 +0000)]
Fix for [#34654] Cycles hair particle system modifier obeys viewport visibility as well
* Now Show Render and Show Viewport flags work independently and correct.

7 years agoSome more assorted fixes
Joshua Leung [Sat, 16 Mar 2013 05:58:59 +0000 (05:58 +0000)]
Some more assorted fixes
* More duplicate/wrong comments (copy+paste errors)
* Brough Calculate/Clear Motion Path UI for bones more in line with the Object
version

7 years agoAssorted anim editor fixes
Joshua Leung [Sat, 16 Mar 2013 05:48:46 +0000 (05:48 +0000)]
Assorted anim editor fixes
* Click-select operators don't have "register" flag anymore
* Graph Editor click select can be undone, just like everything else
* "Current frame" -> "Current Frame" for consistency with rest of menu

7 years agoNLA "Add Track" can now be used to add tracks to previously empty AnimData
Joshua Leung [Sat, 16 Mar 2013 05:09:32 +0000 (05:09 +0000)]
NLA "Add Track" can now be used to add tracks to previously empty AnimData
blocks, provided the blocks in question are in fact selected.

7 years agoAny ID Selector Template: ID Type dropdown now shows icon only as originally
Joshua Leung [Sat, 16 Mar 2013 03:59:03 +0000 (03:59 +0000)]
Any ID Selector Template: ID Type dropdown now shows icon only as originally
intended

Finally, I've figured out a way to get the ID Selector Template to only show the
icon for the type of ID block (i.e. the intended design), instead of icon+text.
This improves the layout a bit, as previously the type selector and ID-block
pointer and label would all be the same sizes (roughly 1/3rd of the overall
width each), which meant that there wasn't much room left to actually see which
datablock had been selected.

Additionally, I've fixed a few more layout types which still didn't correctly
propagate the red-alert flags.

7 years agoAssorted small fixes
Joshua Leung [Sat, 16 Mar 2013 02:53:45 +0000 (02:53 +0000)]
Assorted small fixes
* Incorrect comment (copy+paste error) in nla_edit
* Whitespace in rna_gpencil
* The icon for AnimData is now attached to its RNA definition

7 years agoNLA Editor: Show the ID+AnimData block that the AnimData panel is showing the
Joshua Leung [Sat, 16 Mar 2013 02:42:19 +0000 (02:42 +0000)]
NLA Editor: Show the ID+AnimData block that the AnimData panel is showing the
active action for

7 years agoobject converting curve/mball to a mesh would give invalid selection state (edges...
Campbell Barton [Sat, 16 Mar 2013 01:19:03 +0000 (01:19 +0000)]
object converting curve/mball to a mesh would give invalid selection state (edges selected but nothing else).
add arg to BKE_mesh_calc_edges() so selecting newly created edges is optional.

7 years agofix for own mistake in using alloca in a loop, replace with BLI_buffer
Campbell Barton [Sat, 16 Mar 2013 00:41:32 +0000 (00:41 +0000)]
fix for own mistake in using alloca in a loop, replace with BLI_buffer

7 years agochanges to BLI_buffer
Campbell Barton [Sat, 16 Mar 2013 00:12:14 +0000 (00:12 +0000)]
changes to BLI_buffer
- assert if BLI_buffer_at() is called with an out of bounds value.
- add BLI_buffer_resize_data() macro which resizes and returns a pointer to the new array.
- warn if missing call to BLI_buffer_free().

7 years agocorrect lasso, weightpaint select, was calling BLI_lasso_boundbox() twice.
Campbell Barton [Fri, 15 Mar 2013 22:56:24 +0000 (22:56 +0000)]
correct lasso, weightpaint select, was calling BLI_lasso_boundbox() twice.

7 years agocode cleanup: quiet some -Wshadow warnings, mix of obvious mistakes and harmless...
Campbell Barton [Fri, 15 Mar 2013 22:55:10 +0000 (22:55 +0000)]
code cleanup: quiet some -Wshadow warnings, mix of obvious mistakes and harmless global/local naming conflict.

7 years agominor cleanup and calculate rake angle before jittering or result
Antony Riakiotakis [Fri, 15 Mar 2013 22:32:44 +0000 (22:32 +0000)]
minor cleanup and calculate rake angle before jittering or result
becomes essentially, random

7 years agoknife project improvements
Campbell Barton [Fri, 15 Mar 2013 20:39:56 +0000 (20:39 +0000)]
knife project improvements
When running in non-interactive mode, dont add a area draw callback or adjust the cursor, use a fixed snap value and don't use opengl lookups on faces.
Minor optimization - compare squared distances where possible.

7 years agofix for error pasting into a color button (tried to read its rna index of -1)
Campbell Barton [Fri, 15 Mar 2013 20:16:20 +0000 (20:16 +0000)]
fix for error pasting into a color button (tried to read its rna index of -1)

7 years agoFix: multisample viewport drawing didn't work well with selection or particle
Brecht Van Lommel [Fri, 15 Mar 2013 19:56:33 +0000 (19:56 +0000)]
Fix: multisample viewport drawing didn't work well with selection or particle
brushes, due to issues with color coded drawing or slow/buggy reading from such
a buffer on some systems.

In case multisample is enabled now, it uses an offscreen buffer for such drawing,
which is not multisampled and so should not cause issues. This does mean there is
some extra GPU memory usage when multisample is enabled, and we could optimize
triple buffer to work together here somehow to share buffers, but it's better than
having selection not working.

7 years agoScreen: add exit callback for area and region types, this gets called when
Brecht Van Lommel [Fri, 15 Mar 2013 19:56:29 +0000 (19:56 +0000)]
Screen: add exit callback for area and region types, this gets called when
hiding or removing an area or region.

7 years agoknife project: improve selection inside/outside checks.
Campbell Barton [Fri, 15 Mar 2013 19:38:42 +0000 (19:38 +0000)]
knife project: improve selection inside/outside checks.
- use more accurate method to find if a face is inside projected lines.
- check faces intersect while expanding selection - in some cases this could result in the entire model being selected.

7 years agouse bool for knife, also scons tab/space mix.
Campbell Barton [Fri, 15 Mar 2013 19:00:21 +0000 (19:00 +0000)]
use bool for knife, also scons tab/space mix.

7 years agoCompile fix:
Thomas Dinges [Fri, 15 Mar 2013 17:18:52 +0000 (17:18 +0000)]
Compile fix:
* Scons needed PThread include after recent movie clip changes.

7 years agoFurther improvement for multi-threaded proxies
Sergey Sharybin [Fri, 15 Mar 2013 16:57:19 +0000 (16:57 +0000)]
Further improvement for multi-threaded proxies

Handle sequences in a special case for dealing with
sequence sources.

Namely handle separate frames in separate threads,
but do disk read from a critical section since HDD
is not so friendly with lots threads requesting for
data from it.

Makes proxy building much faster than it was before.

7 years agoFix #34649: texture size limit user preference not working.
Brecht Van Lommel [Fri, 15 Mar 2013 16:16:11 +0000 (16:16 +0000)]
Fix #34649: texture size limit user preference not working.

7 years agoadd in ifdef for WITH_LIBMV, correct own error passing float[2] as float[3]
Campbell Barton [Fri, 15 Mar 2013 15:47:32 +0000 (15:47 +0000)]
add in ifdef for WITH_LIBMV, correct own error passing float[2] as float[3]

7 years agoFix/disambiguation for some "Clip" i18n messages.
Bastien Montagne [Fri, 15 Mar 2013 15:13:34 +0000 (15:13 +0000)]
Fix/disambiguation for some "Clip" i18n messages.

7 years agoSmall fix to previous commit: temp buffer for translation context needs to be initial...
Bastien Montagne [Fri, 15 Mar 2013 15:12:46 +0000 (15:12 +0000)]
Small fix to previous commit: temp buffer for translation context needs to be initialized to relevant default value for operators... Also fixed not initializing those buffers in macro register function.

7 years agoknife project:
Campbell Barton [Fri, 15 Mar 2013 14:43:09 +0000 (14:43 +0000)]
knife project:
- selecting faces inside the cut now works properly
- improve epsilon for detecing if faces are inside a cut (still not perfect)

7 years agoAdd the possibility to define the translation context for py rna classes (operators...
Bastien Montagne [Fri, 15 Mar 2013 14:32:29 +0000 (14:32 +0000)]
Add the possibility to define the translation context for py rna classes (operators, panels and menus).

Thanks to Campell and Brecht for the reviews!

7 years agofix for own bad mistake using alloca in a loop, also knife project wasnt selecting...
Campbell Barton [Fri, 15 Mar 2013 13:18:35 +0000 (13:18 +0000)]
fix for own bad mistake using alloca in a loop, also knife project wasnt selecting correctly.

7 years agoknife projection feature,
Campbell Barton [Fri, 15 Mar 2013 13:06:31 +0000 (13:06 +0000)]
knife projection feature,
apart of 3d printing tools - use to cookie-cut text into a mesh.

7 years agoMulti-threaded frame calculation for movie clip proxies
Sergey Sharybin [Fri, 15 Mar 2013 11:59:46 +0000 (11:59 +0000)]
Multi-threaded frame calculation for movie clip proxies

This commit implements multi-threaded calculation of frames
when building proxies. Both scaling and undistortion steps
are now threaded.

Frames and proxy resolution are still handled one-by-one,
saving files after every single step. So if HDD is not so
fast, this commit could have not so much benefit.

Internal changes:

- Added IMB_scaleImBuf_threaded which scales given image
  buffer in multiple threads and uses bilinear filtering.

- libmv's camera intrinsics now have SetThreads() method
  which is used to specify how many OpenMP threads to use
  for buffer distortion/undistortion.

  And yeah, this code is using OpenMP for threading.

- Reshuffled a bit libmv-capi calls and added function
  BKE_tracking_distortion_set_threads to specify number
  of threads used by intrinscis.

7 years agocode cleanup: rename BKE_mesh_to_curve_ex --> BKE_mesh_to_curve_nurblist,
Campbell Barton [Fri, 15 Mar 2013 10:48:48 +0000 (10:48 +0000)]
code cleanup: rename BKE_mesh_to_curve_ex --> BKE_mesh_to_curve_nurblist,
also correct odd indentation.

7 years agoAdd missing operators from paint modes:
Antony Riakiotakis [Fri, 15 Mar 2013 10:45:43 +0000 (10:45 +0000)]
Add missing operators from paint modes:

All modes:
-----------
Shift-S sets smooth stroke mode

Texture Paint/Vertex Paint:
----------------------------
R springs brush rotation control menu
Ctrl-F sets brush user rotation

Vertex paint mode was getting transform events with R, made sure no
transform events are handled for paint modes.

7 years agoFix #34617, Track Position Node outputs had a limit value of 1 instead of the usual...
Lukas Toenne [Fri, 15 Mar 2013 10:34:32 +0000 (10:34 +0000)]
Fix #34617, Track Position Node outputs had a limit value of 1 instead of the usual 0 (multiple connections allowed). Common problem with the explicit limit value in socket C templates, should be removed ...

7 years agoSupport for rake in 2D image painting.
Antony Riakiotakis [Fri, 15 Mar 2013 09:48:51 +0000 (09:48 +0000)]
Support for rake in 2D image painting.

7 years agoPatch #34632: DPX/Cineon speed up
Sergey Sharybin [Fri, 15 Mar 2013 09:46:37 +0000 (09:46 +0000)]
Patch #34632: DPX/Cineon speed up

Done by Julien Enche (aka trap), thanks!

From the patch comment:
This patch speeds up Cineon/DPX file loading.
Some more checks are done in dpxOpen and cineonOpen functions so IB_test
flag can now be taken into account safely, and an unnecessary call to
IMB_rect_from_float has been removed.

DPX/Cineon file now loads around 3 times faster on my computer.

Own comment:
Ideally, IB_rect shall indeed indicate which buffers to load, however
currently all places which reads image uses this flag.

This fact already mentioned in OpenEXR reader and it shall be fine
to skip doing rect_from_float in readers themselves.

7 years agoSkip allocating any display buffer and starting any threads
Sergey Sharybin [Fri, 15 Mar 2013 09:35:12 +0000 (09:35 +0000)]
Skip allocating any display buffer and starting any threads
in case image buffer contains byte buffer only and it's
color space matches display space.

It was already check for this case, but it happened later
in color management routines, which is needed for saving
files, but not fast enough for realtime playback of 4K.

7 years agoSkip doing frame undistortion if it's not needed for proxies.
Sergey Sharybin [Fri, 15 Mar 2013 09:32:59 +0000 (09:32 +0000)]
Skip doing frame undistortion if it's not needed for proxies.

7 years agoFixes for 2d painting:
Antony Riakiotakis [Fri, 15 Mar 2013 09:19:41 +0000 (09:19 +0000)]
Fixes for 2d painting:

* Jittering accounts for zoom
* Smooth stroke accounts for zoom
* Expose smooth stroke in image paint editor.

7 years agoFix #34633: Merge First/Last crashes Blender
Sergey Sharybin [Fri, 15 Mar 2013 07:08:00 +0000 (07:08 +0000)]
Fix #34633: Merge First/Last crashes Blender

It was check happening when generating menu with available modes
for merge operator, but no checks happened when executing operator.

Since operator could be called from python or shortcut, it was
possible to bypass all the checks.

7 years agoFix own mistake. Erroneously prefixed sculpt capabilities with sculpt_
Antony Riakiotakis [Fri, 15 Mar 2013 00:22:04 +0000 (00:22 +0000)]
Fix own mistake. Erroneously prefixed sculpt capabilities with sculpt_
before separating them in another struct. Thanks to Sebastian Koenig for reporting

7 years agomove polygon intersection out of BLI_lasso into BLI_math_geom since its a generally...
Campbell Barton [Thu, 14 Mar 2013 21:44:16 +0000 (21:44 +0000)]
move polygon intersection out of BLI_lasso into BLI_math_geom since its a generally useful function.

adds:
- isect_point_poly_v2()
- isect_point_poly_v2_int()

7 years agoBLI_linklist_free() was incorrectly taking MEM_freeN() as an argument, evidentially...
Campbell Barton [Thu, 14 Mar 2013 19:40:42 +0000 (19:40 +0000)]
BLI_linklist_free() was incorrectly taking MEM_freeN() as an argument, evidentially this works on x86 - but could cause issues later on.
add BLI_linklist_freeN() which MEM_freeN's each item.

7 years agosplit up BKE_mesh_to_curve() into 2 functions, adding BKE_mesh_to_curve_ex() which...
Campbell Barton [Thu, 14 Mar 2013 18:44:32 +0000 (18:44 +0000)]
split up BKE_mesh_to_curve() into 2 functions, adding BKE_mesh_to_curve_ex() which doesn't do object type conversion.

7 years agoconverting a mesh to a curve was unnecessarily using tessface's.
Campbell Barton [Thu, 14 Mar 2013 18:35:21 +0000 (18:35 +0000)]
converting a mesh to a curve was unnecessarily using tessface's.
use mpolys instead and simplify checks for wire edges.

Also rename BKE_mesh_from_curve() --> BKE_mesh_to_curve() since this function converts a mesh into a curve.