Commencez avec du métal-CPP – métal

Commencez avec du métal-CPP – métal

Metal-CPP est une interface C ++ à faible échelle pour le métal qui vous aide à ajouter des fonctionnalités métalliques aux applications graphiques, aux jeux et aux moteurs de jeu qui sont écrits en C ++.

Découpe Laser Métal _ Banner _ R3V Laser

Points forts

  • Déposez l'interface alternative C ++ aux en-têtes Metal Objective-C.
  • Mappage direct de toutes les classes, constantes et énumérations de l'objectif-C métallique à C ++ dans l'espace de noms MTL C ++.
  • Pas de frais généraux mesurables par rapport à l'appel des en-têtes Metal Objective-C, en raison de l'installation des appels de fonction C ++.
  • Aucune utilisation de conteneurs en wrapper qui nécessitent des allocations supplémentaires.
  • Fichiers d'en-tête identiques et fonction de fonction / constante / énumération pour iOS, iPados, macOS et TVOS.
  • Compatibilité arrière: tout bool MTL::Device::supports...() Les fonctions vérifient si leurs sélecteurs requis existent et renvoient automatiquement false sinon.
  • Chaîne (ErrorDomain) Les constantes sont liées faibles et réglées automatiquement sur nullptr Si ce n'est pas disponible.

Instructions d'installation

1. Préparez votre Mac.

2. Ajouter le metal-cpp dossier sur le chemin de recherche d'en-tête de votre système de construction.

Dans xcode:

  • Cliquez sur le Navigator du projet.
  • Cliquez sur le projet.
  • Cliquez sur Créer des paramètres.
  • Recherchez des chemins de recherche d'en-tête.
  • Ajoutez le chemin du dossier extrait, metal-cpp/. Capture d'écran du chemin entré dans Xcode
  • Recherchez le dialecte du langage C ++ et assurez-vous qu'il est défini sur C ++ 17 ou supérieur. Capture d'écran du paramètre en surbrillance dans Xcode
  • Assurez-vous d'ajouter les cadres Foundation, Quartzcore et Metal à la liste des cadres à lier dans l'onglet Build Phases. Capture d'écran de la bibliothèque en surbrillance dans Xcode

3. Générez l'implémentation.

metal-cpp est une bibliothèque d'en-tête uniquement. Pour générer l'implémentation, ajoutez le code suivant dans un de vos fichiers .cpp:

#define NS_PRIVATE_IMPLEMENTATION
#define CA_PRIVATE_IMPLEMENTATION
#define MTL_PRIVATE_IMPLEMENTATION
#include 
#include 
#include 

Remarque: il est également possible d'inclure le metal-cpp En-têtes avec guillemets.

4. Utiliser Metal-CPP.

À partir de tous les fichiers qui doivent référencer metal-cpp objets ou types, incluez simplement les en-têtes pour rendre les symboles disponibles.

#include 
#include 
#include 

IMPORTANT: ne définissez pas le NS, MTL ou Ca _private_implementation Macros plus d'une fois.

Metal-cpp Alternative d'en-tête unique

Pour plus de commodité, vous pouvez également utiliser metal-cpp En tant que tête à tête, incluez dans votre projet.

Après avoir extrait le contenu du fichier zip, exécutez la commande suivante à partir du terminal pour générer un seul en-tête d'inclusion.

./SingleHeader/MakeSingleHeader.py Foundation/Foundation.hpp QuartzCore/QuartzCore.hpp Metal/Metal.hpp

Une fois terminé, la commande aura généré un seul fichier: ./SingleHeader/Metal.hpp. Ce fichier comprend tout ce que vous devez utiliser metal-cpp dans votre projet.

N'oubliez pas de générer l'implémentation dans un fichier CPP.

#define NS_PRIVATE_IMPLEMENTATION
#define CA_PRIVATE_IMPLEMENTATION
#define MTL_PRIVATE_IMPLEMENTATION
#include 

Considérations de gestion de la mémoire

Metal-cpp suit les politiques d'allocation d'objets du cacao et Cocoa Touch. Comprendre ces règles est particulièrement important lors de l'utilisation metal-cpp Parce que les objets C ++ ne sont pas éligibles au comptage automatique de référence (ARC). Pour plus d'informations, reportez-vous au fichier Read Me dans le metal-cpp télécharger.

Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Panier
Retour en haut
découpe laser pub