1 % PostScript Reference Manual
3 title={PostScript Language Reference},
4 author={Adobe Systems Incorporated},
6 publisher="Addison-Wesley Publishing Company",
10 % PDF Reference Manual v1.7
12 title={PDF Reference},
13 author={Adobe Systems Incorporated},
15 publisher={Adobe Systems Incorporated},
19 %%%%%%%%%%%%%%%%%%%%%%%%
20 % Basic Rendering Theory
21 %%%%%%%%%%%%%%%%%%%%%%%%
23 %Porter-Duff compositing.
24 % Keith Packard has a really nice PDF version of this.
25 @inproceedings{porter1984compositing,
26 title={Compositing digital images},
27 author={Porter, Thomas and Duff, Tom},
28 booktitle={ACM Siggraph Computer Graphics},
36 %Bresenham's Line Drawing Algorithm
37 % See Michael Abrash's Graphics Programming Black Book for a
38 % much better guide to implementing this (at least on the 486)
39 @article{bresenham1965algorithm,
40 title={Algorithm for computer control of a digital plotter},
41 author={Bresenham, Jack E},
42 journal={IBM Systems journal},
50 % Basically my favourite thing on triangle rasterization.
51 % There are older ones, but this one makes sense.
52 @misc{giesen2013triangle,
53 title={Triangle rasterization in practice},
54 author={Giesen, Fabien},
56 journal={The ryg blog},
59 howpublished={\url{http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/}}
62 % A paper on polygon rasterization. Probably should find a nice textbook on
64 @article{pineda1988parallel,
65 title={A parallel algorthim for polygon rasterization},
66 author={Pineda, Juan},
67 journal={ACM Computer Graphics},
75 %%%%%%%%%%%%%%%%%%%%%%%
76 % Floating-pt Precision
77 %%%%%%%%%%%%%%%%%%%%%%%
78 Goldberg:1991:CSK:103162.103163,
79 @article{goldberg1991whatevery,
80 author = {Goldberg, David},
81 title = {What Every Computer Scientist Should Know About Floating-point Arithmetic},
82 journal = {ACM Comput. Surv.},
83 issue_date = {March 1991},
91 url = {http://doi.acm.org/10.1145/103162.103163},
92 doi = {10.1145/103162.103163},
95 address = {New York, NY, USA},
96 keywords = {NaN, denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, overflow, relative error, rounding error, rounding mode, ulp, underflow},
98 @inproceedings{emmart2010high,
99 title={High precision integer multiplication with a graphics processing unit},
100 author={Emmart, Niall and Weems, Charles},
101 booktitle={2010 IEEE International Symposium on Parallel \& Distributed Processing, Workshops and Phd Forum (IPDPSW)},
107 @article{ieee754std1985,
108 journal={{ANSI}/{IEEE} Std 754-1985},
109 title={{IEEE} Standard for Binary Floating-Point Arithmetic},
113 @article{ieee754std2008,
114 journal={{IEEE} Std 754-2008},
115 title={{IEEE} Standard for Floating-Point Arithmetic},
123 %%%%%%%%%%%%%%%%%%%%%%%%
125 %%%%%%%%%%%%%%%%%%%%%%%%
127 % OpenGL 4.4 (core profile) spec.
128 % The latest OpenGL spec.
129 % See: http://www.opengl.org/registry/doc/glspec44.core.pdf
131 title={The {OpenGL}\textregistered Graphics System: A Specification},
132 author={Segal, Mark and Akely, Kurt and Leech, Jon},
134 publisher={The Kronos Group, Inc},
135 url={http://www.opengl.org/registry/doc/glspec44.core.pdf}
138 % The valve paper on using signed distance fields, scaling them and then alpha testing
139 % them to have a smooth, defined boundary for "vector"-like effects.
140 % Also talks of using several channels in the image and running boolean operations on them
141 % to create sharp corners, etc.
142 @inproceedings{green2007improved,
143 title={Improved alpha-tested magnification for vector textures and special effects},
144 author={Green, Chris},
145 booktitle={{ACM} {SIGGRAPH} 2007 courses},
151 % A fast approximation to the signed distance field calculation for pixel grids
152 @article{leymarie1992fast,
153 title={Fast raster scan distance propagation on the discrete rectangular lattice},
154 author={Leymarie, F and Levine, Martin D},
155 journal={CVGIP: Image Understanding},
163 % Good overview of SDFs and the use of quad/octrees to better encode fine detail.
164 @inproceedings{frisken2000adaptively,
165 title={Adaptively sampled distance fields: a general representation of shape for computer graphics},
166 author={Frisken, Sarah F and Perry, Ronald N and Rockwood, Alyn P and Jones, Thouis R},
167 booktitle={Proceedings of the 27th annual conference on Computer graphics and interactive techniques},
170 organization={ACM Press/Addison-Wesley Publishing Co.}
174 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
175 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
176 @techreport{ray2005vector,
177 title={Vector texture maps on the {GPU}},
178 author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
180 institution={Technical Report ALICE-TR-05-003}
183 % GLyphy: https://github.com/behdad/slippy/tree/master/glyphy
184 % Can I get these slides into a readable format, and is it formal enough?
185 % The caricatures of the Intel OpenGL driver team are good, if nothing else.
187 % Cairo rendering library. Basically implements the rendering bits of postscript in C,
188 % the basis for many Linux vector graphics programs.
189 @inproceedings{worth2003xr,
190 title={Xr: Cross-device rendering for vector graphics},
191 author={Worth, Carl and Packard, Keith},
192 booktitle={Linux Symposium},
198 % Glitz cairo opengl backend.
199 @inproceedings{nilsson2004glitz,
200 title={Glitz: Hardware Accelerated Image Compositing Using {O}pen{GL}.},
201 author={Nilsson, Peter and Reveman, David},
202 booktitle={USENIX Annual Technical Conference, FREENIX Track},
207 % Basically an earlier but more detailed version of the below.
208 @article{loop2005resolution,
209 title={Resolution independent curve rendering using programmable graphics hardware},
210 author={Loop, Charles and Blinn, Jim},
211 journal={ACM Transactions on Graphics (TOG)},
220 % GPU Gems 3 article about using textures for the edges of smooth curves.
221 % http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html
222 @article{loop2007rendering,
223 title={Rendering vector art on the GPU},
224 author={Loop, Charles and Blinn, Jim},
225 journal={{GPU} gems},
232 % The article introducing the NV_path_rendering opengl extension
233 % (nVidia-specific) which uses a "stencil-then-cover" technique to render
234 % real vector graphics (not an approximation) on the GPU.
235 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
236 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html
237 @article{kilgard2012gpu,
238 title={{GPU}-accelerated path rendering},
239 author={Kilgard, Mark J and Bolz, Jeff},
240 journal={{ACM} Transactions on Graphics (TOG)},
247 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
248 @article{kilgard300programming,
249 title={Programming with {NV} path rendering: An Annex to the {SIGGRAPH} paper {GPU}-accelerated Path Rendering},
250 author={Kilgard, Mark J},
256 % GL_NV_blend_equation_advanced OpenGL extension
257 % https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt
258 % TODO: How to reference this??
259 % Bascially supports all PDF, SVG blend modes and then some.
260 % Pretty much only nVidia support this, but the specification
261 % includes the equations for everything, which is nice.
263 % OpenVG is an opengl-ish API for vector graphics.
264 % More based around SVG than postscript, but not bad.
265 @article{rice2008openvg,
266 title={{OpenVG} Specification, version 1.1},
267 author={Rice, Daniel and Simpson, RJ},
268 journal={Khronos Group},
273 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
274 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
275 @inproceedings{oh2007implementation,
276 title={Implementation of {OpenVG} 1.0 using {OpenGL} {ES}},
277 author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
278 booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
284 % Implementing the OpenVG paint modes using GLES2 shaders.
285 % This is all pretty simple stuff.
286 @inproceedings{robart2009openvg,
287 title={{OpenVG} paint subsystem over {OpenGL} {ES} shaders},
288 author={Robart, Mathieu},
289 booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
298 @article{finkel1974quad,
299 title={Quad trees a data structure for retrieval on composite keys},
300 author={Finkel, Raphael A. and Bentley, Jon Louis},
301 journal={Acta informatica},
310 % Basic overview of PDF and how it is awesome.
311 % This doesn't seem like a major revelation for 2002
312 @article{cheng2002portable,
313 Abstract = {Focuses on the portable document format (PDF) as a universal document exchange technology. Features of PDF; PDF software; Description of how to create a PDF file.},
314 Author = {Wan-Lee Cheng, Michael A.},
316 Journal = {Journal of Technology Studies},
317 Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
320 Title = {Portable Document Format ({PDF}) -- Finally, a Universal Document Exchange Technology.},
322 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
326 % Overview of different formats
327 % Talks about JavaScript being the future
329 @article{hayes2012pixels,
330 Abstract = {The article discusses digital methods for producing and reproducing scientific illustrations for online publication. Topics covered include the benefits of digital techniques for publishing such as three-dimensional graphics, the contribution to the visual quality of artwork using the computer language PostScript, and the Internet as a source for innovation in graphics like Scalable Vector Graphics (SVG). Also mentioned is the JavaScript library D3, an open-source software project, which can create and modify elements.},
331 Author = {Hayes, Brian},
333 Journal = {American Scientist},
334 Keywords = {ELECTRONIC publishing, SCIENCE publishing, GRAPHIC methods -- Software, POSTSCRIPT (Computer program language), JAVASCRIPT (Computer program language), CHARTS, diagrams, etc., DESIGN & construction},
337 Title = {Pixels or Perish.},
339 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=71853141&site=ehost-live},
343 % Embedding 3D models / graphs in PDFs
344 % Actually works (in Adobe Reader)
345 @article{barnes2013embedding,
346 Abstract = {With the latest release of the S2PLOT graphics library, embedding interactive, 3-dimensional (3-d) scientific figures in Adobe Portable Document Format (PDF) files is simple, and can be accomplished without commercial software. In this paper, we motivate the need for embedding 3-d figures in scholarly articles. We explain how 3-d figures can be created using the S2PLOT graphics library, exported to Product Representation Compact (PRC) format, and included as fully interactive, 3-d figures in PDF files using the movie15 LaTeX package. We present new examples of 3-d PDF figures, explain how they have been made, validate them, and comment on their advantages over traditional, static 2-dimensional (2-d) figures. With the judicious use of 3-d rather than 2-d figures, scientists can now publish, share and archive more useful, flexible and faithful representations of their study outcomes. The article you are reading does not have embedded 3-d figures. The full paper, with embedded 3-d figure},
347 Author = {Barnes, David G. and Vidiassov, Michail and Ruthensteiner, Bernhard and Fluke, Christopher J. and Quayle, Michelle R. and McHenry, Colin R.},
349 Journal = {PLoS ONE},
350 Keywords = {PDF (Computer file format), EMBEDDINGS (Mathematics), COMPUTER software, THREE-dimensional imaging, LATEX (Computer software), COMPUTER graphics, Research Article},
353 Title = {Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files.},
355 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=90530375&site=ehost-live},
359 %Goldberg:1992:DFD:151333.151373
360 % Looks useful... although it does have FORTRAN in it
361 @article{goldberg1992thedesign,
362 author = {Goldberg, David},
363 title = {The Design of Floating-point Data Types},
364 journal = {ACM Lett. Program. Lang. Syst.},
365 issue_date = {June 1992},
373 url = {http://doi.acm.org/10.1145/151333.151373},
374 doi = {10.1145/151333.151373},
377 address = {New York, NY, USA},
378 keywords = {Ada, FORTRAN 90, Modula-3, backward error analysis, error analysis, exceptions, floating point, floating-point standard, guard digit, precision, rounding, ulp},
381 % It seems wierd using our last names...
383 title = "Infinite-precision Document Formats (Project Proposal)",
384 author = "David Gow",
386 howpublished = "\url{http://davidgow.net/stuff/ProjectProposal.pdf}"
389 % Note the different title
391 title = "Infinite Precision Document Formats (Project Proposal)",
392 author = "Sam Moore",
394 howpublished = "\url{http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf}"
397 % The Fractal Nature of Bezier Curves
399 @article{goldman_thefractal,
400 title = "The Fractal Nature of Bezier Curves",
401 author = "Ron Goldman",
402 publisher = "Department of Computer Science, Rice University",
403 address = "6100 Main Street, Houstan, Texas",
404 note = "The de Casteljau subdivision algorithm is used to show that Bezier curves are also attractors (ie: fractals).
405 A new rendering algorithm is derived for Bezier curves."
408 % Talks about security of PDF, probably not useful,
409 @article{sami2009alook,
410 Abstract = {Abstract: Portable Document Format (PDF) developed by Adobe Systems Inc. is a flexible and popular document distribution and delivery file format, and it is supported within various operating systems and devices. This article provides insight for some of the security issues within the format itself as well as an outlook of the vulnerabilities found from various versions of Adobe‘s own PDF viewer implementation. [Copyright &y& Elsevier]},
411 Author = {Rautiainen, Sami},
413 Journal = {Information Security Technical Report},
414 Keywords = {PDF (Computer file format), FILE organization (Computer science), SYSTEMS software, COMPUTER files},
417 Title = {A look at Portable Document Format vulnerabilities.},
419 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=40637035&site=ehost-live},
423 % Interesting but not related to the project
424 @article{bergen2012automatic,
425 Abstract = {Vector graphics are popular in illustration and graphic design. Images are composed of discrete geometric shapes, such as circles, squares, and lines. The generation of vector images by evolutionary computation techniques, however, has been given little attention. JNetic is an implementation of a comprehensive evolutionary vector graphics tool. Vector primitives available range from simple geometric shapes (circles, polygons) to spline-based paint strokes. JNetic supports automatic and user-guided evolution, chromosome editing, and high-detail masks. Automatic evolution involves measuring the pixel-by-pixel colour distance between a candidate and target image. Masks can be painted over areas of the target image, which help reproduce the high-detail features within those areas. By creative selection of primitives and colour schemes, stylized interpretations of target images are produced. The system has been successfully used by the authors as a creative tool. [ABSTRACT FROM AUTHOR]},
426 Author = {Bergen, Steven and Ross, Brian},
428 Journal = {Visual Computer},
429 Keywords = {GRAPHIC arts, GENETIC algorithms, GRAPHIC design, GRAPHIC designers, VISUAL communication, RESEARCH, Evolutionary art, Genetic algorithm, Vector graphics},
432 Title = {Automatic and interactive evolution of vector graphics images with genetic algorithms.},
434 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=70129435&site=ehost-live},
438 % Similar to goldman1992, also old, need to find newer references
439 @INPROCEEDINGS{priest1991algorithms,
440 author={Priest, D.M.},
441 booktitle={Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on},
442 title={Algorithms for arbitrary precision floating point arithmetic},
446 keywords={digital arithmetic;number theory;coordinates;floating point arithmetic;intersection point;line intersection;line segment;Algorithm design and analysis;Costs;Error analysis;Floating-point arithmetic;Hardware;High performance computing;Libraries;Mathematics;Packaging;Roundoff errors},
447 doi={10.1109/ARITH.1991.145549},}
449 @article{goldbern1967twentyseven,
450 author = {Goldberg, I. Bennett},
451 title = {27 Bits Are Not Enough for 8-digit Accuracy},
452 journal = {Commun. ACM},
453 issue_date = {Feb. 1967},
461 url = {http://doi.acm.org/10.1145/363067.363112},
462 doi = {10.1145/363067.363112},
465 address = {New York, NY, USA},
470 % Boost multiprecision library
471 @misc{boost_multiprecision,
472 author = {John Maddock and Christopher Kormanyos},
473 title = {Boost Multiprecision Library},
474 howpublished = {\url{http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/}}
477 % A CMOS Floating Point Unit
478 @MISC{kelley1997acmos,
479 author = {Michael J. Kelley and Matthew A. Postiff and Advisor Richard and B. Brown},
480 title = {A CMOS Floating Point Unit},
484 @misc{filiatreault2003simply,
485 author = {Raymond Filiatreault},
486 title = "Simply FPU",
488 howpublished = {\url{http://www.website.masmforum.com/tutorials/fptute/index.html}}
491 @article{bishop2008floating,
492 author = {David Bishop},
494 howpublished = {\url{http://www.vhdl.org/fphdl/Float_ug.pdf}},
495 title = {Floating Point Package User's Guide},
496 note = {Technical Report},
497 journal = {EDA Industry Working Groups}
500 @article{dieter2007lowcost,
501 author = {Dieter, William R. and Kaveti, Akil and Dietz, Henry G.},
502 title = {Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy},
503 journal = {IEEE Comput. Archit. Lett.},
504 issue_date = {January 2007},
512 url = {http://dx.doi.org/10.1109/L-CA.2007.1},
513 doi = {10.1109/L-CA.2007.1},
515 publisher = {IEEE Computer Society},
516 address = {Washington, DC, USA},
517 keywords = {B Hardware, B.2 Arithmetic and Logic Structures, B.2.4 High-Speed Arithmetic, B.2.4.b Cost/performance, C Computer Systems Organization, C.0 General, C.0.b Hardware/software interfaces, C.1 Processor Architectures, C.1.5 Micro-architecture implementation considerations, G Mathematics of Computing, G.1 Numerical Analysis, G.1.0 General, G.1.0.e Multiple precision arithmetic, I Computing Methodologies, I.3 Computer Graphics, I.3.1 Hardware Architecture, I.3.1.a Graphics processors},
521 author = "jop-devel",
522 title = "Java Optimized Processor",
523 howpublished = "\url{https://github.com/jop-devel/jop}"
526 @inproceedings{kadric2013accurate,
527 title={Accurate Parallel Floating-Point Accumulation},
528 author={Kadric, Edin and Gurniak, Paul and DeHon, Andr{\'e}},
529 booktitle={Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on},
535 %ghdl, the least shitty of the open source vhdl tools
537 title = "GHDL Guide",
538 author = "Tristan Gingold",
540 howpublished = "\url{http://ghdl.free.fr/ghdl/}"
543 % Look into as an alternative to using text files for FPU simulation?
545 title = "Using Binary Files in VHDL Test Benches",
546 author = "Stephen Tang",
548 howpublished = "\url{http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2000_w/vhdl/BinaryFileTestbenching/binary.html}",
549 note = "Application Notes (webpage)"
552 % On the design of IEEE floating point adders
554 @INPROCEEDINGS{seidel2001onthe,
555 author={Seidel, P.-M. and Even, G.},
556 booktitle={Computer Arithmetic, 2001. Proceedings. 15th IEEE Symposium on},
557 title={On the design of fast IEEE floating-point adders},
561 keywords={adders;circuit optimisation;floating point arithmetic;logic design;IEEE rounding modes;IEEE standard;addition;approximate counting;borrow-save representation;clock periods;complement subtraction;compound adders;double precision;fast IEEE floating-point adder design;fast circuits;latches;latency;leading zeros;logic levels;normalized numbers;normalized rounded sum/difference;optimization techniques;rounding algorithm;sign-magnitude computation;subtraction;Adders;Algorithm design and analysis;Circuits;Clocks;Delay;Design optimization;Latches;Logic design;Partitioning algorithms;Pipelines},
562 doi={10.1109/ARITH.2001.930118},
566 @article{demmel1996basic,
567 title = "Basic Issues in Floating Point Arithmetic and Error Analysis",
568 author = "Jim Demmel",
569 journal = "U.C. Berkeley CS267",
570 note = "Lecture Notes",
571 howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}",
576 title = "GRFPU - High Performance IEEE- 7 5 4 Floating- Point Unit",
577 author = "Edvin Catovic",
578 howpublished = "\url{http://www.gaisler.com/doc/grfpu_dasia.pdf}"
581 % The best quote ever.
582 @misc{beebe2011round32,
583 title = "Re: round32 ( round64 ( X ) ) ?= round32 ( X )",
584 note = "IEEE 754 Working Group Mail Archives",
585 author = "Nelson H. F. Beebe",
586 howpublished = "\url{http://grouper.ieee.org/groups/754/email/msg04169.html}"
589 % Biography of Charles Babbage because WHY NOT?
590 % I suspect this year is wrong?75
591 @ARTICLE{dodge_babbage,
592 author={Dodge, N. S.},
593 journal={Annals of the History of Computing, IEEE},
594 title={Charles Babbage},
600 keywords={Accuracy;Art;Autobiographies;Biographies;Blood;Calculus;Educational institutions;History;Writing},
601 doi={10.1109/MAHC.2000.887988},
604 @article{nature1871babbage,
605 author = "Unknown Author",
607 title = "Charles Babbage",
614 %IEEE 754 Really should have put this in earlier
615 @ARTICLE{ieee2008-754,
616 journal={IEEE Std 754-2008},
617 title={IEEE Standard for Floating-Point Arithmetic},
621 keywords={IEEE standards;floating point arithmetic;programming;IEEE standard;arithmetic formats;computer programming;decimal floating-point arithmetic;754-2008;NaN;arithmetic;binary;computer;decimal;exponent;floating-point;format;interchange;number;rounding;significand;subnormal},
622 doi={10.1109/IEEESTD.2008.4610935},}
625 @article{dekker1971afloating,
628 journal={Numerische Mathematik},
631 doi={10.1007/BF01397083},
632 title={A floating-point technique for extending the available precision},
633 url={http://dx.doi.org/10.1007/BF01397083},
634 publisher={Springer-Verlag},
635 author={Dekker, T.J.},
640 @String{pub-BIRKHAUSER-BOSTON = "Birkh{\"a}user Boston Inc."}
641 @String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
644 author = "Jean-Michel Muller and Nicolas Brisebarre and Florent
645 de Dinechin and Claude-Pierre Jeannerod and Vincent
646 Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
647 and Damien Stehl{\'e} and Serge Torres",
648 title = "Handbook of Floating-Point Arithmetic",
649 publisher = pub-BIRKHAUSER-BOSTON,
650 address = pub-BIRKHAUSER-BOSTON:adr,
651 pages = "xxiii + 572",
653 DOI = "http://dx.doi.org/10.1007/978-0-8176-4704-9",
654 ISBN = "0-8176-4704-X",
655 ISBN-13 = "978-0-8176-4704-9",
656 LCCN = "QA76.9.C62 H36 2010",
657 bibdate = "Thu Jan 27 16:18:58 2011",
658 price = "US\$90 (est.)",
659 acknowledgement = ack-nhfb,
662 @article{svg2011-1.1,
665 journal = "WC3 Recommendation",
666 title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)",
667 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",
668 howpublished = "\url{http://www.w3.org/TR/SVG/}"
671 @article{kapoulkine2014pugixml,
673 author = "Arseny Kapoulkine",
674 title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support",
675 howpublished="http://pugixml.org",
681 author = "Arseny Kapoulkine",
682 title = "Document Object Model",
683 journal = "pugixml 1.4 manual",
684 howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html"
687 % Rendering vector graphics on vector display devices (historical)
688 %Brassel:1979:ASR:965103.807434,
689 @article{brassel1979analgorithm,
690 author = {Brassel, Kurt E. and Fegeas, Robin},
691 title = {An Algorithm for Shading of Regions on Vector Display Devices},
692 journal = {SIGGRAPH Comput. Graph.},
693 issue_date = {August 1979},
701 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434},
702 doi = {10.1145/965103.807434},
705 address = {New York, NY, USA},
706 keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information},
708 %Lane:1983:AFR:357323.357326,
709 @article{lane1983analgorithm,
710 author = {Lane, J. M. and M. Rarick, R. and},
711 title = {An Algorithm for Filling Regions on Graphics Display Devices},
712 journal = {ACM Trans. Graph.},
713 issue_date = {July 1983},
721 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326},
722 doi = {10.1145/357323.357326},
725 address = {New York, NY, USA},
728 @article{hillesland2004paranoia,
729 author = "Karl E Hillesland and Anselmo Lastra",
730 title = "GPU Floating-Point Paranoia",
731 journal = "Proceedings of GP 2004",
733 url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}"
736 %Fousse:2007:MMB:1236463.1236468,
737 @article{fousse2007mpfr,
738 author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul},
739 title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding},
740 journal = {ACM Trans. Math. Softw.},
741 issue_date = {June 2007},
748 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468},
749 doi = {10.1145/1236463.1236468},
752 address = {New York, NY, USA},
753 keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software},
757 @article{kahan1996ieee754,
759 title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic",
760 url = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps}",
765 @article{kahan2007wrong,
767 title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?",
768 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf}",
775 title = "Prof W Kahan's Webpages",
776 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/}"
779 @book{computergraphics2,
780 author = "Donald Hearn and M Pauline Baker",
781 title = "Computer Graphics",
784 publisher = "Prentice Hall, Inc",
785 address = "Upper Saddle River, New Jersey 07458, USA"
788 @ARTICLE{bresenham1996pixel,
789 author={Bresenham, J.},
790 journal={Computer Graphics and Applications, IEEE},
791 title={Pixel-processing fundamentals},
797 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},
798 doi={10.1109/38.481626},
801 % It's a series of blog posts, don't judge me
802 % Also don't look at the rest of the blog, it's strange...
803 @misc{elias2000graphics,
805 author = "Hugo Elias",
806 howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm}},
807 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?"
810 @article{wu1991anefficient,
811 author = {Wu, Xiaolin},
812 title = {An Efficient Antialiasing Technique},
813 journal = {SIGGRAPH Comput. Graph.},
814 issue_date = {July 1991},
822 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734},
823 doi = {10.1145/127719.122734},
826 address = {New York, NY, USA},
827 keywords = {antialiasing, convolution, curve digitization, digital geometry},