One of the biggest problems that we could not fully address in #ChildrenOfMorta was pixel jittering. This artifact becomes especially eye-jarring when the camera pans or moves. This is why we don't see pixel art use them. 1/9pic.twitter.com/S88Y3DTfpz
-
Show this thread
-
Usually, the objects or the camera moves in texel size steps with no panning whatsoever. But in our case, we needed to move the objects continuously and pan the camera because they were crucial to the cutscenes and, consequently, an important narrative tool. 2/9
1 reply 0 retweets 8 likesShow this thread -
Therefore, we have tried many different methods but none of them were stable enough to preserve the beautiful work of our artists. At some point, we even used supersampling and it ruined the quality of the pixels! 3/9
1 reply 0 retweets 7 likesShow this thread -
I remember when the one and only
@cmuratori tried to fix this. He could not do it due to the missing shader debug codes in the Steam build, but I was inspired by his suggestion/solution. 4/91 reply 0 retweets 8 likesShow this thread -
Unfortunately, I could never find the time to sit down and properly test the idea floating around in my head, but the time has finally come with the Holidays and I think we have finally fixed this issue once and for all. (Maybe this is a Chrismas Miracle!
) 5/91 reply 0 retweets 8 likesShow this thread -
The general idea is actually fairly simple. We can subsample our pixels by sending the corrected UV coordinates to the linear sampler. For a detailed breakdown, you can watch
@cmuratori's video: https://www.youtube.com/watch?v=Yu8k7a1hQuU&t=6247s&ab_channel=MollyRocket … 6/91 reply 0 retweets 9 likesShow this thread -
One side effect is color bleeding since I've used bilinear filtering which doesn't play well with pixel art, but this is fixable. Another downside is that the pixels are slightly less crispy, but I could not notice a difference even in scenes where the camera zooms in. 7/9
1 reply 0 retweets 5 likesShow this thread -
Finally, here is a comparison between the old (left) and new (right) versions. There is a significant difference but Twitter compression is fixing the old version
. 8/9pic.twitter.com/Ytwmrx6p2s2 replies 0 retweets 16 likesShow this thread -
Anyway, the good news is that
#ChildrenOfMorta has a lot of exciting and fresh content coming out soon, so, hopefully, you will see this fix as an option in future updates. Fin!2 replies 0 retweets 15 likesShow this thread -
Here is a higher quality video. I will probably write about the implementation details in my blog in the near future.https://youtu.be/J11B0Cw0GXk
1 reply 0 retweets 11 likesShow this thread
For what it's worth, that still looks "wrong" to me (the new version). You may want to check https://themaister.net/blog/2018/08/25/pseudo-bandlimited-pixel-art-filtering-in-3d-a-mathematical-derivation/ … for more information about proper sampling of "pixel art" textures in arbitrary domains.
-
-
-
Replying to @maminaliari @cmuratori
A while ago I decompiled COFM shaders and wrote D3D11 hook to replace them with shader that does linear sampling+adjusted UVs to keep pixels pixely. I replaced only few shaders, and result looked way better than originals (eventually I gave up due to too many shaders being used).pic.twitter.com/TdBEDHjZMA
2 replies 3 retweets 30 likes - Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.