2017-03-08 6 views
2

Récemment j'ai décidé d'apprendre à utiliser le framework Metal avec Swift. J'ai lu quelques photos touristiques, j'ai regardé des vidéos, j'ai fait quelques choses et finalement je me suis rendu à une partie où j'ai dû utiliser Depth Testing pour rendre les choses belles.Comment utiliser Depth Testing avec CAMetalLayer en utilisant Metal et Swift?

Je n'avais jamais fait de programmation graphique de niveau aussi bas, j'ai donc jeté un coup d'œil sur Internet pour savoir comment fonctionne Depth Testing et comment l'utiliser avec CAMetalLayer et Metal.

Cependant tous les exemples de test de profondeur, que j'ai trouvé, ont été faits en utilisant Open GL et je ne pouvais pas trouver de telles fonctions dans Metal. Comment implémenter le test de profondeur avec CAMetalLayer en utilisant Metal et Swift?

Merci d'avance!

Répondre

2

Ceci est un bon exemple. http://metalbyexample.com/up-and-running-3/

La clé est que CAMetalLayer ne gère pas la carte de profondeur pour vous. Vous devez créer et gérer explicitement la texture de profondeur. Et attachez la texture de profondeur au descripteur de profondeur-pochoir que vous utilisez pour créer le rendu-encodeur.

+0

Pouvez-vous me dire comment créer la texture de profondeur à partir d'une passe? –