English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 23 September 2023, 13:08   #41
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
Quote:
Originally Posted by Photon View Post
Fastest realtime (non cache/burst/ea-offset-write CPU) is Grade my Waterbear (or same cycle count).

The compo entry was maybe not representative as this was a quick release from implementing AGA rotozoomers which are quite different and where lots of problems disappear. An on the spur of the moment release jamming with Notorious for the music and the hardest part was centering it! Same OCS code can go 3x3 the texture on <512k chip and so 3x deeper zoom without precision loss i.e. not zooming in to make big blocks composed of chunky blocks and pretend you can zoom more.

Somewhat of a holy grail on A500 since early 1990s is realtime 2-3bpl, 2x2-3x3 bitplane (as opposed to RGB) chunky. Maybe 2x2, 2bpl is a bit too easy, you want more colors. But something like that.

Rotozoom is just something decent to fill the buffer. But you would like it to leave lots of time on platforms up from OCS and fill it with anything like for a game, moving objects, Z-buffer etc. even if it's not RGB
Wasn't Blueberry's effort a bit faster ??
DanScott is offline  
Old 23 September 2023, 13:10   #42
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
Quote:
Originally Posted by britelite View Post
I'd also like to put this one out there

https://www.pouet.net/prod.php?which=67475
In that case I'd better put this one out there...

[ Show youtube player ]

at 4:55
DanScott is offline  
Old 23 September 2023, 13:25   #43
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 389
I’d forgotten about that one Dan! I’ll have a poke at the code!
Jobbo is offline  
Old 02 October 2023, 22:45   #44
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 389
So, what pretty much every implementation has in common (with the exception of Britelite's code) is that they breakdown when the underlying texture is magnified.

They're all pretty much doing the same thing which involves pre-computing one line of offsets, and this works reasonably for minification.

This'll be why Dan pointed out, he's most impressed by Britelite's offering and I can see why.

I've had a go at some modifications to my own code in the hope that the magnification could be improved but I feel like it's pretty stuck where it is, that it's just the nature of pre-computing one or more lines for a larger image.

I'd love to hear of any other good examples that magnify, and also run on an A500.
Jobbo is offline  
Old 02 October 2023, 22:55   #45
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,228
My version magnifies, but doesn't satisfy your precision requirement in any way. The plan for the worst glitches (if I got around to using it) was to use some kind of distraction to hide it (audio or visual). Likely your version does magnification as well and you just need to live with the lack of precision.
paraj is offline  
Old 03 October 2023, 00:08   #46
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 389
Yes it does magnify, just not very nicely. So it's probably work clarifying that what I would like is for it to do so without breaking up and looking bad.
Jobbo is offline  
Old 03 October 2023, 17:39   #47
Rotschi
Registered User
 
Join Date: Apr 2023
Location: "Hamcastle"
Posts: 25
Hi there, I am only a layman compared to you and maybe I am writing nonsense, but wouldn't the use of 64-bit-products be worth a try? Okay, it is not a rotozoomer but I seem to remember that Chaos mentioned something like "32-bit" multiplications for the textcube in Elysium and that this was very(!) crucial for the accuracy and to make the cube less jittery. Cheers :-)

Last edited by Rotschi; 03 October 2023 at 19:15.
Rotschi is offline  
Old 04 October 2023, 16:03   #48
8bitbubsy
Registered User
 
8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Posts: 1,719
64-bit arithmetical precision is quite slow on a 68000...

Also, "32-bit multiplication" could mean hardware 16x16->32 (MULS.W/MULU.W). However, if he actually means 32x32->32, then that requires a custom implementation with several MUL instructions, and is going to be slow for a 68000 in realtime too (especially if used in a loop).

Last edited by 8bitbubsy; 04 October 2023 at 16:08.
8bitbubsy is offline  
Old 04 October 2023, 16:23   #49
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 389
As far as I can tell Chaos was referring to using 16.16 fixed point math, but it's not the same kind of code at all for that effect.

What the comment does hint at is the need for better precision, and indeed for a magnifying effect it seem necessary to do better than 8.8 fixed point math.

But the added precision doesn't help when you're doing the offset updating method because by then all the precision is lost in the baked offsets.
Jobbo is offline  
Old 13 October 2023, 22:08   #50
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,684
Quote:
Originally Posted by Jobbo View Post
So, what pretty much every implementation has in common (with the exception of Britelite's code) is that they breakdown when the underlying texture is magnified.
Any rotozoomer can take a low-res texture and 8x it to produce the 'impressive zoomed-in chunky texels, now in chunky mode'.

It's likely due to not wanting to include a huge image in the release than anything else. Unless there's a limitation causing it, which would make the rotozoomer less.
Photon is offline  
Old 13 October 2023, 23:58   #51
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 389
That takes too much memory and is of course only for lamers!
Jobbo is offline  
Old 14 October 2023, 10:34   #52
britelite
Registered User
 
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 821
Edit: never mind...

Last edited by britelite; 14 October 2023 at 11:10. Reason: Better not get into the discussion
britelite is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Code / data / tools of Scoopex "TWO" (rotozoom cracktro for Starquake) Yragael Coders. Tutorials 4 24 November 2018 10:44
Copper Chunky Calvin & Hobbes rotozoom? ReadOnlyCat support.Demos 5 10 July 2018 10:47
Sanity Roots 2.0 rotozoom effect zero Coders. Asm / Hardware 46 22 February 2017 21:32
Amiga 1200...board revisions question / wire link modification question voyager_1701e support.Hardware 3 20 February 2014 12:32

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 07:25.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09089 seconds with 15 queries