Fixed-Point Math and Why Your Childhood Looked Unstable
(specifically on PS1, idk about irl, hopefully that was fine)
----~~oOo~~----
There's something strange about how we perceive graphics. I remember loading up Oblivion for the first time and genuinely wondering if we'd crossed some threshold into digital photorealism. The textures! The lighting!

It felt like peering through a window into another world. I would stare at the intricate metal leafing on my digital silver shortsword with the same revenant awe historically reserved for stained glass in cathedrals.
Cut to 2025, and those same models look like they were carved from margarine and left under a heat lamp. Everything has this waxy, dead-eyed quality that makes you wonder how we ever found them so convincing in the first place. The uncanny valley has shifted, and suddenly we're all standing on the wrong side of it, squinting at our former video game characters with the embarrassment of someone looking at their old yearbook photos.

But PS1 games? They still hit. Not because they look realistic - they never did - but because they look intentional. Like someone sat down and decided that reality was wack anyway, so why not make something that looks like a fever dream assembled from virtual origami?
Now everyone wants in on this shared fever dream. Indie developers are deliberately making their games look like they were a cancelled release from 1995. Digital artists are spending hours trying to make their pristine modern graphics look properly broken. It's become its own aesthetic movement, and frankly, I'm so down with that - I'm old enough now that the things I liked as a kid are cool again, and even if it's wrapped in seven layers of irony, I'm still comforted by the familiar, and I get to make believe that I'm still cool on some level! It's a win win.
However.. The pedantic part (see: all) of me is going a little (see: extremely) mental for a very cool reason, so that's why I'm here today: Some people trying to recreate PS1 graphics are basically just adding grain on lower resolution render settings and calling it a day. They're missing the deeper strangeness - the way everything seemed to exist in a state of controlled instability, like the virtual world was constantly on the verge of coming apart at the seams, just barely holding itself together with each movement. Here, I'm going to try to be the change I want to see in the world; not on anything meaningful, mind you - I am solely trying to change the amount of low quality PS1 style renders that come across my various feeds here. I will heroically solve world hunger and racism after this.
Let's Get Cool With It
Back when I wrote my very first blogpost, I did a small analysis on the way the PS1 rendered graphics and why things looked that way from a technical standpoint. This is about to be a much more intense version of that, so be warned: your virginal coating WILL return beyond this point.
---------------------------
Still here? Okay, so - the PlayStation 1's GPU ran at 53MHz with 1MB of VRAM, which nowadays is less computing power than your air fryer, but was perfectly respectable for 1994. The real issue wasn't computational power however - it was Sony's relationship with mathematical precision, which can best be described as "aspirational."
Modern graphics cards use floating-point arithmetic for positioning, meaning a vertex can exist at any fractional coordinate like, I don't know, 100.629 or 50.284. The PS1 used fixed-point math instead, which meant coordinates got rounded to whole integers. A vertex that should smoothly glide from (100.2, 50.3) to (100.8, 50.7) would instead snap from (100, 50) to (101, 51) with no intermediate positions, no gradual transitions, no mercy whatsoever. Imagine trying to park a car in a lot where every space is pre-marked, but you can't park anywhere except in the exact center of each spot, and your car disappears and you die if you don't.
This created vertex snapping - the phenomenon where polygon corners would jump from pixel to pixel instead of moving smoothly. Your character models developed a subtle tremor, like they were all secretly nervous about something. Even when nothing was happening, vertices would continuously shift between adjacent pixels, giving everything this barely perceptible jitter that made the whole world feel alive in an unnatural way, like if you placed your hand on your bedroom wall and felt a heartbeat.
Giving Modern Hardware Anxiety
To recreate this video nervousness in Blender, you need the incredible PSXifyBlender2.8 script, which is basically a plugin designed to make your computer worse at math. Install it, set up a simple low-poly model, and configure it with classic PS1 resolution settings - 160x120 or 320x240, and enable vertex snapping.
This script rounds your vertex coordinates to the nearest pixel grid position from the camera's perspective, mimicking the PS1's hardware limitations. Move your camera around and watch those vertices snap into place like they're magnetized to an invisible grid - it's oddly hypnotic, like watching your weird coworker obsessively organize their desk drawer. The effect works best on larger polygons, so resist the urge to over-subdivide your geometry.
The Textures of 1994
If vertex snapping was the PS1's anxiety disorder, then its approach to texture mapping was it's uncorrected astigmatism. Modern GPUs use perspective-correct texture mapping, which factors in depth information to keep textures looking proper from any angle. It's mathematically involved and computationally expensive, but we live in the future now, so that's fine.
The PS1 took one look at this complexity and, like myself with big math, decided to just... not. It used affine texture mapping instead, which is essentially perspective-correct mapping with all the perspective removed. The PS1 basically pretended the world was flat and hoped for the best, like that cousin you blocked on facebook.
This created the signature texture wobble - surfaces that seemed to be made of some sort of cool science liquid that responded to camera movement in impossible non-Euclidean ways. Floor textures would swim and warp as you moved through corridors. Cars would ripple like water when you turned corners. The way the ground beneath your skateboard seemed to slide away from you in THPS2? That wasn't esoteric artistic metaphor, that was the PS1 doing math and saying "fuck it, close enough." The entire world had this exciting unstable quality that made you question whether anything was actually solid.

To recreate this instability in Blender, you need to deliberately sabotage your texture coordinates. Create a material with a low-res texture (64x64 pixels maximum, here I am using 32x32), then use Generated coordinates instead of UV coordinates in your shader editor.
Add a Mapping node and animate the Location values slightly - just enough to create that swimming effect. The key is understanding that PS1 textures didn't smoothly interpolate between values; they snapped and jumped just like the vertices. Set your ColorRamp interpolation to "Constant" to get those harsh transitions that made everything feel completely broken.

The Color Compromise
The final piece of the PS1 aesthetic puzzle was its relationship with color, which was complicated by hardware limitations and optimistic engineering. The system could process full 24-bit color internally but could only output 15-bit color - about 32,000 colors total instead of the 16 million it was theoretically capable of.
To fake higher color depth, the PS1 applied aggressive dithering to everything. This created a characteristic grain pattern that looked like everything was dissolving into static. The dithering was designed to blend naturally on CRT screens through composite video, where the fuzzy edges would hide the pattern. On modern displays, every dithered pixel stands out in sharp relief, like some funny analogy.
To add authentic dithering to your Blender materials, you're essentially teaching your computer to second-guess every color decision. There's a couple ways to do this - Shader only, you can add a ColorRamp node after your main texture and limit it to 5-6 color stops to simulate the 15-bit color constraint. Even easier, you can export a small (16x16 - 32x32) texture from Photoshop utilizing the "Save for Web (Legacy)" feature and limit your color palette directly.
Then add a high-detail Noise Texture (around 15-20 detail) and use it to offset your texture coordinates slightly. This creates the dithering pattern we all know and love in a simple way. Mix everything with a MixRGB node set to Screen or Add to complete the effect.
Assembly & final touches
For the complete PS1 experience, set your camera to Orthographic projection and render at 320x240 or (at absolute highest) 640x480 resolution. Add minimal Motion Blur to simulate the slight processing lag, then apply a Pixelate filter in the Compositor.
When everything comes together, you should achieve that unmistakable PS1 quality: vertices that snap like an angry little league coach, textures that flow like his bud light, and colors that exist in a state of perpetual uncertainty, like me in little league. It's an aesthetic built on controlled instability, where every element seems very unsure of itself but committed to the bit anyway.

The Larger Context
Sorry, I can't resist a great quote:
"Whatever you now find weird, ugly, uncomfortable and nasty about a new medium will surely become its signature. CD distortion, the jitteriness of digital video, the crap sound of 8-bit - all of these will be cherished and emulated as soon as they can be avoided. It's the sound of failure: so much modern art is the sound of things going out of control, of a medium pushing to its limits and breaking apart. The distorted guitar sound is the sound of something too loud for the medium supposed to carry it. The blues singer with the cracked voice is the sound of an emotional cry too powerful for the throat that releases it. The excitement of grainy film, of bleached-out black and white, is the excitement of witnessing events too momentous for the medium assigned to record them."
— Brian Eno
Does this all say something profound about our relationship with technological progress and our hunger for authenticity in an increasingly artificial world? Sure, why not.
In short: these "flaws" have become more visually interesting than the photorealistic perfection they were trying to approximate. I am a firm believer that limitations make more interesting art - the PS1 proved that. Constraints can be generative rather than limiting. When hardware can't render perfect surfaces, it creates new visual languages instead.
When you can't make something look correct, you end up making it look memorable.
----~~oOo~~----
Learn something new? Make something cool? Hate me cuz you ain't me? Shoot me an email and let's chat!