X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=blobdiff_plain;f=LitReviewDavid.tex;h=cddf4699914a9cd5114a12dea0b5007b0200f611;hp=e84b6f54d20b345798197381a0f4806f99bf03bd;hb=be1e7d00d5cfc228bf63040d47471724909cf3cc;hpb=66a3095577df07859b7ef9e8378238a4ef56d278 diff --git a/LitReviewDavid.tex b/LitReviewDavid.tex index e84b6f5..cddf469 100644 --- a/LitReviewDavid.tex +++ b/LitReviewDavid.tex @@ -36,8 +36,29 @@ to issues with numeric precision. \section{Rendering} -As existing displays (and printers) are bit-mapped devices, one of the core problems which must be solved when -designing a document format is how it is to be \emph{rasterized} into a bitmap at a given resolution. +Computer graphics comes in two forms: bit-mapped (or raster) graphics, which is defined by an array of pixel colours, +and \emph{vector} graphics, defined by mathematical descriptions of objects. Bit-mapped graphics are well suited to photographs +and are match how cameras, printers and monitors work. However, bitmap devices do not handle zooming beyond their +``native'' resolution --- the resolution where one document pixel maps to one display pixel ---, exhibiting an artefact +called pixelation where the pixel structure becomes evident. Attempts to use interpolation to hide this effect are +never entirely successful, and sharp edges, such as those found in text and diagrams, are particularly effected. + +Vector graphics lack many of these problems: the representation is independent of the output resolution, and rather +an abstract description of what it is being rendered, typically as a combination of simple geometric shapes like lines, +arcs and ``B\'ezier curves''. +As existing displays (and printers) are bit-mapped devices, vector documents must be \emph{rasterized} into a bitmap at +a given resolution. This bitmap is then displayed or printed. The resulting bitmap is then an approximation of the vector image +at that resolution. + +This project will be based around vector graphics, as these properties make it more suited to experimenting with zoom +quality. + + +The rasterization process typically operates on an individual ``object'' or ``shape'' at a time: there are special algorithms +for rendering lines\cite{bresenham1965algorithm}, triangles\cite{giesen2013triangle}, polygons\cite{pineda1988parallel} and B\'ezier +Curves\cite{goldman_thefractal}. Typically, these are rasterized independently and composited in the bitmap domain using Porter-Duff +compositing\cite{porter1984compositing} into a single image. This allows complex images to be formed from many simple pieces, as well +as allowing for layered translucent objects, which would otherwise require the solution of some very complex constructive geometry problems. \subsection{Compositing Digital Images\cite{porter1984compositing}}