Tuesday, November 10, 2026
If you grew up gaming in the mid-1990s, the original PlayStation (PS1) likely holds a special place in your heart. However, replaying those classic 32-bit titles today highlights a very distinct visual quirk: 3D models tend to wobble, and wall surfaces seem to "swim" as your character moves. But what actually caused this iconic phenomenon?
The answer lies in the hardware limitations of the early 3D console era and how the system processed geometric data.
Affine Mapping and the "Swimming" Effect
The main reason graphics appear to stretch and warp on the PS1 comes down to how polygons were rendered on screen. Modern graphics hardware uses perspective-correct texture mapping, which continuously calculates depth along the Z-axis for every pixel.
The PS1 graphics chip, however, lacked hardware support for perspective correction. Instead of calculating true 3D perspective for a 3D texture, the console used a lightweight rendering technique called affine texture mapping. Affine mapping maps textures linearly across 2D polygons on the screen. As an object moves closer to or farther from the camera, the hardware fails to account for depth changes, causing the 3D texture to warp and distort across the surface of the geometry.
Fixed-Point Math and Vertex Wobble
Along with texture warping, PS1 games are famous for their jittery 3D models. This visual glitch stems from the console's reliance on fixed-point math rather than floating-point math within its Geometry Transfer Engine (GTE).
Because the hardware lacked floating-point precision, 3D vertex coordinates had to be rounded to the nearest pixel grid coordinate on the screen. As a character or camera shifted, vertex points would violently "snap" to the nearest integer pixel rather than transitioning smoothly across sub-pixels. This sub-pixel snapping created the noticeable shaking or wobbling effect retro gamers know so well.
Furthermore, the PS1 lacked a dedicated Z-buffer (depth buffer) to keep track of depth ordering. Developers had to manually sort polygons from back to front using ordering tables, which often caused textures and polygons to flicker or pop through one another when rendered closely together.
The Legacy of 32-Bit Rendering
Despite these technical constraints, developers crafted legendary titles by employing creative workarounds, such as subdividing large polygons into smaller pieces or utilizing heavy draw-distance fog.
Today, what was once a visual flaw has evolved into a beloved stylistic choice for modern indie horror games. Learning how early hardware rendered every 3D texture gives us a fresh appreciation for the pioneering developers who laid the groundwork for modern graphics.
