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}},
25 note={Retrieved 2014-05-20}
28 @article{fuchs1982theformat,
29 title={The Format of {\TeX}'s {DVI} files},
30 author={Fuchs, David},
35 howpublished={\url{http://www.tug.org/TUGboat/Articles/tb03-2/tb06software.pdf}}
40 title={Hypertext Markup Language -- 2.0},
41 author={Berners-Lee, Tim and Connolly, Daniel},
43 journal={Internet RFC 1866}
48 title={Cascading Style Sheets, Level 2, {CSS2} Specification},
49 author={Bos, Bert and Wium Lie, Håkon and Lilley, Chris and Jacobs Ian},
51 howpublished={\url{http://www.w3.org/TR/1998/REC-CSS2-19980512/}},
52 note={Retrieved 2014-05-22}
56 title={GhostScript, an interpreter for the PostScript language and PDF},
57 author={Artifex Software},
59 howpublished={\url{http://www.ghostscript.com/}},
60 note={Retrieved 2014-05-21}
63 %%%%%%%%%%%%%%%%%%%%%%%%
64 % Basic Rendering Theory
65 %%%%%%%%%%%%%%%%%%%%%%%%
67 %Porter-Duff compositing.
68 % Keith Packard has a really nice PDF version of this.
69 @inproceedings{porter1984compositing,
70 title={Compositing digital images},
71 author={Porter, Thomas and Duff, Tom},
72 booktitle={ACM SIGGRAPH Computer Graphics},
80 %Bresenham's Line Drawing Algorithm
81 % See Michael Abrash's Graphics Programming Black Book for a
82 % much better guide to implementing this (at least on the 486)
83 @article{bresenham1965algorithm,
84 title={Algorithm for computer control of a digital plotter},
85 author={Bresenham, Jack E},
86 journal={IBM Systems journal},
94 % Basically my favourite thing on triangle rasterization.
95 % There are older ones, but this one makes sense.
96 @misc{giesen2013triangle,
97 title={Triangle rasterization in practice},
98 author={Giesen, Fabien},
100 journal={The ryg blog},
103 howpublished={\url{http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/}},
104 note={Retrieved 2014-05-16}
107 % A paper on polygon rasterization. Probably should find a nice textbook on
109 @article{pineda1988parallel,
110 title={A parallel algorthim for polygon rasterization},
111 author={Pineda, Juan},
112 journal={ACM Computer Graphics},
120 % Bézier curves and friends.
121 @phdthesis{catmull1974asubdivision,
122 author = {Catmull, Edwin Earl},
123 title = {A Subdivision Algorithm for Computer Display of Curved Surfaces.},
126 publisher = {The University of Utah},
130 %%%%%%%%%%%%%%%%%%%%%%%
131 % Floating-pt Precision
132 %%%%%%%%%%%%%%%%%%%%%%%
133 Goldberg:1991:CSK:103162.103163,
134 @article{goldberg1991whatevery,
135 author = {Goldberg, David},
136 title = {What Every Computer Scientist Should Know About Floating-point Arithmetic},
137 journal = {ACM Comput. Surv.},
138 issue_date = {March 1991},
146 url = {http://doi.acm.org/10.1145/103162.103163},
147 doi = {10.1145/103162.103163},
150 address = {New York, NY, USA},
151 keywords = {NaN, denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, overflow, relative error, rounding error, rounding mode, ulp, underflow},
154 @misc{arb_gpu_shader_fp64,
155 title={{ARB\_gpu\_shader\_fp64}},
156 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},
158 journal={OpenGL Extension},
159 publisher={Kronos Group},
160 howpublished={\url{http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt}},
161 note={Retrieved 2014-05-20}
165 title={{NV\_half\_float}},
168 journal={OpenGL Extension},
169 publisher={NVIDIA Corporation},
170 howpublished={\url{http://www.opengl.org/registry/specs/NV/half_float.txt}},
171 note={Retrieved 2014-05-20}
174 @inproceedings{emmart2010high,
175 title={High precision integer multiplication with a graphics processing unit},
176 author={Emmart, Niall and Weems, Charles},
177 booktitle={2010 IEEE International Symposium on Parallel \& Distributed Processing, Workshops and Phd Forum (IPDPSW)},
183 @article{ieee754std1985,
184 journal={{ANSI}/{IEEE} Std 754-1985},
185 title={{IEEE} Standard for Binary Floating-Point Arithmetic},
189 @article{ieee754std2008,
190 journal={{IEEE} Std 754-2008},
191 title={{IEEE} Standard for Floating-Point Arithmetic},
199 %%%%%%%%%%%%%%%%%%%%%%%%
201 %%%%%%%%%%%%%%%%%%%%%%%%
203 % OpenGL 4.4 (core profile) spec.
204 % The latest OpenGL spec.
205 % See: http://www.opengl.org/registry/doc/glspec44.core.pdf
207 title={The {OpenGL}\textregistered Graphics System: A Specification},
208 author={Segal, Mark and Akely, Kurt and Leech, Jon},
210 publisher={The Kronos Group, Inc},
211 url={http://www.opengl.org/registry/doc/glspec44.core.pdf}
214 % The valve paper on using signed distance fields, scaling them and then alpha testing
215 % them to have a smooth, defined boundary for "vector"-like effects.
216 % Also talks of using several channels in the image and running boolean operations on them
217 % to create sharp corners, etc.
218 @inproceedings{green2007improved,
219 title={Improved alpha-tested magnification for vector textures and special effects},
220 author={Green, Chris},
221 booktitle={{ACM} {SIGGRAPH} 2007 courses},
227 % A fast approximation to the signed distance field calculation for pixel grids
228 @article{leymarie1992fast,
229 title={Fast raster scan distance propagation on the discrete rectangular lattice},
230 author={Leymarie, F and Levine, Martin D},
231 journal={CVGIP: Image Understanding},
239 % Good overview of SDFs and the use of quad/octrees to better encode fine detail.
240 @inproceedings{frisken2000adaptively,
241 title={Adaptively sampled distance fields: a general representation of shape for computer graphics},
242 author={Frisken, Sarah F and Perry, Ronald N and Rockwood, Alyn P and Jones, Thouis R},
243 booktitle={Proceedings of the 27th annual conference on Computer graphics and interactive techniques},
246 organization={ACM Press/Addison-Wesley Publishing Co.}
250 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
251 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
252 @techreport{ray2005vector,
253 title={Vector texture maps on the {GPU}},
254 author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
256 institution={Technical Report ALICE-TR-05-003}
259 % GLyphy: https://github.com/behdad/slippy/tree/master/glyphy
260 % Can I get these slides into a readable format, and is it formal enough?
261 % The caricatures of the Intel OpenGL driver team are good, if nothing else.
263 % Cairo rendering library. Basically implements the rendering bits of postscript in C,
264 % the basis for many Linux vector graphics programs.
265 @inproceedings{worth2003xr,
266 title={Xr: Cross-device rendering for vector graphics},
267 author={Worth, Carl and Packard, Keith},
268 booktitle={Linux Symposium},
274 % Glitz cairo opengl backend.
275 @inproceedings{nilsson2004glitz,
276 title={Glitz: Hardware Accelerated Image Compositing Using {O}pen{GL}.},
277 author={Nilsson, Peter and Reveman, David},
278 booktitle={USENIX Annual Technical Conference, FREENIX Track},
283 % Basically an earlier but more detailed version of the below.
284 @article{loop2005resolution,
285 title={Resolution independent curve rendering using programmable graphics hardware},
286 author={Loop, Charles and Blinn, Jim},
287 journal={ACM Transactions on Graphics (TOG)},
296 % GPU Gems 3 article about using textures for the edges of smooth curves.
297 % http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html
298 @article{loop2007rendering,
299 title={Rendering vector art on the GPU},
300 author={Loop, Charles and Blinn, Jim},
301 journal={{GPU} gems},
308 % The article introducing the NV_path_rendering opengl extension
309 % (nVidia-specific) which uses a "stencil-then-cover" technique to render
310 % real vector graphics (not an approximation) on the GPU.
311 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
312 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html
313 @article{kilgard2012gpu,
314 title={{GPU}-accelerated path rendering},
315 author={Kilgard, Mark J and Bolz, Jeff},
316 journal={{ACM} Transactions on Graphics (TOG)},
323 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
324 @article{kilgard300programming,
325 title={Programming with {NV} path rendering: An Annex to the {SIGGRAPH} paper {GPU}-accelerated Path Rendering},
326 author={Kilgard, Mark J},
332 % GL_NV_blend_equation_advanced OpenGL extension
333 % https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt
334 % TODO: How to reference this??
335 % Bascially supports all PDF, SVG blend modes and then some.
336 % Pretty much only nVidia support this, but the specification
337 % includes the equations for everything, which is nice.
339 % OpenVG is an opengl-ish API for vector graphics.
340 % More based around SVG than postscript, but not bad.
341 @article{rice2008openvg,
342 title={{OpenVG} Specification, version 1.1},
343 author={Rice, Daniel and Simpson, RJ},
344 journal={Khronos Group},
349 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
350 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
351 @inproceedings{oh2007implementation,
352 title={Implementation of {OpenVG} 1.0 using {OpenGL} {ES}},
353 author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
354 booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
360 % Implementing the OpenVG paint modes using GLES2 shaders.
361 % This is all pretty simple stuff.
362 @inproceedings{robart2009openvg,
363 title={{OpenVG} paint subsystem over {OpenGL} {ES} shaders},
364 author={Robart, Mathieu},
365 booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
371 @article{blinn1992trip,
372 title={A Trip Down the Graphics Pipeline: Grandpa, What Does “Viewport” Mean?},
373 author={Blinn, James},
374 journal={Computer Graphics and Applications, IEEE},
382 @ARTICLE{blinn1991trip,
383 author={Blinn, James},
384 journal={Computer Graphics and Applications, IEEE},
385 title={A Trip Down the Graphics Pipeline: Line Clipping},
391 keywords={computer graphics;Z clipping;clipping function;computer graphics;global clipping;homogeneous clipping;line clipping;transform-clip-draw pipeline;Application software;Arithmetic;Assembly;Computer graphics;Displays;Education;Hardware;Pipelines;Standards publication},
392 doi={10.1109/38.67707},
399 @article{finkel1974quad,
400 title={Quad trees a data structure for retrieval on composite keys},
401 author={Finkel, Raphael A. and Bentley, Jon Louis},
402 journal={Acta informatica},
411 @inproceedings{fuchs1980onvisible,
412 author = {Fuchs, Henry and Kedem, Zvi M. and Naylor, Bruce F.},
413 title = {On Visible Surface Generation by a Priori Tree Structures},
414 booktitle = {Proceedings of the 7th Annual Conference on Computer Graphics and Interactive Techniques},
415 series = {SIGGRAPH '80},
417 isbn = {0-89791-021-4},
418 location = {Seattle, Washington, USA},
421 url = {http://doi.acm.org/10.1145/800250.807481},
422 doi = {10.1145/800250.807481},
425 address = {New York, NY, USA},
429 @article{bentley1975multidimensional,
430 author = {Bentley, Jon Louis},
431 title = {Multidimensional Binary Search Trees Used for Associative Searching},
432 journal = {Commun. ACM},
433 issue_date = {Sept. 1975},
441 url = {http://doi.acm.org/10.1145/361002.361007},
442 doi = {10.1145/361002.361007},
445 address = {New York, NY, USA},
446 keywords = {associative retrieval, attribute, binary search trees, binary tree insertion, information retrieval system, intersection queries, key, nearest neighbor queries, partial match queries},
450 % Basic overview of PDF and how it is awesome.
451 % This doesn't seem like a major revelation for 2002
452 @article{cheng2002portable,
453 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.},
454 Author = {Wan-Lee Cheng, Michael A.},
456 Journal = {Journal of Technology Studies},
457 Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
460 Title = {Portable Document Format ({PDF}) -- Finally, a Universal Document Exchange Technology.},
462 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
466 % Overview of different formats
467 % Talks about JavaScript being the future
469 @article{hayes2012pixels,
470 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.},
471 Author = {Hayes, Brian},
473 Journal = {American Scientist},
474 Keywords = {ELECTRONIC publishing, SCIENCE publishing, GRAPHIC methods -- Software, POSTSCRIPT (Computer program language), JAVASCRIPT (Computer program language), CHARTS, diagrams, etc., DESIGN & construction},
477 Title = {Pixels or Perish.},
479 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=71853141&site=ehost-live},
483 % Embedding 3D models / graphs in PDFs
484 % Actually works (in Adobe Reader)
485 @article{barnes2013embedding,
486 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},
487 Author = {Barnes, David G. and Vidiassov, Michail and Ruthensteiner, Bernhard and Fluke, Christopher J. and Quayle, Michelle R. and McHenry, Colin R.},
489 Journal = {PLoS ONE},
490 Keywords = {PDF (Computer file format), EMBEDDINGS (Mathematics), COMPUTER software, THREE-dimensional imaging, LATEX (Computer software), COMPUTER graphics, Research Article},
493 Title = {Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files.},
495 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=90530375&site=ehost-live},
499 %Goldberg:1992:DFD:151333.151373
500 % Looks useful... although it does have FORTRAN in it
501 @article{goldberg1992thedesign,
502 author = {Goldberg, David},
503 title = {The Design of Floating-point Data Types},
504 journal = {ACM Lett. Program. Lang. Syst.},
505 issue_date = {June 1992},
513 url = {http://doi.acm.org/10.1145/151333.151373},
514 doi = {10.1145/151333.151373},
517 address = {New York, NY, USA},
518 keywords = {Ada, FORTRAN 90, Modula-3, backward error analysis, error analysis, exceptions, floating point, floating-point standard, guard digit, precision, rounding, ulp},
521 % It seems wierd using our last names...
523 title = "Infinite-precision Document Formats (Project Proposal)",
524 author = "David Gow",
526 howpublished = "\url{http://davidgow.net/stuff/ProjectProposal.pdf}"
529 % Note the different title
531 title = "Infinite Precision Document Formats (Project Proposal)",
532 author = "Sam Moore",
534 howpublished = "\url{http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf}"
537 % The Fractal Nature of Bezier Curves
539 @article{goldman_thefractal,
540 title = "The Fractal Nature of Bezier Curves",
541 author = "Ron Goldman",
542 publisher = "Department of Computer Science, Rice University",
543 address = "6100 Main Street, Houstan, Texas",
544 note = "The de Casteljau subdivision algorithm is used to show that Bezier curves are also attractors (ie: fractals).
545 A new rendering algorithm is derived for Bezier curves."
548 % Talks about security of PDF, probably not useful,
549 @article{sami2009alook,
550 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]},
551 Author = {Rautiainen, Sami},
553 Journal = {Information Security Technical Report},
554 Keywords = {PDF (Computer file format), FILE organization (Computer science), SYSTEMS software, COMPUTER files},
557 Title = {A look at Portable Document Format vulnerabilities.},
559 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=40637035&site=ehost-live},
563 % Interesting but not related to the project
564 @article{bergen2012automatic,
565 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]},
566 Author = {Bergen, Steven and Ross, Brian},
568 Journal = {Visual Computer},
569 Keywords = {GRAPHIC arts, GENETIC algorithms, GRAPHIC design, GRAPHIC designers, VISUAL communication, RESEARCH, Evolutionary art, Genetic algorithm, Vector graphics},
572 Title = {Automatic and interactive evolution of vector graphics images with genetic algorithms.},
574 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=70129435&site=ehost-live},
578 % Similar to goldman1992, also old, need to find newer references
579 @INPROCEEDINGS{priest1991algorithms,
580 author={Priest, D.M.},
581 booktitle={Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on},
582 title={Algorithms for arbitrary precision floating point arithmetic},
586 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},
587 doi={10.1109/ARITH.1991.145549},}
589 @article{goldbern1967twentyseven,
590 author = {Goldberg, I. Bennett},
591 title = {27 Bits Are Not Enough for 8-digit Accuracy},
592 journal = {Commun. ACM},
593 issue_date = {Feb. 1967},
601 url = {http://doi.acm.org/10.1145/363067.363112},
602 doi = {10.1145/363067.363112},
605 address = {New York, NY, USA},
610 % Boost multiprecision library
611 @misc{boost_multiprecision,
612 author = {John Maddock and Christopher Kormanyos},
613 title = {Boost Multiprecision Library},
614 howpublished = {\url{http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/}}
618 author = {Oracle Corporation},
619 title = {java.math.{BigInteger}},
620 booktitle = {Java Platform 6 {SE}},
621 urldate = {19-05-2014},
622 howpublished = {\url{http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html}},
623 note={Retrieved 2014-05-19}
626 @misc{java_bigdecimal,
627 author = {Oracle Corporation},
628 title = {java.math.{BigDecimal}},
629 booktitle = {Java Platform 7 {SE}},
630 howpublished = {\url{http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html}},
631 urldate = {19-05-2014},
632 note={Retrieved 2014-05-19}
635 % A CMOS Floating Point Unit
636 @MISC{kelley1997acmos,
637 author = {Michael J. Kelley and Matthew A. Postiff and Advisor Richard and B. Brown},
638 title = {A CMOS Floating Point Unit},
642 @misc{filiatreault2003simply,
643 author = {Raymond Filiatreault},
644 title = "Simply FPU",
646 howpublished = {\url{http://www.website.masmforum.com/tutorials/fptute/index.html}}
649 @article{bishop2008floating,
650 author = {David Bishop},
652 howpublished = {\url{http://www.vhdl.org/fphdl/Float_ug.pdf}},
653 title = {Floating Point Package User's Guide},
654 note = {Technical Report},
655 journal = {EDA Industry Working Groups}
658 @article{dieter2007lowcost,
659 author = {Dieter, William R. and Kaveti, Akil and Dietz, Henry G.},
660 title = {Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy},
661 journal = {IEEE Comput. Archit. Lett.},
662 issue_date = {January 2007},
670 url = {http://dx.doi.org/10.1109/L-CA.2007.1},
671 doi = {10.1109/L-CA.2007.1},
673 publisher = {IEEE Computer Society},
674 address = {Washington, DC, USA},
675 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},
679 author = "jop-devel",
680 title = "Java Optimized Processor",
681 howpublished = "\url{https://github.com/jop-devel/jop}"
684 @inproceedings{kadric2013accurate,
685 title={Accurate Parallel Floating-Point Accumulation},
686 author={Kadric, Edin and Gurniak, Paul and DeHon, Andr{\'e}},
687 booktitle={Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on},
693 %ghdl, the least shitty of the open source vhdl tools
695 title = "GHDL Guide",
696 author = "Tristan Gingold",
698 howpublished = "\url{http://ghdl.free.fr/ghdl/}"
701 % Look into as an alternative to using text files for FPU simulation?
703 title = "Using Binary Files in VHDL Test Benches",
704 author = "Stephen Tang",
706 howpublished = "\url{http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2000_w/vhdl/BinaryFileTestbenching/binary.html}",
707 note = "Application Notes (webpage)"
710 % On the design of IEEE floating point adders
712 @INPROCEEDINGS{seidel2001onthe,
713 author={Seidel, P.-M. and Even, G.},
714 booktitle={Computer Arithmetic, 2001. Proceedings. 15th IEEE Symposium on},
715 title={On the design of fast IEEE floating-point adders},
719 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},
720 doi={10.1109/ARITH.2001.930118},
724 @article{demmel1996basic,
725 title = "Basic Issues in Floating Point Arithmetic and Error Analysis",
726 author = "Jim Demmel",
727 journal = "U.C. Berkeley CS267",
728 note = "Lecture Notes",
729 howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}",
734 title = "GRFPU - High Performance IEEE- 7 5 4 Floating- Point Unit",
735 author = "Edvin Catovic",
736 howpublished = "\url{http://www.gaisler.com/doc/grfpu_dasia.pdf}"
739 % The best quote ever.
740 @misc{beebe2011round32,
741 title = "Re: round32 ( round64 ( X ) ) ?= round32 ( X )",
742 note = "IEEE 754 Working Group Mail Archives",
743 author = "Nelson H. F. Beebe",
744 howpublished = "\url{http://grouper.ieee.org/groups/754/email/msg04169.html}"
747 % Biography of Charles Babbage because WHY NOT?
748 % I suspect this year is wrong?75
749 @ARTICLE{dodge_babbage,
750 author={Dodge, N. S.},
751 journal={Annals of the History of Computing, IEEE},
752 title={Charles Babbage},
758 keywords={Accuracy;Art;Autobiographies;Biographies;Blood;Calculus;Educational institutions;History;Writing},
759 doi={10.1109/MAHC.2000.887988},
762 @article{nature1871babbage,
763 author = "Unknown Author",
765 title = "Charles Babbage",
772 %IEEE 754 Really should have put this in earlier
773 @ARTICLE{ieee2008-754,
774 journal={IEEE Std 754-2008},
775 title={IEEE Standard for Floating-Point Arithmetic},
779 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},
780 doi={10.1109/IEEESTD.2008.4610935},}
783 @article{dekker1971afloating,
786 journal={Numerische Mathematik},
789 doi={10.1007/BF01397083},
790 title={A floating-point technique for extending the available precision},
791 url={http://dx.doi.org/10.1007/BF01397083},
792 publisher={Springer-Verlag},
793 author={Dekker, T.J.},
798 @String{pub-BIRKHAUSER-BOSTON = "Birkh{\"a}user Boston Inc."}
799 @String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
802 author = "Jean-Michel Muller and Nicolas Brisebarre and Florent
803 de Dinechin and Claude-Pierre Jeannerod and Vincent
804 Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
805 and Damien Stehl{\'e} and Serge Torres",
806 title = "Handbook of Floating-Point Arithmetic",
807 publisher = pub-BIRKHAUSER-BOSTON,
808 address = pub-BIRKHAUSER-BOSTON:adr,
809 pages = "xxiii + 572",
811 DOI = "http://dx.doi.org/10.1007/978-0-8176-4704-9",
812 ISBN = "0-8176-4704-X",
813 ISBN-13 = "978-0-8176-4704-9",
814 LCCN = "QA76.9.C62 H36 2010",
815 bibdate = "Thu Jan 27 16:18:58 2011",
816 price = "US\$90 (est.)",
817 acknowledgement = ack-nhfb,
820 @article{svg2011-1.1,
823 journal = "W3C Recommendation",
824 title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)",
825 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",
826 howpublished = "\url{http://www.w3.org/TR/SVG/}",
827 note = "Retrieved 2014-05-23",
830 @article{xml2008-1.0,
833 journal = "W3C Recommendation",
834 title = "Extensible Markup Language (XML) 1.0 (Fifth Edition)",
836 editor = "Tim Bray and Jean Paoli and C Sperberg-McQueen and Eve Maler and Francois Yergeau",
837 howpublished = "\url{http://www.w3.org/TR/xml/}"
840 @article{html2014-draft,
843 journal = "W3C Candidate Recommendation",
844 title = "HTML5 - Developer View - A Vocabulary and associated APIs for HTML and XHTML",
846 editor = "Robin Berjon and Steve Faulkner and Travis Leithead and Erika Navara and Edward O'Connor and Silvia Pfeiffer and Ian Hickson",
847 howpublished = "\url{http://www.w3.org/TR/html/}"
850 @article{css2011-level2,
853 journal = "W3CRecommendation",
854 title = "Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification",
856 editor = "Bert Bos, Tantex Celik, Ian Hickson, Hakon WiumLie",
857 howpublished = "\url{http://www.w3.org/TR/CSS21/}"
860 @article{kapoulkine2014pugixml,
862 author = "Arseny Kapoulkine",
863 title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support",
864 howpublished="http://pugixml.org",
870 author = "Arseny Kapoulkine",
871 title = "Document Object Model",
872 journal = "pugixml 1.4 manual",
873 howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html"
876 % Rendering vector graphics on vector display devices (historical)
877 %Brassel:1979:ASR:965103.807434,
878 @article{brassel1979analgorithm,
879 author = {Brassel, Kurt E. and Fegeas, Robin},
880 title = {An Algorithm for Shading of Regions on Vector Display Devices},
881 journal = {SIGGRAPH Comput. Graph.},
882 issue_date = {August 1979},
890 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434},
891 doi = {10.1145/965103.807434},
894 address = {New York, NY, USA},
895 keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information},
897 %Lane:1983:AFR:357323.357326,
898 @article{lane1983analgorithm,
899 author = {Lane, J. M. and M. Rarick, R. and},
900 title = {An Algorithm for Filling Regions on Graphics Display Devices},
901 journal = {ACM Trans. Graph.},
902 issue_date = {July 1983},
910 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326},
911 doi = {10.1145/357323.357326},
914 address = {New York, NY, USA},
917 @article{hillesland2004paranoia,
918 author = "Karl E Hillesland and Anselmo Lastra",
919 title = "GPU Floating-Point Paranoia",
920 journal = "Proceedings of GP 2004",
922 url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}"
925 %Fousse:2007:MMB:1236463.1236468,
926 @article{fousse2007mpfr,
927 author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul},
928 title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding},
929 journal = {ACM Trans. Math. Softw.},
930 issue_date = {June 2007},
937 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468},
938 doi = {10.1145/1236463.1236468},
941 address = {New York, NY, USA},
942 keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software},
946 @misc{kahan1996ieee754,
948 title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic",
949 howpublished = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps} accessed April 2014",
954 @misc{kahan2007wrong,
956 title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?",
957 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf} accessed April 2014",
964 title = "Prof W Kahan's Webpages",
965 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/} accessed April 2014"
968 @book{computergraphics2,
969 author = "Donald Hearn and M Pauline Baker",
970 title = "Computer Graphics",
973 publisher = "Prentice Hall, Inc",
974 address = "Upper Saddle River, New Jersey 07458, USA"
977 @ARTICLE{bresenham1996pixel,
978 author={Bresenham, J.},
979 journal={Computer Graphics and Applications, IEEE},
980 title={Pixel-processing fundamentals},
986 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},
987 doi={10.1109/38.481626},
990 % It's a series of blog posts, don't judge me
991 % Also don't look at the rest of the blog, it's strange...
992 @misc{elias2000graphics,
994 author = "Hugo Elias",
995 howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm} accessed May 2014},
996 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?"
999 @article{wu1991anefficient,
1000 author = {Wu, Xiaolin},
1001 title = {An Efficient Antialiasing Technique},
1002 journal = {SIGGRAPH Comput. Graph.},
1003 issue_date = {July 1991},
1011 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734},
1012 doi = {10.1145/127719.122734},
1015 address = {New York, NY, USA},
1016 keywords = {antialiasing, convolution, curve digitization, digital geometry},
1019 @article{w3c2010svghtmlprimer,
1021 month = "September",
1022 journal = "WC3 Primer (Editor's Draft)",
1023 title = "An SVG Primer for Today's Browsers",
1025 editor = "David Dailey",
1026 howpublished = "\url{http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html}"
1029 % Koch snowflake in French no I didn't read it so sue me it is just here to give Koch credit
1030 @article{koch1904surune,
1032 author = "H Von Koch",
1033 title = "Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire." ,
1034 journal = "Archiv för Matemat., Astron. och Fys.",
1039 author = "Adobe Systems Incorporated",
1042 journal = "Adobe Acrobat Reader SDK"
1044 % Holy mackerel, a paper on precision in document formats!
1045 @article{beebe2007extending,
1046 author={Beebe, Nelson},
1047 title={Extending {\TeX} and {METAFONT} With Floating-Point Arithmetic},
1049 journal={{TUGboat}},
1055 title={Shape mathematics and CAD},
1056 author={De Casteljau, Paul de Faget},
1061 @book{foley1996computer,
1062 title={Computer Graphics: Principles and Practice},
1063 author={Foley, J.D.},
1064 isbn={9780201848403},
1066 chapter={Representing Curves and Surfaces},
1067 series={Addison-Wesley systems programming series},
1068 url={http://books.google.com.au/books?id=-4ngT05gmAQC},
1070 publisher={Addison-Wesley}
1073 @book{zerbst2004game,
1074 title={{3D} Game Engine Programming},
1075 author={Zerbst, Stefan and Düvel, Oliver},
1076 publisher={Premier Press},
1077 chapter={Scene Management},
1082 @book{knuth1983metafont,
1083 author = "Donald Knuth",
1085 title = "The {METAFONT} Book",
1086 publisher = "Addison-Wesley",
1090 @book{knuth1984texbook,
1091 author = "Donald Knuth",
1093 title = "The {\TeX} Book",
1094 publisher = "Addison-Wesley",
1098 %Bezier:1986:PVP:988594.988595,
1099 @article{bezier1986apersonal,
1100 author = {B{\'e}zier, Pierre E.},
1101 title = {A Personal View of Progress in Computer Aided Design},
1102 journal = {SIGGRAPH Comput. Graph.},
1103 issue_date = {July 1986},
1111 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/988594.988595},
1112 doi = {10.1145/988594.988595},
1115 address = {New York, NY, USA},
1118 % ECMAscript (Javascript) (sorry David I had to do it)
1120 title = "ECMAScript Language Specification",
1124 publisher = {\url{http://www.ecma-international.org} accessed 2014-05-22},
1125 author = "ECMA International"
1128 @ARTICLE{randell1982fromanalytical,
1129 author={Randell, B.},
1130 journal={Annals of the History of Computing},
1131 title={From Analytical Engine to Electronic Digital Computer: The Contributions of Ludgate, Torres, and Bush},
1137 keywords={Calculators;Character recognition;Engine cylinders;Engineering drawings;Hardware;History;Information analysis;Information processing;Permission;Time sharing computer systems},
1138 doi={10.1109/MAHC.1982.10042},
1141 @article{heckmann1998bigintegers,
1142 author = "Reinhold Heckmann",
1143 title = "Big Integers and Complexity Issues in Exact Real Arithmetic",
1144 journal = "Electronic Notes in Theoretical Computer Science",
1148 doi = "10.1016/S1571-0661(05)80215-4"