3
\$\begingroup\$

A couple games I've been playing recently all have a similar goal of dithering objects when they approach the near clip plane. Super Mario Odyssey applies this dithering-near-clip-plane effect, but along with object intersection dithering for objects like Mario. I have an example of this dithering in Super Mario Odyssey later in this post.

How would one go about creating this effect in their graphics solution of choice?


The gifs might take a little while to get started. I couldn't get them to each be under 30 mb :(

Example in Super Mario Odyssey

The Odyssey

The balloon of the Odyssey doesn't "exit dithering" until the camera is a good distance away from it. This could mean dithering is calculated based on object distance from camera, instead surface distance.

Mario behind Flag

Flag starts out with a small dither density, and Mario has no dithering applied to him. Once the flag is fully opaque, Mario becomes dithered, but only in the portions that is covered. Also note Mario's coat tail has the "transparency dithering" applied to it. How are the object's shaders structured to allow this compound effect?

Below is a blown up image of Mario being dithered. Notice how dithering exists in intersection regions, and when behind objects!

Mario behind Flag, and interesting ground

\$\endgroup\$
  • \$\begingroup\$ I think you could replicate the balloon/flag effect by just changing a Dither parameter in the object's shader based on the object's distance from the camera, and hiding pixels in a dither pattern based on the value of the Dither parameter. \$\endgroup\$ – Foxwarrior Feb 21 at 21:50
  • 1
    \$\begingroup\$ "Mario becomes dithered", really? I only see the dithering of the Gif. Perhaps still images supplemented with links to videos work better. With that said, we would be talking of two cases: 1) objects close to the near and far plane, 2) key objects when obstructed. \$\endgroup\$ – Theraot Feb 21 at 22:21
  • \$\begingroup\$ @Theraot I've added the image for clarity. I wanted to keep my question self contained, so I opted out of using external videos. Yeah, the dithering of Mario certainly gets eaten by the gif's compression. \$\endgroup\$ – Taras Palczynski Feb 21 at 22:29
  • \$\begingroup\$ You can probably neglect the Mario case. It's likely that Mario's silhouette is drawn by a second pass, after the distance-dithered object has been drawn, so it shouldn't affect the shader you use to draw the scene objects themselves. \$\endgroup\$ – DMGregory Feb 22 at 19:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.