Je travaille sur l'application iPhone et j'ai une vue sur OpenGL Rendu sur un UIView régulier. Cela fonctionne, mais je ne peux pas sembler obtenir la vue OpenGL pour avoir un arrière-plan transparent qui montre l'UIView en dessous. Au lieu de cela, je reçois une grosse boîte noire. P>
J'ai essayé de régler la couleur d'arrière-plan à Uicolor ClearColor, j'ai défini opaque à non, j'ai défini Glclearcolor sur 0,0,0,0,0,0,0,0,0.0. P>
Je pense que je suis mal compris / abuser des quelque chose liés aux modes de mélange, mais je ne suis pas sûr. Quelqu'un peut-il me donner un peu de code qui montre comment faire cela? P>
Merci d'avance. P>
3 Réponses :
Vérifiez le format de couleur de votre vue. Si vous l'avez défini sur keaglcolorformatrgb565 code> via le dictionnaire
drawableProperties code>, le canal alpha du contenu de la vue sera traité implicitement comme 1,0, quel que soit ce que vous en tirez. < / p>
Voici ce que je devais faire pour que cela fonctionne pour travailler:
eaglLayer.opaque = NO; eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil]; glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
J'ai trouvé que les "diguesProperties" étaient inutiles dans iOS 5 et plus
Cependant ... je veux souligner que vous devez appeler "opaque = n °" dans "ViewDidLoad" ou similaire - Si vous le définissez dans le fichier NIB, Apple écrase en silence à l'exécution (mal!)
ajoutez ceux dans eagglview.m
Avez-vous déjà eu ce travail? J'ai un problème similaire. J'utilise keaglcolorformatrgba8 dans des pure-propres.