0 registered members (),
1,459
guests, and 9
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Kontrast erhöhen
[Re: Hummel]
#355380
01/26/11 18:30
01/26/11 18:30
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
das hier: float fContrast = 1.02; texture TargetMap; sampler TargetSampler = sampler_state { texture = <TargetMap>; }; float4 postprocessing_contrast( float2 Tex : TEXCOORD0 ) : COLOR0 { float4 Color = float4(0, 0, 0, 1.0); float4 Color1 = float4(0.5, 0.5, 0.5, 1.0); Color = ((tex2D( TargetSampler, Tex.xy) - Color1) * fContrast) + Color1 * 0.95; return Color; } technique Contrast { pass p1 { PixelShader = compile ps_2_0 postprocessing_contrast(); } } an alle: druckwelle nich vergessen
Last edited by xxxxxxx; 01/26/11 18:32.
Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben!
|
|
|
Re: Kontrast erhöhen
[Re: xxxxxxx]
#355393
01/26/11 19:12
01/26/11 19:12
|
Joined: Mar 2006
Posts: 2,252
Hummel
Expert
|
Expert
Joined: Mar 2006
Posts: 2,252
|
well, I see... Guck dir einfach mal an was ein Function Plotter da ausgibt, wenn du deine Funktion: (((x)-0.5)*1.2)+0.5*0.95 zusammen mit meiner x^2*(3-2*x) zeichnen lässt. (Bereich zwischen 0 und 1 ist entscheident, alle Werte außerhalb werden auf 0 und 1 geclamped) Wie du sehen kannst schneidet deine Funktion Werte ab bestimmten min und max Schwellen einfach ab und verläuft auch nicht durch (0.5|0.5) sondern macht die Szene tendenziell dunkler (liegt am 0.95). Wenns dir darum geht die Stärke einstellen zu können, kann ich dir noch folgendes anbieten:
texture TargetMap;
float fContrast=0.7;//between 0..1
sampler COLOR_SAMPLER = sampler_state { Texture = <TargetMap>; MinFilter = Linear; MagFilter = Linear; MipFilter = None;};
float3 local_contrast(float3 color)
{
return color*color*(3-2*color);
}
void PS(
in float2 Tex : TEXCOORD0,
out float4 COL : COLOR0
)
{
COL.rgb=tex2D(COLOR_SAMPLER,Tex).rgb;
float3 max_contrast_color=local_contrast(COL.rgb);
//max_contrast_color=local_contrast(max_contrast_color);//add even more contrast if needed
COL.rgb=lerp(COL.rgb,max_contrast_color,fContrast);//blend between original color and maximal contrast
COL.a=1;
}
technique Shading
{
pass one
{
PixelShader = compile ps_2_0 PS();
}
}
Last edited by Hummel; 01/26/11 19:14.
|
|
|
Re: Kontrast erhöhen
[Re: Hummel]
#355397
01/26/11 19:26
01/26/11 19:26
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
Klappt! Danke für die Hilfe! brauche immer noch die druckwelle mfg xxxxxxx
Last edited by xxxxxxx; 01/26/11 19:41.
Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben!
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|