# What does the term "geometry" refer to in graphics programming?

What does the term "geometry" refer to in graphics programming?

I commonly hear the term when people are referring to data. And my understanding is that it's usually a generic term to refer to data that's used in the rendering process such as vertices, normals, texture coordinates, etc.

Or is there some other meaning, more specific meaning?

New contributor
arm.u is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
• It's referring to the sets of points representing your scene. For instance meshes made out of triangles. Or spheres/torii/fractals and other interesting sets which you can find the intersection with by using ray-tracing and ray-marching. Commented Aug 1 at 10:48
• @lightxbulb ahh I see, thank you for the response! Commented Aug 1 at 16:36

If you read introductory material to 2D computer graphics (perhaps somewhat older material), they will likely start by telling you about the distinction between “raster graphics” and “vector graphics”.

• Raster graphics: The data being processed is an array of pixels which form an image.
• Vector graphics: The data being processed is a set of geometric shapes, represented as data structures that list points of the shape (e.g. the corners of a rectangle), plus additional information about the color and other “style” details of how the shape should be displayed.

In the modern day, computer graphics frequently involves a mix of both techniques — starting with a vector data set of some sort, converting it to pixels, then applying further processing to those pixels. This is particularly true in 3D graphics.

“The geometry” refers to the shapes and points of the vector data. In 3D graphics, this data is very often a triangle mesh, because that is a particularly uniform yet general format for approximating the shapes of arbitrary surfaces. In a triangle mesh, all of the points are vertices of the triangles.

The geometry often has normals, texture coordinates, and other data relating to each vertex, but when we talk about “the geometry” we're talking about the characteristics of the shape itself, as a shape. When working with the geometry in the form of a triangle mesh, you have concerns like

• Is there an appropriate level of detail (number of vertices used to approximate complex curved shapes)?
• Are there errors, like gaps in the surface that are visible from some angles, or redundant vertices or triangles?
• Are the “bones” of a model (modifiers to the positions of groups of vertices) correctly set up to allow its shape to be animated?

When considering these problems, the other vertex attributes (normals, texture coordinates, colors, etc.) are relevant only as information that needs to be preserved or remapped appropriately; they aren't themselves affecting the answers to the questions. They're not defining the geometry.

• Awesome, thank you for the response Kevin! :) Commented Aug 1 at 16:35