kickerxy123
Erfahrenes Mitglied
Hallo,
folgendes Problem habe ich derzeit: ich möchte einen Kreis malen. Aus Performancegründen dachte ich mir, dass ein Viereck mit Kreistextur effizienter ist, als ein irgendwie gemalter Kreis mit sin/cos etc Operationen (korrigiert mich, wenn ich da falsch liege!). Soweit so gut, er malt auch einen Kreis. Allerdings kann ich nun nicht ohne Weiteres die Farbe von dem Kreis ändern... Die Möglichkeiten die sich mir ergeben sind:
a) ColorBlending, AlphaBlending
b) Textur sperren, Bits ändern, entsperren (kann nicht effizient sein ...)
zu a) wie ich es auch drehe und wende, ich kriege es nicht hin das ordentlich zu mappen. Vielleicht fehlt mir hier die detaillierte Kenntnis über das Blending. Ich müsste die Kreistextur in ihrer Ursprungsfarbe (schwarz) malen und dann darüber ein farbiges Viereck blenden, aber eben so, dass es ein Kreis bleibt (->alpha vom gemalten kreis, color vom Viereck. geht das?*). Oder könnte man das in einem separaten Bildschirmpuffer zusammenrendern?
*ich denke nicht, da der Kreis gemalt wird und dann keine Information mehr über etwaige alpha-Werte hat, oder? Daher auch die Idee mit dem separaten Bildschirmpuffer, den man mit alpha initialisieren könnte.
Noch eine Idee kam mir: Ich könnte drei Kreise erstellen und die zusammen blenden, also einen roten, grünen und blauen Kreis wegen des RGB-Systems.
Grundsätzlich würdet ihr mir schon sehr helfen, wenn ihr mir sagt, wie ich möglichst effizient einen farbigen Kreis darstellen kann, der alle (A)RGB-Werte annehmen kann. Effizienz ist wichtig, da mehrere Kreise im Worst-Case einmal pro Frame die Farbe wechseln. An meinen diffusen Ideen könnt ihr sehen, dass mir ein "Wegweiser" höchst willkommen wäre ;-)
Danke und viele Grüße,
exo
folgendes Problem habe ich derzeit: ich möchte einen Kreis malen. Aus Performancegründen dachte ich mir, dass ein Viereck mit Kreistextur effizienter ist, als ein irgendwie gemalter Kreis mit sin/cos etc Operationen (korrigiert mich, wenn ich da falsch liege!). Soweit so gut, er malt auch einen Kreis. Allerdings kann ich nun nicht ohne Weiteres die Farbe von dem Kreis ändern... Die Möglichkeiten die sich mir ergeben sind:
a) ColorBlending, AlphaBlending
b) Textur sperren, Bits ändern, entsperren (kann nicht effizient sein ...)
zu a) wie ich es auch drehe und wende, ich kriege es nicht hin das ordentlich zu mappen. Vielleicht fehlt mir hier die detaillierte Kenntnis über das Blending. Ich müsste die Kreistextur in ihrer Ursprungsfarbe (schwarz) malen und dann darüber ein farbiges Viereck blenden, aber eben so, dass es ein Kreis bleibt (->alpha vom gemalten kreis, color vom Viereck. geht das?*). Oder könnte man das in einem separaten Bildschirmpuffer zusammenrendern?
*ich denke nicht, da der Kreis gemalt wird und dann keine Information mehr über etwaige alpha-Werte hat, oder? Daher auch die Idee mit dem separaten Bildschirmpuffer, den man mit alpha initialisieren könnte.
Noch eine Idee kam mir: Ich könnte drei Kreise erstellen und die zusammen blenden, also einen roten, grünen und blauen Kreis wegen des RGB-Systems.
Grundsätzlich würdet ihr mir schon sehr helfen, wenn ihr mir sagt, wie ich möglichst effizient einen farbigen Kreis darstellen kann, der alle (A)RGB-Werte annehmen kann. Effizienz ist wichtig, da mehrere Kreise im Worst-Case einmal pro Frame die Farbe wechseln. An meinen diffusen Ideen könnt ihr sehen, dass mir ein "Wegweiser" höchst willkommen wäre ;-)
Danke und viele Grüße,
exo
Zuletzt bearbeitet: