Ich habe überall nach einer Möglichkeit gesucht, Kanten von gefüllten Formen, die mit ShapeRenderer
(dh ShapeType.Filled
) gezeichnet wurden, mit Anti-Aliasing zu versehen, kann aber nichts darüber finden.
Linien funktionieren gut mit Gdx.gl.glEnable(GL10.GL_LINE_SMOOTH)
, aber nichts, was ich versucht habe, funktioniert mit gefüllten Formen. Also, hat jemand irgendwelche Vorschläge?
vielleicht wird dieser Link helfen: MULTI SAMPLING ANTI-ALASING IN LIBGDX AUF ANDROID
Im Allgemeinen müssen Sie Multisampling aktivieren, um die Kanten gefüllter Formen zu glätten.
Ich habe festgestellt, dass die Unterstützung von Anti-Aliasing in OpenGL fehlt (da die tatsächliche Unterstützung von der optionalen Hardware-Unterstützung abhängt), insbesondere für die grundlegenden Polygon-Primitive. Es gibt zwei Lösungen, die ich gefunden habe, um zu arbeiten:
Erstens können Sie bei der Verwendung von Texturen eine sinnvolle Mehrfachabtastung erzielen. Richten Sie Ihr Polygon vielleicht auf ein FrameBuffer-Objekt und kopieren Sie es dann auf den Bildschirm. Es gibt immer noch eine Reihe von Vorbehalten, siehe Ссылка für mehr Details.
Zweitens rendern Sie Ihre gefüllte Form mit einem Shader, der Anti-Aliase enthält, wie in dieser Frage: Antialiasing Kreise mit Shadern zeichnen . Wenn Ihre gefüllte primitive Form kompliziert ist, kann das ziemlich viel Arbeit sein. In Ссылка finden Sie Informationen zur Verwendung eines Shaders mit Libgdx. Diese Option funktioniert nur mit OpenGL ES 2.0.