MTLTexture在 CPU 上,我正在收集要发送到片段着色器的对象数组。在任何给定时刻可以有任意数量的这些纹理。如何将MTLTextures 的可变长度数组发送到片段着色器?
示例。)CPU:
var txrs: [MTLTexture] = []
for ... {
txrs.append(...)
}
// Send array of textures to fragment shader.
Run Code Online (Sandbox Code Playgroud)
图形处理器:
fragment half4 my_fragment(Vertex v [[stage_in]], <array of textures>, ...) {
...
for(int i = 0; i < num_textures; i++) {
texture2d<half> txr = array_of_textures[i];
}
...
}
Run Code Online (Sandbox Code Playgroud)