Question

L'algorithme d'occlusion est nécessaire CAD et de l'industrie du jeu. Et ils sont différents dans les deux secteurs, je pense. Mes questions sont les suivantes:

  1. Quel type d'algorithmes d'occlusion sont appliqués respectivement dans les deux indurstries?
  2. et quelle est la différence?

Je travaille sur le développement de logiciels de CAO, et l'algorithme d'occlusion nous avons adopté est - définir l'identificateur d'objet comme sa couleur (un entier), puis rendre la scène, enfin, lire le pixel pour connaître les objets visibles. Les performances ne sont pas si bon, si je veux obtenir quelques bonnes idées ici. Merci.


Après avoir lu les anwsers, je tiens à préciser que les algorithmes d'occlusion signifie ici "occlusion culling" -. Savoir surface visible ou entités les envoyer avant dans le pipeline

Avec Google, j'ai trouvé un algorithme à Gamasutra . Toute autre bonnes idées ou conclusions? Merci.

Était-ce utile?

La solution

Il me coincé que la plupart des réponses à ce jour seulement discuter occlusion ordre d'image. Je ne suis pas tout à fait sûr de CAD, mais dans les jeux occlusion commence à un niveau beaucoup plus élevé, en utilisant des arbres BSP, arbres et octobre / ou portail de rendu pour déterminer rapidement les objets qui apparaissent dans l'affichage frustum.

Autres conseils

En occlusion de jeux se fait derrière la scène en utilisant l'une des deux bibliothèques 3D: DirectX ou OpenGL. Pour entrer dans les détails, l'occlusion est effectuée à l'aide d'un Z tampon . Chaque point a un composant de Z, des points qui sont des points plus proches occlure qui sont plus loin.

L'algorithme d'occlusion est généralement fait dans le matériel par une puce dédiée de traitement graphique 3D qui implémente les fonctions DirectX ou OpenGL. Un programme de jeu en utilisant des objets puisera DirectX ou OpenGL dans l'espace 3D, et ont la bibliothèque OpenGL / DirectX rend la scène en prenant en compte la projection et l'occlusion.

Le terme que vous devez rechercher sur est enlèvement de surface cachée .

En temps réel le rendu prend généralement avantage d'une méthode simple d'enlèvement de surface cachée: backface culling. Chaque poly aura un point « de surface normale » qui est pré-calculer, à une distance fixe de la surface. En vérifiant l'angle de la normale par rapport à la caméra, vous sauriez que la surface est face à, et ne doit donc pas être rendu.

Voici quelques démos à mémoire flash et des explications .

pixel matériel Z-buffering est de loin la technique la plus simple, mais dans les scènes d'objets à haute densité, vous pouvez toujours essayer de rendre plusieurs fois le même pixel, ce qui peut devenir un problème de performance dans certaines situations. -. Vous devez certainement vous assurer que vous n'êtes pas cartographier et texturation des milliers d'objets qui ne sont tout simplement pas visibles

Je pense actuellement sur cette question dans l'un de mes projets, j'ai trouvé cela a stimulé quelques idées: http: // www .cs.tau.ac.il / ~ / dCOR graphiques / adv-diapositives / à court-image culling.pdf

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