Jump to content





Photo

Yuck!

Posted by Thomas Jentzsch, 15 April 2006 · 7 views

Programming Damned Tag Clouds
Question: What do you get when you combine interleaved flicker for mixing colors with horizontal scrolling? See attachment! (scrolling left every 2nd, right every 3rd frame)

Attached Files






What you are observing is a consequence of persistence of vision. If the eye is tracking a moving object which is flashed twice in each position, the second flash will appear to be offset from the first, in the direction opposite the direction of motion, by a distance of half the movement step.

Note that scrolling LED signs are generally scanned bottom to top, and will appear to slant slightly to the right while scrolling right to left. On those, there are seven flashes per scan (one per scan line), so each appears offset by 1/7 motion increment compared to the one before.

This sort of artifacting appears somewhat in Ruby Runner; I regard it as annoying but not exceptionally objectionable. There, however, I either make small motions or else make large motions sufficiently slowly that the eye does not track them.

I would suggest that it might be best to, if the game mechanic allows, use Thrust-style scrolling at 60fps. That would avoid motion artifacts.
  • Report

supercat, on Sat Apr 15, 2006 8:32 PM, said:

I would suggest that it might be best to, if the game mechanic allows, use Thrust-style scrolling at 60fps. That would avoid motion artifacts.
Unfortunately I need 2 frames for scrolling the data. :ponder: Or a comb filter. ;)

BTW: Thrust scrolls with 30 fps, but only because it looks better. ;)
  • Report
Well, if it works for vertical scrolling, you can still switch to Paradroid '90 :ponder:
  • Report

supercat, on Sat Apr 15, 2006 11:32 AM, said:

What you are observing is a consequence of persistence of vision. If the eye is tracking a moving object which is flashed twice in each position, the second flash will appear to be offset from the first, in the direction opposite the direction of motion, by a distance of half the movement step.

Note that scrolling LED signs are generally scanned bottom to top, and will appear to slant slightly to the right while scrolling right to left. On those, there are seven flashes per scan (one per scan line), so each appears offset by 1/7 motion increment compared to the one before.

To put it another way it seems like if you have frames F1 F2 F3 F4 F5 F6 F7... F1 and F2 are intended to be integrated by the eye as a single frame followed by a scroll of four pixels and the integration of F3 and F4 as a single frame.

But your eye could also interpret an integration of F2 and F3 followed by F4 and F5 which would each be offset (a tear or rip).

I don't know if this is in harmony with your theory but it's how I've interpreted the effect.
  • Report

djmips, on Wed Apr 26, 2006 12:22 AM, said:

I don't know if this is in harmony with your theory but it's how I've interpreted the effect.

To predict the effect, imagine a transparency superimposed on the screen. Superimpose each frame onto the transparency, while it's moving smoothly at the average rate of scrolling.

So if the picture scrolls left four pixels 20 times per second, the transparency should move left smoothly at a rate of 80 pixels per second, or about 1.33 pixels/frame. Note that because the bottom of the screen is drawn after the top, there will be a slight skew on horizontally-moving objects, but that usually won't be noticeable.

Note that if an object is scrolling left at a rate of one pixel every other frame, the apparent horizontal resolution may be doubled (to 320 pixels) by showing different images on the even and odd frames. This technique is not without limitations, since it will generally introduce flicker. On the other hand, double horizontal resolution on the 2600 is still a neat trick.
  • Report