0
\$\begingroup\$

There was this game that I used to play when I was a kid. It's named Another World. It was ahead of its time in graphics, it even has real-time cutscenes on the SNES version. That game does not use any image files, it draws everything using vectors.

Wikipedia says the game devs used vectorization to reduce memory use. If raster graphics have fixed resolution and use higher memory, then why vector graphics isn't being used in games? Are there any downsides?


I mean, today we have 8K graphics and this can generate a heavy raster file. Wouldn't we have more performance using vector graphics?

\$\endgroup\$
2
  • 1
    \$\begingroup\$ There used to be a very popular game development technology a while ago that used vector graphics a lot: Adobe Flash. \$\endgroup\$
    – Philipp
    Dec 18, 2022 at 9:30
  • 1
    \$\begingroup\$ Rendering animated vector art at high resolution has some challenges, but there are ways to do it efficiently on GPUs. \$\endgroup\$
    – DMGregory
    Dec 18, 2022 at 19:06

2 Answers 2

2
\$\begingroup\$

Memory isn't that much of an issue as it was in the 90s.

The SEGA Mega Drive had only 64 kB of RAM and another 64 kB of VRAM. Yes, KILObyte. And it rendered at 256x224 pixels at the lowest resolution mode with 6 bit per pixel. That meant that there was barely about enough VRAM for one screen full of pixels. And then you have nothing left for sprites. So if you want a full-screen bitmap image that doesn't consist of repeating tiles, you can barely have any motion in it.

But PCs today? The best screens today (UltraHD aka "8k") have 7689 x 4320 pixels at 4 byte per pixel = 126 MB. As you know, RAM sizes of both system RAM and video RAM are measured in GB today. Which means that you can comfortably fit not just one but several full-screen bitmaps into memory at once. You don't need to use clever vectorization tricks to fit graphics into memory.

We got better tricks today

Although RAM is now far more plentiful, you can never have enough. More VRAM means more and larger textures which allows game scenes with a higher visual fidelity. But there are other tricks today we use to conserve (V)RAM through more use of processing power:

  • Texture compression means that we have textures in packed formats which get unpacked on-the-fly during rendering. We use algorithms which are either lossless or have losses you are not going to perceive, so it doesn't really impact the aesthetics of the game. That means the aesthetics of games today are less driven by technical constraints and more by the creativity of the artists.
  • Pixel shaders can be used to generate the texture of a polygon procedurally on the GPU while it is being rendered. Although pixels shaders often use one or more textures as input, there are also shaders which have no input textures at all and generate the color value solely as a function of the texture coordinates. That is another processing power for RAM trade, but one which does affect aesthetics, because it allows us to do things that would be hard to accomplish using static textures. Sometimes this is used for things you can call "vector art". Signed Distance Fields, for example.
  • Vertex Shaders and Geometry Shaders do the same thing, but for the shape of 3d models instead of their textures.
\$\endgroup\$
2
\$\begingroup\$
  1. One can think of 3D graphics as being vector. After all, despite the internal "3D World", they are still vertices and vectors, just with some fancy textures and lighting/shaders thrown on top to make them look "nicer". In that sense vector graphics is kept being used since.

  2. Pure vector graphics imply minimalistic look. Some games choose it (e.g. Superhot is quite vector-y). But in modern day and processing power available, it's very easy to throw in some after-effects like SSAO and DoF and such, that make the graphics overall "smoother", yet steal a bit from the pure vector style.

  3. In the end, everything gets rasterized into pixels on your display. Vector or not, it becomes raster. Difference is "when" it does so and what aesthetics it tries to be.

\$\endgroup\$
6
  • \$\begingroup\$ I guess there's no way to do 3d raster graphics. But is it possible to do complex graphics with rasterization? \$\endgroup\$ Dec 18, 2022 at 6:21
  • 1
    \$\begingroup\$ 3D raster graphics is Voxels - there are some rare games using it (they are fun to play in destruction mode, e.g. Teardown). In some sense, Minecraft can be thought of as voxel-world game too. \$\endgroup\$
    – Kromster
    Dec 18, 2022 at 6:25
  • \$\begingroup\$ That surprises me, thanks for the answer. If i do my 2D game entirely based on vectorized graphics would that have performance impact (besides memory cost)? \$\endgroup\$ Dec 18, 2022 at 6:31
  • 1
    \$\begingroup\$ Don't worry about it. Unless you are AAA studio, modern PCs and Smartphones are so insanely fast that "performance" is no longer a real issue (unless some complex physics or simulations get involved). \$\endgroup\$
    – Kromster
    Dec 18, 2022 at 6:41
  • 1
    \$\begingroup\$ I would say so. Plus an unusual art style - thats often a good selling point too. \$\endgroup\$
    – Kromster
    Dec 18, 2022 at 6:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .