Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Iridium Banner AMIStore App Store A1200/A600 4xIDE Interface

AuthorTopic: Amiga (CD32) & voxels  (Read 1616 times)

0 Members and 1 Guest are viewing this topic.

Offline Karlos

Re: Amiga (CD32) & voxels
« Reply #15 on: November 30, 2003, 06:13:26 PM »
I have often wondered about voxel engines on the amiga chipset...

Consider the onscreen representation of your average voxel. Its basically a rectangular block of solid colour. Far away voxels reduce to single pixel widths, but they are still typically vertical lines of solid colour...

So, heres a thought experiment...

Could an AGA hardware bashing engine use the blitter to render these voxels into chipram directly whilst the CPU is calculating the next one to draw?

Assume A smart implementation could calculate the visible on screen length of the voxel to avoid overdraw by the blitter.

Thoughts?
int p; // A
 

Offline Andre.Siegel

Re: Amiga (CD32) & voxels
« Reply #16 on: November 30, 2003, 06:15:31 PM »
Quote
You know, the engine used in Novalogic games like Comanche Couldn't that be realised on a unupgraded Amiga (A1200, CD32)?


Theoretically, it would be possible. But the number of possible voxels on-screen would be even lower than in Comanche, thus the game should look rather ugly.

There was a game called "Shadow Of The Third Moon" which was similar to the old Comanche. The graphics were okay, but it required at least a 030 processor and 4MB of FastRAM. (It ran fine on this type of hardware configuration, though.) So, if you have an SX32/4MB  or some other hardware extension for your CD32, you might even be able to play the game.
 

Offline Speelgoedmannetje

Re: Amiga (CD32) & voxels
« Reply #17 on: November 30, 2003, 06:20:44 PM »
@Karlos
Those were exactly my thoughts too
And the canary said: \'chirp\'
 

Offline Speelgoedmannetje

Re: Amiga (CD32) & voxels
« Reply #18 on: November 30, 2003, 06:21:24 PM »
@Andre.Siegel
Those specs seem to me reasonable
And the canary said: \'chirp\'
 

Offline Karlos

Re: Amiga (CD32) & voxels
« Reply #19 on: November 30, 2003, 06:22:28 PM »
Quote

Speelgoedmannetje wrote:
@Karlos
Those were exactly my thoughts too


So chip fiends, whats the pixel fill rate of the AGA blitter in 256 colour mode?
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
  • Total likes: 0
    • http://www.troubled-mind.com
Re: Amiga (CD32) & voxels
« Reply #20 on: November 30, 2003, 06:26:32 PM »
Quote

Karlos wrote:
Quote

Speelgoedmannetje wrote:
@Karlos
Those were exactly my thoughts too


So chip fiends, whats the pixel fill rate of the AGA blitter in 256 colour mode?


It's hard to give an accurate figure... but it's more or less as slow as a dead snail...

Offline Karlos

Re: Amiga (CD32) & voxels
« Reply #21 on: November 30, 2003, 06:31:08 PM »
Ok, assume 320x200 64 colours then.

Next up assume that only foreground voxels (anything > 1 pixel wide) are rendered witht the blitter and the rest is done by CPU, if faster...
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
  • Total likes: 0
    • http://www.troubled-mind.com
Re: Amiga (CD32) & voxels
« Reply #22 on: November 30, 2003, 06:34:55 PM »
Quote

Karlos wrote:
Ok, assume 320x200 64 colours then.

Next up assume that only foreground voxels (anything > 1 pixel wide) are rendered witht the blitter and the rest is done by CPU, if faster...
The best performace on the AGA Blitter was a 320*200*4 (ie 16 colours).

The Blitter and CPU can't reneder at the same time since they both have to access Chip RAM to do it. when I ws playing with such things, I found it was much quicker to rend the whole thing in Fast RAM chunky, then C2P, then copy the whole thing over in one go using a movem loop.

Offline Karlos

Re: Amiga (CD32) & voxels
« Reply #23 on: November 30, 2003, 06:38:58 PM »
Quote

bloodline wrote:

The Blitter and CPU can't reneder at the same time since they both have to access Chip RAM to do it. when I ws playing with such things, I found it was much quicker to rend the whole thing in Fast RAM chunky, then C2P, then copy the whole thing over in one go using a movem loop.


I know they cant render at same time, I was thinking a two pass job if mixing the rendering between blitter and CPU.

It would be interesting to see if a blitter driven  voxel engine is remotely feasable, but I'm not the AGA basher to do it :-(
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
  • Total likes: 0
    • http://www.troubled-mind.com
Re: Amiga (CD32) & voxels
« Reply #24 on: November 30, 2003, 06:51:12 PM »
Quote

Karlos wrote:
Quote

bloodline wrote:

The Blitter and CPU can't reneder at the same time since they both have to access Chip RAM to do it. when I ws playing with such things, I found it was much quicker to rend the whole thing in Fast RAM chunky, then C2P, then copy the whole thing over in one go using a movem loop.


I know they cant render at same time, I was thinking a two pass job if mixing the rendering between blitter and CPU.

It would be interesting to see if a blitter driven  voxel engine is remotely feasable, but I'm not the AGA basher to do it :-(


Well I gave up trying to do 3D with the Amiga Chipset, it simply isn't designed for it.

Offline Karlos

Re: Amiga (CD32) & voxels
« Reply #25 on: November 30, 2003, 06:59:15 PM »
I hear you there, but lets face it, voxels arent exactly 3D in the sense that requires a polygon rasterizer..

-edit-

In fact, you need fast 2D block fills really ;-)
int p; // A
 

Offline Speelgoedmannetje

Re: Amiga (CD32) & voxels
« Reply #26 on: November 30, 2003, 09:22:13 PM »
But the pixels need to be placed 3d...
And the canary said: \'chirp\'
 

Offline Karlos

Re: Amiga (CD32) & voxels
« Reply #27 on: November 30, 2003, 10:52:38 PM »
Quote

Speelgoedmannetje wrote:
But the pixels need to be placed 3d...


Well, you are thinking of geometry transformation. For voxel engines, such calculations are for the CPU. True 3D engines may emply hardware for this on systems that have it.

For voxels, the result of these calculations are the onscreen dimensions of the 2D 'boxes' that are drawn on screen. This is what I was musing that the AGA blitter might be able to handle ok...
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
  • Total likes: 0
    • http://www.troubled-mind.com
Re: Amiga (CD32) & voxels
« Reply #28 on: November 30, 2003, 11:07:45 PM »
Quote

Karlos wrote:
Quote

Speelgoedmannetje wrote:
But the pixels need to be placed 3d...


Well, you are thinking of geometry transformation. For voxel engines, such calculations are for the CPU. True 3D engines may emply hardware for this on systems that have it.

For voxels, the result of these calculations are the onscreen dimensions of the 2D 'boxes' that are drawn on screen. This is what I was musing that the AGA blitter might be able to handle ok...


I think you will find setting up the blitter  to try and draw squares on the screen takes longer than using the CPU to render everything in a fast ram Frame buffer and then use a fast CPU copy loop to pump the frame buffer into the chip ram.

This is true on an 030 at least (I never had an 020 with fast ram to test).

If you want to blit large shapes on the screen (ie 2D games sprites), then the blitter is fine, but other than that I found it quite useless. :-)

Offline Karlos

Re: Amiga (CD32) & voxels
« Reply #29 on: November 30, 2003, 11:11:23 PM »
Well, you know, this was an old old idea from times when 68020 + fast ram was kinda high spec :lol:
int p; // A