| Author | Topics » Book an abo for this thread |  |
Z Strong supporter
 

Status:Offline Date registered: 03.08.2005 Post:72 Send Message | Created on 12.08.2005 - 23:56 |  |
When comparing my PSX-Games running on the original PSX game system connected to the TV, and the same games running on ePSXe with the newst GPU Plugins, nearly every aspect is emulated perfectly or even surpasses the original (resolution, texture filtering, ...).
Not so for the colors. Even though it's possible to run 32-bit color depth on the PC, the whole image just looks more natural on the TV (just regarding colors!). It's because of color saturation. On the TV you just use the "color" slider, which allows to switch colors from black & white to over-saturated, almost comic-like colors. Using a computer monitor, you do not have that option, it's always fully saturated. Which looks very artificial IMO.
There are so many shaders out there improving textures, edges and so on... Well I was just wondering if there's a shader which allows to control color saturation?
If not, just take this as a proposal. Would be a nice step forward if your goal is to make PSX-Games looking as good or even better than on the PS Game-System. 
Maybe Level 1 = 1/4, Lv2 = half saturation, Lv 2 = 3/4, lv 4 = full saturation...? could this be combined with other shaders? Probably needs too many instructions... I got no Idea... ;-D
Please excuse my bad english, I'm not a native speaker.
[Dieser Beitrag wurde am 12.08.2005 - 23:58 von Z aktualisiert]
|
|
|
Z Strong supporter
 

Status:Offline Date registered: 03.08.2005 Post:72 Send Message | Created on 13.08.2005 - 03:04 |  |
guest schrieb
I would take a look at some shaders (like the MultiPowerSE shader).
|
Just tried it out! Well I was a bit confused of all the configuration options at first... but now I have to say: I'm impressed!
Nice work!
|
Z Strong supporter
 

Status:Offline Date registered: 03.08.2005 Post:72 Send Message | Created on 13.08.2005 - 15:27 |  |
Is there a way to control each color-channel (red, green, blue) separately? Would come in handy for those whose monitor colors aren't well balanced. 
|
Z Strong supporter
 

Status:Offline Date registered: 03.08.2005 Post:72 Send Message | Created on 16.08.2005 - 01:20 |  |
Works perfectly fine, thanks guest. Tried it out on the MultiPower SE-Shader and haven't noticed any slowdown so far.
Would be nice if you could explain the shader's configuration options (k value, min/mid/max, lin/sqr1/cube and so on...) a little further, for beginners like me. 
|
ShadX  Real addict
  

Status:Offline Date registered: 20.01.2005 Post:267 Send Message | Created on 26.08.2005 - 10:16 |  |
And "my" version:
gpuPeteOGL2.slv:
varying vec2 TexCoord;
void main (void)
{ gl_Position = ftransform(); TexCoord = gl_MultiTexCoord0.st; }
gpuPeteOGL2.slf:
const vec3 LumCoeff = vec3 (0.2125, 0.7154, 0.0721);
// increase or decrease theese values to adjust r, g and b color channels seperately const float AvgLumR = 0.5; const float AvgLumG = 0.5; const float AvgLumB = 0.5;
const float Brt = 1.0;//color brightness 1.0 = 100% 0.5=50% 1.5 = 150% const float Sat = 1.0;//color saturation 1.0 = 100% 0.5=50% 1.5 = 150% const float Con = 1.0;//color contrast 1.0 = 100% 0.5=50% 1.5 = 150%
varying vec2 TexCoord; uniform sampler2D OGL2Texture;
void main (void) { vec3 AvgLumin = vec3(AvgLumR,AvgLumG,AvgLumB); vec3 brtColor = texture2D(OGL2Texture, TexCoord).rgb * Brt; vec3 intensit = vec3(dot(brtColor, LumCoeff)); vec3 satColor = mix(intensit, brtColor, Sat); vec3 conColor = mix(AvgLumin, satColor, Con); gl_FragColor = vec4(conColor, 1.0); }
Bye
|