Question

J'ai besoin dans anticrénelage dans l'iPhone 3G (OpenGL ES1.1), pas l'iPhone 3Gs avec OpenGL ES.2.0. J'ai dessiner le modèle 3D et avoir à côté: pixels sur les bords du modèle ressemblent à des dents

.

J'ai essayer des filtres pour définir la texture, mais les filtres faisant texture seulement regarder à l'intérieur mieux.

Comment puis-je faire un bon antialiasing? Peut-être que je devrais utiliser toutes les surfaces lisses pour dessiner des triangles? Si oui, alors comment il possible dans OpenGL ES1.1?

merci.

Était-ce utile?

La solution

Vous pouvez rendre dans un plus grand et utiliser OIR alors que comme une texture sur un carré.

Jetez un oeil à cet article pour une explication .

Autres conseils

.

Comme d'iOS 4.0, l'anti-aliasing plein écran est directement pris en charge par une extension Apple OpenGL Le concept de base est similaire à la suggestion de epatel: rendre la scène sur un framebuffer plus grand, puis copiez que vers le bas à un écran de taille framebuffer, puis copier ce tampon à l'écran. La différence est, au lieu de créer une texture et rendre sur un quad, l'opération de copie / échantillon est effectuée par un seul appel de fonction (en particulier, glResolveMultisampleFramebufferAPPLE()).

Pour plus de détails sur la façon de mettre en place les tampons et modifier votre code de dessin, vous pouvez lire un tutoriel sur le blog Jeux Gando qui est écrit pour OpenGL ES 1.1; il y a aussi une note sur les forums de développeurs d'Apple expliquant la même chose.

Merci à Bersaelor pour avoir signalé dans une autre question SO .

Vérifiez les paramètres EGL_SAMPLE_BUFFERS et EGL_SAMPLES eglChooseConfig () , ainsi que glEnable (GL_MULTISAMPLE) .

EDIT: Hmm, apparemment que vous êtes hors de la chance, à moins aussi loin que les approches normalisées vont. Comme mentionné dans ce fil, vous pouvez rendre à un grand écran hors texture et une plus petite échelle à quatre à l'écran ou la gigue de la matrice de vue plusieurs fois.

Nous avons trouvé un autre moyen d'y parvenir. Si vous modifiez vos textures et ajoutez par exemple un cadre de 2 pixels de pixels transparents, les pixels colorés dans la texture sont mélangés avec les pixels transparents si nécessaire de donner un effet anti-aliasing de base. Vous pouvez lire l'article complet ici notre blog .

L'avantage de cette approche est que vous n'êtes pas le rendu d'une image plus grande, ou la copie d'un tampon, ou pire encore, faire une texture d'un tampon, donc il n'y a pas d'impact sur les performances.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top