Tôi đang xem video giới thiệu của Apple về Metal and MetalKit.Tại sao có hai dấu ngoặc vuông [trong các hàm đỉnh C++?
Mã mẫu cho trình đổ bóng có các dấu ngoặc kép như [[buffer(0)]]
đối số. Tại sao có hai dấu ngoặc? Nó có nghĩa là bất cứ điều gì hoặc là nó chỉ để chỉ ra rằng có từ khóa "đệm" sau đây? Không có cấu trúc như vậy trong tiêu chuẩn C++, là có?
vertex Vertex vertex_func(constant Vertex *vertices [[buffer(0)]],
constant Uniforms &uniforms [[buffer(1)]],
uint vid [[vertex_id]])
Ngoài ra, dự án thú vị 1 hoặc 2 tuần là phần giới thiệu về GP-GPU là gì? Một cái gì đó quản lý cho một người mới với kỹ năng toán học tốt nhưng không có kỹ năng nghệ thuật.
Vâng, đây là cú pháp chuẩn. http://en.cppreference.com/w/cpp/language/attributes – jtbandes
Ngoài ra, cắm không biết xấu hổ cho một sân chơi mà tôi đã viết có thể hữu ích nếu bạn chỉ học cách sử dụng Metal: https://github.com/ jtbandes/Metalbrot.playground – jtbandes
Ồ, vì vậy nó là một _attribute_ mà chỉ nói nơi để tìm biến đỉnh. Đánh thức Brain. Tôi đã quá treo lên trên đôi [. Tuy nhiên, bất kỳ ý tưởng tại sao họ chọn hai [thay vì chỉ một? – user965972