Anton's Research Ramblings

Graphics and Game Industry Acronyms

I despise acronyms. They are a lazy crutch to hide poor command of language and weak vocabularies. Proper English uses abbreviations instead (I'm also quite fond of German abbreviated compounds). Unless you have one of those wholly in-efficient brains that remembers everything in detail, acronyms are also very, very difficult to remember - especially so when they start to double-up. The worst thing is in-crowd people in technology who talk entirely in acronyms, and follow up with condescension if, heaven forbid, you don't know one. I'm just going to collect a huge list of technical nonsense terms here relating to graphics programming, graphics hardware, and also from the game industry that pop up in the same sentences. I'll keep building on to this post in the future.

3DSA Nintendo game console released in 2011.
3DSAutodesk 3ds [formely "3D Studio"] Max.
3DSThe file format used by 3ds Max.
A*'A'-Star. A search algorithm commonly used for path-finding in games.
AAAA big-budget or top-quality game production.
AABBAxis-aligned bounding box.
ADKAndroid Development Kit. A Java-language based IDE (using Eclipse) and collection of tools.
AFAn-isotropic filtering.
AGPAccelerated graphics port.
AIArtificial intelligence. In the games industry AI refers to any non-player character-controlling programming.
AjaxAsynchronous JavaScript and XML. Usually just used to access files in general from JavaScript.
ALSAAdvanced Linux Sound Architecture. [The only reliable Linux audio system].
ALUArithmetic logic unit. Digital circuit for integer maths and logical operations. A CPU contains many ALUs.
AMDAdvanced Micro Devices. CPU and GPU etc. hardware manufacturer.
AMPAsymmetric multi-processing.
ANNArtificial neural network. [Not directly related but any rambling game AI conversation has this thrown in].
ANSIAmerican National Standards Institute. Usually used in the expressed "ANSI C", which incorrectly refers to a strict C language standard (usually C89).
APIApplication Programming Interface.
APUAccelerated/advanced processing unit. Usually a combined CPU+GPU die or FPGA etc.
ARBOpenGL Architecture Review Board. Consortium that agrees on the design of OpenGL.
ASCIIAmerican Standard Code for Information Interchange. A limited set of numbered Latin characters and control codes.
ASICApplication-specified integrated circuit. A specialised fixed-design IC for a high-level task like audio recording. Contrasts to FPGA.
ASMAssembly or assembler language.
ASMAlgorithmic state machine.
ATIFormerly a leading GPU manufacturer. Acquired by AMD in 2006.
ATRAdaptive tile refresh. The idea of using EGA hardware scrolling registers to move entire screen, copying new tiles to empty space. Early use in "Commander Keen" (Id, 1990).
AZDOApproaching Zero Driver Overhead. A recent OpenGL talk on using new efficient OpenGL interface features.
BashBourne-again shell.
BGRBlue, green, red. Colour space - colour expressed as a combination of a red, a blue, and a green factor.
BlobBinary large object.
BSoDBlue screen of death.
BSPBinary space partitioning. A scene management optimisation technique that recursively sub-divides geometry into two branches.
CADComputer aided design.
CAIDComputer aided industrial design.
CAMComputer aided manufacturing.
CGComputer graphics.
CGNVIDIA computer graphics shaders.
CGAColour Graphics Adapter. A very horrible-looking early 1980s display standard. See the DOS version of Test Drive (1987).
CGIComputer generated imagery.
CISCComplex Instruction Set computer.
CLICommand-line interface.
CLRCommon-language run-time.
CMConfiguration management.
CMSContent management system.
CMYKCyan Magenta Yellow Key.
COLLADA"collaborative design activity". An XML-based, widely supported 3d mesh file format by the Khronos Group.
COMComponent Object Model. A massively over-engineered complex abstract design paradigm used by Microsoft in DirectX.
CPACell processor architecture.
CPMClicks per minute. Referring to games/design where quick actions tend to beat other skills.
CPUCentral processing unit. A four-colour subtractive colour model.
CRMCustomer relationship management. [urgh!]
CRTCathode ray tube.
CSComputer science.
CSCompute shader.
CSTessellation control shader. OpenGL. Same as a hull shader.
CSAACoverage Sample Anti-aliasing.
CSEComputer science and engineering.
CSICommon system interface.
CSMCascaded shadow maps.
CSSCascading style sheets.
CTOChief technical officer
CUDACompute Unified Device Architecture. A terrible acronym - every computing project could be described with those four words! CUDA is parallel computing software from Nvidia. Used for GPGPU programming.
D*'D'-Star. A dynamic version of A*.
D3DMicrosoft Direct3D graphics library.
DDSDirect Draw Surface. Microsoft texture file format using DXT with S3 compression and MIP maps.
DSTessellation domain shader. Direct3D equivalent of tessellation evaluation shader.
DSPDigital Signal Processor.
DXMicrosoft DirectX collection of libraries. Includes Direct3D.
DXTDirectX Texture [Compression]. An image file format that uses one of several S3 lossy compression algorithms.
E3Electronic Entertainment Expo.
EGAEnhanced graphics adapter. A 1980s display specification. See King's Quest (1987).
ESSLEmbedded Systems Shader Language. Sometimes used to refer to the versions of GLSL used in OpenGL ES.
EQAAEnhanced Quality Anti-aliasing.
ESTessellation evaluation shader. OpenGL. Same as a tessellation domain shader.
ESEmbedded systems. Usually refers to mobile devices.
FBOFramebuffer Object.
FBXFilmbox. A 3d mesh format now owned by Autodesk.
FOVField of view. Usually expressed as an angle determining the shape of a viewing frustum, which creates perspective.
FPGAField-programmable gate array. A re-programmable general-purpose chip.
FPSFirst Person Shooter video game. Formerly called a "Doom clone".
FPSFrames per second. Number of images processed per second. Scientific term is Hertz (Hz).
FSFragment shader. OpenGL. Same as a pixel shader.
FSMFinite State Machine.
FXAAFast Approximate Anti-aliasing.
GCGarbage collection. A programming language with some automatic memory management.
GCCGNU Compiler Collection.
GDBGNU project de-bugger.
GDCGame Developers Conference.
GLEWOpenGL Extension Wrangler. A library to check if OpenGL extensions (new feature plug-ins) are available for use.
GLFWOpenGL Framework. A new OpenGL start-up and assistance library.
GLMOpenGL Mathematics. A 3d maths library designed to emulate GLSL maths data structures.
GLSLOpenGL Shader Language. A computer language for re-programming the GPU with OpenGL.
glTFGraphics library transmission format. A binary+JSON file format for 3d mesh data.
GLUTOpenGL Utility Toolkit. An old OpenGL start-up and assistance library.
GNUGNU is not Unix. A project to re-create the Unix system and tools as free software.
GPGPUGeneral purpose GPU [computing]. Using the parallelism of GPUs for operations other than rendering graphics e.g. computational simulations.
GPUGraphics processing unit.
GSGeometry shader.
HDLHardware description language. A specialised computer language to help design logic and electronics circuits and ASICs.
HDHigh Definition. Over-used buzz-word.
HDRHigh Dynamic Range.
HDRIHigh Dynamic Range Imaging.
HLSLHigh-Level Shader Language. Direct3D's shader language.
HMDHead-mounted display.
HPHit points. Games with numeric health/damage.
HPCHigh Performance Computing. Usually refers to large-scale clusters and super-computers. Relevant for video production, large servers, and GPGPU computing.
HSBHue, saturation, brightness. A cylindrical colour model.
HSTessellation hull shader. Direct3D equivalent of tessellation control shader.
HSIHue, saturation, intensity. A cylindrical colour model.
HSLHue, saturation, lightness. A cylindrical colour model.
HSVHue, saturation, value. A cylindrical colour model.
HWHardware. May be used to distinguish graphics hardware operations from CPU-side graphics operations.
I3DSymposium on Interactive 3D Graphics and Games
ICIntegrated circuit. A chip containing one or more digital circuits.
ICDInstallable Client Driver. An implementation of OpenCL from a particular vendor.
ICGAIEEE Computer Graphics Applications.
IDEIntegrated Development Environment. A set of development tools accessible from within a single programme. Usually centres on a text editor with helpful features, with buttons to compile, debug etc. [For people who can't handle Makefiles].
JPEGJoint Photographic Experts Group. A compressed image format supporting lossy compression (image quality loss in less perceptually important parts).
JSONJavaScript object notation. A generic plain-text file format with some tags for converting data to data structures when parsed. Not limited to JavaScript. Like XML but much less messy.
LERPLinear interpolation.
LOCLines of code (count of).
LWJGLLight-weight Java Game Library.
MELMaya embedded language.
MinGWMinimalist GNU for Windows. A collection of GNU compiler and command line tools.
MIP MapMultim Im Parvo (many in one space) map. Texture with lots of smaller versions for display at different resolutions or projections.
MLAAMorphological Anti-aliasing.
MMOMassively multi-player online. Usually a RPG with a huge number of players in the same virtual world.
MMXA SIMD instruction set first designed by Intel for the Pentium 5.
MSAAMulti Sample Anti-aliasing. Detects edges of polygons and increases AA samples there.
MSDNMicrosoft Developer Network.
MSVCMicrosoft Visual C++.
NDCNormalised device coordinates (coordinate space with range -1 to 1).
NDKNative Development Kit for Android mobile devices. A C-language based lower-level alternative to the ADK.
NESNintendo Entertainment System.
NNNeural Network.
NLERPNormalised LERP. Approximate SLERP by normalising the result of LERP - normalising pushes vectors back into spherical paths.
NPCNon-player character. A character representing a supporting character. In video games these are controlled by the computer and limited to dialogue or crowd scenes. Can sometimes include enemy characters.
NPRNon-photo-realistic rendering.
NTSCNational Television System Committee. An analogue television format formerly used in North America and Japan. Usually referred to to describe [highly illegal] international market manipulation tactics exploited by the video games industry.
NURBSNon-uniform rational basis spline. A mathematical model of geometry used to model curves and surfaces.
OGREObject-Oriented Graphics Rendering Engine. A popular open-source rendering engine middleware.
OpenCVOpen Computer Vision library.
OpenCLOpen Computing Language. Khronos group (OpenGL) produced generic language interface to multiple hardware devices (GPU/CPU/FPGA/etc.). Commonly used for GPGPU programming.
OpenGLOpen Graphics Library.
OpenGL ESOpen Graphics Library, Embedded Systems. The version of OpenGL for mobile phones and small devices. Now supported on desktop too.
OITOrder-Independent Transparency. Modern graphics don't natively support transparency with sorting, so a variety of algorithms address this.
OSSOpen Sound System. A Linux sound system.
PALPhase Alternating Line. A television format used in most of the world, excluding USA and Japan which used NTSC. Usually referred to to describe [highly illegal] international market manipulation tactics exploited by the video games industry.
PBOPixel Buffer Object.
PBRPhysically based rendering. More optics-like lighting calculations.
PBRPoint based rendering. Drawing with clouds of dots GL_POINTS.
PCPersonal computer. Windows or GNU/Linux.
PCPlayer character. A character representing a real person's role in a game.
PCBPrinted circuit board. An acid-etched copper sheet with a fixed circuit layout and holes for soldering in components.
PEProcessing Element.
PNGPortable Network Graphics. A compressed image format supporting "lossless" compression (no image quality loss).
POVPoint of view.
PSPixel shader. Direct3D. Same as a fragment shader.
PSSony PlayStation.
PSGPhotoShop document. Image file format.
PSPPlayStation Portable. A game console.
PVSPotentially visible set.
QTEQuick time event. Not related to the media player. "Press 'V' now before the tiger eats you".
QtA cross-platform toolkit for creating windowed desktop user interfaces.
RAResearch assistant.
RAIIResource Aquisition is Initialisation. In Object-Oriented Programming, using constructors/destructors to automatically handle memory.
RIPRaster image processor.
RISCReduced instruction set computing. A CPU design concept to reduce, rather than increase, the instruction set.
RGBRed, green, blue. Colour space - colour expressed as a combination of a red, a blue, and a green factor.
RPGRole-playing game.
RTReal-time. Original meaning: "at a consistent frequency" as some factor of "real" (as in the clock on the wall in your room) time e.g. one time step per second, as opposed to going as fast as possible (but some steps may take longer than others) or waiting for a prompt at each step. Over-used buzz-word, meaning has diverged to mean "fast", "right now", "so little delay it feels like it's instant", etc.
RTSReal-time strategy. A strategic or tactical game with consistent and on-going time, as opposed to turn-based.
S3S3 Graphics, Ltd. A graphics company. Responsible for the S3 family of texture compression algorithms.
S3TCA family of texture compression algorithms used in DDS texture files.
SIGGRAPHInternational Conference on Computer Graphics and Interactive Techniques.
SIMDSingle Instruction Multiple Data. A parallel computing hardware architecture to repeat a single command on multiple data units in parallel. Suits image and audio processing. Modern CPUs have re-programmable SIMD features accessible from programming languages.
SCAACM SIGGRAPH/Eurographics Symposium on Computer Animation.
SDStandard deviation (statistics).
SDLSimple Direct Multimedia Layer (libraries).
SEStandard error (statistics).
SGISilicon Graphics, Inc. Used to make high-powered graphics workstations. Original developer of OpenGL. Now produce HPC hardware.
SLERPSpherical linear interpolation. A method for interpolating between two orientations, used in animation.
SLRSingle-lens reflex camera. A type of camera that allows the photographer to view directly through the lens, without using a viewfinder.
SMstate machine.
SMAAEnhanced Sub-pixel Anti-aliasing.
SMLSimple, Fast Multimedia Library.
SMSSega Master System.
SNESSuper Nintendo Entertainment System.
SOCSystem on a chip.
sRGBStandard red, green, blue. A colour-corrective image palette to adjust for normal computer room lighting and video hardware output.
SSAASuper-Sample Anti-aliasing.
SSAOScreen-space ambient occlusion. Post-processing algorithm that uses a geometry buffer to determine if pixels or concave/convex surfaces and [controversially] shades the convex bits darker. Prone to error.
SVGScalable Vector Graphics. Art defined in vectors such that it can scale to any size. Commonly used in logos.
SVGASuper video graphics array. Higher-resolution extension to VGA. Commonly used in late 1990s PC video.
SVOSparse Voxel Octree [Oct-tree].
TATeaching assistant.
TATechnical artist.
TexBOTexture Buffer Object.
TNTechnical note (report).
TRTechnical report.
TXAATemporal Anti-aliasing.
UBOUniform Buffer Object. A block of data used in drawing operations that can be efficiently updated at run-time as it changes. e.g. Position and orientation of a virtual camera.
VAOVertex Array Object. Another contender for the "We gave up on language" award. A data structure in newer OpenGL versions that holds a collection of descriptive data for a drawing operation - the mesh data buffers to use, the memory layout of the data, etc.
VBOVertex Buffer Object. A buffer of per-vertex mesh data e.g. 3d points.
VC++Microsoft Visual C++.
VMVirtual Machine. An emulated computed system running on software on the machine's main operating system. Often used to host multiple server machines on one physical machine. Also used in multi-platform development to run, for example, a Linux test environment whilst working on a Windows system.
VRVirtual reality.
VRMLVirtual reality mark-up language.
VRPViewing reference point.
VSVertex shader.
VSMicrosoft Visual Studio.
VSMVariance Shadow Maps.
X3DExtensible 3d.
Wad"Where's All the Data?". Container file format by Id software. Name based on Blob.
WebGLThe web-browser version of OpenGL.
XGAExtended graphics array.
XMLAn horrible generalised file format with similar mark-up tags to HTML.
XNAXNA's Not Acronymed. This is the award-winner for worst acronym (although you'll see some others don't even match their name). Microsoft XNA Game Studio, a C# programming platform with Xbox compatibility.
YUVA colour space. Y is luminance, and UV are two chrominance components.
VGAVideo Graphics Array. A late 1980s IBM PC display standard. Commonly used in 1990s graphics display, typically up to 640x480px. Succeded by SVGA (higher resolution etc.)