This page intentionally left blank
C
APPENDIX
GLOSSARY
AABB Axis-Aligned Bounding Box
AOT Ahead-Of-Time compilation; particularly for Java
API Application Programming Interface
ARB OpenGL Architecture Review Board
ARM Advanced RISC Machines; a popular embedded processor family
ARM7 ARM processor family with ARMv4 instruction set
ARM9 ARM processor family with ARMv5 instruction set
ARM11 ARM processor family with ARMv6 instruction set
ARMv4 ARM processor instruction set version four
ARMv5 ARM processor instruction set version five
ARMv6 ARM processor instruction set version six
baseband The part of a mobile phone that handles radio communication
BRDF Bidirectional Reflectance Distribution Function
BREW Binary Runtime Environment for Wireless; an execution environment controlled
by Qualcomm
BSP Binary Space Partitioning
415
416 GLOSSARY APPENDIX C
BVH Bounding Volume Hierarchy
CDC Connected Device Configuration; the high-end configuration of mobile Java
CL Common Lite; the OpenGL ES profile with no floating-point support
CLDC Connected Limited Device Configuration; the mainstream configuration of
mobile Java
CLZ Count Leading Zeros; machine inst ruction on ARMv5 processors and later
CM Common; the mainstream OpenGL ES profile
COLLADA COLLAborative Design Activity; an interchange format for digital content
creation tools; a Khronos standard
CPU Central Processing Unit
DAG Directed Acyclic Graph
DCC Digital Content Creation; usually relates to tools for creating 3D content, such as
3dsMaxorMaya
DCT Discrete Cosine Transform; used in, e.g., JPEG image compression
DLL Dynamic Link Library
DOM Document Object Model; relates to SVG and other W3C standards
DSP Digital Signal Processor
EG Expert Group
EGL OpenGL ES Native Platform Graphics Interface; a Khronos standard
FBO Frame Buffer Object
FIFO First-In-First-Out, a queue data structure
FPU Floating-Point Unit
GCC GNU C Compiler
GL Graphics Library (short for OpenGL)
GPS Global Positioning System
GPU Graphics Processing Unit; graphics hardware
GSM Global System for Mobile
IEEE Institute of Electrical and Electronics Engineers
IVA Imaging and Video Accelerator; particularly in mobile devices
Java ME Java Micro Edition; the most ubiquitous application platform for mobile devices
JAR Java Archive; the delivery format of Java applications
JCP Java Community Process; the Java standardization organization that produces JSRs
JIT Just-In-Time compilation; particularly for Java
JNI Java Native Interface
JPEG Joint Photographic Experts Group; a compressed image file format
APPENDIX C GLOSSARY 417
JSR Java Specification Request
JSR 135 Mobile Media API (MMAPI)
JSR 184 Mobile 3D Graphics API (M3G)
JSR 226 Scalable Vector Graphics API
JSR 239 Java bindings for OpenGL ES
JSR 248 Mobile Service API for CLDC
JSR 287 Scalable Vector Graphics API 2.0
JSR 297 Mobile 3D Graphics API (M3G) 2.0
JVM Java Virtual Machine
JWT Java Wireless Toolkit by Sun Microsystems
LCD Liquid Crystal Display
LCDUI Limited Connected Device User Interface, in Java MIDP
LOD Level-Of-Detail; a technique for showing simpler models for far-away objects to
speed up rendering
MAC Multiply-And-Accumulate; a machine instruction for multiplication followed by
addition
M3G Mobile 3D Graphics API (JSR 184)
MHz Megahertz
midlet A Java application for mobile Java (Java MIDP); also known as MIDlet
MIDP Mobile Information Device Profile; the most widespread Java profile
MSA Mobile Service Architecture (JSR 248); combines multiple JSRs into a more unified
platform
native code Machine code; compiled into the native instruction set of the CPU
NDC Normalized Device Coordinates
node Element in a scene graph
OBB Oriented Bounding Box
OpenGL Open Graphics Library
OpenGL ES OpenGL for Embedded Systems; a Khronos standard
OpenKODE A collection of Khronos multimedia APIs, plus a core API that abst racts
operating system resources to minimize source code changes when porting games
and applications
OpenMAX A Khronos API that provides streaming media codecs (for sound, video) and
application portability
OpenML Open Multimedia Library; the first standard produced by Khronos (not aimed
for embedded devices)
OpenSL ES Open Sound Library for Embedded Systems; a Khronos standard
418 GLOSSARY APPENDIX C
OpenVG Open Vector Graphics; a Khronos standard
OS Operating System
PDA Personal Digital Assistant; a handheld data organizer
PNG Portable Network Graphics; a popular lossless image format
PVS Potentially Visible Set
RAM Random Access Memory
RISC Reduced Instruction Set CPU
ROM Read-Only Memory
QV GA Quarter-VGA resolution; 320 × 240 or 240 × 320 pixels
RGB Red-Green-Blue
RGBA Red-Green-Blue-Alpha
RVCT RealView Compiler Tools from ARM
S60 Symbian-based UI platform from Nokia, previously known as Series 60
SDK Software Development Kit
SVG Scalable Vector Graphics; a W3C standard
UI User Interface
URL Universal Resource Locator; a link to Internet content
VBO Vertex Buffer Object
VGA Video Graphics Array, a display resolution of 640 × 480 pixels
VM Virtual Machine; particularly for Java
WIPI Wireless Internet Platform for Interoperability; mobile platform used in South
Korea
W3C World Wide Web Consortium
XML eXtensible Markup Language
XREF eXternal REFerence; particularly in the M3G file format
BIBLIOGRAPHY
[AB06] Remi Arnaud and Mark C. Barnes. COLLADA: Sailing the Gulf of 3D
Digital Content Creation. AK Peters, Ltd., 2006.
[Air90] John Airey. Increasing Update Rates in the Building Walk-through System
with Automatic Model-Space Subdivision and Potentially Visible Set
Calculations. PhD thesis, UNC CH CS Department, 1990.
[AMH02] Tomas Akenine-M
¨
oller and Eric Haines. Real-Time Rendering, Second
Edition. AK Peters, Ltd., 2002.
[AS06] Kurt Akeley and Jonathan Su. Minimum triangle separation for correct
Z-buffer occlusion. In Eurographics/SIGGRAPH Workshop on Graphics
Hardware, pages 27–30, 2006.
[BAC96] Andrew C. Beers, Maneesh Agrawala, and Navin Chaddha. Rendering
from compressed textures. In Proceedings of the 23rd annual conference on
Computer graphics and interactive techniques (SIGGRAPH), pages 373–378.
ACM Press, 1996.
[Bat] Batched. Arm gcc inline assembler paper.
/>papers/128
.
[Bly06] David Blythe. The Direct3D 10 system. ACM Transactions on Graphics,
25(3):724–734, 2006.
[BN76] James F. Blinn and Martin E. Newell. Texture and reflection in computer
generated images. Communications of the ACM, 19(10):542–547, 1976.
[Boo01] Carl De Boor. A Practical Guide to Splines. Springer, 2001.
[BSD
+
89] A.C. Barkans, B.D. Schroeder, T.L. Durant, D. Gordon, and J. Lach.
Guardband clipping method and apparatus for 3d graphics display
system. U.S. Patent 4,88,712, 1989.
[BW95] Armin Bruderlin and Lance Williams. Motion signal processing. In
Proceedings of the 22nd annual conference on Computer graphics and
interactive techniques, pages 97–104, 1995.
[Cat72] Edwin Catmull. A system for computer generated movies. In Proc. ACM
Annual Conf., pages 422–431, August 1972.
[Cat74] Edwin Earl Catmull. A subdivision algorithm for computer display of curved
surfaces. PhD thesis, 1974.
419
420 BIBLIOGRAPHY
[CR74] E. Catmull and R. Rom. A class of local interpolating splines. In
R. Barnhill and R. Riesenfeld, editors, Computer Aided Geometric Design,
pages 317–326. Academic Press, 1974.
[Cro77] Franklin C. Crow. Shadow algorithms for computer graphics. In
SIGGRAPH ’77: Proceedings of the 4th annual conference on Computer
graphics and interactive techniques, pages 242–248. ACM Press, 1977.
[EK02] C. Everitt and M. Kilgard. Practical and robust stenciled shadow volumes
for hardware-accelerated rendering. Technical report, NVIDIA
corporation, 2002.
[EMP
+
02] David S. Ebert, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, and
Steven Worley. Text uring & Modeling: A Procedural Approach.Morgan
Kaufmann, third edition, 2002.
[Fen03] Simon Fenney. Texture compression using low-frequency signal
modulation. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS
conference on Graphics hardware, pages 84–91. Eurographics
Association, 2003.
[FvFH90] James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes.
Computer graphics: principles and practice (2nd ed.). Addison-Wesley
Longman Publishing Co., Inc., 1990.
[Gou71] Henri Gouraud. Computer display of curved surfaces. IEEE Transactions
on Computers, 20(6):623–629, 1971.
[GW02] Rafael Gonzales and Richard Woods. Digital Image Processing, Second
Edition. Prentice Hall, 2002.
[H
¨
o7] Claus H
¨
ofele. Mobile 3D Graphics: Lear ning 3D Graphics with the Java
Micro Edition. T homson Course Technology, 2007.
[HB05] Matthew Hertz and Emery D. Berger. Quantifying the performance of
garbage collection vs. explicit memory management. In OOPSLA ’05:
Proceedings of the 20th annual ACM SIGPLAN conference on Object
orie nted programming, systems, languages, and applications, pages 313–326.
ACM Press, 2005.
[Hei] Tim Heidmann. Real shadows real time. IRIS Universe, (18):28–31.
[Hop99] Hugues Hoppe. Optimization of mesh locality for transparent vertex
caching. In Computer Graphics (SIGGRAPH ’99 Proceedings), Computer
Graphics Proceedings, Annual Conference Series, pages 269–276. ACM,
ACM Press/ACM SIGGRAPH, 1999.
[HS98] Wolfgang Heidrich and Hans-Peter Seidel. View-independent
environment maps. In Eurographics/SIGGRAPH Wor kshop on Graphics
Hardware, pages 39–45, 1998.
BIBLIOGRAPHY 421
[HS99] Wolfgang Heidrich and Hans-Peter Seidel. Realistic, hardware-accelerated
shading and lighting . In SIGGRAPH ’99: Proceedings of the 26th annual
conference on Computer graphics and interactive techniques, pages 171–178.
ACM Press/Addison-Wesley Publishing Co, 1999.
[JCP03] JCP. Mobile 3D Graphics API (JSR-184). Java Community Process, 2003.
/>[JCP05] JCP. Mobile 3D Graphics API (JSR-184) v1.1. Java Community Process,
2005.
/>[JCP06] JCP. Mobile Service Architecture (JSR-248). Java Community Process, 2006.
/>[KB84] Doris H.U. Kochanek and Richard H. Bartels. Interpolating splines with
local tension, continuity, and bias control. In Proceedings of the 11th
annual conference on Computer g raphics and interactive techniques
(SIGGRAPH), pages 33–41. ACM Press, 1984.
[KG03] Lucas Kovar and Michael Gleicher. Flexible automatic motion blending
with registration curves. In Proceedings of the 2003 ACM SIGGRAPH/
Eurographics symposium on Computer animation, pages 214–224.
Eurogr aphics Association, 2003.
[KGP02] Lucas Kovar, Michael Gleicher, and Fr
´
ed
´
eric Pighin. Motion graphs, 2002.
[Khr03] Khronos. OpenGL ES Native Platform Graphics Interface (Version 1.0).The
Khronos Group, 2003.
[Lan98] Jeff Lander. Skin them bones: Game programming for the web generation.
Game Developer Magazine, pages 11–16, May 1998.
[Lan02] H. Landis. RenderMan in Production. ACM SIGGRAPH course, 2002.
[Len04] Eric Lengyel. Mathematics for 3D game programming & computer graphics,
second edition. Charles River Media, 2004.
[LG95] David Luebke and Chris Georges. Portals and mirrors: Simple, fast
evaluation of potentially visible sets. In Symposium of Interactive 3D
Graphics. ACM Press, 1995.
[LK05] Sing Li and Jonathan Knudsen. Beginning J2ME: From Novice to
Professional, Third Edition. Apress, Inc., 2005.
[Ltd] ARM Ltd. Arm instruction set quick reference card.
.
com/pdfs/QRC0001H_rvct_v2.1_arm.pdf
.
[MB05] Tom McReynolds and David Blythe. Advanced Graphics Programming
Using OpenGL. Morgan Kaufmann, 2005.
[Mil94] Gavin Miller. Efficient algorithms for local and global accessibility
shading. In Proceedings of ACM SIGGRAPH 94, pages 319–326, 1994.
422 BIBLIOGRAPHY
[Moo65] Gordon E. Moore. Cramming more components onto integrated circuits.
Electronics, 38(8), 1965.
[OG97] Marc Olano and Trey Greer. Triangle scan conversion using 2d
homogeneous coordinates. In Proceedings of ACM SIGGRAPH/
Eurographics Workshop on Graphics Hardware, pages 89–95, 1997.
[PARV05] Kari Pulli, Tomi Aarnio, Kimmo Roimela, and Jani Vaarala. Designing
graphics programming interfaces for mobile devices. IEEE Computer
Graphics and Applications, 25(8), 2005.
[PD84] Thomas Porter and Tom Duff. Compositing digital images. In Computer
Graphics (SIGGRAPH ’84 Proceedings), Computer Graphics Proceedings,
Annual Conference Series, pages 253–259. ACM, ACM Press/ACM
SIGGRAPH, 1984.
[Pho75] Bui Tuong Phong. Illumination for computer generated pictures.
Communications of the ACM, 18(6):311–317, 1975.
[PMTH01] Kekoa Proudfoot, William R. Mark, Svetoslav Tzvetkov, and Pat
Hanrahan. A real-time procedural shading system for programmable
graphics hardware. In SIGGRAPH ’01: Proceedings of the 28th annual
conference on Computer graphics and interactive techniques, pages 159–170.
ACM Press, 2001.
[POAU00] Mark S. Peercy, Marc Olano, John Airey, and P. Jeffrey Ungar. Interactive
multi-pass programmable shading. In Proceedings of the 27th annual
conference on Computer graphics and interactive techniques (SIGGRAPH),
pages 425–432. ACM Press/Addison-Wesley Publishing Co., 2000.
[Por05a] Chris Porthouse. Jazelle DBX white paper. ARM Limited, 2005.
http:
//www.arm.com/pdfs/JazelleWhitePaper.pdf
.
[Por05b] Chris Porthouse. Jazelle RCT white paper. ARM Limited, 2005.
http:
//www.arm.com/pdfs/JazelleRCTWhitePaper_final1.0_.pdf
.
[PT96] Les A. Piegl and Wayne Tiller. The NURBS Book. Springer, 1996.
[RH94] John Rohlf and James Helman. Iris performer: a high performance
multiprocessing toolkit for real-time 3d graphics. In Proceedings of the 21st
annual conference on Computer g raphics and interactive techniques, pages
381–394. ACM Press, 1994.
[Ros04] Randi Rost. OpenGL Shading Language. Addison Wesley, 2004.
[S03] S. Sandeep. Gcc-inline-assembly-howto.
/>gferg/ldp/GCC-Inline-Assembly-HOWTO.html
, 2003.
[SAM05] Jacob Str
¨
om and Tomas Akenine-M
¨
oller. ipackman: high-quality, low-
complexity texture compression for mobile phones. In HWWS ’05:
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on
Graphics hardware, pages 63–70. ACM Press, 2005.
BIBLIOGRAPHY 423
[Sho85] Ken Shoemake. Animating rotation with quaternion curves. In Proceedings
of the 12th annual conference on Computer graphics and interactive
techniques (SIGGRAPH), pages 245–254. ACM Press, 1985.
[Sho87] Ken Shoemake. Quaternion calculus and fast animation. In SIGGRAPH
Course Notes, pages 101–121, 1987.
[SKv
+
92] Mark Segal, Carl Korobkin, Rolf van Widenfelt, Jim Foran, and Paul
Haeberli. Fast shadows and lighting effects using texture mapping. In
Proceedings of the 19th annual conference on Computer graphics and
interactive techniques, pages 249–252. ACM Press, 1992.
[Smi95] Alvy Ray Smith. A pixel is not a little square, a pixel is not a little square,
a pixel is not a little square! (and a voxel is not a little cube). Technical
Report Technical Memo 6, Microsoft Research, 1995.
[Str03] Gilbert Strang. Introduction to Linear Algebra. Wellesley-Cambridge Press,
third edition, 2003.
[SWN05] Dave Shreiner, Mason Woo, and Jackie Neider. OpenGL Programming
Guide: The Official Guide to Learning Ope nGL, Version 2 (5th Edition).
Addison-Wesley, 2005.
[Wil83] Lance Williams. Pyr amidal parametrics. SIGGRAPH Comput. Graph.,
17(3):1–11, 1983.
[WW92] Alan Watt and Mark Watt. Advanced animation and rendering techniques.
ACM Press/Addison-Wesley Publishing Co., 1992.
[ZSD
+
00] Denis Zorin, Peter Schr
¨
oder, Tony DeRose, Leif Kobbelt, Adi Levin, and
Wim Sweldens. Subdivision for modeling and animation. SIGGRAPH
2000 Course Notes, ACM SIGGRAPH,
/>publications/subdiv-course2000/
, 2000.