View Single Post
Old 21 December 2014, 17:06   #10
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,481
(Not related to the previous post, just some rambling about the goal of reducing motion blur...)

Reducing motion blur doesn't have to be achieved by simulating normal interlacing.

For example, instead of normal interlacing, it would be possible to instead simulate "vertical" interlacing. There alternative pixels on each output scanline would be black. So:
frame n:
[pixel 0] [ black ] [pixel 2] [ black ] [pixel 4] ...
[pixel 0] [ black ] [pixel 2] [ black ] [pixel 4] ...


frame n+1:
[ black ] [pixel 1] [ black ] [pixel 3] [ black ] ...
[ black ] [pixel 1] [ black ] [pixel 3] [ black ] ...


Or you could even simulate "diagonal" interlacing:
frame n:
[pixel 1] [ black ] [pixel 3] [ black ] [pixel 5] ...
[ black ] [pixel 2] [ black ] [pixel 4] [ black ] ...
[pixel 1] [ black ] [pixel 3] [ black ] [pixel 5] ...
[ black ] [pixel 2] [ black ] [pixel 4] [ black ] ...


frame n+1:
[ black ] [pixel 2] [ black ] [pixel 4] [ black ] ...
[pixel 1] [ black ] [pixel 3] [ black ] [pixel 5] ...
[ black ] [pixel 2] [ black ] [pixel 4] [ black ] ...
[pixel 1] [ black ] [pixel 3] [ black ] [pixel 5] ...


There could be a couple of benefits to those ways of doing it. Horizontally-scrolling text looks good with normal horizontal interlacing. Presumably vertically-scrolling graphics (e.g. Pinball Dreams/Fantasies?) would look better with vertical interlacing than horizontal. And maybe with diagonal interlacing, both horizontal and vertical scrolling parts could look okay???

Those methods could be used without doubling the image height, unlike horizontal interlacing. I wonder what the result would look like if the black pixels were, rather than being an Amiga low-res pixel (so e.g. 2 or 4 PC screen pixels), a single PC pixel.

Writing code to specially handle both those cases would probably be too much hassle. But if it were possible to specify different D3D overlay images for alternate frames, that could allow those methods and more to be tested with no other code changes. (Or just a checkbox to invert the mask image on alternate frames.)
mark_k is offline  
 
Page generated in 0.05657 seconds with 9 queries