Glossary

From shaderLABS

This page will explain, in a layman-friendly way, various acronyms and terminology that you will see being used in the Discord server, as well as across the graphics industry as a whole.

AA or Anti-Aliasing: a family of techniques that aim to smooth out "jagggies", edges on diagonal lines where jagged edges of pixels are visible. The types of AA relevant to Minecraft are:

  • FXAA: Fast approXimate Anti-Aliasing. Fast and simple to implement, but has significant blurring compared to other methods. FXAA 4x is the version implemented by Optifine, and FXAA 3.11 is a somewhat improved version implemented by select shaderpacks.
  • MSAA: Multisample Anti-Aliasing. Supersamples only along edges for performance improvement over SSAA. Implemented by Optifine in the Quality submenu. Not recommended for use with shaderpacks.
  • SSAA: Supersampling Anti-Aliasing. Rendering at a higher resolution internally. The most brute-force approach, provides the best visual quality but at a large performance loss. Implemented by Optifine when Render Quality is set above 1x.
  • TAA: Temporal Anti-Aliasing. Uses data from the previous frame(s) for increased data points. Can vary widely in quality. The worst implementations have significant ghosting (afterimages of an object's previous location) in motion. The best implementations have an excellent ratio of quality to performance loss. Used by most Minecraft shaderpacks.

Cel Shading: an artistic technique involving shading surfaces with few discrete colours instead of a smooth light-dark gradient. Also known as Toon Shading for the cartoon-like feeling it provides. Often incorrectly used to refer to the black edge outline effect that is typically used in conjunction with cel shading.

GI or Global Illumination: technically refers to all lighting, but most commonly used to refer to indirect lighting, aka light that is reflected, or bounced, off (and coloured by) one surface onto another surface. Multiple methods be be used for this, with various pros and cons. The ones relevant to Minecraft are:

  • RSM or Reflective Shadowmapping: uses data contained in the shadowmap (see below) to simulate one bounce of light. Main downside is light leaking from areas where it should be blocked.
  • Path Tracing: GI is one of the effects that is included "for free" when doing path traced lighting. See the Ray Tracing Corner section for a full explanation on what this is. Can also be done in screen-space (see below), in which case it is often called SSGI or SSPT.

GPU or Graphics Processing Unit: one of the core components of a modern computer. Optimized for processing many operations simultaneously, making them ideal for graphics workloads.

Graphics API or Application Programming Interface: translates code into instructions that can be read by your GPU (see above). OpenGL is the API used in Java Edition, and DirectX is the API used in Bedrock Edition. Also relevant is Vulkan, a semi-successor to OpenGL with more advanced features, which Java Edition could potentially be modded to use.

HDR or High Dynamic Range: content where colours can go above 100% brightness. (Content limited to the 0-100% range is referred to as SDR or Standard Dynamic Range.) Allows for more accurate representation of brightness of different scenes and light sources.

Rasterization: the process of deciding which object each pixel on your screen should be displaying.

Screen-Space: the "space" of all things which are currently visible on your screen. "Screen-Space [Effect]" refers to an implementation of [Effect] that can only take into account things that exist in screen-space.

Shader: code that tells the programmable units on a GPU (see above) what to do. Originally only used for shading, hence the name, but can now do all kinds of advanced graphics. Can also be used in machine learning and other unrelated fields. There are multiple kinds of shaders. The ones most relevant to Minecraft are:

  • Compute shader: computes arbitrary information. Used for things other than drawing triangles and pixels. This explanation is necessarily vague.
  • Fragment or Pixel shader: operates on every pixel on your screen.
  • Geometry shader: operates on every set of 3 vertices that form a triangle. (all objects in 3D games are made of small triangles because these are easiest for a GPU to process.)
  • Vertex shader: operates on every vertex (a 3D point) in the world.

Shading Language: the coding language that a shader (see above) is written in. The language used in Minecraft is called GLSL or OpenGL Shading Language.

Shadowmapping: the process of rendering the world an additional time from the perspective of a light source. Usually the sun in Minecraft's case, but can be any fixed light source. Multiple shadowmaps can be combined. What is not visible to a light source will be shadowed.

Tonemapping: the process of bringing HDR (see above) content back to standard range for output. Necessary in Minecraft even on HDR displays because Minecraft does not support HDR output. Different processes can be chosen, and each process is referred to as a TMO or Tonemap Operator.

The Ray Tracing Corner

A separate section has been dedicated to terminology surrounding ray tracing because of the amount of confusion and misinformation out there regarding it.

RT or Ray tracing is a family of techniques that revolve around sending rays out into the world and then doing things with them. These rays are typically used as approximations of photons - particles emitted by light sources that can bounce around the scene before reaching your eyes/the camera. RT is slow to process, thus its use in games has traditionally been limited to select screen-space effects.

RT Core/Ray Accelerator/RT Unit: a piece of hardware in a GPU specialized in doing ray tracing-related operations quickly. Contrary to popular belief, this hardware is not required to use RT, but simply allows its processing to be done much faster, enabling (among other things) more widespread RT usage in games. This is what media typically mean when referring to "ray tracing capable GPUs".

VKRT (Vulkan Ray Tracing) and DXR (DirectX Raytracing): extensions to their respective APIs with features that make implementing RT effects easier, along with access to RT hardware acceleration when applicable. This is also what Nvidia RTX enabled titles are using under the hood, specifically DXR in the case of Minecraft RTX on Bedrock Edition. This is what media typically mean when referring to "games with ray tracing".