-
-
Notifications
You must be signed in to change notification settings - Fork 123
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
Implement pixel aspect ratio #151
base: main
Are you sure you want to change the base?
Conversation
After bouncing some ideas off the The next checklist item would be an API to allow changing the PAR at runtime. I don't know if this will be useful, but it's always possible that someone comes along with a use case for it. It would also be an improvement for the PAR example; a key to toggle PAR correction on/off will be more illustrative than just some static screenshots in the README. |
Sorry to be a nag but what is the state of this PR? Anything we can do to help? |
There aren't any updates for this PR other than what is already here. Specifically, the extra context provided in #262 kind of obsoletes the implementation in this PR. In short, this does allow for non-square pixel aspect ratios, but it comes at the cost of "pixel shimmering" in animations, especially when things move horizontally. Texture filtering like the two-pass implementation in #262 can address that problem. There is still an unresolved issue there; how to integrate the second pass into the library as a first-class feature (that PR currently requires it to be added to a project as a custom renderer). If you are interested in helping drive the effort, that would be the place to start. |
This is still missing linear texture filtering to smooth out the stretching artifacts that it introduces. The images shown in the example README show the artifacts that I'm talking about. The pixels are chunkier than they should be. For additional info on how it's supposed to look, this blog post goes into plenty of detail. Another resource is https://tanalin.com/en/articles/integer-scaling/
PAR != 1.0
.