我有一组图像,我需要根据顶点随机选择其中一张图像,在使用MTLTexture2DArray时可以实现这一目标。
但是我正在使用SceneKit和自定义SCNProgram,问题在于我无法将MTLTexture传递到Metal片段函数中。
如果我将图像设置为SCNMaterial,则可以正常工作,但如果我设置为Metal纹理,则会引发异常。
这个问题与此问题完全相同:Passing Metal texture2d_array to SceneKit shader modifier,但是它使用了着色器修改器,而我在这里使用的是自定义着色器。
是否有可能将Metal的纹理二维数组传递到自定义的SCNProgram中,或者是否有另一种方法可以将图像数组传递到SCNProgram中的着色器函数中?
但是我正在使用SceneKit和自定义SCNProgram,问题在于我无法将MTLTexture传递到Metal片段函数中。
如果我将图像设置为SCNMaterial,则可以正常工作,但如果我设置为Metal纹理,则会引发异常。
let material = SCNMaterial()
material.program = program
material.setValue(metalTexture, forKey: "customTexture")
这个问题与此问题完全相同:Passing Metal texture2d_array to SceneKit shader modifier,但是它使用了着色器修改器,而我在这里使用的是自定义着色器。
是否有可能将Metal的纹理二维数组传递到自定义的SCNProgram中,或者是否有另一种方法可以将图像数组传递到SCNProgram中的着色器函数中?