Welcome Dialog

Welcome to the Community!

We have a brand new look! Take a tour with us and explore the latest updates on Adobe Support Community.


Is it possible to access all input pixels in smartFX if the input is offscreen?

Participant ,
Apr 16, 2018 Apr 16, 2018

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!

TOPICS
SDK

Views

375

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Apr 17, 2018 Apr 17, 2018

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.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 20, 2021 Jul 20, 2021

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?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 20, 2021 Jul 20, 2021

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. 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 20, 2021 Jul 20, 2021

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):

Screen Shot 2021-07-21 at 2.00.15 pm.png

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 20, 2021 Jul 20, 2021

Copy link to clipboard

Copied

LATEST

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));

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines