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.

3DS A Nintendo game console released in 2011.
3DS Autodesk 3ds [formely "3D Studio"] Max.
3DS The file format used by 3ds Max.
A* 'A'-Star. A search algorithm commonly used for path-finding in games.
AAA A big-budget or top-quality game production.
AA Anti-aliasing.
AABB Axis-aligned bounding box.
ADK Android Development Kit. A Java-language based IDE (using Eclipse) and collection of tools.
AF An-isotropic filtering.
AGP Accelerated graphics port.
AI Artificial intelligence. In the games industry AI refers to any non-player character-controlling programming.
Ajax Asynchronous JavaScript and XML. Usually just used to access files in general from JavaScript.
ALSA Advanced Linux Sound Architecture. [The only reliable Linux audio system].
ALU Arithmetic logic unit. Digital circuit for integer maths and logical operations. A CPU contains many ALUs.
AMD Advanced Micro Devices. CPU and GPU etc. hardware manufacturer.
AMP Asymmetric multi-processing.
ANN Artificial neural network. [Not directly related but any rambling game AI conversation has this thrown in].
ANSI American National Standards Institute. Usually used in the expressed "ANSI C", which incorrectly refers to a strict C language standard (usually C89).
API Application Programming Interface.
APU Accelerated/advanced processing unit. Usually a combined CPU+GPU die or FPGA etc.
ARB OpenGL Architecture Review Board. Consortium that agrees on the design of OpenGL.
ASCII American Standard Code for Information Interchange. A limited set of numbered Latin characters and control codes.
ASIC Application-specified integrated circuit. A specialised fixed-design IC for a high-level task like audio recording. Contrasts to FPGA.
ASM Assembly or assembler language.
ASM Algorithmic state machine.
ATI Formerly a leading GPU manufacturer. Acquired by AMD in 2006.
ATR Adaptive 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).
AV Audio/Visual.
AZDO Approaching Zero Driver Overhead. A recent OpenGL talk on using new efficient OpenGL interface features.
Bash Bourne-again shell.
BGR Blue, green, red. Colour space - colour expressed as a combination of a red, a blue, and a green factor.
Blob Binary large object.
BSoD Blue screen of death.
BSP Binary space partitioning. A scene management optimisation technique that recursively sub-divides geometry into two branches.
CAD Computer aided design.
CAID Computer aided industrial design.
CAM Computer aided manufacturing.
CG Computer graphics.
CG NVIDIA computer graphics shaders.
CGA Colour Graphics Adapter. A very horrible-looking early 1980s display standard. See the DOS version of Test Drive (1987).
CGI Computer generated imagery.
CISC Complex Instruction Set computer.
CLI Command-line interface.
CLR Common-language run-time.
CM Configuration management.
CMS Content management system.
CMYK Cyan Magenta Yellow Key.
COLLADA "collaborative design activity". An XML-based, widely supported 3d mesh file format by the Khronos Group.
COM Component Object Model. A massively over-engineered complex abstract design paradigm used by Microsoft in DirectX.
CPA Cell processor architecture.
CPM Clicks per minute. Referring to games/design where quick actions tend to beat other skills.
CPU Central processing unit. A four-colour subtractive colour model.
CRM Customer relationship management. [urgh!]
CRT Cathode ray tube.
CS Computer science.
CS Compute shader.
CS Tessellation control shader. OpenGL. Same as a hull shader.
CSAA Coverage Sample Anti-aliasing.
CSE Computer science and engineering.
CSI Common system interface.
CSM Cascaded shadow maps.
CSS Cascading style sheets.
CTO Chief technical officer
CUDA Compute 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*.
D3D Microsoft Direct3D graphics library.
DDS Direct Draw Surface. Microsoft texture file format using DXT with S3 compression and MIP maps.
DS Tessellation domain shader. Direct3D equivalent of tessellation evaluation shader.
DSP Digital Signal Processor.
DX Microsoft DirectX collection of libraries. Includes Direct3D.
DXT DirectX Texture [Compression]. An image file format that uses one of several S3 lossy compression algorithms.
E3 Electronic Entertainment Expo.
EGA Enhanced graphics adapter. A 1980s display specification. See King's Quest (1987).
ESSL Embedded Systems Shader Language. Sometimes used to refer to the versions of GLSL used in OpenGL ES.
EQAA Enhanced Quality Anti-aliasing.
ES Tessellation evaluation shader. OpenGL. Same as a tessellation domain shader.
ES Embedded systems. Usually refers to mobile devices.
FBO Framebuffer Object.
FBX Filmbox. A 3d mesh format now owned by Autodesk.
FOV Field of view. Usually expressed as an angle determining the shape of a viewing frustum, which creates perspective.
FPGA Field-programmable gate array. A re-programmable general-purpose chip.
FPS First Person Shooter video game. Formerly called a "Doom clone".
FPS Frames per second. Number of images processed per second. Scientific term is Hertz (Hz).
FS Fragment shader. OpenGL. Same as a pixel shader.
FSM Finite State Machine.
FXAA Fast Approximate Anti-aliasing.
GC Garbage collection. A programming language with some automatic memory management.
GCC GNU Compiler Collection.
GDB GNU project de-bugger.
GDC Game Developers Conference.
GLEW OpenGL Extension Wrangler. A library to check if OpenGL extensions (new feature plug-ins) are available for use.
GLFW OpenGL Framework. A new OpenGL start-up and assistance library.
GLM OpenGL Mathematics. A 3d maths library designed to emulate GLSL maths data structures.
GLSL OpenGL Shader Language. A computer language for re-programming the GPU with OpenGL.
glTF Graphics library transmission format. A binary+JSON file format for 3d mesh data.
GLUT OpenGL Utility Toolkit. An old OpenGL start-up and assistance library.
GNU GNU is not Unix. A project to re-create the Unix system and tools as free software.
GPGPU General purpose GPU [computing]. Using the parallelism of GPUs for operations other than rendering graphics e.g. computational simulations.
GPU Graphics processing unit.
GS Geometry shader.
HDL Hardware description language. A specialised computer language to help design logic and electronics circuits and ASICs.
HD High Definition. Over-used buzz-word.
HDR High Dynamic Range.
HDRI High Dynamic Range Imaging.
HLSL High-Level Shader Language. Direct3D's shader language.
HMD Head-mounted display.
HP Hit points. Games with numeric health/damage.
HPC High Performance Computing. Usually refers to large-scale clusters and super-computers. Relevant for video production, large servers, and GPGPU computing.
HSB Hue, saturation, brightness. A cylindrical colour model.
HS Tessellation hull shader. Direct3D equivalent of tessellation control shader.
HSI Hue, saturation, intensity. A cylindrical colour model.
HSL Hue, saturation, lightness. A cylindrical colour model.
HSV Hue, saturation, value. A cylindrical colour model.
HW Hardware. May be used to distinguish graphics hardware operations from CPU-side graphics operations.
I3D Symposium on Interactive 3D Graphics and Games
IC Integrated circuit. A chip containing one or more digital circuits.
ICD Installable Client Driver. An implementation of OpenCL from a particular vendor.
ICGA IEEE Computer Graphics Applications.
IDE Integrated 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].
JPEG Joint Photographic Experts Group. A compressed image format supporting lossy compression (image quality loss in less perceptually important parts).
JSON JavaScript 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.
LERP Linear interpolation.
LOC Lines of code (count of).
LWJGL Light-weight Java Game Library.
MEL Maya embedded language.
MinGW Minimalist GNU for Windows. A collection of GNU compiler and command line tools.
MIP Map Multim Im Parvo (many in one space) map. Texture with lots of smaller versions for display at different resolutions or projections.
MLAA Morphological Anti-aliasing.
MMO Massively multi-player online. Usually a RPG with a huge number of players in the same virtual world.
MMX A SIMD instruction set first designed by Intel for the Pentium 5.
MS Microsoft.
MSAA Multi Sample Anti-aliasing. Detects edges of polygons and increases AA samples there.
MSDN Microsoft Developer Network.
MSVC Microsoft Visual C++.
NDC Normalised device coordinates (coordinate space with range -1 to 1).
NDK Native Development Kit for Android mobile devices. A C-language based lower-level alternative to the ADK.
NES Nintendo Entertainment System.
NN Neural Network.
NLERP Normalised LERP. Approximate SLERP by normalising the result of LERP - normalising pushes vectors back into spherical paths.
NPC Non-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.
NPR Non-photo-realistic rendering.
NTSC National 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.
NURBS Non-uniform rational basis spline. A mathematical model of geometry used to model curves and surfaces.
OGRE Object-Oriented Graphics Rendering Engine. A popular open-source rendering engine middleware.
OpenCV Open Computer Vision library.
OpenCL Open Computing Language. Khronos group (OpenGL) produced generic language interface to multiple hardware devices (GPU/CPU/FPGA/etc.). Commonly used for GPGPU programming.
OpenGL Open Graphics Library.
OpenGL ES Open Graphics Library, Embedded Systems. The version of OpenGL for mobile phones and small devices. Now supported on desktop too.
OIT Order-Independent Transparency. Modern graphics don't natively support transparency with sorting, so a variety of algorithms address this.
OSS Open Sound System. A Linux sound system.
PAL Phase 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.
PBO Pixel Buffer Object.
PBR Physically based rendering. More optics-like lighting calculations.
PBR Point based rendering. Drawing with clouds of dots GL_POINTS.
PC Personal computer. Windows or GNU/Linux.
PC Player character. A character representing a real person's role in a game.
PCB Printed circuit board. An acid-etched copper sheet with a fixed circuit layout and holes for soldering in components.
PE Processing Element.
PNG Portable Network Graphics. A compressed image format supporting "lossless" compression (no image quality loss).
POV Point of view.
PS Pixel shader. Direct3D. Same as a fragment shader.
PS Sony PlayStation.
PSG PhotoShop document. Image file format.
PSP PlayStation Portable. A game console.
PVS Potentially visible set.
QTE Quick time event. Not related to the media player. "Press 'V' now before the tiger eats you".
Qt A cross-platform toolkit for creating windowed desktop user interfaces.
RA Research assistant.
RAII Resource Aquisition is Initialisation. In Object-Oriented Programming, using constructors/destructors to automatically handle memory.
RIP Raster image processor.
RISC Reduced instruction set computing. A CPU design concept to reduce, rather than increase, the instruction set.
RGB Red, green, blue. Colour space - colour expressed as a combination of a red, a blue, and a green factor.
RPG Role-playing game.
RT Real-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.
RTS Real-time strategy. A strategic or tactical game with consistent and on-going time, as opposed to turn-based.
S3 S3 Graphics, Ltd. A graphics company. Responsible for the S3 family of texture compression algorithms.
S3TC A family of texture compression algorithms used in DDS texture files.
SIGGRAPH International Conference on Computer Graphics and Interactive Techniques.
SIMD Single 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.
SCA ACM SIGGRAPH/Eurographics Symposium on Computer Animation.
SD Standard deviation (statistics).
SDL Simple Direct Multimedia Layer (libraries).
SE Standard error (statistics).
SGI Silicon Graphics, Inc. Used to make high-powered graphics workstations. Original developer of OpenGL. Now produce HPC hardware.
SLERP Spherical linear interpolation. A method for interpolating between two orientations, used in animation.
SLR Single-lens reflex camera. A type of camera that allows the photographer to view directly through the lens, without using a viewfinder.
SM state machine.
SMAA Enhanced Sub-pixel Anti-aliasing.
SML Simple, Fast Multimedia Library.
SMS Sega Master System.
SNES Super Nintendo Entertainment System.
SOC System on a chip.
sRGB Standard red, green, blue. A colour-corrective image palette to adjust for normal computer room lighting and video hardware output.
SSAA Super-Sample Anti-aliasing.
SSAO Screen-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.
SVG Scalable Vector Graphics. Art defined in vectors such that it can scale to any size. Commonly used in logos.
SVGA Super video graphics array. Higher-resolution extension to VGA. Commonly used in late 1990s PC video.
SVO Sparse Voxel Octree [Oct-tree].
TA Teaching assistant.
TA Technical artist.
TexBO Texture Buffer Object.
TN Technical note (report).
TR Technical report.
TXAA Temporal Anti-aliasing.
UBO Uniform 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.
VAO Vertex 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.
VBO Vertex Buffer Object. A buffer of per-vertex mesh data e.g. 3d points.
VC++ Microsoft Visual C++.
VM Virtual 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.
VR Virtual reality.
VRML Virtual reality mark-up language.
VRP Viewing reference point.
VS Vertex shader.
VS Microsoft Visual Studio.
VSM Variance Shadow Maps.
X3D Extensible 3d.
Wad "Where's All the Data?". Container file format by Id software. Name based on Blob.
WebGL The web-browser version of OpenGL.
XGA Extended graphics array.
XML An horrible generalised file format with similar mark-up tags to HTML.
XNA XNA'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.
YUV A colour space. Y is luminance, and UV are two chrominance components.
VGA Video 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.)