The Curl Graphics2d immediate mode rendering API
Author(s)
McGuire, Morgan, 1976-
DownloadFull printable version (3.890Mb)
Alternative title
Curl Graphics 2d immediate mode rendering API
Other Contributors
Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.
Advisor
Stephen Ward.
Terms of use
Metadata
Show full item recordAbstract
(cont.) 170 thousand lines of code in the Curl language. Morgan McGuire has worked on computer graphics and imaging at Morgan Systems, the NEC Research Institute and the IBM T. J. Watson Research Center. He is currently employed by Curl Corporation as senior architect of the computer graphics group. The Curl Graphics2d API (Graphics2d) is a 2d immediate mode rendering API for the Curl Internet content language. The unique capabilities of the Curl language enable the API to take the form of a graphics language rather than a simple library of routines. This graphics language offers a basis set of primitives and an extension mechanism that allows 2d and 3d graphics without sacrificing performance. Graphics2d attempts to achieve minimalist simplicity by identifying fundamental concepts in 2d rendering and representing each of those concepts with a single interface class or method. These interfaces may be implemented by user (parties outside of Curl, possibly executing untrusted code) code to interact with other modules built to the API. However, user code will typically use the implementation provided with Curl to build graphics intense applications rather than extending the API directly. As with any large API, the philosophy and crucial design points comprise the essence of Graphics2d, not the particulars of the order of arguments or name of a specific method. Therefore, rather than present an exhaustive list of entry points with some commentary on each one, in this document I describe the design goals and constraints of the Graphics2d API, key or demonstrative API design decisions and implementation architectures for it. The full documentation of the commercial implementation of the API is available from Curl Corporation. The scope of the project is indicated by the size of the commercial implementation. Before macro expansion (much of the code base is machine generated by macros, an extremely dense coding practice), the commercial implementation has over 3281 entry points, including 295 classes with 2852 methods and 34 macros. It totals over
Description
Thesis (M. Eng. and S.B.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2000. Includes bibliographical references.
Date issued
2000Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.