小编ios*_*v55的帖子

如何将可变数量的纹理绑定到金属着色器?

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)

graphics ios swift metal metalkit

3
推荐指数
1
解决办法
1046
查看次数

标签 统计

graphics ×1

ios ×1

metal ×1

metalkit ×1

swift ×1