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},
20 title={Preliminary preliminary description of {\TeX}},
21 author={Knuth, Donald},
23 howpublished={\url{http://www.saildart.org/TEXDR.AFT[1,DEK]1}}
26 @article{fuchs1982theformat,
27 title={The Format of {\TeX}'s {DVI} files},
28 author={Fuchs, David},
33 howpublished={\url{http://www.tug.org/TUGboat/Articles/tb03-2/tb06software.pdf}}
36 %%%%%%%%%%%%%%%%%%%%%%%%
37 % Basic Rendering Theory
38 %%%%%%%%%%%%%%%%%%%%%%%%
40 %Porter-Duff compositing.
41 % Keith Packard has a really nice PDF version of this.
42 @inproceedings{porter1984compositing,
43 title={Compositing digital images},
44 author={Porter, Thomas and Duff, Tom},
45 booktitle={ACM SIGGRAPH Computer Graphics},
53 %Bresenham's Line Drawing Algorithm
54 % See Michael Abrash's Graphics Programming Black Book for a
55 % much better guide to implementing this (at least on the 486)
56 @article{bresenham1965algorithm,
57 title={Algorithm for computer control of a digital plotter},
58 author={Bresenham, Jack E},
59 journal={IBM Systems journal},
67 % Basically my favourite thing on triangle rasterization.
68 % There are older ones, but this one makes sense.
69 @misc{giesen2013triangle,
70 title={Triangle rasterization in practice},
71 author={Giesen, Fabien},
73 journal={The ryg blog},
76 howpublished={\url{http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/}}
79 % A paper on polygon rasterization. Probably should find a nice textbook on
81 @article{pineda1988parallel,
82 title={A parallel algorthim for polygon rasterization},
83 author={Pineda, Juan},
84 journal={ACM Computer Graphics},
92 % Bézier curves and friends.
93 @phdthesis{catmull1974asubdivision,
94 author = {Catmull, Edwin Earl},
95 title = {A Subdivision Algorithm for Computer Display of Curved Surfaces.},
98 publisher = {The University of Utah},
102 %%%%%%%%%%%%%%%%%%%%%%%
103 % Floating-pt Precision
104 %%%%%%%%%%%%%%%%%%%%%%%
105 Goldberg:1991:CSK:103162.103163,
106 @article{goldberg1991whatevery,
107 author = {Goldberg, David},
108 title = {What Every Computer Scientist Should Know About Floating-point Arithmetic},
109 journal = {ACM Comput. Surv.},
110 issue_date = {March 1991},
118 url = {http://doi.acm.org/10.1145/103162.103163},
119 doi = {10.1145/103162.103163},
122 address = {New York, NY, USA},
123 keywords = {NaN, denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, overflow, relative error, rounding error, rounding mode, ulp, underflow},
126 @misc{arb_gpu_shader_fp64,
127 title={{ARB\_gpu\_shader\_fp64}},
128 author={Brown, Pat and Lichtenbelt, Barthold and Licea-Kane, Bill and Merry, Bruce and Dodd, Chris and Werness, Eric and Sellers, Graham and Roth, Greg and Bolz, Jeff and Haemel, Nick and Boudier, Pierre and Daniell, Piers},
130 journal={OpenGL Extension},
131 publisher={Kronos Group},
132 howpublished={\url{http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt}}
136 title={{NV\_half\_float}},
139 journal={OpenGL Extension},
140 publisher={NVIDIA Corporation},
141 howpublished={\url{http://www.opengl.org/registry/specs/NV/half_float.txt}}
144 @inproceedings{emmart2010high,
145 title={High precision integer multiplication with a graphics processing unit},
146 author={Emmart, Niall and Weems, Charles},
147 booktitle={2010 IEEE International Symposium on Parallel \& Distributed Processing, Workshops and Phd Forum (IPDPSW)},
153 @article{ieee754std1985,
154 journal={{ANSI}/{IEEE} Std 754-1985},
155 title={{IEEE} Standard for Binary Floating-Point Arithmetic},
159 @article{ieee754std2008,
160 journal={{IEEE} Std 754-2008},
161 title={{IEEE} Standard for Floating-Point Arithmetic},
169 %%%%%%%%%%%%%%%%%%%%%%%%
171 %%%%%%%%%%%%%%%%%%%%%%%%
173 % OpenGL 4.4 (core profile) spec.
174 % The latest OpenGL spec.
175 % See: http://www.opengl.org/registry/doc/glspec44.core.pdf
177 title={The {OpenGL}\textregistered Graphics System: A Specification},
178 author={Segal, Mark and Akely, Kurt and Leech, Jon},
180 publisher={The Kronos Group, Inc},
181 url={http://www.opengl.org/registry/doc/glspec44.core.pdf}
184 % The valve paper on using signed distance fields, scaling them and then alpha testing
185 % them to have a smooth, defined boundary for "vector"-like effects.
186 % Also talks of using several channels in the image and running boolean operations on them
187 % to create sharp corners, etc.
188 @inproceedings{green2007improved,
189 title={Improved alpha-tested magnification for vector textures and special effects},
190 author={Green, Chris},
191 booktitle={{ACM} {SIGGRAPH} 2007 courses},
197 % A fast approximation to the signed distance field calculation for pixel grids
198 @article{leymarie1992fast,
199 title={Fast raster scan distance propagation on the discrete rectangular lattice},
200 author={Leymarie, F and Levine, Martin D},
201 journal={CVGIP: Image Understanding},
209 % Good overview of SDFs and the use of quad/octrees to better encode fine detail.
210 @inproceedings{frisken2000adaptively,
211 title={Adaptively sampled distance fields: a general representation of shape for computer graphics},
212 author={Frisken, Sarah F and Perry, Ronald N and Rockwood, Alyn P and Jones, Thouis R},
213 booktitle={Proceedings of the 27th annual conference on Computer graphics and interactive techniques},
216 organization={ACM Press/Addison-Wesley Publishing Co.}
220 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
221 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
222 @techreport{ray2005vector,
223 title={Vector texture maps on the {GPU}},
224 author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
226 institution={Technical Report ALICE-TR-05-003}
229 % GLyphy: https://github.com/behdad/slippy/tree/master/glyphy
230 % Can I get these slides into a readable format, and is it formal enough?
231 % The caricatures of the Intel OpenGL driver team are good, if nothing else.
233 % Cairo rendering library. Basically implements the rendering bits of postscript in C,
234 % the basis for many Linux vector graphics programs.
235 @inproceedings{worth2003xr,
236 title={Xr: Cross-device rendering for vector graphics},
237 author={Worth, Carl and Packard, Keith},
238 booktitle={Linux Symposium},
244 % Glitz cairo opengl backend.
245 @inproceedings{nilsson2004glitz,
246 title={Glitz: Hardware Accelerated Image Compositing Using {O}pen{GL}.},
247 author={Nilsson, Peter and Reveman, David},
248 booktitle={USENIX Annual Technical Conference, FREENIX Track},
253 % Basically an earlier but more detailed version of the below.
254 @article{loop2005resolution,
255 title={Resolution independent curve rendering using programmable graphics hardware},
256 author={Loop, Charles and Blinn, Jim},
257 journal={ACM Transactions on Graphics (TOG)},
266 % GPU Gems 3 article about using textures for the edges of smooth curves.
267 % http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html
268 @article{loop2007rendering,
269 title={Rendering vector art on the GPU},
270 author={Loop, Charles and Blinn, Jim},
271 journal={{GPU} gems},
278 % The article introducing the NV_path_rendering opengl extension
279 % (nVidia-specific) which uses a "stencil-then-cover" technique to render
280 % real vector graphics (not an approximation) on the GPU.
281 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
282 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html
283 @article{kilgard2012gpu,
284 title={{GPU}-accelerated path rendering},
285 author={Kilgard, Mark J and Bolz, Jeff},
286 journal={{ACM} Transactions on Graphics (TOG)},
293 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
294 @article{kilgard300programming,
295 title={Programming with {NV} path rendering: An Annex to the {SIGGRAPH} paper {GPU}-accelerated Path Rendering},
296 author={Kilgard, Mark J},
302 % GL_NV_blend_equation_advanced OpenGL extension
303 % https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt
304 % TODO: How to reference this??
305 % Bascially supports all PDF, SVG blend modes and then some.
306 % Pretty much only nVidia support this, but the specification
307 % includes the equations for everything, which is nice.
309 % OpenVG is an opengl-ish API for vector graphics.
310 % More based around SVG than postscript, but not bad.
311 @article{rice2008openvg,
312 title={{OpenVG} Specification, version 1.1},
313 author={Rice, Daniel and Simpson, RJ},
314 journal={Khronos Group},
319 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
320 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
321 @inproceedings{oh2007implementation,
322 title={Implementation of {OpenVG} 1.0 using {OpenGL} {ES}},
323 author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
324 booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
330 % Implementing the OpenVG paint modes using GLES2 shaders.
331 % This is all pretty simple stuff.
332 @inproceedings{robart2009openvg,
333 title={{OpenVG} paint subsystem over {OpenGL} {ES} shaders},
334 author={Robart, Mathieu},
335 booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
344 @article{finkel1974quad,
345 title={Quad trees a data structure for retrieval on composite keys},
346 author={Finkel, Raphael A. and Bentley, Jon Louis},
347 journal={Acta informatica},
356 @inproceedings{fuchs1980onvisible,
357 author = {Fuchs, Henry and Kedem, Zvi M. and Naylor, Bruce F.},
358 title = {On Visible Surface Generation by a Priori Tree Structures},
359 booktitle = {Proceedings of the 7th Annual Conference on Computer Graphics and Interactive Techniques},
360 series = {SIGGRAPH '80},
362 isbn = {0-89791-021-4},
363 location = {Seattle, Washington, USA},
366 url = {http://doi.acm.org/10.1145/800250.807481},
367 doi = {10.1145/800250.807481},
370 address = {New York, NY, USA},
374 @article{bentley1975multidimensional,
375 author = {Bentley, Jon Louis},
376 title = {Multidimensional Binary Search Trees Used for Associative Searching},
377 journal = {Commun. ACM},
378 issue_date = {Sept. 1975},
386 url = {http://doi.acm.org/10.1145/361002.361007},
387 doi = {10.1145/361002.361007},
390 address = {New York, NY, USA},
391 keywords = {associative retrieval, attribute, binary search trees, binary tree insertion, information retrieval system, intersection queries, key, nearest neighbor queries, partial match queries},
395 % Basic overview of PDF and how it is awesome.
396 % This doesn't seem like a major revelation for 2002
397 @article{cheng2002portable,
398 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.},
399 Author = {Wan-Lee Cheng, Michael A.},
401 Journal = {Journal of Technology Studies},
402 Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
405 Title = {Portable Document Format ({PDF}) -- Finally, a Universal Document Exchange Technology.},
407 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
411 % Overview of different formats
412 % Talks about JavaScript being the future
414 @article{hayes2012pixels,
415 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.},
416 Author = {Hayes, Brian},
418 Journal = {American Scientist},
419 Keywords = {ELECTRONIC publishing, SCIENCE publishing, GRAPHIC methods -- Software, POSTSCRIPT (Computer program language), JAVASCRIPT (Computer program language), CHARTS, diagrams, etc., DESIGN & construction},
422 Title = {Pixels or Perish.},
424 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=71853141&site=ehost-live},
428 % Embedding 3D models / graphs in PDFs
429 % Actually works (in Adobe Reader)
430 @article{barnes2013embedding,
431 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},
432 Author = {Barnes, David G. and Vidiassov, Michail and Ruthensteiner, Bernhard and Fluke, Christopher J. and Quayle, Michelle R. and McHenry, Colin R.},
434 Journal = {PLoS ONE},
435 Keywords = {PDF (Computer file format), EMBEDDINGS (Mathematics), COMPUTER software, THREE-dimensional imaging, LATEX (Computer software), COMPUTER graphics, Research Article},
438 Title = {Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files.},
440 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=90530375&site=ehost-live},
444 %Goldberg:1992:DFD:151333.151373
445 % Looks useful... although it does have FORTRAN in it
446 @article{goldberg1992thedesign,
447 author = {Goldberg, David},
448 title = {The Design of Floating-point Data Types},
449 journal = {ACM Lett. Program. Lang. Syst.},
450 issue_date = {June 1992},
458 url = {http://doi.acm.org/10.1145/151333.151373},
459 doi = {10.1145/151333.151373},
462 address = {New York, NY, USA},
463 keywords = {Ada, FORTRAN 90, Modula-3, backward error analysis, error analysis, exceptions, floating point, floating-point standard, guard digit, precision, rounding, ulp},
466 % It seems wierd using our last names...
468 title = "Infinite-precision Document Formats (Project Proposal)",
469 author = "David Gow",
471 howpublished = "\url{http://davidgow.net/stuff/ProjectProposal.pdf}"
474 % Note the different title
476 title = "Infinite Precision Document Formats (Project Proposal)",
477 author = "Sam Moore",
479 howpublished = "\url{http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf}"
482 % The Fractal Nature of Bezier Curves
484 @article{goldman_thefractal,
485 title = "The Fractal Nature of Bezier Curves",
486 author = "Ron Goldman",
487 publisher = "Department of Computer Science, Rice University",
488 address = "6100 Main Street, Houstan, Texas",
489 note = "The de Casteljau subdivision algorithm is used to show that Bezier curves are also attractors (ie: fractals).
490 A new rendering algorithm is derived for Bezier curves."
493 % Talks about security of PDF, probably not useful,
494 @article{sami2009alook,
495 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]},
496 Author = {Rautiainen, Sami},
498 Journal = {Information Security Technical Report},
499 Keywords = {PDF (Computer file format), FILE organization (Computer science), SYSTEMS software, COMPUTER files},
502 Title = {A look at Portable Document Format vulnerabilities.},
504 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=40637035&site=ehost-live},
508 % Interesting but not related to the project
509 @article{bergen2012automatic,
510 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]},
511 Author = {Bergen, Steven and Ross, Brian},
513 Journal = {Visual Computer},
514 Keywords = {GRAPHIC arts, GENETIC algorithms, GRAPHIC design, GRAPHIC designers, VISUAL communication, RESEARCH, Evolutionary art, Genetic algorithm, Vector graphics},
517 Title = {Automatic and interactive evolution of vector graphics images with genetic algorithms.},
519 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=70129435&site=ehost-live},
523 % Similar to goldman1992, also old, need to find newer references
524 @INPROCEEDINGS{priest1991algorithms,
525 author={Priest, D.M.},
526 booktitle={Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on},
527 title={Algorithms for arbitrary precision floating point arithmetic},
531 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},
532 doi={10.1109/ARITH.1991.145549},}
534 @article{goldbern1967twentyseven,
535 author = {Goldberg, I. Bennett},
536 title = {27 Bits Are Not Enough for 8-digit Accuracy},
537 journal = {Commun. ACM},
538 issue_date = {Feb. 1967},
546 url = {http://doi.acm.org/10.1145/363067.363112},
547 doi = {10.1145/363067.363112},
550 address = {New York, NY, USA},
555 % Boost multiprecision library
556 @misc{boost_multiprecision,
557 author = {John Maddock and Christopher Kormanyos},
558 title = {Boost Multiprecision Library},
559 howpublished = {\url{http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/}}
563 author = {Oracle Corporation},
564 title = {java.math.{BigInteger}},
565 booktitle = {Java Platform 6 {SE}},
566 urldate = {19-05-2014},
567 howpublished = {\url{http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html}}
570 @misc{java_bigdecimal,
571 author = {Oracle Corporation},
572 title = {java.math.{BigDecimal}},
573 booktitle = {Java Platform 7 {SE}},
574 howpublished = {\url{http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html}},
575 urldate = {19-05-2014}
578 % A CMOS Floating Point Unit
579 @MISC{kelley1997acmos,
580 author = {Michael J. Kelley and Matthew A. Postiff and Advisor Richard and B. Brown},
581 title = {A CMOS Floating Point Unit},
585 @misc{filiatreault2003simply,
586 author = {Raymond Filiatreault},
587 title = "Simply FPU",
589 howpublished = {\url{http://www.website.masmforum.com/tutorials/fptute/index.html}}
592 @article{bishop2008floating,
593 author = {David Bishop},
595 howpublished = {\url{http://www.vhdl.org/fphdl/Float_ug.pdf}},
596 title = {Floating Point Package User's Guide},
597 note = {Technical Report},
598 journal = {EDA Industry Working Groups}
601 @article{dieter2007lowcost,
602 author = {Dieter, William R. and Kaveti, Akil and Dietz, Henry G.},
603 title = {Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy},
604 journal = {IEEE Comput. Archit. Lett.},
605 issue_date = {January 2007},
613 url = {http://dx.doi.org/10.1109/L-CA.2007.1},
614 doi = {10.1109/L-CA.2007.1},
616 publisher = {IEEE Computer Society},
617 address = {Washington, DC, USA},
618 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},
622 author = "jop-devel",
623 title = "Java Optimized Processor",
624 howpublished = "\url{https://github.com/jop-devel/jop}"
627 @inproceedings{kadric2013accurate,
628 title={Accurate Parallel Floating-Point Accumulation},
629 author={Kadric, Edin and Gurniak, Paul and DeHon, Andr{\'e}},
630 booktitle={Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on},
636 %ghdl, the least shitty of the open source vhdl tools
638 title = "GHDL Guide",
639 author = "Tristan Gingold",
641 howpublished = "\url{http://ghdl.free.fr/ghdl/}"
644 % Look into as an alternative to using text files for FPU simulation?
646 title = "Using Binary Files in VHDL Test Benches",
647 author = "Stephen Tang",
649 howpublished = "\url{http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2000_w/vhdl/BinaryFileTestbenching/binary.html}",
650 note = "Application Notes (webpage)"
653 % On the design of IEEE floating point adders
655 @INPROCEEDINGS{seidel2001onthe,
656 author={Seidel, P.-M. and Even, G.},
657 booktitle={Computer Arithmetic, 2001. Proceedings. 15th IEEE Symposium on},
658 title={On the design of fast IEEE floating-point adders},
662 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},
663 doi={10.1109/ARITH.2001.930118},
667 @article{demmel1996basic,
668 title = "Basic Issues in Floating Point Arithmetic and Error Analysis",
669 author = "Jim Demmel",
670 journal = "U.C. Berkeley CS267",
671 note = "Lecture Notes",
672 howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}",
677 title = "GRFPU - High Performance IEEE- 7 5 4 Floating- Point Unit",
678 author = "Edvin Catovic",
679 howpublished = "\url{http://www.gaisler.com/doc/grfpu_dasia.pdf}"
682 % The best quote ever.
683 @misc{beebe2011round32,
684 title = "Re: round32 ( round64 ( X ) ) ?= round32 ( X )",
685 note = "IEEE 754 Working Group Mail Archives",
686 author = "Nelson H. F. Beebe",
687 howpublished = "\url{http://grouper.ieee.org/groups/754/email/msg04169.html}"
690 % Biography of Charles Babbage because WHY NOT?
691 % I suspect this year is wrong?75
692 @ARTICLE{dodge_babbage,
693 author={Dodge, N. S.},
694 journal={Annals of the History of Computing, IEEE},
695 title={Charles Babbage},
701 keywords={Accuracy;Art;Autobiographies;Biographies;Blood;Calculus;Educational institutions;History;Writing},
702 doi={10.1109/MAHC.2000.887988},
705 @article{nature1871babbage,
706 author = "Unknown Author",
708 title = "Charles Babbage",
715 %IEEE 754 Really should have put this in earlier
716 @ARTICLE{ieee2008-754,
717 journal={IEEE Std 754-2008},
718 title={IEEE Standard for Floating-Point Arithmetic},
722 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},
723 doi={10.1109/IEEESTD.2008.4610935},}
726 @article{dekker1971afloating,
729 journal={Numerische Mathematik},
732 doi={10.1007/BF01397083},
733 title={A floating-point technique for extending the available precision},
734 url={http://dx.doi.org/10.1007/BF01397083},
735 publisher={Springer-Verlag},
736 author={Dekker, T.J.},
741 @String{pub-BIRKHAUSER-BOSTON = "Birkh{\"a}user Boston Inc."}
742 @String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
745 author = "Jean-Michel Muller and Nicolas Brisebarre and Florent
746 de Dinechin and Claude-Pierre Jeannerod and Vincent
747 Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
748 and Damien Stehl{\'e} and Serge Torres",
749 title = "Handbook of Floating-Point Arithmetic",
750 publisher = pub-BIRKHAUSER-BOSTON,
751 address = pub-BIRKHAUSER-BOSTON:adr,
752 pages = "xxiii + 572",
754 DOI = "http://dx.doi.org/10.1007/978-0-8176-4704-9",
755 ISBN = "0-8176-4704-X",
756 ISBN-13 = "978-0-8176-4704-9",
757 LCCN = "QA76.9.C62 H36 2010",
758 bibdate = "Thu Jan 27 16:18:58 2011",
759 price = "US\$90 (est.)",
760 acknowledgement = ack-nhfb,
763 @article{svg2011-1.1,
766 journal = "WC3 Recommendation",
767 title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)",
768 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",
769 howpublished = "\url{http://www.w3.org/TR/SVG/}"
772 @article{kapoulkine2014pugixml,
774 author = "Arseny Kapoulkine",
775 title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support",
776 howpublished="http://pugixml.org",
782 author = "Arseny Kapoulkine",
783 title = "Document Object Model",
784 journal = "pugixml 1.4 manual",
785 howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html"
788 % Rendering vector graphics on vector display devices (historical)
789 %Brassel:1979:ASR:965103.807434,
790 @article{brassel1979analgorithm,
791 author = {Brassel, Kurt E. and Fegeas, Robin},
792 title = {An Algorithm for Shading of Regions on Vector Display Devices},
793 journal = {SIGGRAPH Comput. Graph.},
794 issue_date = {August 1979},
802 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434},
803 doi = {10.1145/965103.807434},
806 address = {New York, NY, USA},
807 keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information},
809 %Lane:1983:AFR:357323.357326,
810 @article{lane1983analgorithm,
811 author = {Lane, J. M. and M. Rarick, R. and},
812 title = {An Algorithm for Filling Regions on Graphics Display Devices},
813 journal = {ACM Trans. Graph.},
814 issue_date = {July 1983},
822 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326},
823 doi = {10.1145/357323.357326},
826 address = {New York, NY, USA},
829 @article{hillesland2004paranoia,
830 author = "Karl E Hillesland and Anselmo Lastra",
831 title = "GPU Floating-Point Paranoia",
832 journal = "Proceedings of GP 2004",
834 url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}"
837 %Fousse:2007:MMB:1236463.1236468,
838 @article{fousse2007mpfr,
839 author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul},
840 title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding},
841 journal = {ACM Trans. Math. Softw.},
842 issue_date = {June 2007},
849 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468},
850 doi = {10.1145/1236463.1236468},
853 address = {New York, NY, USA},
854 keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software},
858 @article{kahan1996ieee754,
860 title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic",
861 url = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps}",
866 @article{kahan2007wrong,
868 title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?",
869 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf}",
876 title = "Prof W Kahan's Webpages",
877 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/}"
880 @book{computergraphics2,
881 author = "Donald Hearn and M Pauline Baker",
882 title = "Computer Graphics",
885 publisher = "Prentice Hall, Inc",
886 address = "Upper Saddle River, New Jersey 07458, USA"
889 @ARTICLE{bresenham1996pixel,
890 author={Bresenham, J.},
891 journal={Computer Graphics and Applications, IEEE},
892 title={Pixel-processing fundamentals},
898 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},
899 doi={10.1109/38.481626},
902 % It's a series of blog posts, don't judge me
903 % Also don't look at the rest of the blog, it's strange...
904 @misc{elias2000graphics,
906 author = "Hugo Elias",
907 howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm}},
908 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?"
911 @article{wu1991anefficient,
912 author = {Wu, Xiaolin},
913 title = {An Efficient Antialiasing Technique},
914 journal = {SIGGRAPH Comput. Graph.},
915 issue_date = {July 1991},
923 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734},
924 doi = {10.1145/127719.122734},
927 address = {New York, NY, USA},
928 keywords = {antialiasing, convolution, curve digitization, digital geometry},