Question

Dois-je toujours en utilisant cette méthode lors du rendu? Est-il ralentir beaucoup sur les mauvaises cartes graphiques?

Si le résultat final n'aura pas beaucoup de visages réformées, devrais-je être même en utilisant cette méthode alors?

Était-ce utile?

La solution

Si tous vos modèles sont correctement définis (convexe, avec enroulement sommet cohérent), l'abattage sanitaire ne sera jamais nui au rendement, et aidera presque toujours la performance.

Imaginez que vous êtes rendu un cube, avec culling désactivé. Les visages sur le dos (côté loin) du cube se rendu face à vous, et tout ce matériel face arrière vous avez choisi les attributs s'appliqué. Ensuite, les visages à l'avant du cube se rendus. Car les faces arrière qui viennent d'être rendus sont à l'intérieur du cube, ils sont 100% occluse par les faces avant

Si le cube a été orienté différemment, les faces avant peut-être tramée d'abord, mais les faces arrière seront toujours traitées et les fragments rejetés par le tampon z.

Résultat net: vous Rasterized 2x autant de fragments que nécessaire. Cela arrive à être une grosse affaire avec un grand nombre de polygones ou de pixel shaders complexes. face culling vous permet d'éviter complètement le tramage des visages que vous savez ne pas apparaître.

Si vous avez un modèle de caractère avec 100.000 polygones ~, face culling réduit de moitié la quantité de travail le matériel de pixel doit faire chaque image. Ceci est un grand épargne si vous avez de grandes shaders de surface.

Si vous travaillez avec des modèles réduits et pas shaders, l'abattage n'a pas d'importance ces jours-ci. Mais il est bon de permettre de toute façon.

Autres conseils

Activation visage Abattage (habituellement en arrière-face) a un impact significatif sur les performances de rendu.

Maintenant, la question à résoudre est alors « pourquoi n'est pas mise à la réforme activée par défaut ou pourquoi n'est pas toujours utilisé? » il y a plusieurs facteurs qui déterminent si permettant l'abattage est réalisable ou non. L'un est le modèle étant rendu et la façon dont elle est perçue.

Pour chaque polygone dans le modèle, si une seule face avant ou à l'arrière est visible (lorsque le modèle est considéré sous tous les angles possibles) alors nous pouvons abattre l'autre face.

Ex. « Cube », peu importe si vous êtes à la recherche à l'intérieur ou à l'extérieur de celui-ci, lors d'une rotation, vous pouvez voir un seul côté de tous les 6 polygones qui composent un cube

Une autre Ex: « Voiles d'un modèle de navire », comme dans mon jeu Sea-Wars (3d), les voiles d'un modèle de bateau est une surface construite avec plusieurs polygones plats. Lorsqu'un bateau se déplace dans l'eau, on peut voir les deux côtés de la voile. Dans ce cas, l'abattage ou l'autre des faces est pas souhaitable.

Par conséquent culling peut être activé pour tous les modèles de la scène qui suivent la sémantique des cubes et invalidantes pour tous les autres modèles.

P.S. Face culling doit être utilisé chaque fois que possible.

Cela dépend des choses que vous êtes rendu. En général, l'abattage est souhaitable. La seule raison pour laquelle je ne peux pas imaginer de l'utiliser est de rendre les modèles qui ont visibles les faces arrière. Un autre scénario où l'abattage pourrait ne pas être voulu pourrait être mal modélisé des modèles où les sommets sont définis dans le mauvais ordre.

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