Some more stuff.
authorDavid Gow <david@ingeniumdigital.com>
Sat, 3 May 2014 09:07:03 +0000 (17:07 +0800)
committerDavid Gow <david@ingeniumdigital.com>
Sat, 3 May 2014 09:07:03 +0000 (17:07 +0800)
LitReviewDavid.tex
papers.bib
references/pineda1988parallel.pdf [new file with mode: 0644]

index e84b6f5..cddf469 100644 (file)
@@ -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}}
 
index a37aa73..9a078cc 100644 (file)
   publisher={IBM Corp.}
 }
 
-
+% Basically my favourite thing on triangle rasterization.
+% There are older ones, but this one makes sense.
+@misc{giesen2013triangle,
+  title={Triangle rasterization in practice},
+  author={Giesen, Fabien},
+  year={2013},
+  journal={The ryg blog},
+  type={Blog},
+  number={February 8},
+  howpublished={\url{http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/}}
+}
+
+% A paper on polygon rasterization. Probably should find a nice textbook on
+% this.
+@article{pineda1988parallel,
+  title={A parallel algorthim for polygon rasterization},
+  author={Pineda, Juan},
+  journal={ACM Computer Graphics},
+  year={1988},
+  volume={22},
+  number={4},
+  pages={17--20},
+  publisher={ACM}
+}
 
 %%%%%%%%%%%%%%%%%%%%%%%
 % Floating-pt Precision
diff --git a/references/pineda1988parallel.pdf b/references/pineda1988parallel.pdf
new file mode 100644 (file)
index 0000000..cfd5ddc
Binary files /dev/null and b/references/pineda1988parallel.pdf differ

UCC git Repository :: git.ucc.asn.au