Vergleich der Pixel über texture2D

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Vergleich der Pixel über texture2D

    Hi
    Ich versuche über texture2D die umliegenden Pixel zu checken, ob sie Weiß sind. Das klappt aber leider nicht so gut.
    Ich habe in einem Surface alles schwarz ,bis auf ein kleines weißes Rechteck gezeichnet.
    Über den Code versuche ich die Anzahl herauszufinden (mit sin und cos hätte ich es auch machen können aber ich mag Radiant nicht):

    Quellcode

    1. vec4 black = vec4(0.0,0.0,0.0,1.0);
    2. vec4 white = vec4(1.0,1.0,1.0,1.0);
    3. vec4 col = black;
    4. int neighbours = 0;
    5. float xx = 1.0/u_fTWidth;
    6. float yy = 1.0/u_fTHeight;
    7. if(texture2D(gm_BaseTexture,vec2(v_vTexcoord.x+xx,v_vTexcoord.y))==white){
    8. neighbours++;
    9. col.r = 0.5; //red 0.5
    10. }
    11. if(texture2D(gm_BaseTexture,vec2(v_vTexcoord.x-xx,v_vTexcoord.y))==white){
    12. neighbours++;
    13. col.r = 1.0; //red
    14. }
    15. if(texture2D(gm_BaseTexture,vec2(v_vTexcoord.x,v_vTexcoord.y+yy))==white){
    16. neighbours++;
    17. col.g = 0.5; //green 0.5
    18. }
    19. if(texture2D(gm_BaseTexture,vec2(v_vTexcoord.x,v_vTexcoord.y-yy))==white){
    20. neighbours++;
    21. col.g = 1.0; //green
    22. }
    Alles anzeigen

    für debugging zwecken habe ich dann halt die Farben der Pixel dabei verändert.
    Das Problem ist, dass über dem Rechteck eine dunkelgrüne Linie ist und unter dem eine hellgrüne Linie ist.
    Sollte auch eigentlich richtig sein, aber das Rechteck selber bleibt einfach komplett weiß und rechts und links ist kein rot zu sehen.
    Hat das was mit der Textur zu tun?
    Die Breite und Höhe sind über uniform natürlich korrekt übergeben.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe