initial texture warp implementation

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

View file

@ -1,5 +1,9 @@
#version 120 #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 vec2 texcoord;
varying vec4 color; varying vec4 color;
varying vec2 lmcoord; varying vec2 lmcoord;
@ -7,9 +11,6 @@ varying vec2 lmcoord;
uniform mat4 gbufferModelView, gbufferModelViewInverse; uniform mat4 gbufferModelView, gbufferModelViewInverse;
uniform float viewWidth, viewHeight; 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() { void main() {
texcoord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).xy; texcoord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).xy;
lmcoord = (gl_TextureMatrix[1] * gl_MultiTexCoord1).xy; lmcoord = (gl_TextureMatrix[1] * gl_MultiTexCoord1).xy;
@ -25,5 +26,9 @@ void main() {
#else #else
gl_Position = ftransform(); gl_Position = ftransform();
#endif #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.8=High (8x)
value.vWarp.16=Extreme (16x) value.vWarp.16=Extreme (16x)
value.vWarp.32=Silly (32x) 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 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=pixelSize <empty> [COLOR] [PSX]
screen.COLOR=colorMode dithering rgbSteps <empty> hueSteps satSteps valSteps screen.COLOR=colorMode dithering rgbSteps <empty> hueSteps satSteps valSteps
screen.PSX=vWarp screen.PSX=vWarp tWarp