2010-08-06 19 views
3

J'utilise actuellement la génération de mipmap automatique (C# + OpenTK):Création et en utilisant mon propre mipmap d'un atlas de texture

GL.GenerateMipmap(GenerateMipmapTarget.Texture2D); 

La texture J'utilise est carrelé en blocs de 16px². Donc, mes questions seraient:

  • Est-il possible d'utiliser un mipmap qui n'est pas réduit à 1x1?
  • Quelle serait la meilleure façon de créer un mipmap qui ne "brouillerait" pas les blocs dans un autre?

Répondre

5

Vous voulez dire, en utilisant une chaîne mipmap qui ne va pas jusqu'à 1x1? Vous pouvez limiter les niveaux pouvant être utilisés avec glTexParameter, voir les paramètres GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL et GL_TEXTURE_MAX_LEVEL.

Je ne comprends pas votre deuxième question, si vous voulez dire utiliser vos propres mipmaps générés, voir le paramètre de niveau de glTexImage2D, avec cela vous pouvez télécharger vos propres mipmaps, filtrés de toute façon.

+0

Merci, ça l'a fait remarquer. Rétrospectivement, ma deuxième question était un peu stupide. Je vais essayer d'éviter de poser plusieurs questions à la fois :) – copyboy

+2

@copyboy: pas si stupide. Il y a de la littérature sur le sujet. Il tourne autour de faire des sous-ensembles de puissance de deux, et de laisser de l'espace entre les sous-textures de l'atlas (également important pour une cartographie correcte) – Bahbar