7

Are the term raster and vector only applicable to 2d graphics?

The rendered image format might be one way to distinguish them but what about a program like blender?

If they can be classified as such, are 3d programs like blender raster or vector?

5 Answers 5

5

For 3D apps, I think it's easiest to think of the 'building' aspect of the model as being based on vectors, and the 'rendering' aspect being based on raster.

To take a very simple example: Sketchup. You can build a 3-D box and rotate it all you want. It's easy to rotate this because it's a set of vector instructions that the computer can quickly re-calculate to make a temporary raster version for your pixel-based screen. You can then go a step further and add textures, lighting, shading, shadows, etc, and have Sketchup render a static, detailed raster version of a particular view.

3
  • +1 I have 3D apps that render out svg and ai images that are vector. There is a exception to everything it seems. Perhaps it would be better as to not think programs as being vector or not but rather file formats?
    – joojaa
    Commented Mar 17, 2016 at 17:48
  • @joojaa do they actual 'render' vector output? Meaning are they creating vector based texture bumps, shadows, atmosphere and the like? (If so, that's impressive! And certainly something that I'm sure can be done...like you said, lots of exceptions rendering most graphics applications these days "a bit of both")
    – DA01
    Commented Mar 18, 2016 at 4:41
  • well their capabilities are dimished compared to pixel output. But yes they render shadows, reflections and refractions and some rudimentary shading and output that as vector
    – joojaa
    Commented Mar 18, 2016 at 5:37
3

Well, the terms do not really align in 3D and in 2D they are a bit elusive too. Most 3D applications are not something one could call raster, but it does not have to be vector either. It depends on exactly how you define the terms. Since the nuance of the definition is important, it is hard to say.

Generally I would say that 3D the images are most likely classifiable as vector*, if by vector one means the scale-ability of the end render. The description language of most 3D engines resemble more a page description language of a vector graphics engine.

However unlike 2D vector graphics, there is not necessarily a general re-rendering paradigm in 3D. So a 3D software has to output a raster image. This is true in most cases, but exceptions exist. So the end result is not a vector for your client.

Then there is the discrete versus continuous function discussion. Does raster imply discrete data sampling? Are raster data editors truly that, if you can change the text isn't that a vector description feature? So not even in 2D is the distinction so easy.

So in the end it depends on who's definition you use. The distinction is getting harder to make as time goes forward. I would say that in the end:

  • It depends on what you want to achieve and what you do. From a printers point of view, anything that is not vector content in a PDF is not vector. But since most data is mixed content, it's really hard to say.

    Does something become vector even if there is just one vector element? Or is in fact all printer output vector on account that the page description languages image placement is a vector operation in its core?

  • The easiest way to deal with this is if your central work revolves around designing pixels and modifying individual samples - then it's raster. But since nothing is really that black and white it's up for grabs.

* Not all 3D apps are the same. There is more variation in 3D than in 2D. So no not all fall into this category. Some do lean much more on the raster side (voxels anyone).

5
  • so the software in itself is hard to distinguish, so we can't just say 'blender is a 3d vector graphics engine', and it all depends on the output?
    – lind
    Commented Mar 17, 2016 at 8:19
  • 1
    @lind If you want to define difference raster/vector based on output. But that's just one definition from a deep technical point of view that would mean that vector contents only exists if you print with a plotter, laser cutter etc.
    – joojaa
    Commented Mar 17, 2016 at 8:21
  • I created a chat room for this @lind so that we can chat this out.
    – joojaa
    Commented Mar 17, 2016 at 8:27
  • I disagree with this answer. 3D software builds objects with vectors that can be scaled up and down like vector images. Obviously if you add a raster texture to it the texture is not a vector.
    – Luciano
    Commented Mar 17, 2016 at 15:16
  • @Luciano not all 3D apps are the same. Voxel modellers work like pixels but intead of a flat plane they are in fact cubic grids. Not all textures are images, some are procedural that then are vector or not... Hard to classify.
    – joojaa
    Commented Mar 17, 2016 at 17:35
2

A vector is a descriptive language that allows a person or computer to recreate the image by following a set of steps. It is metaphorically similar to a musical score. It has no resolution.

A raster is a string of numbers (brightness data) which have a one to one correspondence to a 2-d grid. The courseness of the grid (resolution) is set at the time of creation. This is metaphorically similar to a fixed grid of lights where each light is on a dimmer, and each number determines the dimmer setting for a single light. (originally, the raster data (a bitmap) was simply shoved as-is into the display memory)

All images must be rasterized for any form of output: display, print, etc. (plotters/laser cutters might be considered an exception to this). Raster is pre-baked, vector is made from scratch.

Raster images must be "resampled" if their pre-determined grid does not match the output device grid (their resolution does not match). You'd have to add or remove lights from the light bank and then {do magic} to recalculate the brightness to configure the light switches. This is usually very fast, and even faster when the grid is not altered.

Vector images have no grid (they are resolution independent), so the output device follows the instructions (the musical score) creating a new performance of it every time at the desired grid size (or the best possible for that device). This is computationally intensive and slower, but allows for the best possible resolution at any moment in time.

The main difference between a "vector image" and a 3d model is there is a 3rd dimension. They are both vector.

Back in the 20th century, 3d games would basically be wireframe or colored vectors (see Battlezone or Mechwarrior 2) and it was more obvious.

I haven't looked at Blender in a long time, but it was more a vector program and didn't really have a lot of raster image manipulation: you would do textures in Photoshop etc, and then attach them in blender, applying "shaders" etc to get lighting. What we perceive as an alien is usually what Illustrator etc would call a "raster effect."

The thing is that 3d models are almost always textured and those textures are almost always raster images and they have a resolution and the best way to get really good looking models is to have large-grid-size raster images. This is why, despite vectors being able to do more at a smaller file size than a raster image, games are upwards of 40GB anymore.

If the CPU power was there, they could probably go 100% vector and just render all surfaces on-the fly.

7
  • 1
    Adding some trivia...there are also vector-based video displays. Examples include oscilloscopes and arcade versions of Asteroids.
    – DA01
    Commented Mar 17, 2016 at 15:26
  • Yeah Battlezone I think was also vector-based. Possibly the same hardware as Asteroids. I won't say how old I was when those came out !
    – Yorik
    Commented Mar 17, 2016 at 15:33
  • I had a fun weekend as a kid when a few of us at a hotel realized Battlezone was rigged for free play. Good times. :)
    – DA01
    Commented Mar 17, 2016 at 15:56
  • I think its a bit of a oversimplification to declare that everything more complex is vector. I would say that theres more than a vector-raster classification.
    – joojaa
    Commented Mar 17, 2016 at 17:44
  • not sure what you mean "more complex" I didn't mention complexity at all
    – Yorik
    Commented Mar 17, 2016 at 20:48
2

Are vectors, realy vectors?

First of all, where does the term vectors come from?

One definition is: a quantity possessing both magnitude and direction, represented by an arrow the direction of which indicates the direction of the quantity and the length of which is proportional to the magnitude.

In a 2D program you strech the nodes to form curves. Segments of a shape.

On 3D models you have more than just "vectors" You have diferent modeling techniques. The one similar to a 2D vector are bezier and other is nurbs. So you have 2 kind of modes to construct a model.

Another one is meshes. This is a coordinate system based. Just straight edges conecting verex. There is no vector there, becouse they have a magnitude of 0 with no direction.

You have thoose too in 2D programs, but the term vectors is more general. I am not sure, but I recall that some formats like EMF can record only straight segments of lines, not vectors properly speaking. If you are just drawing a rectangle on Ilustrator... probably that is not a vector.

Raster or bitmap?

In my opinion the correct term is bitmap. A map (2D coordinate system made of bits of information) Probably the correct term should be pixelmaps. Raster in my opinion is the proces of converting information into an image.

For example, one definition on CRT television is: A pattern of scanning lines covering the area upon which the image is projected in the cathode-ray tube of a television set.

The ray was "scraching" (raster) the tv to form an image.

On a 3D program rasterizing is the process now called Render. But inclusive just playing with the wireframe view needs some kind of rendering.

On a 2D program (vector) you also need rendering and rasterizing. After all, a 2D image format is just information you need to see as a human.

What is inside?

are 3d programs like blender raster or vector?

That is not the clasification used. They use vectors, coordinates and use inside bitmaps and can output "rasterize" bitmaps and videos. It becomes more complex than just thoose 2 terms.

The general clasification of 3D programs are:

  • Modeling (with a lot of sub categories here, like sculpting, nurbs, extruding, etc.) Ok... A "vector" like component.

  • Animation. You can use vectors or coordinate systems... Ok. Another "vector" like component.

  • Rendering (there are a lot of render engines for diferent modeling aplications) They take the "vector" component to export a raster one.

And some features that are more like accesories for the main initial categories, like phisics and particles simulators.

The same for a 2D program. One vector based software can also handle bitmaps and export them.

Edited For example, take a look at this category: https://en.wikipedia.org/wiki/List_of_3D_rendering_software and take a look at the bottom of the page, "see also".

3
  • Technically a bitmap is binary (i.e bits) so each pixel is either black or white. A multiple-bits-per-pixel system is generally called a pixmap.
    – Cai
    Commented Mar 17, 2016 at 23:19
  • @CAI Not necessarily if i pack higher byte orders to say 7 bits its still a bitmap on account that my data alignment is not byte by byte. Also bitmap definition includes pixmap so saying this is not wrong.
    – joojaa
    Commented Mar 18, 2016 at 6:13
  • @Rafael, I don't know if 3ds are classified as modelling, animation etc. Aren't they just techniques to create sth?
    – lind
    Commented Mar 18, 2016 at 6:22
0

Raster is bitmap image - Height and Width are defined with a certain number of pixels.

Vector - The image is formed by mathematical calculation and don't have a fix width and height. Dimensions can be changed whenever you want.

5
  • Just to nitpick dimensions of vector drawings can not really be changed however you want. There is no infinite scalability they often do not work well in very small sizes and can break up on very big scales.
    – joojaa
    Commented Mar 17, 2016 at 9:57
  • Nothing is perfect my friend. But the "theory" is that. And works. I am sure also that if somebody try scale some graphic to cover the moon surface, something gonna be wrong. As well as if someone try to make an atom-sized version. But i didn't have any problem with vectors breaking around. Is a pretty trustable technology. I even can stretch and say that most of the time when the vector is breaking, the cause is tool configuration. So for example you use Illustrator and the "align to pixel grid" is checked or "snap to grid" or whatever. Commented Mar 17, 2016 at 10:22
  • 1
    Well if we take your definition then all 3d apps are vector applications. And yes i dont have so much problem stretching the size of the moon but rather from here to mars.
    – joojaa
    Commented Mar 17, 2016 at 10:48
  • My definition was an explanation about the concept and meaning of the words "raster" and "vector". I wanted to help with more info. Commented Mar 17, 2016 at 10:54
  • @joojaa technically, that's a limitation of the output device...not the file itself. And most 3D apps are vector based...in that they are based on mathematical paths rather than pixels (though most all 3D apps also render raster images)
    – DA01
    Commented Mar 17, 2016 at 15:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.