initial texture warp implementation

This commit is contained in:
Valerie Wolfe 2024-04-11 12:04:33 -04:00
parent cf13e21b66
commit a7e9188862
3 changed files with 10 additions and 5 deletions

View file

@ -1,5 +1,9 @@
#version 120
#define pixelSize 2 // [1 2 4 8 16]
#define vWarp 0 // psx vertex warp [0 1 2 4 8 16 32]
//#define tWarp // psx texture warp
varying vec2 texcoord;
varying vec4 color;
varying vec2 lmcoord;
@ -7,9 +11,6 @@ varying vec2 lmcoord;
uniform mat4 gbufferModelView, gbufferModelViewInverse;
uniform float viewWidth, viewHeight;
#define pixelSize 2 // [1 2 4 8 16]
#define vWarp 0 // psx vertex warp [0 1 2 4 8 16 32]
void main() {
texcoord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).xy;
lmcoord = (gl_TextureMatrix[1] * gl_MultiTexCoord1).xy;
@ -25,5 +26,9 @@ void main() {
#else
gl_Position = ftransform();
#endif
#ifdef tWarp
gl_Position /= gl_Position.w;
#endif
}

View file

@ -26,6 +26,6 @@ value.vWarp.4=Medium (4x)
value.vWarp.8=High (8x)
value.vWarp.16=Extreme (16x)
value.vWarp.32=Silly (32x)
option.tWarp=Affine Textures
option.tWarp=Texture Warping
option.tWarp.comment=Emulates affine texture mapping responsible for warping textures on the PSX

View file

@ -3,5 +3,5 @@ sliders=pixelSize hueSteps satSteps valSteps rgbSteps vWarp
screen=pixelSize <empty> [COLOR] [PSX]
screen.COLOR=colorMode dithering rgbSteps <empty> hueSteps satSteps valSteps
screen.PSX=vWarp
screen.PSX=vWarp tWarp