Ich gerendert mehrere Symbole auf eine Textur Atlas, deren Hintergrund ist völlig transparent (die Textur Atlas Bild bekam alpha-Kanal, RGBA Formiat). Danach verwende ich den Texturatlas, um alle Symbole zu zeichnen, solange die Symbole auf der Textur erscheinen.OpenGL Textur Farbe wird nicht korrekt angezeigt, wenn gedrehte
Das Problem ist, wenn das gerenderte Symbol nicht gedreht wird, alles in Ordnung ist. Die Symbolfarbe scheint jedoch falsch zu sein, wenn sie gedreht wurde.
Wie die folgende Abbildung zeigt: die linke Pfeilsymbol nicht richtig gedreht und gerendert. Die Farbe am Rand des rechten Symbols, das gedreht wird, hat sich irgendwie geändert.
Was könnte das verursachen?
EDIT:
Als @BDL vorgeschlagen, änderte ich den Parameter auf:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
Aber einige der Symbole noch nicht zeigen, wie erwartet:
Das Dreiecksymbol auf der rechten Seite ist c orrect.
ich auch versucht:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
funktioniert auch nicht.
Soll ich die Farbe der Textur-Hintergrund ändern die gleiche wie die Symbole Grenze Pixelfarbe und dann GL_LINEAR als Texturfilter-Option?
Ihre Anti-Aliasing-Technik – shan
überprüfen, welche Farbe der transparenten Pixel im Quellbild sind? Schwarz? Weiß? – genpfault
@genpfault Schwarz –