Commit Graph

27671 Commits

Author SHA1 Message Date
Sergey Sharybin
d30987fd59 Camera tracking integration: more code cleanup 2011-11-10 11:16:40 +00:00
Sergey Sharybin
55d0cb04aa Camera tracking integration: cleanup and finish some parts of recent commit
- Replace set of booleans with menu, so now you'll simply be unable to choose
  unsupported refine combination
- Some internal code cleanup and minor refactor
2011-11-10 11:16:33 +00:00
Keir Mierle
d4fec9f19f Assorted camera tracker improvements
- Add support for refining the camera's intrinsic parameters
  during a solve. Currently, refining supports only the following
  combinations of intrinsic parameters:

    f
    f, cx, cy
    f, cx, cy, k1, k2
    f, k1
    f, k1, k2

  This is not the same as autocalibration, since the user must
  still make a reasonable initial guess about the focal length and
  other parameters, whereas true autocalibration would eliminate
  the need for the user specify intrinsic parameters at all.

  However, the solver works well with only rough guesses for the
  focal length, so perhaps full autocalibation is not that
  important.

  Adding support for the last two combinations, (f, k1) and (f,
  k1, k2) required changes to the library libmv depends on for
  bundle adjustment, SSBA. These changes should get ported
  upstream not just to libmv but to SSBA as well.

- Improved the region of convergence for bundle adjustment by
  increasing the number of Levenberg-Marquardt iterations from 50
  to 500. This way, the solver is able to crawl out of the bad
  local minima it gets stuck in when changing from, for example,
  bundling k1 and k2 to just k1 and resetting k2 to 0.

- Add several new region tracker implementations. A region tracker
  is a libmv concept, which refers to tracking a template image
  pattern through frames. The impact to end users is that tracking
  should "just work better". I am reserving a more detailed
  writeup, and maybe a paper, for later.

- Other libmv tweaks, such as detecting that a tracker is headed
  outside of the image bounds.

This includes several changes made directly to the libmv extern
code rather expecting to get those changes through normal libmv
channels, because I, the libmv BDFL, decided it was faster to work
on libmv directly in Blender, then later reverse-port the libmv
changes from Blender back into libmv trunk. The interesting part
is that I added a full Levenberg-Marquardt loop to the region
tracking code, which should lead to a more stable solutions. I
also added a hacky implementation of "Efficient Second-Order
Minimization" for tracking, which works nicely. A more detailed
quantitative evaluation will follow.
2011-11-09 10:07:43 +00:00
Sergey Sharybin
af5526e58c Camera tracking integration: Final pre-merge code clean-up 2011-11-07 12:50:26 +00:00
Sergey Sharybin
ca24008a77 Merging r41597 through r41607 from trunk into soc-2011-tomato 2011-11-07 12:49:52 +00:00
Bastien Montagne
e122dc0748 Removing a wrong node_type_storage (checked and confirmed by lukas_t). 2011-11-07 09:33:49 +00:00
Sergey Sharybin
22723a313e Fix #29174: Vertex normals temporarily incorrect after deleting a face
Looks like it was just missed recalc_editnoormals call in Delete Mesh operator.
2011-11-07 07:16:30 +00:00
Campbell Barton
4b3cc63f73 fix [#29183] Make duplicates real: parent informations of the group is not copied
infact this is a feature request but we had reports about it before and its useful to have.

2 new options for OBJECT_OT_duplicates_make_real
- parent to original duplicator
- keep internal hierarchy
2011-11-07 05:28:26 +00:00
Campbell Barton
bb8fe0bf4a minor edits
- remove unneeded type check from convert grease pencil operator.
- correct some error prints & use __func__.
- make copy_libblock take an ID* argument rather than void*.
2011-11-07 04:36:37 +00:00
Campbell Barton
96d73bfdcf replace VECCOPY with copy_v3_v3, same for 2d copy, also added vec copy functions for int & char. 2011-11-07 01:38:32 +00:00
Sergey Sharybin
a35a31880e Camera tracking integration
===========================

- Fixed to incorrect users count for clip datablocks when performing some actions.
- Slight changes in used notifiers.
2011-11-06 18:40:13 +00:00
Sergey Sharybin
afe399d84f Merging r41564 through r41596 from trunk into soc-2011-tomato 2011-11-06 18:38:20 +00:00
Campbell Barton
85540d5aa7 more macro --> BLI math lib, mainly replace VECCOPY in render and blenkernel. 2011-11-06 16:38:21 +00:00
Campbell Barton
7c88bc5952 replace macros for bli math functions in editors 2011-11-06 16:34:44 +00:00
Campbell Barton
3d1e45c414 replace macros with bli math functions for nodes 2011-11-06 16:23:28 +00:00
Lukas Toenne
b05ee8b65f Fix for bug #29046, the factor buffer input was not used correctly in curve nodes.
Curve Map exec function (for RGB curves) used a broken test condition for constant factor=1.0f eval. This must take the factor buffer into account, checking the factor vec for default value is not sufficient. These kinds of test should use a function interface, there are probably a lot more bugs like this hidden in the code.
2011-11-06 15:40:00 +00:00
Campbell Barton
d8717d2628 more macro --> bli math lib replacements. 2011-11-06 15:39:20 +00:00
Campbell Barton
ec3b0c6a96 misc macro --> bli math lib functions 2011-11-06 15:17:43 +00:00
Campbell Barton
0634d8a745 replace macros with math functions for render code 2011-11-06 14:36:37 +00:00
Campbell Barton
b82dee0cb4 replace macros with bli math functions for particles code 2011-11-06 14:00:55 +00:00
Joshua Leung
e03fdd8112 Second attempt at getting rid of bsystem_time()
Hopefully this fixes Collada. Can't really compile that to check
here...
2011-11-06 12:12:14 +00:00
Campbell Barton
d738c8df1f use BLI math functions for kdopbvh (no functional change) 2011-11-06 12:11:50 +00:00
Joshua Leung
723484ec06 Removed old "bsystem_time()" function, which by now is just a
duplicate of BKE_curframe() which just takes two extra args.

For the few calls in the physics engine where CFRA+1 instead of CFRA
was being used, I've added a new BKE_nextframe() call, which will
calculate for CFRA+1 instead of CFRA in much the same way that
bsystem_time() would end up doing things (which means including
subframe steps).
2011-11-06 06:08:18 +00:00
Joshua Leung
440c1c2c17 As discussed on the mailing list, removing the non-functional,
incompatible, and unmaintainable Time Offset cruft.

- Slow Parenting lives another day (just), although it now carries
appropriate cautionary disclaimers. It's only really for the Game
Engine nowadays, as that's the only place where it can possibly work
with any reliability.
- "Animation Hacks" panel is now "Relations Extras". I could've merged
the two panels, though I figured these options weren't that frequently
used to justify taking up screen-space by default along with the panel
2011-11-06 05:46:45 +00:00
Campbell Barton
4c17f8e5de PyUnicode_From_STR_String utility function which passes STR_String to PyUnicode_FromStringAndSize (saves a call to strlen).
Also made CValue::ConvertKeysToPython use faster list creation and improved some of the macro formatting.
2011-11-06 01:39:36 +00:00
Sergey Sharybin
8c461466f3 Camera tracking integration
===========================

Code cleanup and minor refactor. Moved some functions from movieclip.c
to tracking.c due to they're operating on tracking data only.
2011-11-05 16:32:06 +00:00
Sergey Sharybin
497ea3c34e Camera tracking integration
===========================

Hopefully last codereview issue fix: do not set movieclip ID block in init function of nodes.
2011-11-05 15:14:28 +00:00
Sergey Sharybin
dea3b348e5 Camera tracking integration
===========================

- Set as Background button will enable displaying background images in 3d space.
- Move options in Display panel to column. Saves some space.
- Camera solving now should deal fine with non-centered principal.
2011-11-05 14:37:43 +00:00
Sergey Sharybin
5a49d05eba Merging r41555 through r41563 from trunk into soc-2011-tomato 2011-11-05 14:34:14 +00:00
Campbell Barton
2a7ade9de2 remove po/ since the workflow for translations uses branches which isnt that useful to have within blenders source dir.
For now treat translations as binary files - just access from 'release/datafiles/locale'
2011-11-05 14:26:18 +00:00
Brecht Van Lommel
647447db58 Code refactoring: split lamp functions from object.c into new lamp.c. 2011-11-05 13:11:49 +00:00
Brecht Van Lommel
9884129117 Code refactoring: split camera functions from object.c into new camera.c. 2011-11-05 13:00:39 +00:00
Sergey Sharybin
cb67a63374 Camera tracking integration
===========================

- Fix in rna description for pyramid level
- Unlock clip editor when deselecting all markers, deleting all marker
  or hiding them.
- Keep disabled marker when clearing upto/after so there'll be no
  estimated markers in this case which doesn't have much sense here.
2011-11-05 11:53:10 +00:00
Sergey Sharybin
e0cae62fb4 Merging r41536 through r41554 from trunk into soc-2011-tomato 2011-11-05 11:50:40 +00:00
Campbell Barton
33accdb725 use (const char*) rather than (char*) where possible.
also removed some unused function definitons.
2011-11-05 11:04:28 +00:00
Brecht Van Lommel
45b8a61bf3 Fix #29162: grease pencil did not decrement user count on adding new datablock
to replace an existing one.
2011-11-05 10:48:43 +00:00
Sergey Sharybin
133a7df75e Disable x-mirror option when proportional edit is enabled.
This option isn't supported because it behaves strangely in 50% of cases and
hopefully disabled x-mirror will stop users be confused by this.
2011-11-05 10:19:36 +00:00
Campbell Barton
e5647ea196 py operators - don't use the screen as an operators ID anymore, screen's don't store operator instances and operator functions have access to the context if they need the current screen.
also add some more py api file descriptions.
2011-11-05 08:40:07 +00:00
Campbell Barton
2b939904ab documentation - brief descriptions for bpy api files. 2011-11-05 08:21:12 +00:00
Campbell Barton
62f2218554 macro formatting & remve some unused code. 2011-11-05 05:44:52 +00:00
Nicholas Bishop
a71e2c498c GPU Buffers
Small type cleanup, use `GPU_Buffers *' rather than `void *'. Should
be no functional changes.
2011-11-05 03:29:37 +00:00
Campbell Barton
cc7e79f372 more DNA object edits
- remove 'path' pointer, wasnt used anywhere.
- remove comments about what each game flag 'bit' does, these are defines now.
- reduce the size of DupliObject 8 bytes.
also commented some of the struct members.
2011-11-05 03:02:55 +00:00
Campbell Barton
b0adf37ef9 - view bounds (now split from collision bounds) was still being used for bge physics in one place, comparison was incorrectly treating it as a flag too.
- cleanup Object struct - remove pad and unused flags, convert some shot's to char's, saving 24 bytes.
2011-11-05 02:30:25 +00:00
Campbell Barton
057bf2a02b misc doc edits
- remove recently added sphinx reference workaround.
- tested doxygen, correct some warnings, set tab width and added pymathutils group.
- added convenience target 'make doc_doxy'
2011-11-05 01:48:10 +00:00
Brecht Van Lommel
6483069a84 Fix #29138: changing game engine physics type from soft body to occluder, navmesh
or no collision did not clear flag properly, causing soft body to still be
partially applied.
2011-11-05 00:59:50 +00:00
Brecht Van Lommel
1ba044b18d Fix #29141: fill / beautify fill produced incorrect results in edge selection mode. 2011-11-05 00:52:01 +00:00
Sergey Sharybin
4a65e8c30f Camera tracking integration: post-merge compilation fix 2011-11-04 22:15:34 +00:00
Sergey Sharybin
2cc8d75bd8 Forgot to initialize sensor height when creating new camera. 2011-11-04 22:13:30 +00:00
Sergey Sharybin
c94a07f85f Merging r41246 through r41535 from trunk into soc-2011-tomato 2011-11-04 21:57:01 +00:00
Brecht Van Lommel
c13bf35c22 UI: fix region embossing being drawn 1 pixel misaligned, due to wrong opengl state. 2011-11-04 21:29:28 +00:00