Vector Graphics?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Vector Graphics?
by on (#154908)
Hi,
I was having an a argument with a friend about game Elite the point of the argument was whenever Elite uses Vector graphics or not.
Shortly after he proclaimed that NES is unable to do any vector graphics. I tried argumenting back (with definitions of vector graphics and even explained how its done in Elite game), but not to avail.
He agreed for me to ask the real NES specialists here.
So, a question, "can NES do vector graphics?"
Thanks for any answers.
Re: Vector Grpahics?
by on (#154909)
Does he think anything other than a Vectrex or contemporary vectorscope-using arcade machines counts as vector graphics? 'Cuz I don't see a point in trying to persuade him if his definition is that strict.
Re: Vector Grpahics?
by on (#154911)
Your friend is right when he says that the NES isn't capable of doing vector graphics, but that doesn't mean such graphics can't be "hacked in" if they're converted to pixels (which the NES does support) for display in the end.

Very few computers have vector displays, so much like Adobe Illustrator has to rasterize its graphics so you can view them on your monitor, Elite also has to rasterize its graphics so they can be displayed with pixels.
Re: Vector Graphics?
by on (#154913)
There's a difference between a vector display and vector graphics. A vector display is a specific kind of hardware. Vector graphics are graphics made with vector primitives rather than pixels or some other kind. You can render vector graphics with pixels on a raster display (e.g.: SVG graphics in your web browser, adobe flash, Elite on the NES, etc.).

This is all just semantics though. "Vector graphics" might be taken to mean "vector display" and vice versa depending on the context. Words are imprecise. I find it's usually more productive to ask someone what they mean rather than guess which definition they like best.
Re: Vector Graphics?
by on (#154919)
Rainwarrior maeks a good point about SVG, which stands for Scalable Vector Graphics. I'm inclined to agree with deferring to the name of the SVG standard. SVGs are vector graphics rasterized at runtime, and so are the graphics in Elite, Tank Demo, Faceball, Qix, and Star Fox.

However, I'd draw the line on that side of Donkey Kong Country, Uniracers, and Toy Story. The graphics in those games are created from vector graphics, but their rasterization is baked into the cartridge. Once the CPU sees them, they're not at all vectors. I'm not entirely sure what's vectors and what's prerendered in Out of This World and Flashback though.
Re: Vector Graphics?
by on (#154945)
tepples wrote:
I'm not entirely sure what's vectors and what's prerendered in Out of This World and Flashback though.


I don't have a damn clue about the various remakes (probably rasterized), but according to Eric Chahi, Another World in it's entirety, short of maybe the font and the loading icon, were vectorized.

He makes mention of drawing out the backgrounds on paper in early game development, before deciding to draw in his custom vector tools to speed things up:
http://www.anotherworld.fr/anotherworld ... _world.htm

As for Flashback, only the characters *look* vectorized? I'm pretty sure that most of those backgrounds are tile-based.
Re: Vector Graphics?
by on (#154996)
Alp wrote:
As for Flashback, only the characters *look* vectorized? I'm pretty sure that most of those backgrounds are tile-based.

Odd. I just came across this page and I remembered this thread immediately.
Re: Vector Graphics?
by on (#155013)
Incidentally, this sort of runtime rasterization is impossible on CHR ROM-only platforms such as Neo Geo without some hacked-up means of sending data from the PRG board to a RAM on the CHR board.
Re: Vector Graphics?
by on (#155021)
tepples wrote:
Incidentally, this sort of runtime rasterization is impossible on CHR ROM-only platforms such as Neo Geo without some hacked-up means of sending data from the PRG board to a RAM on the CHR board.

Does the NES have some more hardware that allows it to send information to the cartridge to fill out CHR RAM? But yeah, I imagine you could change CHR RAM by some external means and it would run just fine. What kind of outputs does the Neo Geo have? I mean, if it has some sort of an expansion port, could you do a hack job where you run a cord from the expansion port to the modified cartridge.
Re: Vector Graphics?
by on (#155025)
Espozo wrote:
tepples wrote:
Incidentally, this sort of runtime rasterization is impossible on CHR ROM-only platforms such as Neo Geo without some hacked-up means of sending data from the PRG board to a RAM on the CHR board.

Does the NES have some more hardware that allows it to send information to the cartridge to fill out CHR RAM?

Yes: a PPU /WR pin brought out to the cart edge. The Neo Geo AES and MVS cart edges doesn't have that. (See AES pinout)

Quote:
I mean, if it has some sort of an expansion port, could you do a hack job where you run a cord from the expansion port to the modified cartridge.

Really all it would require is running a ribbon cable from a suitable specialized chip on the PRG board to its counterpart on the CHR board to pass written bytes along.
Re: Vector Graphics?
by on (#155026)
tepples wrote:
Really all it would require is running a ribbon cable from a suitable specialized chip on the PRG board to its counterpart on the CHR board to pass written bytes along.

What's "PRG"? Also, you're saying this can all be done on the cartridge? If so, the statement that it's impossible to do have CHR RAM on the Neo Geo seems a bit inaccurate. I'm assuming the Neo Geo CD has vram or something?
Re: Vector Graphics?
by on (#155028)
Neo Geo AES and Neo Geo MVS cartridges have one PRG board and one CHR board in the same way that NES cartridge boards have a PRG half and a CHR half. The Neo Geo CD has VRAM, but no existing Neo Geo cartridge release uses a circuit like that which I described.
Re: Vector Graphics?
by on (#155034)
tepples wrote:
Neo Geo AES and Neo Geo MVS cartridges have one PRG board and one CHR board in the same way that NES cartridge boards have a PRG half and a CHR half.

Oh, wait, "PRG" mean PRoGram, right? I didn't think it was on a separate board though, as it's one cartridge. Oh, wait...

Attachment:
Cartridge Bottom.png
Cartridge Bottom.png [ 78.32 KiB | Viewed 5884 times ]

tepples wrote:
The Neo Geo CD has VRAM

And a lot of it I'd imagine...

tepples wrote:
no existing Neo Geo cartridge release uses a circuit like that which I described.

Do you know if any Neo Geo development people have done this before? You know, I wonder if the Neo Geo by itself (excluding the CHR RAM thing) could handle something like Star Fox level 3D.
Re: Vector Graphics?
by on (#155044)
Espozo wrote:
tepples wrote:
The Neo Geo CD has VRAM

And a lot of it I'd imagine...

You get 7 megabytes; 2MB for the program, 4MB for sprites (a far cry from the maximum 128MB for sprites on ROM), and 1MB for PCM data.

Espozo wrote:
tepples wrote:
no existing Neo Geo cartridge release uses a circuit like that which I described.

Do you know if any Neo Geo development people have done this before? You know, I wonder if the Neo Geo by itself (excluding the CHR RAM thing) could handle something like Star Fox level 3D.


The closest thing I can think of is furrtek's Super Neo Geo Pocket Color, which may or may not have been completed...
Re: Vector Graphics?
by on (#155048)
freem wrote:
4MB for sprites (a far cry from the maximum 128MB for sprites on ROM)

That's exactly the same difference between the typical 8KB of CHR-RAM and maximum of 256KB of CHR-ROM you find on the NES:

128MB / 4MB = 32
256KB / 8KB = 32
Re: Vector Graphics?
by on (#155050)
freem wrote:
The closest thing I can think of is furrtek's Super Neo Geo Pocket Color, which may or may not have been completed...

In that kind of situation, probably not.

freem wrote:
4MB for sprites (a far cry from the maximum 128MB for sprites on ROM),

Wow. :lol: The N64 could probably do a better job with just the 4MB because of the fast access times with a cartridge.