Disabling color channels for float images in clip editor now works fine.
This commit is contained in:
@@ -1125,6 +1125,9 @@ void BKE_tracking_disable_imbuf_channels(ImBuf *ibuf, int disable_red, int disab
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ibuf->rect_float)
|
||||
ibuf->userflags |= IB_RECT_INVALID;
|
||||
}
|
||||
|
||||
static void disable_imbuf_channels(ImBuf *ibuf, MovieTrackingTrack *track, int grayscale)
|
||||
|
||||
@@ -216,6 +216,13 @@ static void draw_movieclip_notes(SpaceClip *sc, ARegion *ar)
|
||||
ED_region_info_draw(ar, str, block, 0.6f);
|
||||
}
|
||||
|
||||
static void verify_buffer_float(ImBuf *ibuf)
|
||||
{
|
||||
if (ibuf->rect_float && (ibuf->rect == NULL || (ibuf->userflags & IB_RECT_INVALID))) {
|
||||
IMB_rect_from_float(ibuf);
|
||||
}
|
||||
}
|
||||
|
||||
static void draw_movieclip_buffer(SpaceClip *sc, ARegion *ar, ImBuf *ibuf,
|
||||
int width, int height, float zoomx, float zoomy)
|
||||
{
|
||||
@@ -233,9 +240,7 @@ static void draw_movieclip_buffer(SpaceClip *sc, ARegion *ar, ImBuf *ibuf,
|
||||
glRectf(x, y, x + zoomx * width, y + zoomy * height);
|
||||
}
|
||||
else {
|
||||
if (ibuf->rect_float && !ibuf->rect) {
|
||||
IMB_rect_from_float(ibuf);
|
||||
}
|
||||
verify_buffer_float(ibuf);
|
||||
|
||||
if (ibuf->rect)
|
||||
glaDrawPixelsSafe(x, y, ibuf->x, ibuf->y, ibuf->x, GL_RGBA, GL_UNSIGNED_BYTE, ibuf->rect);
|
||||
|
||||
Reference in New Issue
Block a user