website logo
Auteur
avatar
thellier

Forum » » OS4 toutes plateformes confondues » » A propos de Warp3D


Posté : 07-01-2013 14:02 icone du post

Hello

> En fonction de la taille du polygone, le GPU va toujours utiliser la version la plus petite possible pour maximiser les performances.
T'es sûr de ça ? J'arrive pas en trouver la confirmation dans les specs opengl...
Moi, intuitivement, j'aurai cru qu'il prenait toujours la plus grande pour pas perdre de détails... (je veut dire si le "pas" est entre deux mipmaps il prend la plus grande des deux)
Mais ça change pas grand chose car je pense plutot que le problème venait du fait qu'il traitait tout linéairement par segment horizontaux, un pixel après l'autre
Genre une face comme ceci, réprésentant un mur gauche de ton couloir, aplati dans le sens horizontal
12
3456A
BCDEF
GHIJKL
MNOPQ
RSTUV
WX
Alors il traite les pixels dans mon ordre alphabétique et donc prend toujours la plus petite mipmap comme tout les segments horizontaux (comme BCDEF) sont serrés dans ce sens. Si il prenait la face dans son ensemble (cad élargie en vertical) il verrait que c'est une plus grosse mipmap qu'il faut

Je pense que pour chaque pixel l'Anisotropic doit prendre
* les 4 texels autour (=bilinear=linear en x + linear en y)
* des 2 mipmaps autour du "pas" (trilinear)
* pour le "pas" horizontal Et le "pas" vertical (anisotropic)
soit 16 texels = oupps !!!

Ca bouffe pas de trop de bande passante cet Anisotropic ? T'aurais pas eu plutot intérêt à découper tes murs "en bandes de papier peints" moins larges ???

Alain

texels: pixels d'une texture.
Ici 16 texels vont donner un seul pixel à l'écran....

Message édité par : thellier / 07-01-2013 14:05

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1442&forum=6