Metal 着色语言编程指南 二六

函数参数与变量

    除了定义在常量地址空间的变量和定义在程序域的采样器之外,  graphics和kernel函数的输入输出都需要通过函数参数,  函数参数可以是下面之一:
  •     设备缓存(Device Buffer): 一个指向设备地址空间任意数据类型的指针或者引用 
  •  常量缓存(Constant Buffer):   一个指向常量地址空间任意数据类型的指针或者饮用
  •  纹理对象(Texture)
  •     采样器对象(Sampler)
  •     被线程组内所有线程共享的对象:一个指向线程组地址空间任意数据类型的指针或者引用,   这种函数参数只能用于Kernel 函数  
   作为函数参数的 设备缓存和常量缓存不能重名(aliased).    这就是说, 同一个函数的不同缓存参数是不能有重名的. 
    着色函数的参数通常都有修饰符,   它们用来标示此参数应该被如何使用,   参数修饰符用来表示:
  •  缓存资源是在哪里被分配的
  •  内建变量, 用于在固定管线和可编程管线之间进行数据通讯
  •  哪些数据是顺着Metal Pipeline, 从Vertex函数传递到Fragment函数的

你可能感兴趣的:(多媒体,Mobile,Metal,shading,iOS)