PSX Shader globally

Godot Version

4.5.0

Question

We are trying to make a PSX look alike game. The default shader does not work for us.

How could we get this done?

We thought about changing all of the shaders globally to make them unlit.

1 Like

Why exactly doesn’t the default shader work for you? What’s the exact effect you are trying to achieve?

From my understanding, most PS1 games had per-vertex shading, and weren’t completely unlit, so forcing per-vertex shading globally would be more accurate. This can be done globally by changing rendering/shading/overrides/force_vertex_shading in the project settings. But again, it depends on the exact effect you want to achieve.

1 Like

There’s also the perspective-incorrect texturing and the lack of a z buffer, so if you want the real PSX graphics experience it’s going to affect how you assemble your graphics pipe. I’m not sure the complete package can be simulated in a shader. The perspective-incorrect texturing is probably doable, but the bucket-based depth sorting for scene polygons might require more context than you can get in a shader.

1 Like

Acerola did a good video about PS1 graphics. Note: it isn’t a tutorial so doesn’t explain exactly how to achieve these effects.