Search the web
Sign In
New User? Sign Up
gbadev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want your group to be featured on the Yahoo! Groups website? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Animating Sprites   Message List  
Reply | Forward Message #14602 of 15019 |
Re: Animating Sprites

Thanks for the replys. Overlapping by 1 pixel is the method we are
considering, but it'd be nice to know exactly how the hardware
decides where to put each pixel of a rotated/scaled sprite. Our
tests show that it doesn't exactly follow the standard rotate/scale
fixed point transformations as we'd expected. We've tried both
trancated fixed and rounded (+0.5) fixed an neither exactly match
what the hardware is doing. Overlapping 1 pixel will fix the gaps
but will make the sprite texture shift a bit which is not optimal.

Bah, it's not a big deal, just looking for an exact algorithm. The
truth is right now for scaled/rotated sprites, we just make them
small enough to fit into a 64x64 and deal with the VRAM hit.

Fun question: Anyone try switching the GBA over to fast interrupts
such that you don't have to manually save all your registers upon
interrupt? It'd be fun to write a handler to do that instead of the
standard one that works off of normal interrupts. Getting to
interrupts wouldn't carry near the overhead they currently do (I'm
spoiled as I'm used to the GBC where it only took a couple cycles to
get into the interrupts.)

Mike





Sat Nov 8, 2003 10:08 pm

miked0801
Offline Offline
Send Email Send Email

Forward
Message #14602 of 15019 |
Expand Messages Author Sort by Date

Hi GBAList! Experimenting with big composite sprite-based characters, we realized that it was very heavy to render them on the GBA using many rotating parts...
Ronald Chenu Abente
ronald_chenu
Online Now Send Email
Nov 7, 2003
11:08 pm

... Yes. ... There might be a couple cycles of "wait states", but you'll usually get far fewer than one per read or write on average. More importantly, GBA...
Damian Yerrick
yerricde
Offline Send Email
Nov 8, 2003
9:47 am

Hi Ronald I can give you a bit of info on the sprite stuff as I know it. Our engine builds composite sprites all over the place w/o any real slowdown. We...
miked0801
Offline Send Email
Nov 8, 2003
9:47 am

... Either that, or cache decompressed cels in EWRAM. ... The GBA expects sprite coordinates on whole number pixel boundaries. Try overlapping the parts of...
Damian Yerrick
yerricde
Offline Send Email
Nov 8, 2003
3:11 pm

Thanks for the replys. Overlapping by 1 pixel is the method we are considering, but it'd be nice to know exactly how the hardware decides where to put each...
miked0801
Offline Send Email
Nov 9, 2003
2:37 am

... Yeah, we gave a thought about double buffering as a way to avoid the constraint of updating VRAM during vblank only, but (having read Mr. Yerrick's paper)...
ronald_chenu
Online Now Send Email
Nov 9, 2003
2:35 am

... A 32bit RLE system running out of cpumem in arm can be actually be faster than DMA transfer if enough data gets repeated and is generally not any slower....
Kriss
yah_kriss
Offline Send Email
Nov 9, 2003
12:09 pm

... GBA interrupts are IRQ by nature, not FIQ. You can still switch ARM to fast interrupt mode manually using msr, but anyway, real interrupts will never be...
Alexandre BACQUART
fedmahnkassa...
Offline Send Email
Nov 9, 2003
12:08 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help