Raster graphic image

In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image which represents the original image.[1][2] The rasterized image may then be displayed on a computer display, video display or printer, or stored in a bitmap file format. Rasterization may refer to the technique of drawing 3D models, or to the conversion of 2D rendering primitives, such as polygons and line segments, into a rasterized format.

Etymology

edit

The term "rasterisation" comes from German Raster 'grid, pattern, schema' and Latin rāstrum 'scraper, rake'.[3][4]

2D images

edit

Line primitives

edit

Bresenham's line algorithm is an example of an algorithm used to rasterize lines.

Circle primitives

edit

Algorithms such as the midpoint circle algorithm are used to render circles onto a pixelated canvas.

Triangle rasterization

edit
Rasterizing triangles using the top-left rule

Polygons are a common representation of digital 3D models. Before rasterization, individual polygons are triangulated - therefore, a typical problem to solve in 3D rasterization is rasterization of a triangle.

Properties that are usually required from triangle rasterization algorithms are that rasterizing two adjacent triangles (i.e. those that share an edge) are:

  1. it leaves no 'holes' (non-rasterized pixels) between the triangles, so that the rasterized area is completely filled (just as the surface of adjacent triangles)
  2. no pixel is rasterized more than once, i.e. the rasterized triangles don't overlap. This is to guarantee that the result doesn't depend on the order in which the triangles are rasterized. Overdrawing pixels can also mean wasting computing power on pixels that would be overwritten.

This leads to establishing rasterization rules to guarantee the above conditions. One set of such rules is called a top-left rule, which states that a pixel is rasterized if and only if

  1. its center lies completely inside the triangle, or
  2. its center lies exactly on the triangle edge (or multiple edges in case of corners) – that is (or, in case of corners, all are), either the top or left edge.

A top edge is an edge that is exactly horizontal and lies above other edges, and a left edge is a non-horizontal edge that is on the left side of the triangle.

This rule decides which triangle a pixel on a boundary belongs to. It is implemented by Direct3D[5][6] and OpenGL (although the specification here only requires a consistent rule[7]).

3D images

edit

Rasterization is one of the typical techniques of rendering 3D models. Compared with other rendering techniques such as ray tracing, rasterization is extremely fast and therefore used in most realtime 3D engines. However, rasterization is simply the process of computing the mapping from scene geometry to pixels and does not prescribe a particular way to compute the color of those pixels. The specific color of each pixel is assigned by a pixel shader (which in modern GPUs is completely programmable). Shading may take into account physical effects such as light position, their approximations or purely artistic intent.

The process of rasterizing 3D models onto a 2D plane for display on a computer screen ("screen space") is often carried out by fixed function (non-programmable) hardware within the graphics pipeline. This is because there is no motivation for modifying the techniques for rasterization used at render time [8] and a special-purpose system allows for high efficiency.

Quality

edit
Pixel precision (left) vs sub-pixel precision (middle) vs anti-aliasing (right)

The quality of rasterization can be improved by antialiasing, which creates "smooth" edges. Sub-pixel precision is a method which takes into account positions on a finer scale than the pixel grid and can produce different results even if the endpoints of a primitive fall into same pixel coordinates, producing smoother movement animations. Simple or older hardware, such as PlayStation 1, lacked sub-pixel precision in 3D rasterization.[9]

See also

edit

References

edit
  1. ^ Michael F. Worboys (30 October 1995). GIS: A Computer Science Perspective. CRC Press. pp. 232–. ISBN 978-0-7484-0065-2.
  2. ^ Kang-Tsung Chang (27 August 2007). Programming ArcObjects with VBA: A Task-Oriented Approach, Second Edition. CRC Press. pp. 91–. ISBN 978-1-4200-0918-7.
  3. ^ Harper, Douglas. "raster". Online Etymology Dictionary.
  4. ^ rastrum. Charlton T. Lewis and Charles Short. A Latin Dictionary on Perseus Project.
  5. ^ "Rasterization Rules (Direct3D 9)". Microsoft Docs. Retrieved 19 April 2020.
  6. ^ "Rasterization Rules (DirectX11)".
  7. ^ OpenGL 4.6 (PDF). p. 478.
  8. ^ "Rasterization: a Practical Implementation". www.scratchapixel.com. Retrieved 2023-10-06.
  9. ^ "PlayStation rasterization issues". Libretro. 4 October 2016. Retrieved 19 April 2020.
edit

📚 Artikel Terkait di Wikipedia

Glossary of computer graphics

attributes as a prerequisite for rasterization. Triangle setup unit A fixed-function unit in a GPU that performs triangle setup (and may perform backface

Real-time computer graphics

z-buffer triangle rasterization. In this technique, every object is decomposed into individual primitives, usually triangles. Each triangle gets positioned

Irregular z-buffer

leverages hardware-accelerated conservative rasterization and early-Z culling. Conservative rasterization is necessary because IZB samples can be located

Triangle fan

cost performance with fragment shaders and multisampling rasterization. For this reason, Triangle fans are deprecated in Direct3D10 and later. Any convex

Rendering (computer graphics)

films. Both rasterization and ray tracing can be sped up ("accelerated") by specially designed microprocessors called GPUs. Rasterization algorithms are

Graphics pipeline

shader. The rasterization step is the final step before the fragment shader pipeline that all primitives are rasterized with. In the rasterization step, discrete

Turing (microarchitecture)

with individual triangles. Features in Turing: CUDA cores (SM, Streaming Multiprocessor) Compute Capability 7.5 traditional rasterized shaders and compute

Ray tracing hardware

own benefits and drawbacks. Rasterization can be performed using devices based on a stream computing model, one triangle at the time, and access to the