X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=blobdiff_plain;f=papers.bib;h=06b6f4882c2f6714355ab1edc54a0c7aef38b31d;hp=739bf0bd027363148808e2d772850d0ee25917e5;hb=f66173f7a003551c79aaee118391a967d8451858;hpb=d892e7278ee4e40393966edb2d6c0e37af600817 diff --git a/papers.bib b/papers.bib index 739bf0b..06b6f48 100644 --- a/papers.bib +++ b/papers.bib @@ -1,4 +1,3 @@ - % PostScript Reference Manual @book{plrm, title={PostScript Language Reference}, @@ -17,11 +16,67 @@ year={2006} } +%%%%%%%%%%%%%%%%%%%%%%%% +% Basic Rendering Theory +%%%%%%%%%%%%%%%%%%%%%%%% + +%Porter-Duff compositing. +% Keith Packard has a really nice PDF version of this. +@inproceedings{porter1984compositing, + title={Compositing digital images}, + author={Porter, Thomas and Duff, Tom}, + booktitle={ACM SIGGRAPH Computer Graphics}, + volume={18}, + number={3}, + pages={253--259}, + year={1984}, + organization={ACM} +} + +%Bresenham's Line Drawing Algorithm +% See Michael Abrash's Graphics Programming Black Book for a +% much better guide to implementing this (at least on the 486) +@article{bresenham1965algorithm, + title={Algorithm for computer control of a digital plotter}, + author={Bresenham, Jack E}, + journal={IBM Systems journal}, + volume={4}, + number={1}, + pages={25--30}, + year={1965}, + publisher={IBM Corp.} +} + +% Basically my favourite thing on triangle rasterization. +% There are older ones, but this one makes sense. +@misc{giesen2013triangle, + title={Triangle rasterization in practice}, + author={Giesen, Fabien}, + year={2013}, + journal={The ryg blog}, + type={Blog}, + number={February 8}, + howpublished={\url{http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/}} +} + +% A paper on polygon rasterization. Probably should find a nice textbook on +% this. +@article{pineda1988parallel, + title={A parallel algorthim for polygon rasterization}, + author={Pineda, Juan}, + journal={ACM Computer Graphics}, + year={1988}, + volume={22}, + number={4}, + pages={17--20}, + publisher={ACM} +} + %%%%%%%%%%%%%%%%%%%%%%% % Floating-pt Precision %%%%%%%%%%%%%%%%%%%%%%% Goldberg:1991:CSK:103162.103163, -@article{goldberg91whatevery, +@article{goldberg1991whatevery, author = {Goldberg, David}, title = {What Every Computer Scientist Should Know About Floating-point Arithmetic}, journal = {ACM Comput. Surv.}, @@ -40,6 +95,25 @@ Goldberg:1991:CSK:103162.103163, address = {New York, NY, USA}, keywords = {NaN, denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, overflow, relative error, rounding error, rounding mode, ulp, underflow}, } + +@misc{arb_gpu_shader_fp64, + title={{ARB\_gpu\_shader\_fp64}}, + 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}, + year={2010}, + journal={OpenGL Extension}, + publisher={Kronos Group}, + howpublished={\url{http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt}} +} + +@misc{nv_half_float, + title={{NV\_half\_float}}, + author={Brown, Pat}, + year={2002}, + journal={OpenGL Extension}, + publisher={NVIDIA Corporation}, + howpublished={\url{http://www.opengl.org/registry/specs/NV/half_float.txt}} +} + @inproceedings{emmart2010high, title={High precision integer multiplication with a graphics processing unit}, author={Emmart, Niall and Weems, Charles}, @@ -49,10 +123,37 @@ Goldberg:1991:CSK:103162.103163, organization={IEEE} } +@article{ieee754std1985, + journal={{ANSI}/{IEEE} Std 754-1985}, + title={{IEEE} Standard for Binary Floating-Point Arithmetic}, + year={1985}, +} + +@article{ieee754std2008, + journal={{IEEE} Std 754-2008}, + title={{IEEE} Standard for Floating-Point Arithmetic}, + year={2008}, + month={Aug}, + pages={1-70}, +} + + + %%%%%%%%%%%%%%%%%%%%%%%% % GPU-y Stuff %%%%%%%%%%%%%%%%%%%%%%%% +% OpenGL 4.4 (core profile) spec. +% The latest OpenGL spec. +% See: http://www.opengl.org/registry/doc/glspec44.core.pdf +@book{openglspec, + title={The {OpenGL}\textregistered Graphics System: A Specification}, + author={Segal, Mark and Akely, Kurt and Leech, Jon}, + year={2014}, + publisher={The Kronos Group, Inc}, + url={http://www.opengl.org/registry/doc/glspec44.core.pdf} +} + % The valve paper on using signed distance fields, scaling them and then alpha testing % them to have a smooth, defined boundary for "vector"-like effects. % Also talks of using several channels in the image and running boolean operations on them @@ -60,7 +161,7 @@ Goldberg:1991:CSK:103162.103163, @inproceedings{green2007improved, title={Improved alpha-tested magnification for vector textures and special effects}, author={Green, Chris}, - booktitle={ACM SIGGRAPH 2007 courses}, + booktitle={{ACM} {SIGGRAPH} 2007 courses}, pages={9--18}, year={2007}, organization={ACM} @@ -92,7 +193,7 @@ Goldberg:1991:CSK:103162.103163, % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style. % Need to read this further to understand some of the nuance, though I expect GLyphy does this better? @techreport{ray2005vector, - title={Vector texture maps on the GPU}, + title={Vector texture maps on the {GPU}}, author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno}, year={2005}, institution={Technical Report ALICE-TR-05-003} @@ -140,7 +241,7 @@ Goldberg:1991:CSK:103162.103163, @article{loop2007rendering, title={Rendering vector art on the GPU}, author={Loop, Charles and Blinn, Jim}, - journal={GPU gems}, + journal={{GPU} gems}, volume={3}, pages={543--562}, year={2007} @@ -153,9 +254,9 @@ Goldberg:1991:CSK:103162.103163, % See Zach Rusin's blog post comparing it to Qt's SVG renderer. % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html @article{kilgard2012gpu, - title={GPU-accelerated path rendering}, + title={{GPU}-accelerated path rendering}, author={Kilgard, Mark J and Bolz, Jeff}, - journal={ACM Transactions on Graphics (TOG)}, + journal={{ACM} Transactions on Graphics (TOG)}, volume={31}, number={6}, pages={172}, @@ -164,7 +265,7 @@ Goldberg:1991:CSK:103162.103163, } % An extension to the above, detailing the use of the extension, rather than the way it is implemented. @article{kilgard300programming, - title={Programming with NV path rendering: An Annex to the SIGGRAPH paper GPU-accelerated Path Rendering}, + title={Programming with {NV} path rendering: An Annex to the {SIGGRAPH} paper {GPU}-accelerated Path Rendering}, author={Kilgard, Mark J}, journal={heart}, volume={300}, @@ -181,7 +282,7 @@ Goldberg:1991:CSK:103162.103163, % OpenVG is an opengl-ish API for vector graphics. % More based around SVG than postscript, but not bad. @article{rice2008openvg, - title={OpenVG Specification, version 1.1}, + title={{OpenVG} Specification, version 1.1}, author={Rice, Daniel and Simpson, RJ}, journal={Khronos Group}, year={2008} @@ -191,7 +292,7 @@ Goldberg:1991:CSK:103162.103163, % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview. % Basically boiled down to "we tesselated to get curves, and then used textures for fill" @inproceedings{oh2007implementation, - title={Implementation of OpenVG 1.0 using OpenGL ES}, + title={Implementation of {OpenVG} 1.0 using {OpenGL} {ES}}, author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon}, booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services}, pages={326--328}, @@ -202,7 +303,7 @@ Goldberg:1991:CSK:103162.103163, % Implementing the OpenVG paint modes using GLES2 shaders. % This is all pretty simple stuff. @inproceedings{robart2009openvg, - title={OpenVG paint subsystem over openGL ES shaders}, + title={{OpenVG} paint subsystem over {OpenGL} {ES} shaders}, author={Robart, Mathieu}, booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on}, pages={1--2}, @@ -210,6 +311,60 @@ Goldberg:1991:CSK:103162.103163, organization={IEEE} } +%%%%%%%%%%%%%%%%% +% Quadtrees +%%%%%%%%%%%%%%%%% +@article{finkel1974quad, + title={Quad trees a data structure for retrieval on composite keys}, + author={Finkel, Raphael A. and Bentley, Jon Louis}, + journal={Acta informatica}, + volume={4}, + number={1}, + pages={1--9}, + year={1974}, + publisher={Springer} +} + +%BSP trees +@inproceedings{fuchs1980onvisible, + author = {Fuchs, Henry and Kedem, Zvi M. and Naylor, Bruce F.}, + title = {On Visible Surface Generation by a Priori Tree Structures}, + booktitle = {Proceedings of the 7th Annual Conference on Computer Graphics and Interactive Techniques}, + series = {SIGGRAPH '80}, + year = {1980}, + isbn = {0-89791-021-4}, + location = {Seattle, Washington, USA}, + pages = {124--133}, + numpages = {10}, + url = {http://doi.acm.org/10.1145/800250.807481}, + doi = {10.1145/800250.807481}, + acmid = {807481}, + publisher = {ACM}, + address = {New York, NY, USA}, +} + +% KD-tree paper +@article{bentley1975multidimensional, + author = {Bentley, Jon Louis}, + title = {Multidimensional Binary Search Trees Used for Associative Searching}, + journal = {Commun. ACM}, + issue_date = {Sept. 1975}, + volume = {18}, + number = {9}, + month = sep, + year = {1975}, + issn = {0001-0782}, + pages = {509--517}, + numpages = {9}, + url = {http://doi.acm.org/10.1145/361002.361007}, + doi = {10.1145/361002.361007}, + acmid = {361007}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {associative retrieval, attribute, binary search trees, binary tree insertion, information retrieval system, intersection queries, key, nearest neighbor queries, partial match queries}, +} + + % Basic overview of PDF and how it is awesome. % This doesn't seem like a major revelation for 2002 @article{cheng2002portable, @@ -220,7 +375,7 @@ Goldberg:1991:CSK:103162.103163, Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing}, Number = {1}, Pages = {59 - 63}, - Title = {Portable Document Format (PDF) -- Finally, a Universal Document Exchange Technology.}, + Title = {Portable Document Format ({PDF}) -- Finally, a Universal Document Exchange Technology.}, Volume = {28}, URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live}, Year = {2002}, @@ -282,26 +437,24 @@ Goldberg:1991:CSK:103162.103163, } % It seems wierd using our last names... -@article{proposalGow, +@misc{proposalGow, title = "Infinite-precision Document Formats (Project Proposal)", author = "David Gow", year = "2014", - howpublished = "http://davidgow.net/stuff/ProjectProposal.pdf" + howpublished = "\url{http://davidgow.net/stuff/ProjectProposal.pdf}" } % Note the different title -@article{proposalMoore, +@misc{proposalMoore, title = "Infinite Precision Document Formats (Project Proposal)", author = "Sam Moore", year = "2014", - howpublished = "http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf" + howpublished = "\url{http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf}" } % The Fractal Nature of Bezier Curves -% Added 2014-01-15 % No date? -% email rng@cs.rice.edu -@article {goldman_thefractal, +@article{goldman_thefractal, title = "The Fractal Nature of Bezier Curves", author = "Ron Goldman", publisher = "Department of Computer Science, Rice University", @@ -350,3 +503,402 @@ month={Jun}, pages={132-143}, 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}, doi={10.1109/ARITH.1991.145549},} + +@article{goldbern1967twentyseven, + author = {Goldberg, I. Bennett}, + title = {27 Bits Are Not Enough for 8-digit Accuracy}, + journal = {Commun. ACM}, + issue_date = {Feb. 1967}, + volume = {10}, + number = {2}, + month = feb, + year = {1967}, + issn = {0001-0782}, + pages = {105--106}, + numpages = {2}, + url = {http://doi.acm.org/10.1145/363067.363112}, + doi = {10.1145/363067.363112}, + acmid = {363112}, + publisher = {ACM}, + address = {New York, NY, USA}, +} + + + +% Boost multiprecision library +@misc{boost_multiprecision, + author = {John Maddock and Christopher Kormanyos}, + title = {Boost Multiprecision Library}, + howpublished = {\url{http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/boost_multiprecision/}} +} + +@misc{java_bigint, + author = {Oracle Corporation}, + title = {java.math.{BigInteger}}, + booktitle = {Java Platform 6 {SE}}, + urldate = {19-05-2014}, + howpublished = {\url{http://docs.oracle.com/javase/6/docs/api/java/math/BigInteger.html}} +} + +@misc{java_bigdecimal, + author = {Oracle Corporation}, + title = {java.math.{BigDecimal}}, + booktitle = {Java Platform 7 {SE}}, + howpublished = {\url{http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html}}, + urldate = {19-05-2014} +} + +% A CMOS Floating Point Unit +@MISC{kelley1997acmos, + author = {Michael J. Kelley and Matthew A. Postiff and Advisor Richard and B. Brown}, + title = {A CMOS Floating Point Unit}, + year = {1997} +} + +@misc{filiatreault2003simply, + author = {Raymond Filiatreault}, + title = "Simply FPU", + year = 2003, + howpublished = {\url{http://www.website.masmforum.com/tutorials/fptute/index.html}} +} + +@article{bishop2008floating, + author = {David Bishop}, + year = 2008, + howpublished = {\url{http://www.vhdl.org/fphdl/Float_ug.pdf}}, + title = {Floating Point Package User's Guide}, + note = {Technical Report}, + journal = {EDA Industry Working Groups} +} + +@article{dieter2007lowcost, + author = {Dieter, William R. and Kaveti, Akil and Dietz, Henry G.}, + title = {Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy}, + journal = {IEEE Comput. Archit. Lett.}, + issue_date = {January 2007}, + volume = {6}, + number = {1}, + month = jan, + year = {2007}, + issn = {1556-6056}, + pages = {13--16}, + numpages = {4}, + url = {http://dx.doi.org/10.1109/L-CA.2007.1}, + doi = {10.1109/L-CA.2007.1}, + acmid = {1271937}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA}, + 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}, +} + +@misc{jop, + author = "jop-devel", + title = "Java Optimized Processor", + howpublished = "\url{https://github.com/jop-devel/jop}" +} + +@inproceedings{kadric2013accurate, + title={Accurate Parallel Floating-Point Accumulation}, + author={Kadric, Edin and Gurniak, Paul and DeHon, Andr{\'e}}, + booktitle={Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on}, + pages={153--162}, + year={2013}, + organization={IEEE} +} + +%ghdl, the least shitty of the open source vhdl tools +@misc{ghdl, + title = "GHDL Guide", + author = "Tristan Gingold", + year = "2007", + howpublished = "\url{http://ghdl.free.fr/ghdl/}" +} + +% Look into as an alternative to using text files for FPU simulation? +@misc{tang2000using, + title = "Using Binary Files in VHDL Test Benches", + author = "Stephen Tang", + year = "2000", + howpublished = "\url{http://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2000_w/vhdl/BinaryFileTestbenching/binary.html}", + note = "Application Notes (webpage)" +} + +% On the design of IEEE floating point adders +% Has algorithms! +@INPROCEEDINGS{seidel2001onthe, +author={Seidel, P.-M. and Even, G.}, +booktitle={Computer Arithmetic, 2001. Proceedings. 15th IEEE Symposium on}, +title={On the design of fast IEEE floating-point adders}, +year={2001}, +month={}, +pages={184-194}, +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}, +doi={10.1109/ARITH.2001.930118}, +ISSN={1063-6889},} + + +@article{demmel1996basic, + title = "Basic Issues in Floating Point Arithmetic and Error Analysis", + author = "Jim Demmel", + journal = "U.C. Berkeley CS267", + note = "Lecture Notes", + howpublished = "\url{http://www.cs.berkeley.edu/~demmel/cs267/lecture21/lecture21.html}", + year = 1996 +} + +@misc{grfpu_dasia, + title = "GRFPU - High Performance IEEE- 7 5 4 Floating- Point Unit", + author = "Edvin Catovic", + howpublished = "\url{http://www.gaisler.com/doc/grfpu_dasia.pdf}" +} + +% The best quote ever. +@misc{beebe2011round32, + title = "Re: round32 ( round64 ( X ) ) ?= round32 ( X )", + note = "IEEE 754 Working Group Mail Archives", + author = "Nelson H. F. Beebe", + howpublished = "\url{http://grouper.ieee.org/groups/754/email/msg04169.html}" +} + +% Biography of Charles Babbage because WHY NOT? + % I suspect this year is wrong?75 +@ARTICLE{dodge_babbage, +author={Dodge, N. S.}, +journal={Annals of the History of Computing, IEEE}, +title={Charles Babbage}, +year={2000}, +month={Oct}, +volume={22}, +number={4}, +pages={22-43}, +keywords={Accuracy;Art;Autobiographies;Biographies;Blood;Calculus;Educational institutions;History;Writing}, +doi={10.1109/MAHC.2000.887988}, +ISSN={1058-6180},} + +@article{nature1871babbage, + author = "Unknown Author", + journal = "Nature", + title = "Charles Babbage", + year = 1871, + volume = 5, + number = 106, + pages = "28-29" +} + +%IEEE 754 Really should have put this in earlier +@ARTICLE{ieee2008-754, +journal={IEEE Std 754-2008}, +title={IEEE Standard for Floating-Point Arithmetic}, +year={2008}, +month={Aug}, +pages={1-70}, +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}, +doi={10.1109/IEEESTD.2008.4610935},} + + +@article{dekker1971afloating, +year={1971}, +issn={0029-599X}, +journal={Numerische Mathematik}, +volume={18}, +number={3}, +doi={10.1007/BF01397083}, +title={A floating-point technique for extending the available precision}, +url={http://dx.doi.org/10.1007/BF01397083}, +publisher={Springer-Verlag}, +author={Dekker, T.J.}, +pages={224-242}, +language={English} +} + +@String{pub-BIRKHAUSER-BOSTON = "Birkh{\"a}user Boston Inc."} +@String{pub-BIRKHAUSER-BOSTON:adr = "Cambridge, MA, USA"} + +@Book{HFP, + author = "Jean-Michel Muller and Nicolas Brisebarre and Florent + de Dinechin and Claude-Pierre Jeannerod and Vincent + Lef{\`e}vre and Guillaume Melquiond and Nathalie Revol + and Damien Stehl{\'e} and Serge Torres", + title = "Handbook of Floating-Point Arithmetic", + publisher = pub-BIRKHAUSER-BOSTON, + address = pub-BIRKHAUSER-BOSTON:adr, + pages = "xxiii + 572", + year = "2010", + DOI = "http://dx.doi.org/10.1007/978-0-8176-4704-9", + ISBN = "0-8176-4704-X", + ISBN-13 = "978-0-8176-4704-9", + LCCN = "QA76.9.C62 H36 2010", + bibdate = "Thu Jan 27 16:18:58 2011", + price = "US\$90 (est.)", + acknowledgement = ack-nhfb, +} + +@article{svg2011-1.1, + year = 2011, + month = "August", + journal = "WC3 Recommendation", + title = "Scalable Vector Graphics (SVG) 1.1 (Second Edition)", + author = "Erik Dahlst{\'o}m and Patric Dengler and Anthony Grasso and Chris Lilley and Cameron McCormack and Doug Schepers and Jonathon Watt and Jon Ferraiolo and Fujisawa Jun and Dean Jackson", + howpublished = "\url{http://www.w3.org/TR/SVG/}" +} + +@article{kapoulkine2014pugixml, + year = "2014", + author = "Arseny Kapoulkine", + title = "pugixml --- Light-weight, simple and fast XML parser for C++ with XPath support", + howpublished="http://pugixml.org", +} + + +@article{pugixmlDOM, + year = "2014", + author = "Arseny Kapoulkine", + title = "Document Object Model", + journal = "pugixml 1.4 manual", + howpublished = "http://pugixml.googlecode.com/svn/tags/latest/docs/manual/dom.html" +} + +% Rendering vector graphics on vector display devices (historical) +%Brassel:1979:ASR:965103.807434, +@article{brassel1979analgorithm, + author = {Brassel, Kurt E. and Fegeas, Robin}, + title = {An Algorithm for Shading of Regions on Vector Display Devices}, + journal = {SIGGRAPH Comput. Graph.}, + issue_date = {August 1979}, + volume = {13}, + number = {2}, + month = aug, + year = {1979}, + issn = {0097-8930}, + pages = {126--133}, + numpages = {8}, + url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/965103.807434}, + doi = {10.1145/965103.807434}, + acmid = {807434}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {Cartography, Computer graphics, Line-drawing processing, Polygons, Shading, Software, Spatial information}, +} +%Lane:1983:AFR:357323.357326, +@article{lane1983analgorithm, + author = {Lane, J. M. and M. Rarick, R. and}, + title = {An Algorithm for Filling Regions on Graphics Display Devices}, + journal = {ACM Trans. Graph.}, + issue_date = {July 1983}, + volume = {2}, + number = {3}, + month = jul, + year = {1983}, + issn = {0730-0301}, + pages = {192--196}, + numpages = {5}, + url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/357323.357326}, + doi = {10.1145/357323.357326}, + acmid = {357326}, + publisher = {ACM}, + address = {New York, NY, USA}, +} + +@article{hillesland2004paranoia, + author = "Karl E Hillesland and Anselmo Lastra", + title = "GPU Floating-Point Paranoia", + journal = "Proceedings of GP 2004", + year = 2004, + url = "\url{http://www.cs.unc.edu/~ibr/projects/paranoia/}" +} + +%Fousse:2007:MMB:1236463.1236468, +@article{fousse2007mpfr, + author = {Fousse, Laurent and Hanrot, Guillaume and Lef\`{e}vre, Vincent and P{\'e}lissier, Patrick and Zimmermann, Paul}, + title = {MPFR: A Multiple-precision Binary Floating-point Library with Correct Rounding}, + journal = {ACM Trans. Math. Softw.}, + issue_date = {June 2007}, + volume = {33}, + number = {2}, + month = jun, + year = {2007}, + issn = {0098-3500}, + articleno = {13}, + url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/1236463.1236468}, + doi = {10.1145/1236463.1236468}, + acmid = {1236468}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {IEEE 754 standard, Multiple-precision arithmetic, correct rounding, elementary function, floating-point arithmetic, portable software}, +} + + +@article{kahan1996ieee754, + author = "W Kahan", + title = "Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic", + url = "\url{http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps}", + year = 1996, + month = May +} + +@article{kahan2007wrong, + author = "W Kahan", + title = "Why is Floating-Point Computation so Hard to Debug when it Goes Wrong?", + howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/WrongR.pdf}", + year = 2007, + month = March +} + +@misc{kahanweb, + author = "W Kahan", + title = "Prof W Kahan's Webpages", + howpublished = "\url{http://www.cs.berkeley.edu/~wkahan/}" +} + +@book{computergraphics2, + author = "Donald Hearn and M Pauline Baker", + title = "Computer Graphics", + edition = 2, + year = 1997, + publisher = "Prentice Hall, Inc", + address = "Upper Saddle River, New Jersey 07458, USA" +} + +@ARTICLE{bresenham1996pixel, +author={Bresenham, J.}, +journal={Computer Graphics and Applications, IEEE}, +title={Pixel-processing fundamentals}, +year={1996}, +month={Jan}, +volume={16}, +number={1}, +pages={74-82}, +keywords={approximation theory;computer graphics;computer driven raster displays;edge drawing algorithms;explicit reference model;integer arithmetic algorithm;line drawing algorithms;line rastering;objective function;pixel processing fundamentals;pixel space basics;pixel-processing fundamentals;raster approximation;systematic rules;unintentionally fuzzy assumptions;Approximation algorithms;Cities and towns;Color;Computer displays;Layout;Lifting equipment;Painting;Tutorial;Visual effects;Yarn}, +doi={10.1109/38.481626}, +ISSN={0272-1716},} + +% It's a series of blog posts, don't judge me +% Also don't look at the rest of the blog, it's strange... +@misc{elias2000graphics, + title = "Graphics", + author = "Hugo Elias", + howpublished = {\url{http://freespace.virgin.net/hugo.elias/graphics/x\_main.htm}}, + abstract = "This page explains how to draw graphics onto (mostly) Raster display systems. A very small amount could possibly be relevant to vector displays, but who uses those any more?" +} + +@article{wu1991anefficient, + author = {Wu, Xiaolin}, + title = {An Efficient Antialiasing Technique}, + journal = {SIGGRAPH Comput. Graph.}, + issue_date = {July 1991}, + volume = {25}, + number = {4}, + month = jul, + year = {1991}, + issn = {0097-8930}, + pages = {143--152}, + numpages = {10}, + url = {http://doi.acm.org.ezproxy.library.uwa.edu.au/10.1145/127719.122734}, + doi = {10.1145/127719.122734}, + acmid = {122734}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {antialiasing, convolution, curve digitization, digital geometry}, +} + +