I should be ashamed, but at least my shame is safe
[ipdf/documents.git] / papers.bib
index fa6ae7b..4796a0b 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
@@ -81,10 +104,37 @@ Goldberg:1991:CSK:103162.103163,
   organization={IEEE}
 }
 
+@article{ieee754std1985,
+  journal={{ANSI}/{IEEE} Std 754-1985},
+  title={{IEEE} Standard for Binary Floating-Point Arithmetic},
+  year={1985}, 
+}
+
+@article{ieee754std2008,
+  journal={{IEEE} Std 754-2008},
+  title={{IEEE} Standard for Floating-Point Arithmetic},
+  year={2008},
+  month={Aug},
+  pages={1-70},
+}
+
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%
 % GPU-y Stuff
 %%%%%%%%%%%%%%%%%%%%%%%%
 
+% OpenGL 4.4 (core profile) spec.
+% The latest OpenGL spec.
+% See: http://www.opengl.org/registry/doc/glspec44.core.pdf
+@book{openglspec,
+  title={The {OpenGL}\textregistered Graphics System: A Specification},
+  author={Segal, Mark and Akely, Kurt and Leech, Jon},
+  year={2014},
+  publisher={The Kronos Group, Inc},
+  url={http://www.opengl.org/registry/doc/glspec44.core.pdf}
+}
+
 % The valve paper on using signed distance fields, scaling them and then alpha testing
 % them to have a smooth, defined boundary for "vector"-like effects.
 % Also talks of using several channels in the image and running boolean operations on them
@@ -92,7 +142,7 @@ Goldberg:1991:CSK:103162.103163,
 @inproceedings{green2007improved,
   title={Improved alpha-tested magnification for vector textures and special effects},
   author={Green, Chris},
-  booktitle={ACM SIGGRAPH 2007 courses},
+  booktitle={{ACM} {SIGGRAPH} 2007 courses},
   pages={9--18},
   year={2007},
   organization={ACM}
@@ -124,7 +174,7 @@ Goldberg:1991:CSK:103162.103163,
 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
 @techreport{ray2005vector,
-  title={Vector texture maps on the GPU},
+  title={Vector texture maps on the {GPU}},
   author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
   year={2005},
   institution={Technical Report ALICE-TR-05-003}
@@ -172,7 +222,7 @@ Goldberg:1991:CSK:103162.103163,
 @article{loop2007rendering,
   title={Rendering vector art on the GPU},
   author={Loop, Charles and Blinn, Jim},
-  journal={GPU gems},
+  journal={{GPU} gems},
   volume={3},
   pages={543--562},
   year={2007}
@@ -185,9 +235,9 @@ Goldberg:1991:CSK:103162.103163,
 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html 
 @article{kilgard2012gpu,
-  title={GPU-accelerated path rendering},
+  title={{GPU}-accelerated path rendering},
   author={Kilgard, Mark J and Bolz, Jeff},
-  journal={ACM Transactions on Graphics (TOG)},
+  journal={{ACM} Transactions on Graphics (TOG)},
   volume={31},
   number={6},
   pages={172},
@@ -196,7 +246,7 @@ Goldberg:1991:CSK:103162.103163,
 }
 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
 @article{kilgard300programming,
-  title={Programming with NV path rendering: An Annex to the SIGGRAPH paper GPU-accelerated Path Rendering},
+  title={Programming with {NV} path rendering: An Annex to the {SIGGRAPH} paper {GPU}-accelerated Path Rendering},
   author={Kilgard, Mark J},
   journal={heart},
   volume={300},
@@ -213,7 +263,7 @@ Goldberg:1991:CSK:103162.103163,
 % OpenVG is an opengl-ish API for vector graphics.
 % More based around SVG than postscript, but not bad.
 @article{rice2008openvg,
-  title={OpenVG Specification, version 1.1},
+  title={{OpenVG} Specification, version 1.1},
   author={Rice, Daniel and Simpson, RJ},
   journal={Khronos Group},
   year={2008}
@@ -223,7 +273,7 @@ Goldberg:1991:CSK:103162.103163,
 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
 @inproceedings{oh2007implementation,
-  title={Implementation of OpenVG 1.0 using OpenGL ES},
+  title={Implementation of {OpenVG} 1.0 using {OpenGL} {ES}},
   author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
   booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
   pages={326--328},
@@ -234,7 +284,7 @@ Goldberg:1991:CSK:103162.103163,
 % Implementing the OpenVG paint modes using GLES2 shaders.
 % This is all pretty simple stuff.
 @inproceedings{robart2009openvg,
-  title={OpenVG paint subsystem over openGL ES shaders},
+  title={{OpenVG} paint subsystem over {OpenGL} {ES} shaders},
   author={Robart, Mathieu},
   booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
   pages={1--2},
@@ -267,7 +317,7 @@ Goldberg:1991:CSK:103162.103163,
        Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
        Number = {1},
        Pages = {59 - 63},
-       Title = {Portable Document Format (PDF) -- Finally, a Universal Document Exchange Technology.},
+       Title = {Portable Document Format ({PDF}) -- Finally, a Universal Document Exchange Technology.},
        Volume = {28},
        URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
        Year = {2002},
@@ -518,7 +568,8 @@ ISSN={1063-6889},}
        author = "Jim Demmel",
        journal = "U.C. Berkeley CS267",
        note = "Lecture Notes",
-       howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}"
+       howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}",
+       year = 1996
 }
 
 @misc{grfpu_dasia,
@@ -571,7 +622,7 @@ keywords={IEEE standards;floating point arithmetic;programming;IEEE standard;ari
 doi={10.1109/IEEESTD.2008.4610935},}
 
 
-@article{dekker1971afloating
+@article{dekker1971afloating,
 year={1971},
 issn={0029-599X},
 journal={Numerische Mathematik},
@@ -585,3 +636,195 @@ author={Dekker, T.J.},
 pages={224-242},
 language={English}
 }
+
+@String{pub-BIRKHAUSER-BOSTON   = "Birkh{\"a}user Boston Inc."}
+@String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
+
+@Book{HFP,
+  author =       "Jean-Michel Muller and Nicolas Brisebarre and Florent
+                 de Dinechin and Claude-Pierre Jeannerod and Vincent
+                 Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
+                 and Damien Stehl{\'e} and Serge Torres",
+  title =        "Handbook of Floating-Point Arithmetic",
+  publisher =    pub-BIRKHAUSER-BOSTON,
+  address =      pub-BIRKHAUSER-BOSTON:adr,
+  pages =        "xxiii + 572",
+  year =         "2010",
+  DOI =          "http://dx.doi.org/10.1007/978-0-8176-4704-9",
+  ISBN =         "0-8176-4704-X",
+  ISBN-13 =      "978-0-8176-4704-9",
+  LCCN =         "QA76.9.C62 H36 2010",
+  bibdate =      "Thu Jan 27 16:18:58 2011",
+  price =        "US\$90 (est.)",
+  acknowledgement = ack-nhfb,
+}
+
+@article{svg2011-1.1,
+       year = 2011,
+       month = "August",
+       journal = "WC3 Recommendation",
+       title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)",
+       author = "Erik Dahlst{\'o}m and Patric Dengler and Anthony Grasso and Chris Lilley and Cameron McCormack and Doug Schepers and Jonathon Watt and Jon Ferraiolo and Fujisawa Jun and Dean Jackson",
+       howpublished = "\url{http://www.w3.org/TR/SVG/}"
+}
+
+@article{kapoulkine2014pugixml,
+       year = "2014",
+       author = "Arseny Kapoulkine",
+       title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support",
+       howpublished="http://pugixml.org",
+}
+       
+
+@article{pugixmlDOM,
+       year = "2014",
+       author = "Arseny Kapoulkine",
+       title = "Document Object Model",
+       journal = "pugixml 1.4 manual",
+       howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html"
+}
+
+% Rendering vector graphics on vector display devices (historical)
+%Brassel:1979:ASR:965103.807434,
+@article{brassel1979analgorithm,
+ author = {Brassel, Kurt E. and Fegeas, Robin},
+ title = {An Algorithm for Shading of Regions on Vector Display Devices},
+ journal = {SIGGRAPH Comput. Graph.},
+ issue_date = {August 1979},
+ volume = {13},
+ number = {2},
+ month = aug,
+ year = {1979},
+ issn = {0097-8930},
+ pages = {126--133},
+ numpages = {8},
+ url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434},
+ doi = {10.1145/965103.807434},
+ acmid = {807434},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information},
+} 
+%Lane:1983:AFR:357323.357326,
+@article{lane1983analgorithm,
+ author = {Lane, J. M. and M. Rarick, R. and},
+ title = {An Algorithm for Filling Regions on Graphics Display Devices},
+ journal = {ACM Trans. Graph.},
+ issue_date = {July 1983},
+ volume = {2},
+ number = {3},
+ month = jul,
+ year = {1983},
+ issn = {0730-0301},
+ pages = {192--196},
+ numpages = {5},
+ url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326},
+ doi = {10.1145/357323.357326},
+ acmid = {357326},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@article{hillesland2004paranoia,
+       author = "Karl E Hillesland and Anselmo Lastra",
+       title = "GPU Floating-Point Paranoia",
+       journal = "Proceedings of GP 2004",
+       year = 2004,
+       url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}"
+}
+
+%Fousse:2007:MMB:1236463.1236468,
+@article{fousse2007mpfr,
+ author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul},
+ title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding},
+ journal = {ACM Trans. Math. Softw.},
+ issue_date = {June 2007},
+ volume = {33},
+ number = {2},
+ month = jun,
+ year = {2007},
+ issn = {0098-3500},
+ articleno = {13},
+ url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468},
+ doi = {10.1145/1236463.1236468},
+ acmid = {1236468},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software},
+} 
+
+
+@article{kahan1996ieee754,
+       author = "W Kahan",
+       title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic",
+       url = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps}",
+       year = 1996,
+       month = May
+}
+
+@article{kahan2007wrong,
+       author = "W Kahan",
+       title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?",
+       howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf}",
+       year = 2007,
+       month = March
+}
+
+@misc{kahanweb,
+       author = "W Kahan",
+       title = "Prof W Kahan's Webpages",
+       howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/}"
+}
+
+@book{computergraphics2,
+       author = "Donald Hearn and M Pauline Baker",
+       title = "Computer Graphics",
+       edition = 2,
+       year = 1997,
+       publisher = "Prentice Hall, Inc",
+       address = "Upper Saddle River, New Jersey 07458, USA"
+}
+
+@ARTICLE{bresenham1996pixel,
+author={Bresenham, J.},
+journal={Computer Graphics and Applications, IEEE},
+title={Pixel-processing fundamentals},
+year={1996},
+month={Jan},
+volume={16},
+number={1},
+pages={74-82},
+keywords={approximation theory;computer graphics;computer driven raster displays;edge drawing algorithms;explicit reference model;integer arithmetic algorithm;line drawing algorithms;line rastering;objective function;pixel processing fundamentals;pixel space basics;pixel-processing fundamentals;raster approximation;systematic rules;unintentionally fuzzy assumptions;Approximation algorithms;Cities and towns;Color;Computer displays;Layout;Lifting equipment;Painting;Tutorial;Visual effects;Yarn},
+doi={10.1109/38.481626},
+ISSN={0272-1716},}
+
+% It's a series of blog posts, don't judge me
+% Also don't look at the rest of the blog, it's strange...
+@misc{elias2000graphics,
+       title = "Graphics",
+       author = "Hugo Elias",
+       howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm}},
+       abstract = "This page explains how to draw graphics onto (mostly) Raster display systems. A very small amount could possibly be relevant to vector displays, but who uses those any more?"
+}
+
+@article{wu1991anefficient,
+ author = {Wu, Xiaolin},
+ title = {An Efficient Antialiasing Technique},
+ journal = {SIGGRAPH Comput. Graph.},
+ issue_date = {July 1991},
+ volume = {25},
+ number = {4},
+ month = jul,
+ year = {1991},
+ issn = {0097-8930},
+ pages = {143--152},
+ numpages = {10},
+ url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734},
+ doi = {10.1145/127719.122734},
+ acmid = {122734},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ keywords = {antialiasing, convolution, curve digitization, digital geometry},
+} 
+
+

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