Jump to content
Oleg Raven Moiseyev

Does Jaguar have 3d geometry ? 3D Graphic GPU?

Recommended Posts

From what i looked on youtube

a video called "All Jaguar Games" by Virtual Gaming Library

 

i spot many 3d games , which has visually various approaches to 3d graphic.

 

as Atari Karts it feels like there is 3d gpu or something like that activated for 3d games?

 

i think Doom and Wolfenstein 3D is done entirely in software mode.

 

and the games like 

Battlesphere, Checkered Flag , Club Drive, Cybermorph, Fight for Life, Hover Strike, Iron Soldier (2), i-war , kasumi ninja (selection hall), SkyHammer, Supercross 3D, Tempest 2000, Towers II, White Man cant jump, Zero 5

 

So as for dream or not XD, if there is 3D so it possible in future (whenever ) emulation gain upscaling of 3d space like Phoenix emulation Project done it for 3DO games, or bsnes of upscaline mode 7, and Playstation 1 ePSXe with Pete OpenGL plugin, or YabaSanshiro for Sega Saturn, or MGBA for GameBoy Advance.

 

I think you catch my mind , and what i am thinking of?

  • Confused 1

Share this post


Link to post
Share on other sites

There is no specific 3D hardware in the Jaguar.  Everything is done in software (well, it can do z-buffering).  That being said, I don't thin it precludes an emulator from using the GPU in the host computer to speed things up or filter the graphics, similar to how the original PSX graphics can have bi-linear filtering applied.

  • Like 2

Share this post


Link to post
Share on other sites

I wouldn't say nothing.

Tom and Jerry support MatMUL which is used extensively in 3D engines (it's all geometry after all) ... likely too fine-grained/low-level compared to what's really needed to get decent HW acceleration ( check https://www.hillsoftware.com/files/atari/jaguar/jag_v8.pdf page 42) and even lower-lever MAC. 

Yes they deal with integers and not with FPs and MatMUL targeted DCT but still ... there's a glimpse of something there.

 

 

EDIT: but yes at it applies to emulation magically upscaling Jag 3D .... not gonna work the way it does on PS1, N64, etc... emulator authors can implement "interpolation to add info that is not there" if that's what you mean.

  • Like 2

Share this post


Link to post
Share on other sites

The Jaguar had one of the most advanced 3D graphics processors ever developed at the time. It could handle 11.2 million polygons at 199fps. The problem is, programming was hard for most of the developers, so they decided to program everything to the IO controller which was a Motorola 68000. Had they just learned to use the super advanced Blitter and Dither chips, known as Bert and Ernie... the Jaguar would still be a threat to systems today.

  • Like 1
  • Haha 6

Share this post


Link to post
Share on other sites
16 minutes ago, 82-T/A said:

The Jaguar had one of the most advanced 3D graphics processors ever developed at the time. It could handle 11.2 million polygons at 199fps. The problem is, programming was hard for most of the developers, so they decided to program everything to the IO controller which was a Motorola 68000. Had they just learned to use the super advanced Blitter and Dither chips, known as Bert and Ernie... the Jaguar would still be a threat to systems today.

 

If only they put the GPU in main it wouldn't have gotten the hose again.

 

*ducks for cover*

  • Like 1
  • Haha 3

Share this post


Link to post
Share on other sites
28 minutes ago, 82-T/A said:

Bert and Ernie... the Jaguar would still be a threat to systems today.

 

And as the entire documentation for Bert and Earnie disappeared myseteriously during the "great salmon and the priest" fiasco of '95 (ref: wikipedia, very well documented) nobody has ever been able to unlock or emulate this technology.

  • Haha 2
  • Sad 1

Share this post


Link to post
Share on other sites

in another case does it means some documentation on GPU lost?

 

any links to read more? about Bert and Ernie for example?

 

or all deep details about Jaguar exist?

 

if something is missed it means for future it need to be reverse enginered , and sounds to be so so hard. Coz even with documentation no one archieved to utilize it. Not to mention emulation of Jaguar, emulators is ugly =(

Share this post


Link to post
Share on other sites

I believe some of the guys above are pulling your legs. The Jaguar has two 32-bit digital signal processor chips called Tom (essentially graphics) and Jerry (essentially sound) as well as the general purpose 68000 CPU. The reference to "Bert and Ernie" simply is a play on "Tom and Jerry".

 

Also per tradition going back to the 70's, Atari hardware has always tended to be very capable but also tricky to learn how to get the max out of it, which is what the above posts allude to. Thus many people would program games that does the heavy tasks in the CPU instead of lifting some of it directly to the GPU because it was a bit too complex architecture to understand. For that matter, I think the Sega Saturn suffered something similar with a plethora of chips working together while something like the PlayStation was more straightforward which paid off market wise.

Share this post


Link to post
Share on other sites
On 6/15/2020 at 11:29 PM, Stephen said:

There is no specific 3D hardware in the Jaguar.  Everything is done in software (well, it can do z-buffering).  That being said, I don't thin it precludes an emulator from using the GPU in the host computer to speed things up or filter the graphics, similar to how the original PSX graphics can have bi-linear filtering applied.

+Gouraud Shading?

  • Like 1

Share this post


Link to post
Share on other sites

If there is Z Bufering and Gouraud Shading (reminds me of Matros Impression video card, has same capabilities hehe ))) )

then there should be 3d 'environment' that theoretically can be rendered in higher resolution's than console native resolution

 

Share this post


Link to post
Share on other sites

Yes, the hardware supports Z buffering and Gouraud shading... as long as you painfully feed it one scanline at a time. Because it can't even draw a single triangle by itself. You don't get any geometry support, either. And HLL is not an option because there is no standard 3D API.

 

So, you want to play a Jaguar 3D game in 1920x1080? Disassemble the code, understand how its 3D engine works, trap the calls and forward them to the emulator's 3D functions (which you'll have to write, obviously). Then do it all again for the next game. And so on.

 

Piece of cake, really.

  • Like 5

Share this post


Link to post
Share on other sites

not for every game, there is bunch of games that uses GPU specific rendering? If yes than it probably should be easier.

 

Like bsnes a Super Nintendo Entertainment System emulator which has enhanced support for Mode7 (hardware scaling and rotation etc)

 

 

Share this post


Link to post
Share on other sites
1 minute ago, Oleg Raven Moiseyev said:

GPU specific rendering? 

This does not exist.

  • Like 1

Share this post


Link to post
Share on other sites

so all the graphic is rendered in CPU (software rendering)?

 

ok why than GPU Tom even needed? Z Buffering and Gouraud shading is refers to 3D graphics. 

or i am wrong?

 

What tasks GPU Tom perform?

 

 

Share this post


Link to post
Share on other sites

As for the Bert and Ernie chips, IIRC that documentation has never come out of the closet

  • Haha 2

Share this post


Link to post
Share on other sites
4 minutes ago, Goochman said:

As for the Bert and Ernie chips, IIRC that documentation has never come out of the closet

It's probably time to put Bert and Ernie to bed.

  • Like 1

Share this post


Link to post
Share on other sites
On 6/15/2020 at 1:39 PM, Oleg Raven Moiseyev said:

From what i looked on youtube

a video called "All Jaguar Games" by Virtual Gaming Library

 

i spot many 3d games , which has visually various approaches to 3d graphic.

 

as Atari Karts it feels like there is 3d gpu or something like that activated for 3d games?

 

i think Doom and Wolfenstein 3D is done entirely in software mode.

 

and the games like 

Battlesphere, Checkered Flag , Club Drive, Cybermorph, Fight for Life, Hover Strike, Iron Soldier (2), i-war , kasumi ninja (selection hall), SkyHammer, Supercross 3D, Tempest 2000, Towers II, White Man cant jump, Zero 5

 

So as for dream or not XD, if there is 3D so it possible in future (whenever ) emulation gain upscaling of 3d space like Phoenix emulation Project done it for 3DO games, or bsnes of upscaline mode 7, and Playstation 1 ePSXe with Pete OpenGL plugin, or YabaSanshiro for Sega Saturn, or MGBA for GameBoy Advance.

 

I think you catch my mind , and what i am thinking of?

Dunno if this will help you or not but it's a discussion from Mike Fulton discussing how 3D on Jag works compared to something like the PSX. He was the Jaguar SDK manager for Atari then went to work for Sony.

 

Interesting thing... that thread says the PSX has dedicated 3D hardware but the Jaguar didn't. That's actually not really true. The PSX does not actually have what most people would consider to be "dedicated 3D hardware". At least, not in a way that would distinguish it from Jaguar.

The main processor in the PSX is a MIPS R3000, which a basic, general purpose RISC processor otherwise known for being used in early Silicon Graphics workstations. Sony added a co-processor chip (the "GTE") that implements matrix math functions. This is used for doing your basic 3D graphics transformations on polygon vertices but has nothing to do with the actual pixel pushing. By comparison, the Jaguar GPU has similar matrix math instructions, so the two machines are on fairly even ground at that point.

The rendering loop of a PSX game is basically this:

* Do your basic game-play calculations (R3000)
* Build a list of the polygons needed for the next frame (R3000)
* Do your 3D transforms for the the polygon vertices for the next frame (R3000/GTE)
* SUBDIVIDE POLYGONS AS NEEDED (R3000/GTE)
* Create the render object list. (This step might be integrated into the previous 3 in some cases) (R3000)
* Wait for the previous frame to finish rendering, if needed, then wait for the next vertical blank
* Pass the render object list to the GPU for rendering the next frame. (GPU asynchronous operation)

Once you pass the render object list to the GPU, the actual polygon rendering process is strictly 2D, using only X-Y values for each vertex, no Z (depth) value, and a uniform texture scale factor for the entire polygon. This is why PSX games, particularly early ones, sometimes have texture warping. This occurs when there are large polygons with a significant difference in the Z values for each vertex. This most commonly happens on walls or ground objects that extend into the frame from the edge of the screen. The way around this is to subdivide polygons with Z-values that are "close" to the viewpoint so that the texture for each can be scaled more appropriately.

By comparison, a true 3D polygon renderer would use X-Y-Z values for each vertex and adjust the texture scale factor individually for each pixel, according to the interpolated Z value.

Compared to the Jaguar, the PSX setup is more efficient because the GPU has its own dedicated RAM and it can be building a new buffer for a frame while the R3000 and GTE are busy processing the game logic and building the render list for the next frame. In many cases, the only thing the GPU has to get from main memory while processing a frame is the list of rendering instructions. This means the rendering process doesn't have a huge impact on how fast the other stuff gets done. (There are possible exceptions beyond the scope of this post.)

On Jaguar, if you use the GPU mainly for rendering and try to do the calculations for the next frame on the 68000, the two processors end up competing for the bus constantly, slowing everything down. The question is, how much? It's very context dependent, and a lot of games did it this way.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
22 hours ago, 82-T/A said:

It could handle 11.2 million polygons at 199fps.

All consoles back then boasted their polygons/sec not polygon at a frame rate. If this was converted to polygons/sec it would equal 2.23 billion polygons/sec. Way more then the 360,000 polygons/sec of the PS1 and more than the PS2 and PS3.

Edited by twoquickcapri
  • Haha 1

Share this post


Link to post
Share on other sites
12 hours ago, CyranoJ said:

It's probably time to put Bert and Ernie to bed.

 

I knew someone who took an NVIDIA RTX 2070 chip, removed Bert, and simply connected the leads (using tracer wires) from the PCB directly to the new chip. He was concerned about it arcing, so he had to have it suspended across the board using plastic twist-ties, but it worked. The graphics were immediately better in most games. Rayman for example, had nearly doubled in resolution, and all the sprites became more clear. Since the Jaguar had that natural wind effect in the design (through the use of thermal dynamics that sucked cool air in the front, and exhausted the heat out the back), the new GPU chip managed to run pretty cool.

 

  • Like 1
  • Haha 3

Share this post


Link to post
Share on other sites
1 hour ago, 82-T/A said:

 

I knew someone who took an NVIDIA RTX 2070 chip, removed Bert, and simply connected the leads (using tracer wires) from the PCB directly to the new chip. He was concerned about it arcing, so he had to have it suspended across the board using plastic twist-ties, but it worked. The graphics were immediately better in most games. Rayman for example, had nearly doubled in resolution, and all the sprites became more clear.

 

 

Sounds legit...But did it display as many colors as Bert in Rayman?🙃

  • Like 1

Share this post


Link to post
Share on other sites
38 minutes ago, sd32 said:

 

Sounds legit...But did it display as many colors as Bert in Rayman?🙃

Depends on how much you inhaled.

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
17 hours ago, Oleg Raven Moiseyev said:

so all the graphic is rendered in CPU (software rendering)?

 

ok why than GPU Tom even needed? Z Buffering and Gouraud shading is refers to 3D graphics. 

or i am wrong?

 

What tasks GPU Tom perform?

 

 

Compared to do all this 3D  with an Intel 386/486 CPU in software, I guess Jaguar is a little different. The blitter draws the polygons and does the gouraud shading, GPU features an ALU. Is that really comparable to software rendering only with a CPU, like running the 3D engine on an 8MHZ CPU e.g. Atari ST? 

Edited by agradeneu

Share this post


Link to post
Share on other sites

The general idea for 3D on the Jaguar can go like this (note that there's quite a few ways games can handle this):

 

68000:

Run the game logic.

Once per frame, tell Tom to render the display.

 

Tom:

Go through the game level and entities and compute triangles from game world coords to screen coords, generating a list of triangles.

Go through the triangles and rasterize them, generating a list of blitter commands to draw each line (or simply command the blitter right then for each line... depending on your game, one might work better than the other).

 

Blitter:

Draw each raster line for each line of every triangle rendered. This can be controlled by the 68000 or Tom. Rendering can be solid color or textured, with or without z control, with or without gouraud shading, and always affine (there is no provision for perspective correct rendering on the blitter).

  • Like 3

Share this post


Link to post
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.

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...