2010-06-20 9 views
2

J'ai une texture que j'aimerais avoir un contrôle relativement fin pour les deux ou trois plus grands niveaux de mipmap, mais à des tailles plus petites, je suis heureux d'avoir GL générer les mipmaps pour moi basé sur le plus petit 'ai téléchargé, jusqu'à 1x1. Est-ce possible? FWIW, je suis sur iPhone OS avec GL ES 1.1 avec ça.GL: Générer automatiquement certains niveaux de mipmap, mais pas tous?

J'ai essayé d'activer GL_GENERATE_MIPMAP, en téléchargeant un 128x128 puis 64x64, mais cela semble entraîner des couleurs loufoques (quads blancs) à toutes les tailles.

Existe-t-il un moyen de le faire? Ou dois-je pré-générer tous les niveaux si je dois en fournir plus d'un?

Merci.

Répondre

1

Selon les pages de manuel GL ES, ce que vous faites devrait fonctionner:

GL_GENERATE_MIPMAP Définit le paramètre de génération automatique de mipmap. Si elle est définie sur GL_TRUE, toute modification apportée aux texels intérieurs du tableau de base de niveau d'un mipmap calculera également un ensemble complet de tableaux mipmap dérivés du tableau de base de niveau modifié. Les niveaux de niveau de base de tableau + 1 à p sont remplacés par les tableaux dérivés, quel que soit leur contenu précédent. Tous les autres tableaux mipmap, y compris le tableau de base de niveau, sont laissés inchangés par ce calcul.

Extrait de GL ES 1.1 man pages: glTexParameter

Êtes-vous sûr que votre code est correct? Cela pourrait aussi être un bug dans votre implémentation de GL ES.