Commit Graph

47612 Commits

Author SHA1 Message Date
Mitchell Stokes
714f8a4af0 BGE: Adding an assert(true); to every function defined in stubs.c. This should help in hunting down errors caused by code calling into stubs.c, which shouldn't happen while the Blenderplayer is running. Remember, stubs.c is just to help with linking, these calls should never be used! 2013-05-13 02:59:13 +00:00
Mitchell Stokes
e5bbf2441a BGE: Tweaking the linking order of the Blenderplayer (CMake) to avoid needing to put BLI code in stubs.c. This fixes an infinite loop with the Edge Split modifier in the Blenderplayer. SCons still has to be tested. 2013-05-13 02:49:18 +00:00
Campbell Barton
c961c56c64 add missing STACK_INIT, also quiet float <> double conversion warnings. 2013-05-13 02:10:59 +00:00
Campbell Barton
2107620593 fix [#35326] Even edge slide on open edge crashes Blender 2013-05-13 02:01:35 +00:00
Sergey Sharybin
91b659d174 Forgot this in one of previous commits
Idea here is to be able to have all files opened in IDE
and not confuse it by the same function implemented in
multiple files.
2013-05-12 22:40:12 +00:00
Sergey Sharybin
4dba8307f2 Compilation fix for recent commit. 2013-05-12 22:30:34 +00:00
Sergey Sharybin
32faec1a53 Remplace bunch of annoying ifdefs in tracking.c with a libmv-capi_stub.cc
Makes code in tracking.cc much easier to understand and modify,
without worring to breck compulation with Libmv disabled.

It is still possible compilation will break due to libmv-capi
changes, but that's not happening so much often.
2013-05-12 22:17:37 +00:00
Brecht Van Lommel
5c2355d364 Fix ctrl+(shift)+tab shortcut key not working on OS X after recent bugfix to
interact better with system shortcuts.

This is a special shortcut for switching between views and does not get
delivered directly to our view when we pass it through the application key
event handling path. We only have a single OpenGL view, so there's no need to
pass it on to the application, instead just interpret it directly.
2013-05-12 22:15:05 +00:00
Sergey Sharybin
33651da150 Fix for keyed marker search not happening correct in some cases
Was an heuristic failure writen for cases when there's no keyframe
in desired direction. Shall all be fine now.
2013-05-12 21:57:57 +00:00
Sergey Sharybin
df74639002 Speedup for rendered viewport for blender internal
Display code was a bottleneck here, so made it so render
result draw follows Image Draw settings.
2013-05-12 19:01:23 +00:00
Sergey Sharybin
87b308fc23 Fix for "no functional changes" commit
Apparently eitehr merge conflict happened, or i had
too much depression in blood, but first camera was
just wrong after reconstruction.
2013-05-12 18:50:39 +00:00
Ton Roosendaal
1ea1f21b63 Viewport Render Internal:
Animated characters were not rendering yet, the render code for it
caused a signal for re-draw and re-render, in eternal loop.

Solved by forcing viewport render to use the same derivedmesh data
as for 3d viewport drawing. Faster too.
2013-05-12 17:16:43 +00:00
Thomas Dinges
d46480377c Cycles / Orthographic Camera:
* Avoid one unneeded division by 1.0f and save one variable assignment.
2013-05-12 17:14:01 +00:00
Sergey Sharybin
5637b0d39b Update bundled version of libmv
- Ensures fix for msvc2012 is applying correct.
- Some code cleanup to match libmv's code style.
- Do not include points which were intersect
  behind the camera to a reconstruction.
- Includes changes needed for keyframe selection.
2013-05-12 17:06:00 +00:00
Antony Riakiotakis
c3b1f0fa20 Fix build error on MinGW64 2013-05-12 16:52:42 +00:00
Sergey Sharybin
d9ca50ff64 Refine markers position operator
This operator will run a tracker from previous
keyframe to current frame for all selected markers.
Current markers positions are considering initial
position guess which could be updated by a tracker
for better match.

Useful in cases when feature disappears from the
frame and then appears again. Usage in this case
is the following:

- When feature point re-appeared on frame, manully
  place marker on it.
- Use Refine Markers operation (which is in Track
  panel) to allow tracker to find a better match.

Depending on direction of tracking use either
Forwards or Backwards refining. It's easy: if
trackign happens forwards, use Refine Frowards,
otherwise use Refine Backwards :)
2013-05-12 16:04:14 +00:00
Sergey Sharybin
beb73831f6 Documentation for functions inside tracking.c
Additional changes:

- Cleaned up sources to reduce mess in some
  big functions.
- Removed unused function from libmv c-api.
- Made functions naming more consistent.
- Use bool for internal stuff in tracking.c.

Shall be no functional changes :)
2013-05-12 16:04:08 +00:00
Bastien Montagne
bbd533d4ac Fix for [#35238] Blender does not save custom orientations from "view"
Actually more a feature request... Now create orientations operator has an additional option, use_view, when this one is enabled it will use current view instead of active object to create the new space.

Also made some cleanup (made some funcs static).
2013-05-12 15:52:05 +00:00
Pablo Vazquez
128a1c1856 Render Layers UI
Expand the Layers panel by default on Blender Internal as well.
2013-05-12 15:25:35 +00:00
Campbell Barton
6c28e1d76a fix for crash with new bridge method used with invalid edge-loops. 2013-05-12 15:24:02 +00:00
Sv. Lockal
97d2439077 Fix crash when closing blend files with no line styles 2013-05-12 14:45:15 +00:00
Campbell Barton
4e4eff3937 remove BLI_array allocations from uv/color reverse, rotate. 2013-05-12 14:45:09 +00:00
Thomas Dinges
7636aeffe1 Cycles / Math:
* Add M_2PI_F and M_4PI_F constants and use them inside the codebase.
2013-05-12 14:13:29 +00:00
Brecht Van Lommel
469979f9cb Fix material/lamp drivers not working sometimes when they were used by multiple
objects, found while looking into another bug.
2013-05-12 13:33:20 +00:00
Bastien Montagne
127c39b8a4 Fix for [#35224] Transform Orientation - order inconsistency
Fix turned out to remove as much "manual UI" from 3D view header as possible. Mode selector and all transform manipulators/orientations stuff are now RNA-based UI (leaving basically only edit mesh select modes with custom handlers, as they have some quite specific features).

To achieve this, four main modifications were done:
* enum-operator-generated menus are now MENU (i.e. dropdown lists) in headers too.
* All bit-flag enums expanded in ROW buttons now have a handling consistent with e.g. layers, or what we already have for transform manipulators, i.e. clicking select only one element, shift-click to select multiple ones.
* Consequently, the three RNA booleans manipulators flags are merged into a single bit-flag enum (yes, this is also an API change, though I doubt many scripts use it).
* Now the width of enum-based dropdown lists is computed from longest item name in enum, no more from a dummy place holder string (when no label/name is given).

All this allows to remove some code from 3DView/transform areas, that was actually mostly duplicating RNA/operator one.

Also done a few optimizations here and there (among others, do not pass &numitems to RNA_property_enum_items() when you do not need it, saves at least an iteration over enum items to count them).

Many thanks to Brecht for the reviews!
2013-05-12 13:16:11 +00:00
Ton Roosendaal
5fcf9b1d2f 3D viewport render preview:
- Put it available as a default now (no debug value needed)
- Fixed viewport size error, viewport was badly set
  (visible with border render, property regions)
- Fixed hanging lock in conflict between drawing and initialize
  new renders.
2013-05-12 13:15:41 +00:00
Campbell Barton
40535f5ef3 bmesh recalculate normals - remove BLI_array reallocation, the max size of the array is known.
replace with STACK_* macros (moved to BLI_utildefines.h).
2013-05-12 12:23:44 +00:00
Campbell Barton
85145db47b remove wanton use of array reallocation for mesh smoothing. 2013-05-12 12:06:08 +00:00
Campbell Barton
60f88c94c1 bridge tool: add support for face selection. 2013-05-12 11:41:19 +00:00
Campbell Barton
f87464392c bridge option to bridge loop pairs,
change the operator option to an enum: Connect Loops - open/closed/pairs
because it was getting confusing having all as bools.
2013-05-12 10:00:15 +00:00
Brecht Van Lommel
877e0e1184 Fix #35319: python 2x2 matrix inverse and adjugate were wrong. 2013-05-12 09:26:02 +00:00
Brecht Van Lommel
70eaf2fe44 Image paint: 2D painting now supports texture masks and does masking more
consistent with projection painting.

Also did some refactoring of this code, moving the brush image creation code
out of brush.c and making it consistent with image updating code.
2013-05-12 09:14:13 +00:00
Brecht Van Lommel
698f1b5603 Fix #35317: crash with boolean modifier using an object whose library linked
mesh datablock went missing.
2013-05-12 09:14:07 +00:00
Campbell Barton
cf96fdfc65 Optimize face-select drawing (weight/vertex paint mode face selection)
with bmesh theres no need for edge-hash lookups, replace EdgeHash with BLI_bitmap.
2013-05-12 08:42:24 +00:00
Campbell Barton
0d36225dd1 quiet sign conversion warnings and reduce sign conversion for BLI_string, and BLF. 2013-05-12 06:33:21 +00:00
Campbell Barton
7b707fff56 correct assert for driver evaluation,
also add asserts for listbase functions when the list is NULL, and use noreturn attribute for jpeg_error.
2013-05-12 05:54:33 +00:00
Campbell Barton
b6345616a7 fix for 2 crashes in bridge tool mixing open/closed loops with different vertex counts. 2013-05-12 04:08:45 +00:00
Campbell Barton
9cd0c5f7fb bridge tool: support for bridging loops with different numbers of vertices. 2013-05-12 03:36:41 +00:00
Campbell Barton
dc1a36534d add support for bridging multiple edge loops at once. 2013-05-11 16:20:29 +00:00
Ton Roosendaal
01063faf6f Bug fix, irc submitted
If you have three scenes, current is A, others are B and C.

B uses C as background, and C uses B as a background.
(which is possible via linked libraries)

If you then try to use B or C as background of A, code went to eternal loop.
2013-05-11 16:15:09 +00:00
Ton Roosendaal
cda9407177 Bug fix #35307
Popup menus in nodes, with nodes outside window boundary, were clipped very badly, even
causing it to fill entire window.

Now the clip code nicely translates the menu horizontally to be in view.
2013-05-11 15:29:57 +00:00
Campbell Barton
55f929ab3d - add generic edge-loop utility functions for bmesh.
- rewrite bridge tool to use the new functions (using edge & vertex arrays was quite cumbersome).
2013-05-11 14:40:03 +00:00
Brecht Van Lommel
309db8032c Fix libmv build with visual studio 2012.
Patch #35158 by Jurgen Herrmann.
2013-05-11 13:10:39 +00:00
Brecht Van Lommel
f35a9328e0 Fix for previous fix, not sure it will cause issues in practice but better be
sure to avoid invalid memory access.
2013-05-11 12:21:33 +00:00
Campbell Barton
a19f7899fb utility functions to reverse and rotate linklists. 2013-05-11 12:18:12 +00:00
Brecht Van Lommel
a919b0e4c3 Fix #35265: on OS X, pressing system shortcuts such as cmd+M or cmd+` would both
insert text in the text editor and do the associated operation like minimizing the
window or switching windows.

The code was always doing both without trying to ensure only one is done. Now we
integrate a bit better with the event handling and pass the event to NSApp, which
then decides to handle the event itself or pass it on to the window, from where
we then send it back to be handled.
2013-05-11 10:15:27 +00:00
Brecht Van Lommel
561cf26c2f Fix #35306: cycles normal mapping not working with flat shading. 2013-05-11 09:31:58 +00:00
Mitchell Stokes
18fda6d84c BGE: Fix for [#34044] "Objects with no material don't have their "face image" always working on bge" reported by Dalai Felinto (dfelinto).
NULL materials are no longer cached.
2013-05-11 03:20:19 +00:00
Mitchell Stokes
b0261a446d BGE: Fix for [#34631] "Textures bad in game mode" reported by pablo aaa (p9ablo).
Disabling caching if materials have Face Textures enabled.
2013-05-11 02:43:35 +00:00
Campbell Barton
ce39c806cf only use OSKEY as a replacement for CTRL on Apple (was already the case in many areas). 2013-05-11 01:12:29 +00:00