Sergey Sharybin [Fri, 9 Dec 2011 11:46:48 +0000 (11:46 +0000)]
Mesh drawing optimization and fixes:
- Pass MFace, MTface and OrigIndex arrays via userData to compareDrawParams callback
rather than looking up for this layers for each face
- This allowed to avoid massing DM to compare callback which seems like a bad-level pass
- Fixed crashes on some video cards when assigning different materials to different
faces in edit mode. Both of intel and nvidia cards in my laptop were affected by
this error
Campbell Barton [Fri, 9 Dec 2011 10:19:11 +0000 (10:19 +0000)]
global is python keyword so cant use as operator argument,
also ran operator cheat sheet and made sure no syntax errors.
+ minor pep8 edits.
Campbell Barton [Fri, 9 Dec 2011 08:20:27 +0000 (08:20 +0000)]
went over all uses of MDeformWeight.def_nr and made sure the value is clamped when used as an array index.
Campbell Barton [Fri, 9 Dec 2011 08:05:23 +0000 (08:05 +0000)]
function de-duplicate, particle.c had 'vert_weight' which serves the exact same purpose as 'defvert_find_weight'.
Campbell Barton [Fri, 9 Dec 2011 07:35:56 +0000 (07:35 +0000)]
another possible fix for bug [#29521], all callers of flip_side_name(...), assumed it initialized the string however for 1-2 length names it returned without doing anything.
in most cases the caller would then check if the name was different to see if the name was flipped, incorrectly comparing the uninitialized string with the original name.
Campbell Barton [Fri, 9 Dec 2011 07:23:17 +0000 (07:23 +0000)]
BKE_mesh_validate_arrays was correcting non-finite verts and zero normals even when do_fixes was false, also return true if any bad vertex weights were found.`
Campbell Barton [Fri, 9 Dec 2011 07:18:04 +0000 (07:18 +0000)]
possible/partial fix for [#29521], in many places the deform group index was not checked which could crash blender.
Daniel Salazar [Fri, 9 Dec 2011 06:21:26 +0000 (06:21 +0000)]
[#29509] Randomize rotations fails with Axis/Angle
Fix based on Brecht's idea: use Blender's conversion from quat or axis angle to euler and back. Euler rotations are left alone so their rotation order is respected
Campbell Barton [Fri, 9 Dec 2011 06:05:58 +0000 (06:05 +0000)]
minor changes, fix coming next (no functional edits).
Campbell Barton [Fri, 9 Dec 2011 01:27:59 +0000 (01:27 +0000)]
remove redundant cases. no functional change.
Brecht Van Lommel [Fri, 9 Dec 2011 00:24:48 +0000 (00:24 +0000)]
Fix #29555: cycles crash rendering with no material in material slot.
Brecht Van Lommel [Thu, 8 Dec 2011 21:55:35 +0000 (21:55 +0000)]
Fix #29528: crash adding subsurf modifier in a particular scene with viewport render.
Brecht Van Lommel [Thu, 8 Dec 2011 20:24:01 +0000 (20:24 +0000)]
Fix for #29475 broke properly updating toggle buttons in popup menus. Tweak the
fix a bit, not a true solution to the problem, but too close to release for
bigger changes.
Thomas Dinges [Thu, 8 Dec 2011 19:16:43 +0000 (19:16 +0000)]
Scons/CUDA
* Added missing bitness info to the nvcc_flags.
This makes sure that the nvcc compiler builds the correct cubins.
M.G. Kishalmi [Thu, 8 Dec 2011 15:55:49 +0000 (15:55 +0000)]
randomize transform operators 'rotation' property subtype changed
from TRANSLATION to EULER and tweaks needed along with that.
Bastien Montagne [Thu, 8 Dec 2011 15:50:28 +0000 (15:50 +0000)]
Fix [#29543] Hook modifier: falloff + vgroup influence broken
A valid derivedmesh is needed for modifier_get_vgroup to work, and it wasn’t take care of when not in edit mode... Checked quickly the other deform modifiers, they all seem to handle this correctly.
Brecht Van Lommel [Thu, 8 Dec 2011 14:26:46 +0000 (14:26 +0000)]
Fix #29547: missing units for some curve properties, patch by M.G. Kishalmi.
Brecht Van Lommel [Thu, 8 Dec 2011 14:21:55 +0000 (14:21 +0000)]
Tweak related to #29545: show info message if no frames are written in animation
render due to disabled Overwrite option.
Brecht Van Lommel [Thu, 8 Dec 2011 11:37:04 +0000 (11:37 +0000)]
Fix #29546: missing 3d view redraw after game exit with overlap draw mode,
when launching game from properties editor. Also fix popup/menu still
showing during game when starting from the top menu.
Sergey Sharybin [Thu, 8 Dec 2011 11:02:29 +0000 (11:02 +0000)]
Disable redo for some vertex group operators to prevent confusing
situation when changing properties in redo panel messes up things.
This should help in cases described in #29527: Vgroup assign, remove and undo
Campbell Barton [Thu, 8 Dec 2011 04:51:03 +0000 (04:51 +0000)]
regarding [#29521] Invalid Vertex Weights
added checks to mesh.validate() so it checks for nan weights and negative groups which can crash blender.
the file in the report looks to be corrupt, but this at least can make it load.
also noticed validate was using isnan() and finite() were both used to check valid vertex locations, only finite is needed.
Campbell Barton [Thu, 8 Dec 2011 03:47:45 +0000 (03:47 +0000)]
minor refactor of vertex group functions,
- defvert_remove_index's index wasnt used anywhere, rename to defvert_remove_group
- defvert_add_to_group was local in MOD_weightvg_util.c, moved to deform.c and renamed to defvert_add_index_notest
real fix coming next...
Brecht Van Lommel [Wed, 7 Dec 2011 22:03:49 +0000 (22:03 +0000)]
Fix #29520: issue drawing with VBO + GLSL + alpha pass. Includes some refactoring
to hopefully make alpha material drawing code more clear.
Sergey Sharybin [Wed, 7 Dec 2011 18:51:43 +0000 (18:51 +0000)]
Reorder options in refine menu + fixed typo
Patch by Sebastian Koenig, thanks!
Campbell Barton [Wed, 7 Dec 2011 18:22:16 +0000 (18:22 +0000)]
remove initilaizing weight collor with dummy value (from recent commit), harmless but not needed.
Sergey Sharybin [Wed, 7 Dec 2011 17:28:42 +0000 (17:28 +0000)]
Update presets for tracking
Sergey Sharybin [Wed, 7 Dec 2011 17:23:45 +0000 (17:23 +0000)]
Fix #28663: All "unit" properties show a value of 0 (on WinXP&MinGW&scons)
Use %g instead of %lg due to %g is supposed to be used for doubles and %lg confuses mingw at all
Bastien Montagne [Wed, 7 Dec 2011 15:55:37 +0000 (15:55 +0000)]
More fix for snapto in Pose mode:
* The code for snap to grid was completely wrong (only x pos of chan was affected… by z computed value!), and the same problem as with snap to cursor was present (using armature_loc_pose_to_bone is wrong here). Also, computing nearest grid point in world space! Else, it generally ends up completely out of grid, due to object transforms...
* Small cleanup of code (uneeded vars and copying).
Bastien Montagne [Wed, 7 Dec 2011 15:21:38 +0000 (15:21 +0000)]
Fix [#29461] Selection-to-Cursor works strange with bones with TrackTo constraint.
In fact, the problem was present with any kind of constraint…
We need the cursor coordinates in the rest bone space (aka armature space), i.e with all "manual" and "procedural" (constraints, ...) pose transforms cleared (as said in armature_mat_pose_to_bone:
/* Remove the pchan's transforms from it's pose_mat.
* This should leave behind the effects of restpose +
* parenting + constraints
*/
, only "manual" transforms are "cleared" by armature_loc_pose_to_bone...).
Sergey Sharybin [Wed, 7 Dec 2011 14:54:03 +0000 (14:54 +0000)]
Merging remained part of hybrid tracker which adds correlation threshold
Keir's comment:
Add support for detecting tracking failure in the ESM tracker component of
libmv. Since both KLT and Hybrid rely on ESM underneath, KLT and Hybrid now
have a minimum correlation setting to match. With this fix, track failures
should get detected quicker, with the issue that sometimes the tracker will
give up too easily. That is fixable by reducing the required correlation (in
the track properties).
Command used for merge: svn merge -r 42396:42397 -r 42399:42400 ^/branches/soc-2011-tomato
Brecht Van Lommel [Wed, 7 Dec 2011 11:29:24 +0000 (11:29 +0000)]
Fix #29523: RenderEngine.update_progress() doesn't redraw UI.
Brecht Van Lommel [Wed, 7 Dec 2011 11:22:29 +0000 (11:22 +0000)]
Fix #29518: uv cylinder/sphere unwrap from menu didn't work same as using U key menu.
Sergey Sharybin [Wed, 7 Dec 2011 10:53:51 +0000 (10:53 +0000)]
Tracks which were moved to close to boundary weren'haven't been disabled when doing
frame-by-frame tracking.
Sergey Sharybin [Wed, 7 Dec 2011 10:01:39 +0000 (10:01 +0000)]
Make Hybrid tracker default for movie clips
Sergey Sharybin [Wed, 7 Dec 2011 09:55:37 +0000 (09:55 +0000)]
Fix #29432: Marquee Select Bug
Moved tweak threshold value to user preferences
This threshold might be needed to be tweaked when working with tables, i.e.
to prevent tap+slight movement be treated as tweak event.
Sergey Sharybin [Wed, 7 Dec 2011 09:21:50 +0000 (09:21 +0000)]
Camera tracking: some bug fixes
- Fixed bug with not putting disabled markers properly when doing backwards tracking
- Fixed margin size calculating from pattern size which used to be double-sized
and prevented to track things on the image edges.
Campbell Barton [Wed, 7 Dec 2011 09:13:15 +0000 (09:13 +0000)]
fix for NULL pointer free and add in some checks, while looking into bug [#29521],
add asserts so we know if an invalid active index is ever set.
Campbell Barton [Wed, 7 Dec 2011 08:03:52 +0000 (08:03 +0000)]
correct missing argument error if CYCLES_OPTIMIZED_KERNEL_FLAGS isnt set
Campbell Barton [Wed, 7 Dec 2011 07:13:33 +0000 (07:13 +0000)]
fix for uninitialized memory use drawing 'nan' vertex groups, noticed while looking into [#29521]
Campbell Barton [Wed, 7 Dec 2011 00:36:57 +0000 (00:36 +0000)]
fix for noise module in driver namespace (was infact mathutils).
Brecht Van Lommel [Tue, 6 Dec 2011 16:04:45 +0000 (16:04 +0000)]
Fix related to #29513: materials using nodes will output passes from the active
material node. This is a confusing system, but two features were missing from
2.4x that made this at least a bit more clear:
* The top right icon in the node now shows brighter again for the active node.
* Setting a material datablock in a node makes that node active.
Thomas Dinges [Tue, 6 Dec 2011 16:00:57 +0000 (16:00 +0000)]
Cycles / CUDA Kernel compile:
* Added option "WITH_BF_CYCLES_CUDA_THREADED_COMPILE" for the people who have much RAM (8 or more) and can compile several kernels at the same time. If enabled, it uses the general BF_NUMJOBS flag.
* The option is off per default.
Sergey Sharybin [Tue, 6 Dec 2011 15:32:10 +0000 (15:32 +0000)]
Fix #27622: Sequencer Wipe Angle Incorrect
Made wipe angle be real angle instead of making some ease effects which can be reached by animation curves.
Sergey Sharybin [Tue, 6 Dec 2011 14:34:56 +0000 (14:34 +0000)]
Fix #29511: Separate tool duplicates objects
Do not register separate mesh operator so it can't be redone from operator redo panel.
Brecht Van Lommel [Tue, 6 Dec 2011 12:29:54 +0000 (12:29 +0000)]
Cycles: scons cuda kernel compile now does one kernel at a time, to reduce memory
usage.
Sergey Sharybin [Tue, 6 Dec 2011 12:04:39 +0000 (12:04 +0000)]
Fixed crash when movie clip curves region is opened and clip is getting unlinked
Sergey Sharybin [Tue, 6 Dec 2011 09:23:35 +0000 (09:23 +0000)]
Camera tracking: fixed typo in remove tracking preset button
Campbell Barton [Tue, 6 Dec 2011 04:53:16 +0000 (04:53 +0000)]
attempt to fix defione for qtcreator project file and cycles define.
Campbell Barton [Mon, 5 Dec 2011 23:05:16 +0000 (23:05 +0000)]
more minor py edits
Campbell Barton [Mon, 5 Dec 2011 22:19:30 +0000 (22:19 +0000)]
remove invalid NULL checks from own recent commit and minor pep8 edits.
Brecht Van Lommel [Mon, 5 Dec 2011 19:54:59 +0000 (19:54 +0000)]
Cycles:
Fix #29475: remove node from properties editor crash on windows. This was a bug
in the UI code, which code access removed data.
Fix OpenCL still being used in a case where Experimental was disabled.
Fix msvc debug warning in md5 code.
Brecht Van Lommel [Mon, 5 Dec 2011 16:37:31 +0000 (16:37 +0000)]
Fix #28107: save screenshot operator option to save full screen or only a single
editor was not working. Solution is to take full screenshot and crop it on save.
Also fixed screenshot showing popup menu used to execute operator.
Brecht Van Lommel [Mon, 5 Dec 2011 15:57:57 +0000 (15:57 +0000)]
Fix #29507: cycles rendering of metaball animations not working.
Thomas Dinges [Mon, 5 Dec 2011 15:32:17 +0000 (15:32 +0000)]
Release Cycle:
* BCon4: Release candidate, important bug fixes only!
Brecht Van Lommel [Mon, 5 Dec 2011 14:01:57 +0000 (14:01 +0000)]
Fix #29506: libmv build issues on freebsd, patch by Shane Ambler.
Miika Hamalainen [Mon, 5 Dec 2011 13:36:41 +0000 (13:36 +0000)]
Fix: Dynamic Paint sub-steps didn't work for constraint controlled brush objects.
Campbell Barton [Mon, 5 Dec 2011 11:02:54 +0000 (11:02 +0000)]
fix for dscale which was set to 0,0,0 from files saved between Nov 29 and Dec 4.
Sergey Sharybin [Mon, 5 Dec 2011 07:56:31 +0000 (07:56 +0000)]
Minor whitespace fixes
Campbell Barton [Sun, 4 Dec 2011 23:04:43 +0000 (23:04 +0000)]
syncing some minor formatting edits from bmesh branch.
Daniel Salazar [Sun, 4 Dec 2011 22:48:23 +0000 (22:48 +0000)]
Campbell Barton [Sun, 4 Dec 2011 19:49:35 +0000 (19:49 +0000)]
remove mesh PartialVisibility, it wasnt being version patches or used anywhere, other then save/load/free.
Sergey Sharybin [Sun, 4 Dec 2011 18:49:41 +0000 (18:49 +0000)]
Slight optimization of track preview widget (the same approach as in tomato branch)
Bastien Montagne [Sun, 4 Dec 2011 17:36:13 +0000 (17:36 +0000)]
A (hopefully last) bunch of fixes and tweaks to UI label and messages (found while translating in french).
Campbell Barton [Sun, 4 Dec 2011 17:35:17 +0000 (17:35 +0000)]
remove unused SpaceTime.redraws.
now there are no more use of deprecated struct member warnings.
Campbell Barton [Sun, 4 Dec 2011 17:24:34 +0000 (17:24 +0000)]
`#if 0` use of Object.nlastrips, there is no way to add or remove these from blender so better not run.
Sergey Sharybin [Sun, 4 Dec 2011 17:16:22 +0000 (17:16 +0000)]
Fix for movie clips weren't remapped properly on file save
Thomas Dinges [Sun, 4 Dec 2011 16:55:46 +0000 (16:55 +0000)]
Fix [#29502] Brush texture Preview panel doesnt show Alpha checkbox
* Added to the py UI file, it would require some deeper changes to have it in the c Template, can be done later.
* Fixed a typo.
Campbell Barton [Sun, 4 Dec 2011 16:22:53 +0000 (16:22 +0000)]
remove old renderer struct member, was only used for setting yafray but was still being checked in a few places,
Brecht Van Lommel [Sun, 4 Dec 2011 15:49:14 +0000 (15:49 +0000)]
Fix compile issue on windows, broke this trying to fix for mac.
Campbell Barton [Sun, 4 Dec 2011 15:45:53 +0000 (15:45 +0000)]
fix building on openbsd, also quiet some warnings.
Antony Riakiotakis [Sun, 4 Dec 2011 14:47:21 +0000 (14:47 +0000)]
Fix warning for redefinition of __MSVCRT_VERSION__
Antony Riakiotakis [Sun, 4 Dec 2011 14:43:37 +0000 (14:43 +0000)]
Fix MinGW compilation:
define __MSVCRT_VERSION__ to 0x0700 (microsoft runtime msvcr70.dll) so _aligned_malloc is defined.
Sergey Sharybin [Sun, 4 Dec 2011 14:42:21 +0000 (14:42 +0000)]
Small code cleanup of tracking.c
Sergey Sharybin [Sun, 4 Dec 2011 14:42:10 +0000 (14:42 +0000)]
Fix of pattern position clamping
Sergey Sharybin [Sun, 4 Dec 2011 13:26:11 +0000 (13:26 +0000)]
Camera tracking: merge hybrid tracker from tomato branch
Comment from Keir's commit:
Add a new hybrid region tracker for motion tracking to libmv, and
add it as an option (under "Hybrid") in the tracking settings. The
region tracker is a combination of brute force tracking for coarse
alignment, then refinement with the ESM/KLT algorithm already in
libmv that gives excellent subpixel precision (typically 1/50'th
of a pixel)
This also adds a new "brute force" region tracker which does a
brute force search through every pixel position in the destination
for the pattern in the first frame. It leverages SSE if available,
similar to the SAD tracker, to do this quickly. Currently it does
some unnecessary conversions to/from floating point that will get
fixed later.
The hybrid tracker glues the two trackers (brute & ESM) together
to get an overall better tracker. The algorithm is simple:
1. Track from frame 1 to frame 2 with the brute force tracker.
This tries every possible pixel position for the pattern from
frame 1 in frame 2. The position with the smallest
sum-of-absolute-differences is chosen. By definition, this
position is only accurate up to 1 pixel or so.
2. Using the result from 1, initialize a track with ESM. This does
a least-squares fit with subpixel precision.
3. If the ESM shift was more than 2 pixels, report failure.
4. If the ESM track shifted less than 2 pixels, then the track is
good and we're done. The rationale here is that if the
refinement stage shifts more than 1 pixel, then the brute force
result likely found some random position that's not a good fit.
svn command used: svn merge -r 42375:42376 -r 42377:42379 ^/branches/soc-2011-tomato
Sergey Sharybin [Sun, 4 Dec 2011 11:57:23 +0000 (11:57 +0000)]
Do not clamp search size when adding new track with non-klt tracker set
Sergey Sharybin [Sun, 4 Dec 2011 10:57:36 +0000 (10:57 +0000)]
Fix crash when trying to track disabled track.
This is possible fixes #29498: Seg fault on trying to track byond clip length
Thomas Dinges [Sun, 4 Dec 2011 10:45:25 +0000 (10:45 +0000)]
CUDA
* Added CUDA Binaries to Windows scons config files, disabled by default.
Also the path to nvcc is commented out, best to set this in the user config, as it varies on each system probably.
Campbell Barton [Sun, 4 Dec 2011 06:55:32 +0000 (06:55 +0000)]
include mathutils.noise in sphinx docs
Campbell Barton [Sun, 4 Dec 2011 06:39:35 +0000 (06:39 +0000)]
remove use of deprecated struct members
- editmesh smooth & subdivide were using old mirror axis flag still.
- removed colbits from outliner and object code.
- commented some other parts of the code which access deprecated members and aren't called anywhere.
Campbell Barton [Sun, 4 Dec 2011 06:05:48 +0000 (06:05 +0000)]
add define for deprecated DNA struct members: DNA_DEPRECATED,
this means use of deprecated struct members gives a warning.
- makesdna.c preprocessor skips this.
- DNA_DEPRECATED_ALLOW is used so readfile.c can do versioning without warnings.
- this exposes some use of deprecated struct members, will deal with this after.
Campbell Barton [Sun, 4 Dec 2011 03:35:54 +0000 (03:35 +0000)]
add a new object member to store the dsize, since with my recent commit broke forward compatibility. now the new values are copied into 'dscale' and existing ones remain.
this is annoying since now we have dsize and dscale, will look into a way to deprecate struct members next.
Dalai Felinto [Sat, 3 Dec 2011 23:05:35 +0000 (23:05 +0000)]
Invert Color Cycles Node
as with the HSV node the OSL code is relying on the (yet to be implemented) autorename.
Also the svm code could use mix (svm_lerp) instead:
32 . float3 color_inv = make_float3(1.0f, 1.0f, 1.0f) - color;
35 . . stack_store_float3(stack, out_color, svm_lerp(color_inv, color, factor));
I have a feeling that each node 'program' should have the least program as possible. I'll see with Brecht later.
But overall I don't know if that's any fast. And apart from that I think we will need this kind of function to move to a library if multiple functions linked in are not a problem.
Campbell Barton [Sat, 3 Dec 2011 22:15:13 +0000 (22:15 +0000)]
flush selected vertices when switching from vertex weight paint mode to editmode (as is done with faces).
note - a limitation with mode changing means this isnt used yet with toggling.
Brecht Van Lommel [Sat, 3 Dec 2011 21:27:19 +0000 (21:27 +0000)]
Fix cycles compile issue after last commit.
Campbell Barton [Sat, 3 Dec 2011 20:49:41 +0000 (20:49 +0000)]
shorten very long lines in drawobject.c, (no functional changes)
Campbell Barton [Sat, 3 Dec 2011 20:26:53 +0000 (20:26 +0000)]
fix for weight paint mode drawing selected verts even when it wasnt the active object.
Brecht Van Lommel [Sat, 3 Dec 2011 20:22:21 +0000 (20:22 +0000)]
Fix #29444: cycles problem building BVH with NaN vertices.
Brecht Van Lommel [Sat, 3 Dec 2011 13:16:32 +0000 (13:16 +0000)]
Fix #29483: edge slide gives nan when zoomed in close. Cause was integer
overflow leading to negative value for sqrt().
Campbell Barton [Sat, 3 Dec 2011 06:10:32 +0000 (06:10 +0000)]
add library support for rna collection __contains__, eg
("Cube", "//lib.blend") in bpy.data.objects
Alexander Kuznetsov [Sat, 3 Dec 2011 01:12:57 +0000 (01:12 +0000)]
Enables vc 2010 boost libraries for cmake
Campbell Barton [Fri, 2 Dec 2011 22:14:20 +0000 (22:14 +0000)]
de-duplicate dominant axis calculation, exact same checks were in 6 different places.
added function: axis_dominant_v3(...)
Brecht Van Lommel [Fri, 2 Dec 2011 21:10:29 +0000 (21:10 +0000)]
Fix #27620: improve mesh deform error message when it fails to bind.
Brecht Van Lommel [Fri, 2 Dec 2011 20:49:31 +0000 (20:49 +0000)]
Fix #29477: make proxy gave proxy object the wrong name with OB prefix.
Broke in revision 41125 with BLI_snprintf refactoring, checked other
changes in that commit and they seem to be fine, was just this one.
Dalai Felinto [Fri, 2 Dec 2011 20:36:13 +0000 (20:36 +0000)]
CameraData Input Cycles Node
----------------------------
reviewed and approved by Brecht
Important note:
the camera Z is reverted compared to Blender render.
Now it goes from zero (camera) to positive (in front of the camera)
Brecht Van Lommel [Fri, 2 Dec 2011 19:49:09 +0000 (19:49 +0000)]
Fix #29073: keyframing integer properties now uses linear interpolation
by default, and enums use constant interpolation. Bezier doesn't make
much sense for these.
Sergey Sharybin [Fri, 2 Dec 2011 19:40:20 +0000 (19:40 +0000)]
Merging r42193 through r42349 from trunk into soc-2011-tomato
Brecht Van Lommel [Fri, 2 Dec 2011 19:29:42 +0000 (19:29 +0000)]
Possible fix for #29436: issue with external numpad, that is generating unknown
key events. Disable using these as "key modifier".
Brecht Van Lommel [Fri, 2 Dec 2011 19:08:40 +0000 (19:08 +0000)]
Fix #28539: redraw issue with grease pencil active layer button, this was a regular
button that acted like a toggle, now made it an actual toggle button.
Jens Verwiebe [Fri, 2 Dec 2011 18:09:31 +0000 (18:09 +0000)]
OSX: match quicktime and QTKit export to other formats/codecs