Jump to content
IGNORED

Tilemapping on VBXE and "sprite" rotation ?


Recommended Posts

Tilemaps can be emulated in VBXE with a large blit list doing one blit per tile. It takes a large fraction of the available blitter bandwidth per frame.

 

3-shear rotation is also possible with the blitter, but it looks pretty bad compared to standard fixed point mapping. You have to either compute the shear offsets on the CPU or use additional blits to do so.

 

  • Like 1
Link to comment
Share on other sites

Blitter has it's limitations but if you think outside the box a bit you can achieve some fairly powerful stuff.

You can even use blits to costruct BCBs for subsequent blits.

 

When I did the Quadrillion translation from Plus/4 to VBXE my initial intention was to rewrite using native Atari graphics then just use VBXE to enhance the colours.

It was all going great until my versioning (or lack of) meant that I introdcuced some nasty bugs that rendered the whole project useless so I had to scrap hours of work and start over again.

 

In the end I just rendered the graphics as the Plus/4 would present them (ie much like the C64 does it's bitmap) then used blits to translate the bitmaps to suitable linear format that Antic uses.

Then another set of blits to bring over the colour attributes for VBXE to handle.

 

Link to comment
Share on other sites

I am nowhere near being proficient in graphics programming, but enough so that I was able to write a VBXE game. For tiling my suggestion would be to use Antic stuff and recolor it with VBXE. For sprites - consider that VBXE has crap loads of memory, what I did is pre-computing all sprite shapes / frames during loading and start up and then just blit them based on an address lookup table. All animations in Popeye are done this way, almost all characters are stored in full sprite multiple frames (apart from Olive who was an exercise in doing it in halves 😀). Effectively the game uses practically all of the VBXE's 512K, but that's what it is for 😉

Link to comment
Share on other sites

Good idea - the one annoyance though is we still get stuck with the 128 character limit.

But there's also the handy attributes where we can select hires or multicolour per cell as well as having seperate bg/fg colours for hires per cell.

And also the fact that attribute cells aren't limited to 8x8 - can be made bigger if required.

Link to comment
Share on other sites

On 9/26/2024 at 7:00 AM, Sheddy said:

Had no idea rotation could be done with 3 shears. Very interesting!

https://cohost.org/tomforsyth/post/891823-rotation-with-three

Neither me... I had to try it to fully understand the method. The result is an Atari BASIC program to show how the pixels move when building a frame.

 

I'll post this in another thread if there is some interest.

  • Like 2
Link to comment
Share on other sites

2 hours ago, vitoco said:

Neither me... I had to try it to fully understand the method. The result is an Atari BASIC program to show how the pixels move when building a frame.

 

I'll post this in another thread if there is some interest.

I am very interested in your program

Link to comment
Share on other sites

On 9/26/2024 at 8:06 AM, Rybags said:

Blitter has it's limitations but if you think outside the box a bit you can achieve some fairly powerful stuff.

You can even use blits to costruct BCBs for subsequent blits.

Can you elaborate on this, perhaps show an example or point me to something to read up on how this would be possible?

Link to comment
Share on other sites

9 hours ago, Booterror1973 said:
12 hours ago, vitoco said:

Neither me... I had to try it to fully understand the method. The result is an Atari BASIC program to show how the pixels move when building a frame.

 

I'll post this in another thread if there is some interest.

I am very interested in your program

I'd also be interested in seeing that.  I assume if using the VBXE blitter to do this, the shear would be performed via the x and y-step parameters being greater than one?  As with scaling, the steps are integer only, does that provide the required precision for such a task?

Link to comment
Share on other sites

On 9/26/2024 at 5:03 PM, tebe said:

Solo, Laoo (NG) have plans for new core for VBXE with on-the-fly sprite decompression, but it's a song of the future

Interesting, are there more details on this? 🙂

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...