Ich benutze OpenGL ES, um Dinge in meinem iPhone Spiel zu zeichnen. Manchmal mag ich ändern Sie das Alpha der Texturen, die ich zeichne. Hier ist der (Arbeits) Code, den ich benutze. Was ist, wenn überhaupt, in diesem Codebeispiel unnötig? Vielen Dank!Was mache ich, das ist unnötig? (iPhone, OpenGL ES)
// draw texture with alpha "myAlpha"
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,GL_COMBINE);
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB,GL_MODULATE);
glTexEnvf(GL_TEXTURE_ENV, GL_SRC0_RGB,GL_PRIMARY_COLOR);
glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND0_RGB,GL_SRC_COLOR);
glTexEnvf(GL_TEXTURE_ENV, GL_SRC1_RGB,GL_TEXTURE);
glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND1_RGB,GL_SRC_COLOR);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(myAlpha, myAlpha, myAlpha, myAlpha);
glPushMatrix();
glTranslatef(xLoc, yLoc, 0);
[MyTexture drawAtPoint:CGPointZero];
glPopMatrix();
glColor4f(1.0, 1.0, 1.0, 1.0);
Edit:
Die Probe obige Code ist w/a modifizierten Alpha-Wert für das Zeichnen (so kann ich verblassen Dinge in und out). Wenn ich nur zeichnen möchte, ohne den Alpha-Wert zu ändern, würde ich die letzten 5 Zeilen des obigen Beispiels nur ohne den letzten Aufruf von glColor4f verwenden.
Hey Nick, ich möchte nur eine Textur mit einem modifizierten Alpha-Wert zeichnen (damit ich die Textur ein-/ausblenden kann). Ich bin mir nicht sicher, ob alle Codezeilen notwendig sind. – MrDatabase