Je regarde la vidéo d'introduction d'Apple à propos de Metal et MetalKit.Pourquoi y a-t-il deux crochets [dans les fonctions de vertex C++?
L'exemple de code pour les shaders a ces doubles crochets comme [[buffer(0)]]
arguments. Pourquoi y a-t-il deux crochets? Cela signifie-t-il quelque chose ou est-ce juste pour indiquer qu'il y a un mot-clé "tampon" qui suit? Il n'y a pas une telle construction en C++ standard, n'est-ce pas?
vertex Vertex vertex_func(constant Vertex *vertices [[buffer(0)]],
constant Uniforms &uniforms [[buffer(1)]],
uint vid [[vertex_id]])
Aussi ce qui serait un bon projet amusant de 1 ou 2 semaines comme introduction dans GP-GPU? Quelque chose de gérable pour un novice avec de bonnes compétences en mathématiques mais pas de compétences artistiques.
Oui, il s'agit d'une syntaxe standard. http://en.cppreference.com/w/cpp/language/attributes – jtbandes
Aussi, plug éhonté pour un terrain de jeu que j'ai écrit qui pourrait être utile si vous apprenez juste à utiliser le métal: https://github.com/ jtbandes/Metalbrot.playground – jtbandes
Oh, donc c'est un _attribute_ qui dit juste où trouver la variable vertex. Réveillez-vous le cerveau. J'étais trop accroché au double [. Pourtant, aucune idée pourquoi ils en choisissent deux [au lieu d'un seul? – user965972