Privet! It's the next version of my shader. All you need - opengl2 plugin, disable all pete's improvements - they sucks (but you can keep screen filtering), hires. I recommend PCSXR-PGXP with enabled pgxp, also this version has shutdown command
Also, I like shader level 3 (its strength of blur, but you can set offset in gpuPeteOGL2.slv)
So, comparing
Sheders mission is providing REALLY natural view and settings
Just pause emulation and open gpuPeteOGL2.slf (also gpuPeteOGL2.slv with blur offset is available)
Suggestions discussion are welcome. By the way, I wanna improve pgxp version, may be some coder who have a little knowledge help me..
So, gpuPeteOGL2.slv
gpuPeteOGL2.slf
By the way! I recommend you to make display calibration. At least my old laptop with intel hd 4000 has saturation glitch, i've set -34 in intel panel
AND there is LCD problem - it has to white 255-255-255 color, you can reduce it using windows's dccw. I prefer warm colors so my settings like this
Also, LCD displays has problem with black point, normally you should increase black point, but you cant. But you can make it with shader.
Bye!
Also, I like shader level 3 (its strength of blur, but you can set offset in gpuPeteOGL2.slv)
So, comparing
Sheders mission is providing REALLY natural view and settings
Just pause emulation and open gpuPeteOGL2.slf (also gpuPeteOGL2.slv with blur offset is available)
Suggestions discussion are welcome. By the way, I wanna improve pgxp version, may be some coder who have a little knowledge help me..
So, gpuPeteOGL2.slv
CSS:
uniform vec4 OGL2Param;
void main()
{
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
gl_TexCoord[0]=gl_MultiTexCoord0.xyxy+vec4(-0.5,-0.5,-1.5,-1.5) * OGL2Param.xyxy*2;
gl_TexCoord[1]=gl_MultiTexCoord0.xyxy+vec4( 0.5,-0.5, 1.5,-1.5) * OGL2Param.xyxy*2;
gl_TexCoord[2]=gl_MultiTexCoord0.xyxy+vec4(-0.5, 0.5,-1.5, 1.5) * OGL2Param.xyxy*2;
gl_TexCoord[3]=gl_MultiTexCoord0.xyxy+vec4( 0.5, 0.5, 1.5, 1.5) * OGL2Param.xyxy*2;
}
CSS:
//patched by Danila Zabiaka - white black noise
#define white 200.0
#define black 10.0
#define noise 7.0
#define offset -25.0
#define satoffset 5.0 //5 as start point. sat=satoffset-5.0, 6 means 1.1
float pseudoNoise(vec2 co)
{
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453)*fract(sin(dot(co.xy ,vec2(12.9898,78.233)*2.0)) * 43758.5453); //pseudo random number generator
}
vec3 czm_saturation(vec3 rgb, float adjustment)
{
// Algorithm from Chapter 16 of OpenGL Shading Language
const vec3 W = vec3(0.2125, 0.7154, 0.0721);
vec3 intensity = vec3(dot(rgb, W));
return mix(intensity, rgb, adjustment);
}
uniform sampler2D OGL2Texture;
const vec3 RGBtoY = vec3(0.299, 0.587, 0.114);
const vec3 RGBtoI = vec3(0.596,-0.275,-0.321);
const vec3 RGBtoQ = vec3(0.212,-0.523, 0.311);
const vec3 YIQtoR = vec3(1.0, 0.95568806036115671171, 0.61985809445637075388);
const vec3 YIQtoG = vec3(1.0,-0.27158179694405859326,-0.64687381613840131330);
const vec3 YIQtoB = vec3(1.0,-1.10817732668266195230, 1.70506455991918171490);
void main()
{
vec3 c0, c1;
c0 = (texture2D(OGL2Texture,gl_TexCoord[0].xy).rgb +
(texture2D(OGL2Texture,gl_TexCoord[0].zy).rgb) * 0.25 +
(texture2D(OGL2Texture,gl_TexCoord[0].xw).rgb) * 0.25 +
texture2D(OGL2Texture,gl_TexCoord[1].xy).rgb +
(texture2D(OGL2Texture,gl_TexCoord[1].zy).rgb) * 0.25 +
(texture2D(OGL2Texture,gl_TexCoord[1].xw).rgb) * 0.25 +
texture2D(OGL2Texture,gl_TexCoord[2].xy).rgb +
(texture2D(OGL2Texture,gl_TexCoord[2].zy).rgb) * 0.25 +
(texture2D(OGL2Texture,gl_TexCoord[2].xw).rgb) * 0.25 +
texture2D(OGL2Texture,gl_TexCoord[3].xy).rgb +
(texture2D(OGL2Texture,gl_TexCoord[3].zy).rgb) * 0.25 +
(texture2D(OGL2Texture,gl_TexCoord[3].xw).rgb) * 0.25 ) / 6.0;
c1 = vec3(pow(dot(c0, RGBtoY), 1.2), dot(c0, RGBtoI) * 1.2, dot(c0, RGBtoQ) * 1.2);
gl_FragColor = vec4(dot(c1, YIQtoR), dot(c1, YIQtoG), dot(c1, YIQtoB), 0.0);
gl_FragColor.xyz = czm_saturation(gl_FragColor.xyz, 1.0+(satoffset-5.0)/10.0);
gl_FragColor = gl_FragColor *white/255.0+black/255.0-gl_FragColor*black/255.0+(pseudoNoise(gl_TexCoord[1].xy)+offset/100.0)*noise/100.0;
}
AND there is LCD problem - it has to white 255-255-255 color, you can reduce it using windows's dccw. I prefer warm colors so my settings like this
Also, LCD displays has problem with black point, normally you should increase black point, but you cant. But you can make it with shader.
Bye!
Show Content