On Mon, Nov 14, 2016 at 5:25 PM, David Vanderson
<david.vander...@gmail.com> wrote:
> Thanks Jay, I hope I'm not abusing the terminology.  If I have a sprite that
> is a line, and it's rotated a bit, then is that not similar to a polygon
> edge not falling on pixel boundaries?

Yes, that's what I meant by the rotated rectangles.

> As an example, I've attached a test program and a screenshot of the rotated
> and scaled down line segment.  This is the sort of thing I'm worried about.
> Any advice?

I could be wrong, but I don't think that there's an obvious
anti-aliasing algorithm that fits mode-lambda's use cases. I would
recommend rendering at a high buffer size and then down sampling. I
attached a version of your program that does this.

FWIW, since mode-lambda is imitating the SNES, it didn't really have
this problem because rotation only worked for the background layer in
Mode 7 and is almost exclusively used for chunky things rather than
fine things, so you wouldn't see bad aliasing of foreground elements.
However, looking at any Mode 7 effect, you instantly see the aliasing:

http://images.nintendolife.com/screenshots/16705/large.jpg

http://img.gamefaqs.net/screens/8/9/8/gfs_40216_2_4.jpg

http://media.tiltingatpixels.com/tilting/final_fantasy_4_flying.png

> I didn't know that mode-lambda made sure that each pixel only came from a
> single sprite.  Even if some sprites have some transparency?

Within a layer, there is no transparency. Transparency is only across
layers. Section 1 of the docs says, "mode-lambda makes no guarantees
about the layering and transparency behavior of sprites within a
single layer."


-- 
Jay McCarthy
Associate Professor
PLT @ CS @ UMass Lowell
http://jeapostrophe.github.io

           "Wherefore, be not weary in well-doing,
      for ye are laying the foundation of a great work.
And out of small things proceedeth that which is great."
                          - D&C 64:33

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: ml-line.rkt
Description: Binary data

Reply via email to