Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Running OCS/AGA/RTG Demos

High Quality Amiga 3D Texture Mapping

Arne von Boehn
(Apollo Team Member)
Posts 61
19 Nov 2023 10:29


Greetings,
 
this is Arne. I'm a 16 years old Amiga fan.
I very much like coding in assembly on Amiga and I have written some Amiga games.
I'm part of the Apollo-Team and our mission is to revive the Amiga.
 
The Amiga is a very special computer.
The main strength of the Amiga is the combination of the powerful and coder friendly 68K CPU with the DMA based Amiga chipset - that can offload the CPU and do GFX and Audio for free.
 
Today, I like to show you a quick Amiga 3D Hardware texture Mapping example.
This is a very small and simple example,
that shows you how to use in assembly the Super-AGA Amiga 3D hardware acceleration unit called Maggie. Maggie is hardware extension of the Super-AGA Amiga Blitter and can do texture mapping as you might know from various Playstation games.
 
 
 
 

 
This Amiga 3D example uses:

- 32bit ARGB truecolor Screenmode
- 640 pixel resolution
- Amiga Hardware accelerated 3D texture mapping
- A truecolor texture (Vampire Lady)
- Hardware Mipmapping (512, 256, 128, 64 texture)
- biliniar filtering
- This example reaches about 110 frames per second
- on the Apollo V4-Standalone (new 68K Amiga with 68080 CPU)
 
 
You can find the used assembly source code here:
CLICK HERE 
If you are interested to learn more about Apollo V4 Amigas
then you can get more information here:
EXTERNAL LINK 
If you like to have such Amiga too then you can order yours here:
EXTERNAL LINK 
 



Steve Hodson

Posts 32
19 Nov 2023 19:38


Very nice and the code snippet seems fairly easy to understand even though I last programmed assembler 20 years ago.


Arne von Boehn
(Apollo Team Member)
Posts 61
21 Nov 2023 18:36


Steve Hodson wrote:

Very nice and the code snippet seems fairly easy to understand even though I last programmed assembler 20 years ago.

Thank you ! Amiga rules!



Steffen Häuser

Posts 40
22 Nov 2023 10:29


Looks cool (would have loved if I could have done such stuff at age 16... my experiments at computer graphics at that age were limited to stuff like Mandelbrot Sets etc. which looked less exciting than a truecolor texturemapping of a vampire lady ^^).

I find it very interesting that smooth display works in 640x480. That hopefully will be relevant for my games soon ;-) Really hope they will run at good speed at 640x480 (admitted, there is going on more there) but this example even if simple gives hope to that. Especially as I do not even need 32 Bit Color but only 16 Bit.


Gunnar von Boehn
(Apollo Team Member)
Posts 6194
22 Nov 2023 11:22


Steffen Häuser wrote:

I find it very interesting that smooth display works in 640x480.

The render speed of the Maggie 3D unit is fast enough for over 110 FPS - in this test. Its super smooth on real hardware.
But the Youtube upload looks MUCH worse than the real Amiga.
Somehow the quality get much reduced during the Framegrap and upload.

Of course the demo of the Vampire Lady is very simple.
A real full game will have some overdraw .. you will have background and walls, and character element and foreground and so on.
With a more overdraw of complex scene you will get much lower framerate so maybe 1/3 or a 1/4 of the optimal rate of this simpler demo




Steffen Häuser

Posts 40
22 Nov 2023 12:29


Gunnar von Boehn wrote:

  Of course the demo of the Vampire Lady is very simple.
  A real full game will have some overdraw .. you will have background and walls, and character element and foreground and so on.
  With a more overdraw of complex scene you will get much lower framerate so maybe 1/3 or a 1/4 of the optimal rate of this simpler demo

Of course. And real rates still have to be seen. Of course 1/4 of 100 fps would still be perfectly playable if that can be reached ;-)

posts 6