Est 1024x1024 largement pris en charge OpenGL maximum la taille de la texture sur le bureau?
Je suis entrain de créer un sprite moteur qui utilise le concept de "graphiques banques" pour accélérer le rendu à l'aide de lots. Je me demandais si quelqu'un sait si 1024x1024 les textures sont largement pris en charge assez de ces jours à compter, et/ou si il y a un moyen de savoir combien de temps il a été un soutien pour 1024x0124 en termes de puces graphiques /cartes, comme un graphique ou quelque chose, et de décider en fonction de l'estimation de la compatibilité %, si je doit aller avec 1024x1024 ou de limiter les banques à 512x512 (j'ai un sentiment est le plus largement pris en charge, si vous comptez intégrée des accélérateurs)
- Vous pourriez soutenir à la fois. Vérifier
GL_MAX_TEXTURE_SIZE
et l'échelle de l'textures vers le bas par programmation avant de les télécharger. La division de la résolution de la moitié est très facile si vous utilisez une puissance de deux largeurs et hauteurs, le nouveau pixel dans l'image plus petite est la moyenne de quatre pixels dans l'image d'origine. - Oui, j'ai pensé à ce sujet. Mise à l'échelle vers le bas dispose de deux grands chefs d'accusation contre elle; 1) Mon sprite moteur de 4 bits palette graphique, avec 4 palettes pré-calculées à l'intérieur de chaque banque (chaque quadrant utilise une autre palette, pour éviter d'avoir à compter sur le pixel shader) de sorte que le style pixélisé sera ruiné par le filtrage; 2) il ne peut être vaut le coût dans le code de la complexité et de l'entretien; je préfère le garder simple et dépendent de la taille plus petite (ou laisser le conducteur n'importe quel downscaling) - ou carrément refuser de l'exécuter si la max la taille de la texture n'est pas pris en charge. vous ne voulez pas perdre ma vie à écrire de la colle...
- Oui, 1024 est une commune de la taille du bureau. OpenGL 3.0 implémentations sont nécessaires pour soutenir cette résolution au minimum. Un saut énorme à partir d'OpenGL 2.0, qui a uniquement requis 64x64 texel textures 🙂 la Plupart des Gpu pour pc de bureau de support de 4096-16384, et avec peu de textures en 4.x, le maximum pris en charge texture dimensions seront presque dénuée de sens.
- Merci pour la réponse. Je ne dirais pas que la taille maximale de texture sera à peu près, ou même presque vide de sens. Je viens de la lire et clairsemée textures seront floues quand il y a un cache miss
- Ce que je voulais dire par la c'est que le adressable texel gamme sera si grand que vous n'aurez pas à vous inquiéter. Éparses les textures ne sont pas sur le cache de l'efficacité, ils sont sur la définition de comportement lorsqu'une partie de la texture qui n'est pas encore chargé, sont chargés pour la première fois. Pensez à la situation, comme une défaillance de page dans traditionnelle de la mémoire virtuelle, le temps de latence doit être mise au service de la faute, mais vous pouvez avoir une application qui utilise des ressources beaucoup plus grande que ne pourrait jamais tenir en mémoire à la fois. T
Vous devez vous connecter pour publier un commentaire.
Selon cette SORTE de réponse "quelle est la taille maximale de la texture de l'iphone peut prendre en charge?" l'iPhone 3g peut soutenir 1024x1024 texture tailles. Ce téléphone a été publié en 2008, ce qui m'amène à croire que la plupart des ordinateurs de bureau serait en mesure de soutenir la même chose il y a 5 ans.
La GL_MAX_TEXTURE_SIZE est définie par la mise en œuvre. Wild Fire Games a également eu la gentillesse d'offrir à leurs OpenGL capacités de rapport qui a max la texture des tailles de leur ensemble de données. Que de la rédaction du présent, seuls 18 des 33085 (0.05%) utilisateurs ont signalé ne pas avoir la capacité de rendre un GL_MAX_TEXTURE_SIZE 1024 ou plus.