2D Shadows



  • schattenspieler schrieb:

    vor allem, wie bekomme ich so weich interpolierte uebergaenge, die mir beim malen des lichtes automatisch erstellt werden in den stencil buffer?

    glStencilMask erwartet ja ein unsigned-char -Array. Dort kann man ja auch mit der Intensität variieren. Oder kennst du den Aufbau der Stencil-Methoden OpenGLs nicht?



  • sorry, aber du bist so unkonkret wie man einfach nur sein kann.

    glStencilMask erwartet ein int, das zum maskieren bestimmter bits im buffer benutzt wird. was hat das mit weichen übergängen zu tun, und erst recht mit abdunkeln von bits?

    poste bitte mal klipp und klar wie du das implementieren würdest, gerne mit ein wenig pseudocode, aber bitte keinen pseudocode wenn es um den konkreten aufruf von opengl funktionen geht.



  • aha, anscheinend hast du wirklich nur gebullshittet und keine ahnung wovon du redest, wie ich es von anfang an vermutete.

    wenn jemand anderes eine idee hat, wäre ich für hilfe sehr dankbar! ich habe es zwischenzeitlich mit zusätzlichen blending probiert, das haut aber nicht so wirklich hin, da manche der objekte die vom licht beeinflusst werden schon selber blending benötigen (zum rausmaskieren von farben in einer textur, z.b. dieses typische 255,0,255 magenta als hintergrund in sprites).



  • Per Stencil kriegst Du keine weichen Schatten weil Du ja pro Pixel jeweils nur einen Entweder/Oder-Test machen kannst.
    Wenn Du den Alpha-Kanal nicht benutzen willst, dann schreib die Schattenintensitaet doch einfach in ein separates Rendertarget...



  • hellihjb schrieb:

    Per Stencil kriegst Du keine weichen Schatten weil Du ja pro Pixel jeweils nur einen Entweder/Oder-Test machen kannst.
    Wenn Du den Alpha-Kanal nicht benutzen willst, dann schreib die Schattenintensitaet doch einfach in ein separates Rendertarget...

    das hab ich mir schon ueberlegt. das weichzeichnen einfach per render-to-texture direkt auf die textur kleben, nachdem ich ihre alpha-werte schon bearbeitet habe.

    habe aber diese art von extensions in opengl noch nicht benutzt (framebuffer objects). dann mach ich mich mal auf die suche nach tutorials^^


Anmelden zum Antworten