Oglądam wstępne wideo od Apple o Metal i MetalKit.Dlaczego są dwa nawiasy [w funkcjach C++ vertex?
Przykładowy kod dla modułów cieniujących ma te podwójne nawiasy, na przykład [[buffer(0)]]
. Dlaczego są dwa nawiasy? Czy to oznacza cokolwiek, czy też jest po prostu wskazaniem, że istnieje słowo kluczowe "bufor"? Nie ma takiej konstrukcji w standardzie C++, czy istnieje?
vertex Vertex vertex_func(constant Vertex *vertices [[buffer(0)]],
constant Uniforms &uniforms [[buffer(1)]],
uint vid [[vertex_id]])
Co by było dobrym 1 lub 2-tygodniowym zabawnym projektem jako wprowadzenie do GP-GPU? Coś łatwego w obsłudze dla nowicjuszy z dobrymi umiejętnościami matematycznymi, ale bez umiejętności artystycznych.
Tak, jest to standardowa składnia. http://pl.cppreference.com/w/cpp/language/attributes – jtbandes
Ponadto, bezwstydna wtyczka do placu zabaw, który napisałem, co może być pomocne, jeśli dopiero się uczyć, jak korzystać z metalu: https://github.com/ jtbandes/Metalbrot.playground – jtbandes
Och, więc jest to atrybut, który mówi tylko, gdzie znaleźć zmienną vertices. Obudź się. Byłem zbyt zawieszony na podwójnym [. Mimo to, każdy pomysł, dlaczego wybrać dwa [zamiast jednego? – user965972