Copy link to clipboard
Copied
Hi guys,
I want to write an effect plugin which can achieve that render result can exceed layer original size, in AfterEffects plugin, there is an effect called Motion Tile, the result from this effect can exceed layer size like image below, thanks!
No worries 🙂 if you go the first route you'll need to set PF_OutFlag_I_EXPAND_BUFFER. If you go with smartFX you'll need to set
extra->output->flags |= PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS;
Try setting both output result rects to the expanded_rect. Also if you want you can expand the request rect to recapture any offscreen pixels, not sure if that is relevant to the plugin you are making.
Copy link to clipboard
Copied
You can expand the boundaries in frame setup if you're not using smartFX, or by increasing the output rectangle in PreRender when using smartFX.
Copy link to clipboard
Copied
Many thanks man, I have a try 😄
Copy link to clipboard
Copied
No worries 🙂 if you go the first route you'll need to set PF_OutFlag_I_EXPAND_BUFFER. If you go with smartFX you'll need to set
extra->output->flags |= PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS;
Copy link to clipboard
Copied
Gocha, I use SmartRender() and OpenGL API, if I want to change size of result dynamically base on user modyfing parameter, how to achieve?
Copy link to clipboard
Copied
In pre_render, checkout the user param (slider) and increase the output rectangle based on the slider.
Copy link to clipboard
Copied
Thanks~
Copy link to clipboard
Copied
Still not make it work, I add following code in PreRender:
Copy link to clipboard
Copied
Try setting both output result rects to the expanded_rect. Also if you want you can expand the request rect to recapture any offscreen pixels, not sure if that is relevant to the plugin you are making.
Copy link to clipboard
Copied
I am a little bit comfused, what the different between req.rect and in_result.rect?
Copy link to clipboard
Copied
The req.rect is where you ask ae for a region of pixels when you call checkout_layer. The result.rect is populated from your PF_RenderRequest and the PF_CheckoutResult result_rect is the rect of pixels you can actually get, since parts of your request rect may not actually contain pixels, depending on masks, upstream effect buffer behaviours, etc.
Copy link to clipboard
Copied
Thanks a lot! Btw, if I want to get the merge result from all the layers below the layer which I apply my effect plugin, how to get the result of that merge image?
Copy link to clipboard
Copied
If the layer is an adjustment layer you will get that result. If your layer is a solid or footage, it's not possible (to my knowledge)
Copy link to clipboard
Copied
OK~
Find more inspiration, events, and resources on the new Adobe Community
Explore Now