Commit Graph

5976 Commits

Author SHA1 Message Date
Joshua Leung
2b6e4f2422 Bugfix [#29064] armature with curve contraint - crash
Spline IK and Auto-IK working together on the same bone chain could
crash due to the somewhat hacky way that they were sharing the same
list for the "iktree" forest. Resolved by doing what I should have
done from the beginning, and made Spline-IK save its ik chains off
into a separate list.

While this fixes the crash, it might be worth investigating outright
disabling this from working in this case, since it can be a bit
confusing to have it appear to not work.
2011-11-07 13:25:17 +00:00
Sergey Sharybin
7b43abb90e Camera tracking integration
===========================

Rest of changes from camera tracking gsoc project.

This commit includes:

- New compositor nodes:
  * Movie Clip input node
  * Movie Undistortion node
  * Transformation node
  * 2D stabilization node

- Slight changes in existing node to prevent code duplication
2011-11-07 12:56:05 +00:00
Sergey Sharybin
27d42c63d9 Camera tracking integration
===========================

Commiting camera tracking integration gsoc project into trunk.

This commit includes:

- Bundled version of libmv library (with some changes against official repo,
  re-sync with libmv repo a bit later)
- New datatype ID called MovieClip which is optimized to work with movie
  clips (both of movie files and image sequences) and doing camera/motion
  tracking operations.
- New editor called Clip Editor which is currently used for motion/tracking
  stuff only, but which can be easily extended to work with masks too.

  This editor supports:
  * Loading movie files/image sequences
  * Build proxies with different size for loaded movie clip, also supports
    building undistorted proxies to increase speed of playback in
    undistorted mode.
  * Manual lens distortion mode calibration using grid and grease pencil
  * Supervised 2D tracking using two different algorithms KLT and SAD.
  * Basic algorithm for feature detection
  * Camera motion solving. scene orientation

- New constraints to "link" scene objects with solved motions from clip:

  * Follow Track (make object follow 2D motion of track with given name
    or parent object to reconstructed 3D position of track)
  * Camera Solver to make camera moving in the same way as reconstructed camera

This commit NOT includes changes from tomato branch:

- New nodes (they'll be commited as separated patch)
- Automatic image offset guessing for image input node and image editor
  (need to do more tests and gather more feedback)
- Code cleanup in libmv-capi. It's not so critical cleanup, just increasing
  readability and understanadability of code. Better to make this chaneg when
  Keir will finish his current patch.

More details about this project can be found on this page:
    http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011

Further development of small features would be done in trunk, bigger/experimental
features would first be implemented in tomato branch.
2011-11-07 12:55:18 +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
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
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
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
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
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
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
Campbell Barton
62f2218554 macro formatting & remve some unused code. 2011-11-05 05:44:52 +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
Sergey Sharybin
2cc8d75bd8 Forgot to initialize sensor height when creating new camera. 2011-11-04 22:13:30 +00:00
Sergey Sharybin
77934cfaed Fix #28865: Draw_bounds_type does not display Polyhedron or Capsule types
Separate DNA properties for bounding box used for bounding box display
in 3d viewport and bounding box used for collision detection in game engine.

Bumped subversion for proper updating old files to new system, but it
need more complex testing.
2011-11-04 15:53:34 +00:00
Campbell Barton
209ceb6969 correct some warnings, also sensor_x was being paassed to object_camera_matrix(...) for x and y args, looks like an accident 2011-11-04 15:21:34 +00:00
Sergey Sharybin
4ea816837d Configurable sensor size:
- Added support of variable size sensor width and height.
- Added presets for most common cameras, also new presets can be defined by user.
- Added option to control which dimension (vertical or horizontal) of sensor
  size defines FOV. Old behavior of automatic FOV calculation is also kept.
- Renderer, viewport, game engine and collada importer/exporter should
  deal fine with this changes. Other exporters would be updated soon.
2011-11-04 14:36:06 +00:00
Brecht Van Lommel
21d188a70f Depsgraph: add "Dependency Relations" operator to print the dependency graph to
the console, useful for debugging and understanding the relations.
2011-11-04 13:17:35 +00:00
Brecht Van Lommel
90acd1d0fc Fix #29146: object used for particle instancing did not update when affected
by an object on a hidden layer. Dependency was set in the wrong direction.
2011-11-04 12:53:46 +00:00
Joshua Leung
3717059511 Comments and other text editing:
* Renamed one of the two "File is Saved" entries, as having two
entries with the same name in the Datablocks viewer was confusing
* Edited the tooltip text for "speed" option for dupliframes to
clarify what it does (or what it's supposed to do)
2011-11-04 08:08:47 +00:00
Joshua Leung
dbc5941cae Bugfix [#28515] Dupliframes start/end animation broken since 2.56A
Due to changes with the way that dupliframes were being evaluated (one
of those being that the animation for the object being animated would
get reevaluated for every frame sample for dupliframes) to get them
working properly again sometime during the 2.5 series, the dupliframe-
sampling loop would be prematurely terminated on the first frame in
this example.

That is because after the first step of the loop, the ob->dupend
property would have changed its value as it was being animated,
leading to the loop terminating, and only the a single dupli getting
added.
2011-11-04 08:06:46 +00:00
Campbell Barton
87cd81b162 - added docs and examples for bpy.app.handlers
- correct error in own last commit for BKE_screen_find_big_area()
2011-11-04 04:27:46 +00:00
Campbell Barton
2d787e6e01 utility function to find the biggest area: BKE_screen_find_big_area(...), was being done with static functions that were copied about. 2011-11-04 01:15:04 +00:00
Brecht Van Lommel
d53989bda6 Depsgraph: more tweaking for update acces from python API
* Move scene_update_pre callback before depsgraph flusing so it works better
  when you do modifications on objects then.
* Fix missing update after making modifications in frame_change_pre, recalc
  flags were not being flushed.
2011-11-03 16:41:48 +00:00
Sergey Sharybin
b99f6e3d08 Fix #29005: Bezier/Surface Datablock switching bug?
This commit updates curve datablock to respect curve dimension flag
when setting datablock for curve.

Not ideal but this makes behavior quite expected, avoids big changes in
curves core stuff which depends on object type and prevents restrictions
on changing data datablock which works in general cases.
2011-11-03 16:16:19 +00:00
Sergey Sharybin
aefa2cda10 Fix #28935: Material display error VBO + Texture Solid + Modifier 2011-11-03 12:43:45 +00:00
Joshua Leung
9e8a7c7e31 Bugfix [#29113] "Follow path" constraint subframes calculated
incorrectly

"Follow Path" constraint was applying subframe offsets to the curve-
path evaltime value for non-fixed case. However, it turns out that
when doing old-style mblur, this results in the offset getting applied
twice, resulting in incorrect values (i.e. by the time the constraint
gets ctime, this already has had subframe offset applied, and so too
has curve evaltime).
2011-11-03 11:20:22 +00:00
Brecht Van Lommel
fa8fffac1c Depsgraph/Python: ensure datablocks with animation data get tagged as being
updated on frame change.
2011-11-03 10:03:08 +00:00
Campbell Barton
1f291a69c1 correct spelling mistakes 2011-11-03 03:00:45 +00:00
Brecht Van Lommel
723e129252 Depsgraph/Python: callbacks and properties to detect datablock changes
* Adds two new python handlers: scene_update_pre() and scene_update_post()
  These run before and after Blender does a scene update on making modifications
  to the scene.
* Datablocks now have an is_updated property. This will be set to true in the
  above callbacks if the datablock was tagged to be updated. This works for the
  most common datablocks used for rendering: object, material, world, lamsp,
  texture, mesh, curve.
* Datablock collections also have an is_updated property. If this is set, it
  means one datablock of this type was added, removed or modified. It's also
  useful as a quick check to avoid looping over all datablocks.
* RenderEngine.view_update() can also check these properties, for interactive
  viewport rendering.

http://wiki.blender.org/index.php/Dev:2.6/Source/Render/UpdateAPI
2011-11-02 20:56:52 +00:00
Brecht Van Lommel
ac52c79cb1 RenderEngine/Nodes: system to check for shading nodes compatibility
* Scene.use_shading_nodes property to check if RenderEngine is using new shading
  nodes system, and RenderEngine.bl_use_shading_nodes to set this.
* Add mechanism for tagging nodes as being compatible with the old/new system.
2011-11-02 19:24:30 +00:00
Brecht Van Lommel
30f1f28a8a Nodes: add support for shader nodes on world and lamps, in addition to materials.
The internal render engine does not support them, and they are not accesible in
the UI yet, but cycles will use them.
2011-11-02 18:55:32 +00:00
Thomas Dinges
aa363800b0 World Stars:
* Remove remaining star color code, was unused. Marked as deprecated in DNA.
2011-11-02 14:28:16 +00:00
Campbell Barton
d7de4d28dd quiet some warnings. 2011-11-01 22:51:10 +00:00
Campbell Barton
dd8a575c22 correct header, for some reason gcc doesnt warn about this 2011-11-01 09:47:19 +00:00
Campbell Barton
2ad80bf3bb vertex group mirror
- now works in vertex select + weight paint mode.
- added option not to mirror all vertex groups.
2011-11-01 08:11:55 +00:00
Campbell Barton
bcdcbb65c1 macro to check if an object type supports vgroups 2011-11-01 06:45:36 +00:00
Campbell Barton
e3f03d72b6 added path traversal flag - BPATH_TRAVERSE_SKIP_MULTIFILE,
so path manipulation functions dont run multiple times on the same path in the case of sequence strips where the one directory is used as the base for many images.
2011-11-01 06:26:55 +00:00
Campbell Barton
797d2bbd88 use_verify option to defvert_sync_mapped and defvert_sync was flipped, also minor edits to defvert_verify_index() - no functional change. 2011-10-31 06:13:20 +00:00
Campbell Barton
dc1b3d88b8 fix [#29098] File save dialog cannot handle extra periods in file name 2011-10-31 00:23:42 +00:00
Campbell Barton
c4fa7bf286 make_uv_vert_map() was looping over the texture face for not reason. 2011-10-30 06:53:25 +00:00
Thomas Dinges
f837b46a2b Modifier compilation tweaks (Blender conference commit)
* Fluid compilation: Inverse the compile flag from DISABLE_ELBEEM to WITH_MOD_FLUID for consistency. (scons/cmake)
* Use WITH_BF_FLUID in your user config (scons) 

* Add support for scons to disable build with Decimate and Boolean modifier. 
(WITH_BF_DECIMATE and WITH_BF_BOOLEAN)
2011-10-29 23:56:07 +00:00
Campbell Barton
0d63bb005f replace VECCOPY and QUATCOPY with inline funcs. 2011-10-28 12:40:15 +00:00
Campbell Barton
4b635d1631 use generic path remapping when making all library data local, previously only image paths were getting corrected, now all paths will (scene image seq strips, pointcache etc) 2011-10-28 04:44:59 +00:00