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 %%%%%%%%%%%%%%%%%%%%%%%%
109 %%%%%%%%%%%%%%%%%%%%%%%%
111 % OpenGL 4.4 (core profile) spec.
112 % The latest OpenGL spec.
113 % See: http://www.opengl.org/registry/doc/glspec44.core.pdf
115 title={The OpenGL\textregistered Graphics System: A Specification},
116 author={Segal, Mark and Akely, Kurt and Leech, Jon},
118 publisher={The Kronos Group, Inc},
119 url={http://www.opengl.org/registry/doc/glspec44.core.pdf}
122 % The valve paper on using signed distance fields, scaling them and then alpha testing
123 % them to have a smooth, defined boundary for "vector"-like effects.
124 % Also talks of using several channels in the image and running boolean operations on them
125 % to create sharp corners, etc.
126 @inproceedings{green2007improved,
127 title={Improved alpha-tested magnification for vector textures and special effects},
128 author={Green, Chris},
129 booktitle={ACM SIGGRAPH 2007 courses},
135 % A fast approximation to the signed distance field calculation for pixel grids
136 @article{leymarie1992fast,
137 title={Fast raster scan distance propagation on the discrete rectangular lattice},
138 author={Leymarie, F and Levine, Martin D},
139 journal={CVGIP: Image Understanding},
147 % Good overview of SDFs and the use of quad/octrees to better encode fine detail.
148 @inproceedings{frisken2000adaptively,
149 title={Adaptively sampled distance fields: a general representation of shape for computer graphics},
150 author={Frisken, Sarah F and Perry, Ronald N and Rockwood, Alyn P and Jones, Thouis R},
151 booktitle={Proceedings of the 27th annual conference on Computer graphics and interactive techniques},
154 organization={ACM Press/Addison-Wesley Publishing Co.}
158 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
159 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
160 @techreport{ray2005vector,
161 title={Vector texture maps on the GPU},
162 author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
164 institution={Technical Report ALICE-TR-05-003}
167 % GLyphy: https://github.com/behdad/slippy/tree/master/glyphy
168 % Can I get these slides into a readable format, and is it formal enough?
169 % The caricatures of the Intel OpenGL driver team are good, if nothing else.
171 % Cairo rendering library. Basically implements the rendering bits of postscript in C,
172 % the basis for many Linux vector graphics programs.
173 @inproceedings{worth2003xr,
174 title={Xr: Cross-device rendering for vector graphics},
175 author={Worth, Carl and Packard, Keith},
176 booktitle={Linux Symposium},
182 % Glitz cairo opengl backend.
183 @inproceedings{nilsson2004glitz,
184 title={Glitz: Hardware Accelerated Image Compositing Using {O}pen{GL}.},
185 author={Nilsson, Peter and Reveman, David},
186 booktitle={USENIX Annual Technical Conference, FREENIX Track},
191 % Basically an earlier but more detailed version of the below.
192 @article{loop2005resolution,
193 title={Resolution independent curve rendering using programmable graphics hardware},
194 author={Loop, Charles and Blinn, Jim},
195 journal={ACM Transactions on Graphics (TOG)},
204 % GPU Gems 3 article about using textures for the edges of smooth curves.
205 % http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html
206 @article{loop2007rendering,
207 title={Rendering vector art on the GPU},
208 author={Loop, Charles and Blinn, Jim},
216 % The article introducing the NV_path_rendering opengl extension
217 % (nVidia-specific) which uses a "stencil-then-cover" technique to render
218 % real vector graphics (not an approximation) on the GPU.
219 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
220 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html
221 @article{kilgard2012gpu,
222 title={GPU-accelerated path rendering},
223 author={Kilgard, Mark J and Bolz, Jeff},
224 journal={ACM Transactions on Graphics (TOG)},
231 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
232 @article{kilgard300programming,
233 title={Programming with NV path rendering: An Annex to the SIGGRAPH paper GPU-accelerated Path Rendering},
234 author={Kilgard, Mark J},
240 % GL_NV_blend_equation_advanced OpenGL extension
241 % https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt
242 % TODO: How to reference this??
243 % Bascially supports all PDF, SVG blend modes and then some.
244 % Pretty much only nVidia support this, but the specification
245 % includes the equations for everything, which is nice.
247 % OpenVG is an opengl-ish API for vector graphics.
248 % More based around SVG than postscript, but not bad.
249 @article{rice2008openvg,
250 title={OpenVG Specification, version 1.1},
251 author={Rice, Daniel and Simpson, RJ},
252 journal={Khronos Group},
257 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
258 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
259 @inproceedings{oh2007implementation,
260 title={Implementation of OpenVG 1.0 using OpenGL ES},
261 author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
262 booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
268 % Implementing the OpenVG paint modes using GLES2 shaders.
269 % This is all pretty simple stuff.
270 @inproceedings{robart2009openvg,
271 title={OpenVG paint subsystem over openGL ES shaders},
272 author={Robart, Mathieu},
273 booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
282 @article{finkel1974quad,
283 title={Quad trees a data structure for retrieval on composite keys},
284 author={Finkel, Raphael A. and Bentley, Jon Louis},
285 journal={Acta informatica},
294 % Basic overview of PDF and how it is awesome.
295 % This doesn't seem like a major revelation for 2002
296 @article{cheng2002portable,
297 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.},
298 Author = {Wan-Lee Cheng, Michael A.},
300 Journal = {Journal of Technology Studies},
301 Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
304 Title = {Portable Document Format (PDF) -- Finally, a Universal Document Exchange Technology.},
306 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
310 % Overview of different formats
311 % Talks about JavaScript being the future
313 @article{hayes2012pixels,
314 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.},
315 Author = {Hayes, Brian},
317 Journal = {American Scientist},
318 Keywords = {ELECTRONIC publishing, SCIENCE publishing, GRAPHIC methods -- Software, POSTSCRIPT (Computer program language), JAVASCRIPT (Computer program language), CHARTS, diagrams, etc., DESIGN & construction},
321 Title = {Pixels or Perish.},
323 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=71853141&site=ehost-live},
327 % Embedding 3D models / graphs in PDFs
328 % Actually works (in Adobe Reader)
329 @article{barnes2013embedding,
330 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},
331 Author = {Barnes, David G. and Vidiassov, Michail and Ruthensteiner, Bernhard and Fluke, Christopher J. and Quayle, Michelle R. and McHenry, Colin R.},
333 Journal = {PLoS ONE},
334 Keywords = {PDF (Computer file format), EMBEDDINGS (Mathematics), COMPUTER software, THREE-dimensional imaging, LATEX (Computer software), COMPUTER graphics, Research Article},
337 Title = {Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files.},
339 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=90530375&site=ehost-live},
343 %Goldberg:1992:DFD:151333.151373
344 % Looks useful... although it does have FORTRAN in it
345 @article{goldberg1992thedesign,
346 author = {Goldberg, David},
347 title = {The Design of Floating-point Data Types},
348 journal = {ACM Lett. Program. Lang. Syst.},
349 issue_date = {June 1992},
357 url = {http://doi.acm.org/10.1145/151333.151373},
358 doi = {10.1145/151333.151373},
361 address = {New York, NY, USA},
362 keywords = {Ada, FORTRAN 90, Modula-3, backward error analysis, error analysis, exceptions, floating point, floating-point standard, guard digit, precision, rounding, ulp},
365 % It seems wierd using our last names...
367 title = "Infinite-precision Document Formats (Project Proposal)",
368 author = "David Gow",
370 howpublished = "\url{http://davidgow.net/stuff/ProjectProposal.pdf}"
373 % Note the different title
375 title = "Infinite Precision Document Formats (Project Proposal)",
376 author = "Sam Moore",
378 howpublished = "\url{http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf}"
381 % The Fractal Nature of Bezier Curves
383 @article{goldman_thefractal,
384 title = "The Fractal Nature of Bezier Curves",
385 author = "Ron Goldman",
386 publisher = "Department of Computer Science, Rice University",
387 address = "6100 Main Street, Houstan, Texas",
388 note = "The de Casteljau subdivision algorithm is used to show that Bezier curves are also attractors (ie: fractals).
389 A new rendering algorithm is derived for Bezier curves."
392 % Talks about security of PDF, probably not useful,
393 @article{sami2009alook,
394 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]},
395 Author = {Rautiainen, Sami},
397 Journal = {Information Security Technical Report},
398 Keywords = {PDF (Computer file format), FILE organization (Computer science), SYSTEMS software, COMPUTER files},
401 Title = {A look at Portable Document Format vulnerabilities.},
403 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=40637035&site=ehost-live},
407 % Interesting but not related to the project
408 @article{bergen2012automatic,
409 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]},
410 Author = {Bergen, Steven and Ross, Brian},
412 Journal = {Visual Computer},
413 Keywords = {GRAPHIC arts, GENETIC algorithms, GRAPHIC design, GRAPHIC designers, VISUAL communication, RESEARCH, Evolutionary art, Genetic algorithm, Vector graphics},
416 Title = {Automatic and interactive evolution of vector graphics images with genetic algorithms.},
418 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=70129435&site=ehost-live},
422 % Similar to goldman1992, also old, need to find newer references
423 @INPROCEEDINGS{priest1991algorithms,
424 author={Priest, D.M.},
425 booktitle={Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on},
426 title={Algorithms for arbitrary precision floating point arithmetic},
430 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},
431 doi={10.1109/ARITH.1991.145549},}
433 @article{goldbern1967twentyseven,
434 author = {Goldberg, I. Bennett},
435 title = {27 Bits Are Not Enough for 8-digit Accuracy},
436 journal = {Commun. ACM},
437 issue_date = {Feb. 1967},
445 url = {http://doi.acm.org/10.1145/363067.363112},
446 doi = {10.1145/363067.363112},
449 address = {New York, NY, USA},
454 % Boost multiprecision library
455 @misc{boost_multiprecision,
456 author = {John Maddock and Christopher Kormanyos},
457 title = {Boost Multiprecision Library},
458 howpublished = {\url{http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/}}
461 % A CMOS Floating Point Unit
462 @MISC{kelley1997acmos,
463 author = {Michael J. Kelley and Matthew A. Postiff and Advisor Richard and B. Brown},
464 title = {A CMOS Floating Point Unit},
468 @misc{filiatreault2003simply,
469 author = {Raymond Filiatreault},
470 title = "Simply FPU",
472 howpublished = {\url{http://www.website.masmforum.com/tutorials/fptute/index.html}}
475 @article{bishop2008floating,
476 author = {David Bishop},
478 howpublished = {\url{http://www.vhdl.org/fphdl/Float_ug.pdf}},
479 title = {Floating Point Package User's Guide},
480 note = {Technical Report},
481 journal = {EDA Industry Working Groups}
484 @article{dieter2007lowcost,
485 author = {Dieter, William R. and Kaveti, Akil and Dietz, Henry G.},
486 title = {Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy},
487 journal = {IEEE Comput. Archit. Lett.},
488 issue_date = {January 2007},
496 url = {http://dx.doi.org/10.1109/L-CA.2007.1},
497 doi = {10.1109/L-CA.2007.1},
499 publisher = {IEEE Computer Society},
500 address = {Washington, DC, USA},
501 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},
505 author = "jop-devel",
506 title = "Java Optimized Processor",
507 howpublished = "\url{https://github.com/jop-devel/jop}"
510 @inproceedings{kadric2013accurate,
511 title={Accurate Parallel Floating-Point Accumulation},
512 author={Kadric, Edin and Gurniak, Paul and DeHon, Andr{\'e}},
513 booktitle={Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on},
519 %ghdl, the least shitty of the open source vhdl tools
521 title = "GHDL Guide",
522 author = "Tristan Gingold",
524 howpublished = "\url{http://ghdl.free.fr/ghdl/}"
527 % Look into as an alternative to using text files for FPU simulation?
529 title = "Using Binary Files in VHDL Test Benches",
530 author = "Stephen Tang",
532 howpublished = "\url{http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2000_w/vhdl/BinaryFileTestbenching/binary.html}",
533 note = "Application Notes (webpage)"
536 % On the design of IEEE floating point adders
538 @INPROCEEDINGS{seidel2001onthe,
539 author={Seidel, P.-M. and Even, G.},
540 booktitle={Computer Arithmetic, 2001. Proceedings. 15th IEEE Symposium on},
541 title={On the design of fast IEEE floating-point adders},
545 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},
546 doi={10.1109/ARITH.2001.930118},
550 @article{demmel1996basic,
551 title = "Basic Issues in Floating Point Arithmetic and Error Analysis",
552 author = "Jim Demmel",
553 journal = "U.C. Berkeley CS267",
554 note = "Lecture Notes",
555 howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}",
560 title = "GRFPU - High Performance IEEE- 7 5 4 Floating- Point Unit",
561 author = "Edvin Catovic",
562 howpublished = "\url{http://www.gaisler.com/doc/grfpu_dasia.pdf}"
565 % The best quote ever.
566 @misc{beebe2011round32,
567 title = "Re: round32 ( round64 ( X ) ) ?= round32 ( X )",
568 note = "IEEE 754 Working Group Mail Archives",
569 author = "Nelson H. F. Beebe",
570 howpublished = "\url{http://grouper.ieee.org/groups/754/email/msg04169.html}"
573 % Biography of Charles Babbage because WHY NOT?
574 % I suspect this year is wrong?75
575 @ARTICLE{dodge_babbage,
576 author={Dodge, N. S.},
577 journal={Annals of the History of Computing, IEEE},
578 title={Charles Babbage},
584 keywords={Accuracy;Art;Autobiographies;Biographies;Blood;Calculus;Educational institutions;History;Writing},
585 doi={10.1109/MAHC.2000.887988},
588 @article{nature1871babbage,
589 author = "Unknown Author",
591 title = "Charles Babbage",
598 %IEEE 754 Really should have put this in earlier
599 @ARTICLE{ieee2008-754,
600 journal={IEEE Std 754-2008},
601 title={IEEE Standard for Floating-Point Arithmetic},
605 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},
606 doi={10.1109/IEEESTD.2008.4610935},}
609 @article{dekker1971afloating,
612 journal={Numerische Mathematik},
615 doi={10.1007/BF01397083},
616 title={A floating-point technique for extending the available precision},
617 url={http://dx.doi.org/10.1007/BF01397083},
618 publisher={Springer-Verlag},
619 author={Dekker, T.J.},
624 @String{pub-BIRKHAUSER-BOSTON = "Birkh{\"a}user Boston Inc."}
625 @String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"}
628 author = "Jean-Michel Muller and Nicolas Brisebarre and Florent
629 de Dinechin and Claude-Pierre Jeannerod and Vincent
630 Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol
631 and Damien Stehl{\'e} and Serge Torres",
632 title = "Handbook of Floating-Point Arithmetic",
633 publisher = pub-BIRKHAUSER-BOSTON,
634 address = pub-BIRKHAUSER-BOSTON:adr,
635 pages = "xxiii + 572",
637 DOI = "http://dx.doi.org/10.1007/978-0-8176-4704-9",
638 ISBN = "0-8176-4704-X",
639 ISBN-13 = "978-0-8176-4704-9",
640 LCCN = "QA76.9.C62 H36 2010",
641 bibdate = "Thu Jan 27 16:18:58 2011",
642 price = "US\$90 (est.)",
643 acknowledgement = ack-nhfb,
646 @article{svg2011-1.1,
649 journal = "WC3 Recommendation",
650 title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)",
651 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",
652 howpublished = "\url{http://www.w3.org/TR/SVG/}"
655 @article{kapoulkine2014pugixml,
657 author = "Arseny Kapoulkine",
658 title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support",
659 howpublished="http://pugixml.org",
665 author = "Arseny Kapoulkine",
666 title = "Document Object Model",
667 journal = "pugixml 1.4 manual",
668 howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html"
671 % Rendering vector graphics on vector display devices (historical)
672 %Brassel:1979:ASR:965103.807434,
673 @article{brassel1979analgorithm,
674 author = {Brassel, Kurt E. and Fegeas, Robin},
675 title = {An Algorithm for Shading of Regions on Vector Display Devices},
676 journal = {SIGGRAPH Comput. Graph.},
677 issue_date = {August 1979},
685 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434},
686 doi = {10.1145/965103.807434},
689 address = {New York, NY, USA},
690 keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information},
692 %Lane:1983:AFR:357323.357326,
693 @article{lane1983analgorithm,
694 author = {Lane, J. M. and M. Rarick, R. and},
695 title = {An Algorithm for Filling Regions on Graphics Display Devices},
696 journal = {ACM Trans. Graph.},
697 issue_date = {July 1983},
705 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326},
706 doi = {10.1145/357323.357326},
709 address = {New York, NY, USA},
712 @article{hillesland2004paranoia,
713 author = "Karl E Hillesland and Anselmo Lastra",
714 title = "GPU Floating-Point Paranoia",
715 journal = "Proceedings of GP 2004",
717 url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}"
720 %Fousse:2007:MMB:1236463.1236468,
721 @article{fousse2007mpfr,
722 author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul},
723 title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding},
724 journal = {ACM Trans. Math. Softw.},
725 issue_date = {June 2007},
732 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468},
733 doi = {10.1145/1236463.1236468},
736 address = {New York, NY, USA},
737 keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software},
741 @article{kahan1996ieee754,
743 title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic",
744 url = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps}",
749 @article{kahan2007wrong,
751 title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?",
752 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf}",
759 title = "Prof W Kahan's Webpages",
760 howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/}"
763 @book{computergraphics2,
764 author = "Donald Hearn and M Pauline Baker",
765 title = "Computer Graphics",
768 publisher = "Prentice Hall, Inc",
769 address = "Upper Saddle River, New Jersey 07458, USA"
772 @ARTICLE{bresenham1996pixel,
773 author={Bresenham, J.},
774 journal={Computer Graphics and Applications, IEEE},
775 title={Pixel-processing fundamentals},
781 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},
782 doi={10.1109/38.481626},
785 % It's a series of blog posts, don't judge me
786 % Also don't look at the rest of the blog, it's strange...
787 @misc{elias2000graphics,
789 author = "Hugo Elias",
790 howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm}},
791 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?"
794 @article{wu1991anefficient,
795 author = {Wu, Xiaolin},
796 title = {An Efficient Antialiasing Technique},
797 journal = {SIGGRAPH Comput. Graph.},
798 issue_date = {July 1991},
806 url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734},
807 doi = {10.1145/127719.122734},
810 address = {New York, NY, USA},
811 keywords = {antialiasing, convolution, curve digitization, digital geometry},