2 % PostScript Reference Manual
4 title={PostScript Language Reference},
5 author={Adobe Systems Incorporated},
7 publisher="Addison-Wesley Publishing Company",
11 % PDF Reference Manual v1.7
13 title={PDF Reference},
14 author={Adobe Systems Incorporated},
16 publisher={Adobe Systems Incorporated},
20 %%%%%%%%%%%%%%%%%%%%%%%
21 % Floating-pt Precision
22 %%%%%%%%%%%%%%%%%%%%%%%
23 Goldberg:1991:CSK:103162.103163,
24 @article{goldberg91whatevery,
25 author = {Goldberg, David},
26 title = {What Every Computer Scientist Should Know About Floating-point Arithmetic},
27 journal = {ACM Comput. Surv.},
28 issue_date = {March 1991},
36 url = {http://doi.acm.org/10.1145/103162.103163},
37 doi = {10.1145/103162.103163},
40 address = {New York, NY, USA},
41 keywords = {NaN, denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, overflow, relative error, rounding error, rounding mode, ulp, underflow},
43 @inproceedings{emmart2010high,
44 title={High precision integer multiplication with a graphics processing unit},
45 author={Emmart, Niall and Weems, Charles},
46 booktitle={2010 IEEE International Symposium on Parallel \& Distributed Processing, Workshops and Phd Forum (IPDPSW)},
52 %%%%%%%%%%%%%%%%%%%%%%%%
54 %%%%%%%%%%%%%%%%%%%%%%%%
56 % The valve paper on using signed distance fields, scaling them and then alpha testing
57 % them to have a smooth, defined boundary for "vector"-like effects.
58 % Also talks of using several channels in the image and running boolean operations on them
59 % to create sharp corners, etc.
60 @inproceedings{green2007improved,
61 title={Improved alpha-tested magnification for vector textures and special effects},
62 author={Green, Chris},
63 booktitle={ACM SIGGRAPH 2007 courses},
69 % A fast approximation to the signed distance field calculation for pixel grids
70 @article{leymarie1992fast,
71 title={Fast raster scan distance propagation on the discrete rectangular lattice},
72 author={Leymarie, F and Levine, Martin D},
73 journal={CVGIP: Image Understanding},
81 % Good overview of SDFs and the use of quad/octrees to better encode fine detail.
82 @inproceedings{frisken2000adaptively,
83 title={Adaptively sampled distance fields: a general representation of shape for computer graphics},
84 author={Frisken, Sarah F and Perry, Ronald N and Rockwood, Alyn P and Jones, Thouis R},
85 booktitle={Proceedings of the 27th annual conference on Computer graphics and interactive techniques},
88 organization={ACM Press/Addison-Wesley Publishing Co.}
92 % Split texture into a grid/quadtree, have each element represented by a set of cubic equations, combined CSG style.
93 % Need to read this further to understand some of the nuance, though I expect GLyphy does this better?
94 @techreport{ray2005vector,
95 title={Vector texture maps on the GPU},
96 author={Ray, Nicolas and Cavin, Xavier and L{\'e}vy, Bruno},
98 institution={Technical Report ALICE-TR-05-003}
101 % GLyphy: https://github.com/behdad/slippy/tree/master/glyphy
102 % Can I get these slides into a readable format, and is it formal enough?
103 % The caricatures of the Intel OpenGL driver team are good, if nothing else.
105 % Cairo rendering library. Basically implements the rendering bits of postscript in C,
106 % the basis for many Linux vector graphics programs.
107 @inproceedings{worth2003xr,
108 title={Xr: Cross-device rendering for vector graphics},
109 author={Worth, Carl and Packard, Keith},
110 booktitle={Linux Symposium},
116 % Glitz cairo opengl backend.
117 @inproceedings{nilsson2004glitz,
118 title={Glitz: Hardware Accelerated Image Compositing Using {O}pen{GL}.},
119 author={Nilsson, Peter and Reveman, David},
120 booktitle={USENIX Annual Technical Conference, FREENIX Track},
125 % Basically an earlier but more detailed version of the below.
126 @article{loop2005resolution,
127 title={Resolution independent curve rendering using programmable graphics hardware},
128 author={Loop, Charles and Blinn, Jim},
129 journal={ACM Transactions on Graphics (TOG)},
138 % GPU Gems 3 article about using textures for the edges of smooth curves.
139 % http://http.developer.nvidia.com/GPUGems3/gpugems3_ch25.html
140 @article{loop2007rendering,
141 title={Rendering vector art on the GPU},
142 author={Loop, Charles and Blinn, Jim},
150 % The article introducing the NV_path_rendering opengl extension
151 % (nVidia-specific) which uses a "stencil-then-cover" technique to render
152 % real vector graphics (not an approximation) on the GPU.
153 % See Zach Rusin's blog post comparing it to Qt's SVG renderer.
154 % http://zrusin.blogspot.com.au/2011/09/nv-path-rendering.html
155 @article{kilgard2012gpu,
156 title={GPU-accelerated path rendering},
157 author={Kilgard, Mark J and Bolz, Jeff},
158 journal={ACM Transactions on Graphics (TOG)},
165 % An extension to the above, detailing the use of the extension, rather than the way it is implemented.
166 @article{kilgard300programming,
167 title={Programming with NV path rendering: An Annex to the SIGGRAPH paper GPU-accelerated Path Rendering},
168 author={Kilgard, Mark J},
174 % GL_NV_blend_equation_advanced OpenGL extension
175 % https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt
176 % TODO: How to reference this??
177 % Bascially supports all PDF, SVG blend modes and then some.
178 % Pretty much only nVidia support this, but the specification
179 % includes the equations for everything, which is nice.
181 % OpenVG is an opengl-ish API for vector graphics.
182 % More based around SVG than postscript, but not bad.
183 @article{rice2008openvg,
184 title={OpenVG Specification, version 1.1},
185 author={Rice, Daniel and Simpson, RJ},
186 journal={Khronos Group},
191 % Implementing OpenVG using OpenGL ES 1. Pretty high-level overview.
192 % Basically boiled down to "we tesselated to get curves, and then used textures for fill"
193 @inproceedings{oh2007implementation,
194 title={Implementation of OpenVG 1.0 using OpenGL ES},
195 author={Oh, Aekyung and Sung, Hyunchan and Lee, Hwanyong and Kim, Kujin and Baek, Nakhoon},
196 booktitle={Proceedings of the 9th international conference on Human computer interaction with mobile devices and services},
202 % Implementing the OpenVG paint modes using GLES2 shaders.
203 % This is all pretty simple stuff.
204 @inproceedings{robart2009openvg,
205 title={OpenVG paint subsystem over openGL ES shaders},
206 author={Robart, Mathieu},
207 booktitle={Consumer Electronics, 2009. ICCE'09. Digest of Technical Papers International Conference on},
213 % Basic overview of PDF and how it is awesome.
214 % This doesn't seem like a major revelation for 2002
215 @article{cheng2002portable,
216 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.},
217 Author = {Wan-Lee Cheng, Michael A.},
219 Journal = {Journal of Technology Studies},
220 Keywords = {PDF (Computer file format), FILE organization (Computer science), ELECTRONIC data processing},
223 Title = {Portable Document Format (PDF) -- Finally, a Universal Document Exchange Technology.},
225 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=11512377&site=ehost-live},
229 % Overview of different formats
230 % Talks about JavaScript being the future
232 @article{hayes2012pixels,
233 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.},
234 Author = {Hayes, Brian},
236 Journal = {American Scientist},
237 Keywords = {ELECTRONIC publishing, SCIENCE publishing, GRAPHIC methods -- Software, POSTSCRIPT (Computer program language), JAVASCRIPT (Computer program language), CHARTS, diagrams, etc., DESIGN & construction},
240 Title = {Pixels or Perish.},
242 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=71853141&site=ehost-live},
246 % Embedding 3D models / graphs in PDFs
247 % Actually works (in Adobe Reader)
248 @article{barnes2013embedding,
249 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},
250 Author = {Barnes, David G. and Vidiassov, Michail and Ruthensteiner, Bernhard and Fluke, Christopher J. and Quayle, Michelle R. and McHenry, Colin R.},
252 Journal = {PLoS ONE},
253 Keywords = {PDF (Computer file format), EMBEDDINGS (Mathematics), COMPUTER software, THREE-dimensional imaging, LATEX (Computer software), COMPUTER graphics, Research Article},
256 Title = {Embedding and Publishing Interactive, 3-Dimensional, Scientific Figures in Portable Document Format (PDF) Files.},
258 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=90530375&site=ehost-live},
262 %Goldberg:1992:DFD:151333.151373
263 % Looks useful... although it does have FORTRAN in it
264 @article{goldberg1992thedesign,
265 author = {Goldberg, David},
266 title = {The Design of Floating-point Data Types},
267 journal = {ACM Lett. Program. Lang. Syst.},
268 issue_date = {June 1992},
276 url = {http://doi.acm.org/10.1145/151333.151373},
277 doi = {10.1145/151333.151373},
280 address = {New York, NY, USA},
281 keywords = {Ada, FORTRAN 90, Modula-3, backward error analysis, error analysis, exceptions, floating point, floating-point standard, guard digit, precision, rounding, ulp},
284 % It seems wierd using our last names...
285 @article{proposalGow,
286 title = "Infinite-precision Document Formats (Project Proposal)",
287 author = "David Gow",
289 howpublished = "http://davidgow.net/stuff/ProjectProposal.pdf"
292 % Note the different title
293 @article{proposalMoore,
294 title = "Infinite Precision Document Formats (Project Proposal)",
295 author = "Sam Moore",
297 howpublished = "http://szmoore.net/ipdf/documents/ProjectProposalSam.pdf"
300 % The Fractal Nature of Bezier Curves
304 @article {goldman_thefractal,
305 title = "The Fractal Nature of Bezier Curves",
306 author = "Ron Goldman",
307 publisher = "Department of Computer Science, Rice University",
308 address = "6100 Main Street, Houstan, Texas",
309 note = "The de Casteljau subdivision algorithm is used to show that Bezier curves are also attractors (ie: fractals).
310 A new rendering algorithm is derived for Bezier curves."
313 % Talks about security of PDF, probably not useful,
314 @article{sami2009alook,
315 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]},
316 Author = {Rautiainen, Sami},
318 Journal = {Information Security Technical Report},
319 Keywords = {PDF (Computer file format), FILE organization (Computer science), SYSTEMS software, COMPUTER files},
322 Title = {A look at Portable Document Format vulnerabilities.},
324 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=40637035&site=ehost-live},
328 % Interesting but not related to the project
329 @article{bergen2012automatic,
330 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]},
331 Author = {Bergen, Steven and Ross, Brian},
333 Journal = {Visual Computer},
334 Keywords = {GRAPHIC arts, GENETIC algorithms, GRAPHIC design, GRAPHIC designers, VISUAL communication, RESEARCH, Evolutionary art, Genetic algorithm, Vector graphics},
337 Title = {Automatic and interactive evolution of vector graphics images with genetic algorithms.},
339 URL = {http://search.ebscohost.com/login.aspx?direct=true&db=aph&AN=70129435&site=ehost-live},
343 % Similar to goldman1992, also old, need to find newer references
344 @INPROCEEDINGS{priest1991algorithms,
345 author={Priest, D.M.},
346 booktitle={Computer Arithmetic, 1991. Proceedings., 10th IEEE Symposium on},
347 title={Algorithms for arbitrary precision floating point arithmetic},
351 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},
352 doi={10.1109/ARITH.1991.145549},}