Hallo,
ich will meine Application Surface gerne manuell drawn da ich noch diverse Effekte drauf anwenden will und dann im Hintergrund noch ein paar Surfaces zeichnen muss und erst alle Surfaces übereinander + die Application Surface oben drüber ergibt das Endbild
Aber jetzt steh ich vor einem Problem.
Wenn ich Sprites mit Pixeln drawe die Alphawerte von >0 aber <1 haben dann werden jetzt einfach die bereits vorhanden Alphawerte der Pixel an der Stelle auf der Application Surface durch den drüber gezeichneten Wert ersetzt!
Ich hab auf der Application Surface z.b. ein großes untransparentes rechteck gezeichnet und hab noch n objekt das weiter vorne is und das z.b. "durchsichtiges Glas" also z.b. hellblaue Pixel mit 0.3 alpha hat und das wird drüber gezeichnet.
Aber anstatt dass das Endergebnis das Rechteck mit etwas hellblauer Farbe oben drüber und komplett deckend ist erhalte ich ein Recteck das an der stelle wo das Glas ist transparent ist und ich sehe dann plötzlich durch das Rechteck durch den Hintergrund.
Also: Wenn ich application_surface_draw_enable aus mache und die application surface selber drawe verhalten sich Alphawerte plötzlich anders und ersetzen sich gegenseitig. Noch schlimmer wirds wenn ich dann auch noch die application surface über eine andere surface drüber drawn will.
Wie also lasse ich die application surface und allgemein surfaces sich so verhalten wie sich auch normales drawn verhält!? Ihr wisst schon, so wie mans erwartet wenn man z.b. in GIMP mit einem transparenten Pinsel über etwas drüber malt.
Hab schon verschiedene Sachen ausprobiert und viele Threads gelesen, aber 100%ig geholfen hat leider noch nichts.
Ich bitte um irgendwelche Ideen, Lösungen oder Denkanstöße mit denen ich mein Projekt nicht verändern muss aber trotzdem alle Surfaces und Sprites übereinander gezeichnet werden können ohne dass sie ihre Alphawerte gegenseitig ersetzen.
Danke
- Pac
ich will meine Application Surface gerne manuell drawn da ich noch diverse Effekte drauf anwenden will und dann im Hintergrund noch ein paar Surfaces zeichnen muss und erst alle Surfaces übereinander + die Application Surface oben drüber ergibt das Endbild
Aber jetzt steh ich vor einem Problem.
Wenn ich Sprites mit Pixeln drawe die Alphawerte von >0 aber <1 haben dann werden jetzt einfach die bereits vorhanden Alphawerte der Pixel an der Stelle auf der Application Surface durch den drüber gezeichneten Wert ersetzt!
Ich hab auf der Application Surface z.b. ein großes untransparentes rechteck gezeichnet und hab noch n objekt das weiter vorne is und das z.b. "durchsichtiges Glas" also z.b. hellblaue Pixel mit 0.3 alpha hat und das wird drüber gezeichnet.
Aber anstatt dass das Endergebnis das Rechteck mit etwas hellblauer Farbe oben drüber und komplett deckend ist erhalte ich ein Recteck das an der stelle wo das Glas ist transparent ist und ich sehe dann plötzlich durch das Rechteck durch den Hintergrund.
Also: Wenn ich application_surface_draw_enable aus mache und die application surface selber drawe verhalten sich Alphawerte plötzlich anders und ersetzen sich gegenseitig. Noch schlimmer wirds wenn ich dann auch noch die application surface über eine andere surface drüber drawn will.
Wie also lasse ich die application surface und allgemein surfaces sich so verhalten wie sich auch normales drawn verhält!? Ihr wisst schon, so wie mans erwartet wenn man z.b. in GIMP mit einem transparenten Pinsel über etwas drüber malt.
Hab schon verschiedene Sachen ausprobiert und viele Threads gelesen, aber 100%ig geholfen hat leider noch nichts.
Ich bitte um irgendwelche Ideen, Lösungen oder Denkanstöße mit denen ich mein Projekt nicht verändern muss aber trotzdem alle Surfaces und Sprites übereinander gezeichnet werden können ohne dass sie ihre Alphawerte gegenseitig ersetzen.
Danke
- Pac
Sorm ist Schuld
Edit: Doch ist er
Edit: Doch ist er