2010-09-27 3 views
5

ich zur Zeit spielte etwa mit Lektion setzenWie 08 hier Hintergrundfarbe auf Open GL ES Android

http://insanitydesign.com/wp/projects/nehe-android-ports/

ich von Schwarz auf Weiß möchte die Hintergrundfarbe ändern. Um dies zu Beginn von onDrawFrame() zu tun, habe ich

gl.glClearColor (1.0f, 0.0f, 0.0f, 0.0f) aufgerufen;

Dies stellt zwar einen weißen Hintergrundbildschirm dar, führt aber auch dazu, dass sonst nichts auf dem Bildschirm erscheint! Dies ist also eindeutig eine falsche Methode, aber warum und wie repariere ich sie ?!

Vielen Dank im Voraus.

Edit (5 Tage später): Weiß das überhaupt keiner? !!

+2

Hat es tatsächlich einen weißen Hintergrund gesetzt? Sollte rot sein. – ybungalobill

+0

Entschuldigung ich wollte schreiben gl.glClearColor (0.0f, 0.0f, 0.0f, 0.0f); – user455141

Antwort

2

Nachdem Sie gl.glClearColor() aufgerufen haben, zeichnen Sie alles andere neu. gl.glClearColor() ändert die Hintergrundfarbe nicht, sondern füllt den Bildschirm einfach mit weißer Farbe (wodurch alles gelöscht wird, was Sie zuvor gezeichnet haben).

+0

Ich zeichne alles neu, aber ich sehe immer noch nur weiß. Wenn ich das Blending deaktiviere und stattdessen den Tiefen-Test aktiviere, funktioniert es perfekt. Es ist also klar, dass es ein Problem mit dem Mischen gibt ... – user455141

7

Der weiße Bildschirm ist, weil Sie den Alpha-Wert auf 0.0f festgelegt haben.

Die Parametersignatur ist: - gl.glClearColor(float red, float green, float blue, float alpha) wobei Floats einen Wert zwischen 0,0 bis 1,0 haben.

Mehr der Float-Wert von alpha undurchsichtiger der Bildschirm ist.

Verwandte Themen