psx-retro-rendering

Implements PlayStation 1 rendering behavior in Godot 4 shaders with affine textures, vertex snapping, and RGB5 dithering.

66|4|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/SummerEngine/summer --skill psx-retro-rendering-summerengine
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: psx-retro-rendering
Source: https://github.com/SummerEngine/summer/tree/main/library/skills/psx-retro-rendering
Command: npx skills add https://github.com/SummerEngine/summer --skill psx-retro-rendering-summerengine

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Recreating an authentic PlayStation 1 look in Godot 4 requires more than a low-resolution filter: it demands hardware-informed techniques like affine texture mapping, screen-space vertex snapping, RGB5 color quantization, conditional dithering, and fixed blend equations, each with known approximation limits. ## Core Features & Use Cases - Hardware-informed shader pipeline: Implements low-res output, exact PS1 4x4 dither matrix, RGB5 quantization, affine UV correction, and screen-space vertex snapping as distinct, testable layers. - Authenticity boundary guidance: Clearly separates real PS1 hardware behavior from Godot approximations, including flat-depth ordering, per-vertex lighting, four semi-transparency blend modes, and two fog models. - Use Case: A developer building a retro-styled 3D horror game uses this Skill to write a ShaderMaterial that reproduces PS1 texture warping and vertex wobble, then verifies each layer against a controlled test scene. ## Quick Start Ask your agent to make the 3D scene render like a PlayStation 1 game with texture warping, vertex wobble, and dithering using this skill.

Frequently Asked Questions about psx-retro-rendering

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make a PS1-style shader in Godot 4?

Implement the effect in layers: set a 320x240 viewport, cancel perspective-correct UV interpolation by multiplying UVs by clip w at the vertex, snap vertices to screen pixels after projection, then apply the PS1 dither matrix and RGB5 quantization in the fragment shader.

How do I recreate PS1 texture warping in a shader?

Multiply UVs by the clip-space w component in the vertex shader, let the GPU interpolate, then divide by w in the fragment shader. Subdivide large meshes to control the resulting affine distortion.

Why does my retro shader look pixelated but not like a real PS1 game?

A low-resolution filter alone misses the defining traits: affine texture mapping, integer screen-coordinate vertex snapping, RGB5 color depth, and per-polygon conditional dithering. Each must be implemented as a separate shader layer.

Does Godot 4 support PS1-style vertex snapping?

Yes, by quantizing clip-space coordinates against the viewport size in the vertex shader after projection. Snap to the actual render viewport resolution, not an arbitrary world-space grid, to reproduce authentic wobble.

What are the limitations of PS1 transparency emulation in Godot?

Godot's screen-texture approach moves materials into the transparent pass, so overlapping transparent objects cannot blend with each other reliably. The four fixed PS1 blend equations work against the framebuffer but not between transparent meshes in the same pass.

When should I not use a PSX rendering shader?

Avoid it for ordinary low-resolution or pixel-art presentations that do not need PS1-specific behavior like affine warping or hardware dithering. It is also unsuitable when exact polygon draw ordering is required, since flat depth is only an approximation.