Is it possible to access all input pixels in smartFX if the input is offscreen?
Copy link to clipboard
Copied
Hi. To optimise things, I think smartFX discards input pixels if they are outside the output buffer. I need to access all of them regardless if the input is partially offscreen. Is this possible? Non smartFX does this but I'm hoping to do it in smartFX. Thanks!
Copy link to clipboard
Copied
isn't it just a matter of declaring your output rect size during prerender?
here are another things to try (i don't remember if these do the trick or
not):
1. in PF_RenderRequest, set "preserve_rgb_of_zero_alpha" to "true".
2. use PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS.
Copy link to clipboard
Copied
Sorry for my (3 year) late reply. If I understand correctly, those two suggestions will expand the output buffer. But the only way to ask smartFX for any input pixels that were out of the comp buffer bounds is to use the params[INPUT]->u.ld instead of checkout_layer_pixels?
Copy link to clipboard
Copied
I should have clarified, I'm applying this to layers that have continuous rasterization on (like text layers). From my experiments, it's not possible to access these layers out-of-bounds, as their out of-bounds-pixel were never drawn by AE in the first place.
Copy link to clipboard
Copied
Though it seems it is possible, because the transform effect can achieve it (the text is completely off screen, but the transform effect can still display it in the output buffer):
Copy link to clipboard
Copied
Seems it can be done in preRender on the checkout layer:
reqBig.rect.top =
reqBig.rect.left = -1000;
reqBig.rect.right =
reqBig.rect.bottom = 1000;
ERR(extra->cb->checkout_layer(in_data->effect_ref,
INPUT,
INPUT,
&reqBig,
in_data->current_time,
in_data->time_step,
in_data->time_scale,
&in_result));

