2010-07-07 12 views

Odpowiedz

11

trzeba zrobić dwie rzeczy:

  1. Kiedy włączasz CAEAGLLayer, należy ustawić właściwość nieprzezroczysta NO (lub FAŁSZ).

    Może być również konieczne sprawdzenie, czy właściwość drawableProperties używa formatu kolorów obsługującego przezroczystość (kEAGLColorFormatRGBA8 ma, ale kEAGLColorFormatRGB565 nie).

    eaglLayer.opaque = NO;

    eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil];

    Jeśli używasz OpenGL szablonu projektu Xcode, ten będzie w [EAGLView za initWithCoder].

  2. Narysuj tło w przezroczystym kolorze i alfa.

    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

    Jeśli używasz OpenGL szablonu projektu Xcode, ten będzie w "render" metod: [ES1Renderer renderowanie] i [ES2Renderer renderowanie].