[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47329] branches/soc-2011-tomato/source/ blender: Ignore track' s disabled channels when requesting for pattern used in keying screen node
Sergey Sharybin
sergey.vfx at gmail.com
Fri Jun 1 16:42:55 CEST 2012
Revision: 47329
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47329
Author: nazgul
Date: 2012-06-01 14:42:55 +0000 (Fri, 01 Jun 2012)
Log Message:
-----------
Ignore track's disabled channels when requesting for pattern used in keying screen node
Modified Paths:
--------------
branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
branches/soc-2011-tomato/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp
branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c
Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h 2012-06-01 14:42:21 UTC (rev 47328)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h 2012-06-01 14:42:55 UTC (rev 47329)
@@ -74,6 +74,8 @@
struct ImBuf *BKE_tracking_get_pattern_imbuf(struct ImBuf *ibuf, struct MovieTrackingTrack *track,
struct MovieTrackingMarker *marker, int margin, int anchored,
float pos[2], int origin[2]);
+struct ImBuf *BKE_tracking_get_pattern_color_imbuf(struct ImBuf *ibuf, struct MovieTrackingTrack *track,
+ struct MovieTrackingMarker *marker, int anchored);
struct ImBuf *BKE_tracking_get_search_imbuf(struct ImBuf *ibuf, struct MovieTrackingTrack *track,
struct MovieTrackingMarker *marker);
struct ImBuf *BKE_tracking_track_mask_get(struct MovieTracking *tracking, struct MovieTrackingTrack *track,
Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c 2012-06-01 14:42:21 UTC (rev 47328)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c 2012-06-01 14:42:55 UTC (rev 47329)
@@ -1177,7 +1177,8 @@
}
static ImBuf *get_area_imbuf(ImBuf *ibuf, MovieTrackingTrack *track, MovieTrackingMarker *marker,
- float min[2], float max[2], int margin, int anchored, float pos[2], int origin[2])
+ float min[2], float max[2], int margin, int anchored,
+ int grayscale, float pos[2], int origin[2])
{
ImBuf *tmpibuf;
int x, y;
@@ -1223,12 +1224,14 @@
origin[1] = y1 - margin;
}
- if ((track->flag & TRACK_PREVIEW_GRAYSCALE) ||
- (track->flag & TRACK_DISABLE_RED) ||
- (track->flag & TRACK_DISABLE_GREEN) ||
- (track->flag & TRACK_DISABLE_BLUE))
- {
- disable_imbuf_channels(tmpibuf, track, TRUE /* grayscale */);
+ if (grayscale) {
+ if ((track->flag & TRACK_PREVIEW_GRAYSCALE) ||
+ (track->flag & TRACK_DISABLE_RED) ||
+ (track->flag & TRACK_DISABLE_GREEN) ||
+ (track->flag & TRACK_DISABLE_BLUE))
+ {
+ disable_imbuf_channels(tmpibuf, track, TRUE /* grayscale */);
+ }
}
return tmpibuf;
@@ -1244,9 +1247,20 @@
*/
BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
- return get_area_imbuf(ibuf, track, marker, pat_min, pat_max, margin, anchored, pos, origin);
+ return get_area_imbuf(ibuf, track, marker, pat_min, pat_max, margin, anchored, TRUE, pos, origin);
}
+ImBuf *BKE_tracking_get_pattern_color_imbuf(ImBuf *ibuf, MovieTrackingTrack *track,
+ MovieTrackingMarker *marker, int anchored)
+{
+ float pat_min[2], pat_max[2];
+
+ /* see comment above */
+ BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max);
+
+ return get_area_imbuf(ibuf, track, marker, pat_min, pat_max, 0, anchored, FALSE, NULL, NULL);
+}
+
ImBuf *BKE_tracking_get_search_imbuf(ImBuf *ibuf, MovieTrackingTrack *track, MovieTrackingMarker *marker)
{
ImBuf *searchibuf;
Modified: branches/soc-2011-tomato/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp
===================================================================
--- branches/soc-2011-tomato/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp 2012-06-01 14:42:21 UTC (rev 47328)
+++ branches/soc-2011-tomato/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp 2012-06-01 14:42:55 UTC (rev 47329)
@@ -116,7 +116,7 @@
while (track) {
VoronoiSite *site = &sites[i];
MovieTrackingMarker *marker = BKE_tracking_get_marker(track, framenumber);
- ImBuf *pattern_ibuf = BKE_tracking_get_pattern_imbuf(ibuf, track, marker, 0, TRUE, NULL, NULL);
+ ImBuf *pattern_ibuf = BKE_tracking_get_pattern_color_imbuf(ibuf, track, marker, TRUE);
int j;
zero_v3(site->color);
Modified: branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c
===================================================================
--- branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c 2012-06-01 14:42:21 UTC (rev 47328)
+++ branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c 2012-06-01 14:42:55 UTC (rev 47329)
@@ -91,7 +91,7 @@
while (track) {
VoronoiSite *site = &sites[i];
MovieTrackingMarker *marker = BKE_tracking_get_marker(track, rd->cfra);
- ImBuf *pattern_ibuf = BKE_tracking_get_pattern_imbuf(ibuf, track, marker, 0, FALSE, NULL, NULL);
+ ImBuf *pattern_ibuf = BKE_tracking_get_pattern_color_imbuf(ibuf, track, marker, TRUE);
int j;
zero_v3(site->color);
More information about the Bf-blender-cvs
mailing list