updated refinement shader

This commit is contained in:
Joshua
2016-09-23 13:27:34 +02:00
parent b749254426
commit c538021666

View File

@@ -21,7 +21,7 @@ int IS_FOREGROUND = 2;
int UNSET = -1;
float M_PI= 3.14159;
int suchbreich=400; //die anzahl der Pixel, die maximal in eine Richtung gegangen wird um einen Sicheren Pixel zu finden
int suchbreich=20; //die anzahl der Pixel, die maximal in eine Richtung gegangen wird um einen Sicheren Pixel zu finden
vec4 SicheresPixel[20]; //Speichert die das nachste Sichere Pixel, Array grosse=anzahl der Richtungen
int anzahl_richtungen=20; //Speichert anzahl der Richtungen muss gleich der Array grosse von SicheresPixel sein
@@ -78,14 +78,18 @@ float Farbabstand(int i){
vec3 Pruefe_Pixel_in_Umgebung (vec2 start){
float winkel=2*M_PI/anzahl_richtungen;
int i=0;
float gefundene_pixel=0.0f;
float maximal=0;
float gesamt_abstand=0.0f;
while(i<anzahl_richtungen){
SicheresPixel[i]=suche_Pixel_nach_winkel(start, winkel*i);
if(SicheresPixel[i].w!=-1)
if(SicheresPixel[i].w!=-1){
gesamt_abstand+=SicheresPixel[i].w;
gefundene_pixel++;
if(maximal<SicheresPixel[i].w)
maximal=SicheresPixel[i].w;
}
i=i+1;
}
maximal++;
@@ -98,7 +102,7 @@ vec3 Pruefe_Pixel_in_Umgebung (vec2 start){
}*/
i=0;
vec3 kombiniert=vec3(0.0f);
float nenner=anzahl_richtungen*maximal-gesamt_abstand;
float nenner=gefundene_pixel*maximal-gesamt_abstand;
while(i<anzahl_richtungen){
if(SicheresPixel[i].w!=-1)
kombiniert+=SicheresPixel[i].xyz*(maximal-SicheresPixel[i].w)/nenner;