Commit Graph

6359 Commits

Author SHA1 Message Date
Campbell Barton
9f2443293e replace fixed sizes with sizeof when passing string length since size wasn't always correct. 2012-01-12 13:16:30 +00:00
Campbell Barton
309f3f31e7 remove redundant trailing slashes 2012-01-12 06:11:08 +00:00
Campbell Barton
fbc4846a6e dynamicpaint had some incorrect string sizes for layers names, use BLI string functions in more places too. 2012-01-11 12:56:31 +00:00
Campbell Barton
e10fd04db0 use BLI_strncpy and BLI_snprintf when the size of the string is known.
fix for sequencer unique naming which was missed with string length update.
2012-01-11 12:33:51 +00:00
Campbell Barton
535d27eb49 minor cleanup for string use - no functional changes
- use more logical names for strings, noticed too many strings called `str` when reviewing name patch.
- pass __func__ macro to uiBeginBlock(), quite a few names were wrong (copy/paste error).
2012-01-11 09:33:44 +00:00
Sergey Sharybin
51bada696f Longer names support for all ID and other object names
This commit extends limit of ID and objects to 64 (it means 63 meaning
characters and 1 for zero-terminator). CustomData layers names are also
extended.
Changed DNA structures and all places where length constants were hardcoded.

All names which are "generating" from ID block should be limited by MAX_ID_NAME-2,
all non-id names now has got own define called MAX_NAME which should be used all
over for non-id names to make further name migration stuff easier.

All name fields in DNA now have comment with constant which corresponds to
hardcoded numeric value which should make it easier to further update this
limits or even switch to non-hardcoded values in DNA.

Special thanks to Campbell who helped figuring out some issues and helped a lot
in finding all cases where hardcoded valued were still used in code.

Both of forwards and backwards compatibility is stored with blender versions newer
than January 5, 2011. Older versions had issue with placing null-terminator to
DNA strings on file load which will lead to some unpredictable behavior or even
crashes.
2012-01-11 08:51:06 +00:00
Dalai Felinto
782f0b6382 bge camera actuator: -X and -Y axis
The camera actuator only allows to look the object from its front face.

Given that Blender takes -Y as the default forward orientation, the current
functionality doesn't let a camera to track an actor from behind.

This patch allows for -X and -Y axis tracking. This way a camera over the
shoulders of a character is possible (without resorting to rotate the
mesh/armature original orientation.

- patch reviewed by Campbell Barton, thanks
2012-01-11 07:27:39 +00:00
Peter Larabell
eccc04c87f 2012-01-10 19:08:08 +00:00
Campbell Barton
0e4f4acc2f comment unused vars 2012-01-09 22:18:04 +00:00
Sergey Sharybin
0e4e608b71 Camera tracking: fixes for preview widget
- Clamping of image on boundaries now happens nicely
- Looks like to prevent dark edges on image boundary when doing
  bicubic interpolation, margin should be 3px. Maybe somebody can verify this?
2012-01-09 20:19:07 +00:00
Sergey Sharybin
5bf5d5a844 Camera tracking: tracks copy/paste operator
This commit implements basic clipboard support for movie tracking data
int clip editor. Used own implementation of clipboard like it's done
for sequencer.
Ideally it needed to be switched to more general clipboard system, but
currently this system is designed for text data only and it need to
be re-designed itself. But this feature is quite useful since object
tracking is implemented, so it should be OK to live with such own
implementation for a while.
2012-01-09 20:18:48 +00:00
Sergey Sharybin
a69904aefe Camera tracking: improvements of python api
- marker_find_frame moved to MovieTrack.markers and called find_frame
- Added MovieTrack.markers.insert_frame to insert marker at specified frame
- Added MovieTrack.markers.delete_frame to delete marker from specified frame
2012-01-09 20:18:28 +00:00
Sergey Sharybin
7eb3b37bec Fix #29835: joining meshes leads to crash 2012-01-09 15:17:09 +00:00
Sergey Sharybin
8198880d44 Fix #29793: Physics go crazy if frames get skipped
Calculate cloth and softbody only for single frame time deltas
(like it's already done for smoke)
2012-01-09 14:08:06 +00:00
Campbell Barton
ec58ff19ad have add_weight_mcol_dm() set the 4th corner of a tri faces color to 0, otherwise uninitialized memory gets copied about. 2012-01-09 10:38:22 +00:00
Brecht Van Lommel
8bfa48384d Cycles: checker texture node, patch by Thomas. 2012-01-08 14:55:43 +00:00
Lukas Toenne
3dead22c73 Improved auto-hiding of unused sockets for collapsed nodes.
Instead of generally hiding all unused sockets in collapsed mode, the sockets now have a new explicit flag SOCK_AUTO_HIDDEN, which is only toggled when the hide_toggle operator is called. This way the auto-hidden sockets stay as they are when nodes are duplicated etc. The new flag is necessary to distinguish between manually hidden sockets (via hide_sockets_toggle operator) and automatically hidden sockets and restore the node state when unhiding a node.
2012-01-08 10:23:19 +00:00
Joshua Leung
fd889253e4 Code cleanup
Removing some old + unused stuff that's not coming back. For example, the code
for the old "specials menu" used everywhere/all contexts.
2012-01-08 04:14:13 +00:00
Sergey Sharybin
667ae778b9 Fix #29743: Video sequencer wipe effect bug
Blur width used to be calculated quite strange depending on current angle.
Also, it used to be using wrong formula to calculate distance between
current point and boundary line which made blur width almost useless.

Now actual blur width is doesn't depend on angle and use corrected formula
for distance calculation which makes blur width slider behaves more
predictable.

This commit might make old files using wipe+blur be rendered a bit differently,
but don't think it's indeed issue because old behavior was crappy to setup
something useful so don't think this setup was used a lot.
2012-01-06 10:08:46 +00:00
Campbell Barton
0a4c4d1d1a correct error in own commit r43159, unintentionally removed NULL check 2012-01-05 22:14:38 +00:00
Campbell Barton
a46feb5b8f no need to recalculate normals after setting smooth flags, for a short time the flag was used for vertex normals but not anymore. 2012-01-05 15:45:57 +00:00
Campbell Barton
472396945e add _default versions of sequence sound functions since most of their uses passed along the same args from sequence strips. (no functional changes) 2012-01-05 10:34:50 +00:00
Sergey Sharybin
cd84a43334 Camera tracking: added depth object to Follow Track constraint
If this object is defined, object with Follow Track constraint would be
projected into surface of this depth object.
If object is not set or there's no projection onto it, projection plane
calculated based on original object position would be used.

This allows to make cheap facial mocap.
2012-01-04 17:20:08 +00:00
Sergey Sharybin
a4604c457d Camera tracking: more accurate track preview widget
- Added 1px extra margin to deal with bicubic interpolation nicely
- Code should be a bit more clear now
2012-01-04 15:25:43 +00:00
Joshua Leung
268ca6b2f7 Code cleanup - removing some ugly/obsolete stuff I came across while hacking
some other stuff earlier
2012-01-03 10:55:46 +00:00
Alex Fraser
7d19ff1497 Added OpenMP multithreading for SPH particle systems. 2012-01-02 12:10:50 +00:00
Alex Fraser
b6fb3d97f1 SPH particle simulation fixes:
- Using correct frame to update particle system tree for SPH simulation (i.e. psys_update_particle_bvhtree(psys, cfra)).
 - Increased SPH neighbour count to 512 - this greatly reduces BVH tree search bias, and makes simulations more symmetrical.
Adaptive time step improvements:
 - Fix for relative velocities based on previous state (fixes fast-moving particle clusters).
 - Only reporting on element size once per time step. Prevents incorrect Courant number from being calculated when using multiple-step integration.
2012-01-02 11:46:02 +00:00
Bastien Montagne
ab097223d4 Fix [#29556] shrinkwrap generates spikes if vertices fall exactly on the edge
bvhtree_ray_tri_intersection now using isect_ray_tri_epsilon_v3 with FLT_EPSILON. All devs I asked (incuding ones in physics/painting areas) were rather OK with this change, and better to do it now, with more than one month to detect regressions, if any!
2012-01-01 16:37:01 +00:00
Sergey Sharybin
3bb3d46ccf Code cleanup: do not use check for nan when doing check for finite due to
finite() would be FALSE in case of nan to.

Thanks to Campbell for this information.
2011-12-31 11:03:32 +00:00
Miika Hamalainen
0f2f2fe1a8 Dynamic Paint:
* Fix: Smudge and brush velocity settings didn't work for "image sequence" surfaces unless any paint effect was enabled.
* Adjusted some property ranges.
2011-12-31 10:28:36 +00:00
Sergey Sharybin
59b406ce73 Minor code cleanup after resolving conflicts 2011-12-31 09:30:39 +00:00
Sergey Sharybin
1ad83b4cba Tag object with object solver constraint to recalc when changing value of
tracking object scale.
2011-12-31 08:26:59 +00:00
Campbell Barton
65c74f1570 workaround for error building with clang and quiet some warnings building without libmv. 2011-12-31 03:01:18 +00:00
Nicholas Bishop
289c8b5758 Add remesh modifier (dual contouring).
This patch adds a new remeshing modifier. The algorithm is based on
the paper "Dual Contouring of Hermite Data", and the implementation
was contributed to Blender by Dr. Tao Ju.

The contributed code is in intern/dualcon, and was modified to compile
under gcc and work on 64-bit systems. Files not needed for Blender
were removed and a small C wrapper was added in order to interface it
with Blender. The rest of the patch is just standard modifier stuff.

Reviewed by Sergey, code review link:
http://codereview.appspot.com/5491053/

The remesh icon was contributed by Zafio:
http://blenderartists.org/forum/showthread.php?240751-Request-for-modifier-icon/page2.
Thanks to everyone in that thread for the icon proposals and
discussion.

Documentation and examples on the Blender wiki:
http://wiki.blender.org/index.php/User:Nicholasbishop/RemeshModifier

In case the history is needed for anything, check the remesh-modifier
branch of this git repository:
https://gitorious.org/~nicholasbishop/blenderprojects/nicholasbishop-blender
2011-12-30 21:11:40 +00:00
Sergey Sharybin
792452a7e5 Disable markers when doing frame-by-frame tracking and tracker library returns failure 2011-12-30 18:15:44 +00:00
Sergey Sharybin
3c6e818b22 Object tracking integration
This commits merges object tracking implementation from tomato branch.

Summarized changes from branch:

- Added list of objects to be tracked. Default there's only one object called
  "Camera" which is used for solving camera motion. Other objects can be added
  and each of them will have it;s own list of tracks. Only one object can be used
  for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
  moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- Object has got scale to define "depth" in camera space.
- All tools which works with list of tracks or reconstruction data now
  gets that lists from active editing object.
- All objects and their tracking data are available via python api.
- Improvements in witness cameras workflow,
2011-12-30 18:06:02 +00:00
Campbell Barton
532afede02 patch [#29726] Enable looping with Follow Path constraint and cyclic curves. by Peter Amstutz (tetron) 2011-12-30 14:52:03 +00:00
Brecht Van Lommel
d7d856a23d Color management: add "Color Unpremultiply" option for images and render settings.
For premultiplied alpha images, this makes any color space conversion for the image
or render output work on color without alpha multiplied in.

This is typically useful to avoid fringing when the image was or will be composited
over a light background. If the image will be composited over a black background on
the other hand, leaving this option off will give correct results.

In an ideal world, there should never be any color space conversion on images with
alpha, since it's undefined what to do then, but in practice it's useful to have
this option.

Patch by Troy Sobotka, with changes by me.
2011-12-30 14:17:11 +00:00
Sergey Sharybin
c21cfb4fcd Camera tracking: improvements of track preview widget
- Enable bicybic filtering fir image displayed in track preview
- Option to show grayscale content of track preview
- When some channels are disabled, display exactly the same
  content of preview image which is sending to tracker library.

Merged from tomato branch using command:
    svn merge -r42382:42383 -r42384:42385 -r42394:42395 \
	    -r42397:42398 -r42398:42399 -r42406:42407 \
		-r42410:42411 -r42417:42418 -r42471:42472 \
		^/branches/soc-2011-tomato
2011-12-30 10:20:29 +00:00
Sergey Sharybin
90760b9f87 Fixed low boundary when detecting frames range for camera solver 2011-12-30 08:40:36 +00:00
Sergey Sharybin
7c5c256fd5 Fix #29729: Blender crashes when camera solving with a disabled marker
Stupid mistake in index of last marker when detecting frames bounds
2011-12-30 08:34:00 +00:00
Campbell Barton
6d965f4493 style edits for function declarations 2011-12-30 07:55:15 +00:00
Campbell Barton
ec55cb1154 while checking weight paint code noticed that unified brush functions loop over the scenes to get the flag.
* this loop is called multiple times per vertex (not addressed in this commit)
* functions like brush_use_size_pressure(), brush_use_size_pressure() called unified_settings() twice when they didnt need to.

looks like this code cant work right with multiple scenes, added a comment on this - but at least avoid calling unified_settings() multiple times in single functions.
2011-12-30 03:43:39 +00:00
Campbell Barton
e63cb930ae use math functions for customdata interpolation funcs 2011-12-29 11:18:12 +00:00
Campbell Barton
1297f72f78 sync changes from bmesh r42951 + some other minor edits. 2011-12-28 22:46:10 +00:00
Sergey Sharybin
becc094119 Fix #29692: 3D Scene is Rendering Bright in the VSE
profile conversion for sequencer result sued to happen even if
color management is disabled for scene which made frames brighter.
2011-12-28 20:11:36 +00:00
Sergey Sharybin
c2ae77e5bd Merging r42896 through r42944 from trunk into soc-2911-tomato 2011-12-28 18:31:32 +00:00
Campbell Barton
7c417fbcfb WIP bmesh trunk sync, excuse the noise 2011-12-28 14:26:59 +00:00
Campbell Barton
5b88e16306 WIP loading bmesh in trunk, some conversion functions for this purpose. 2011-12-28 13:50:33 +00:00
Brecht Van Lommel
b9ff5840a6 Code refactoring: add unified image buffer functions for doing float => byte,
byte => float, float => float, byte => byte conversions with profile, dither
and predivide. Previously code for this was spread out too much.

There should be no functional changes, this is so the predivide/table/dither
patches can work correctly.
2011-12-28 13:29:33 +00:00