What I want instead is for the dither pattern to be "pinned" to the geometry and to appear stable as it moves with the rest of the scene. Each frame, moving scene elements threshold against different values. But, correlating only with the output means that as a scene post effect there's no connection between the geometry being rendered and the pattern that thresholds it. To give your eyes the best chance at recombining everything, dithering works best when the dither pattern dots have a 1:1 correlation with the output pixels. ![]() ![]() ![]() There are ways to fix this that mostly boiling down to "this style doesn't work, change it." I went pretty far down that path, experimenting with different styles, before swinging back and wondering if maybe I shouldn't let these bullshit little pixels push me around. Try to focus on something here when it moves and behold the crinkled heart of Obra Dinn's fullscreen problems. The output gets reduced to 1-bit and the viewer's eye will merge the pixels back together to approximate more bits.Įxhibit A. If the image pixel value is greater than the dither pattern dot value, the output bit is set to 1. The conversion from 8-bit to 1-bit is handled by comparing each source image's pixel to the corresponding dot in a tiling dither pattern. Obra Dinn renders everything internally in 8-bit grayscale then converts the final output to 1-bit in a post-processing pass. At this point, don't even care.įirst, a quick explanation. For each previous version I'd get an idea or find something else to try while checking over it. ![]() This is the 3rd full devlog post I've written on this. I got there in the end, with a few compromises. I tried everything, literally, and concluded that the best way to maintain the game's style and fix the fullscreen discomfort was to stabilize the swimming dither and subdue the flickering dots. Thanks everybody for all the suggestions.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |