updated refinement shader
This commit is contained in:
@@ -21,7 +21,7 @@ int IS_FOREGROUND = 2;
|
|||||||
int UNSET = -1;
|
int UNSET = -1;
|
||||||
|
|
||||||
float M_PI= 3.14159;
|
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
|
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
|
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){
|
vec3 Pruefe_Pixel_in_Umgebung (vec2 start){
|
||||||
float winkel=2*M_PI/anzahl_richtungen;
|
float winkel=2*M_PI/anzahl_richtungen;
|
||||||
int i=0;
|
int i=0;
|
||||||
|
float gefundene_pixel=0.0f;
|
||||||
float maximal=0;
|
float maximal=0;
|
||||||
float gesamt_abstand=0.0f;
|
float gesamt_abstand=0.0f;
|
||||||
while(i<anzahl_richtungen){
|
while(i<anzahl_richtungen){
|
||||||
SicheresPixel[i]=suche_Pixel_nach_winkel(start, winkel*i);
|
SicheresPixel[i]=suche_Pixel_nach_winkel(start, winkel*i);
|
||||||
if(SicheresPixel[i].w!=-1)
|
if(SicheresPixel[i].w!=-1){
|
||||||
gesamt_abstand+=SicheresPixel[i].w;
|
gesamt_abstand+=SicheresPixel[i].w;
|
||||||
|
gefundene_pixel++;
|
||||||
if(maximal<SicheresPixel[i].w)
|
if(maximal<SicheresPixel[i].w)
|
||||||
maximal=SicheresPixel[i].w;
|
maximal=SicheresPixel[i].w;
|
||||||
|
}
|
||||||
|
|
||||||
i=i+1;
|
i=i+1;
|
||||||
}
|
}
|
||||||
maximal++;
|
maximal++;
|
||||||
@@ -98,7 +102,7 @@ vec3 Pruefe_Pixel_in_Umgebung (vec2 start){
|
|||||||
}*/
|
}*/
|
||||||
i=0;
|
i=0;
|
||||||
vec3 kombiniert=vec3(0.0f);
|
vec3 kombiniert=vec3(0.0f);
|
||||||
float nenner=anzahl_richtungen*maximal-gesamt_abstand;
|
float nenner=gefundene_pixel*maximal-gesamt_abstand;
|
||||||
while(i<anzahl_richtungen){
|
while(i<anzahl_richtungen){
|
||||||
if(SicheresPixel[i].w!=-1)
|
if(SicheresPixel[i].w!=-1)
|
||||||
kombiniert+=SicheresPixel[i].xyz*(maximal-SicheresPixel[i].w)/nenner;
|
kombiniert+=SicheresPixel[i].xyz*(maximal-SicheresPixel[i].w)/nenner;
|
||||||
|
|||||||
Reference in New Issue
Block a user