Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: rework mixer transforms #1598

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Conversation

Julusian
Copy link
Member

@Julusian Julusian commented Feb 3, 2025

This adds a fair amount of complexity in calculations, but it allows for routes to preserve transforms which got broken when changing the route behaviour in 2.2. closes #1307 #1274
This finishes the work started years ago in 777b7f2

Unless anyone has any objections, I shall aim to merge this to 2.5 this week.
I still need to reenable/reimplement the scale_modes, but this is otherwise looking functional and pretty complete.

This is a slightly breaking change, as the way that crops compound now is slightly different. This should only affect routing one channel into another, where the crop values to be used on that routed frame are relative to the viewport and not the content. (This does sound wrong, could that change?) And also when routing a channel, the clip values for each layer are now respected correctly and may need to be set over amcp to avoid clipping the routed frame. While annoying, this is how it behaved before 2.2, so is consistent with behaviour when routes preserved transforms.
The other simple 'fix' for avoiding unexpected clips is to not scale beyond the channel bounds of the source channel, likely using a custom resolution channel to do so.

The one bit of this change that I do not like is the enable_geometry_modifiers property, but that became necessary to avoid cropping on intermediary frames with no way to control it. The other option I can see is to entirely change how we do cropping, but that is a much larger and more breaking change

This finishes the work started years ago in 777b7f2
It adds a fair amount of complexity, but it allows for routes to preserve transforms which got broken when changing the route behaviour in 2.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Mixer perspective on routed layer
1 participant