Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在ARKit中使用SCNNode筛选器?_Ios_Swift_Opengl Es_Metal_Arkit - Fatal编程技术网

Ios 如何在ARKit中使用SCNNode筛选器?

Ios 如何在ARKit中使用SCNNode筛选器?,ios,swift,opengl-es,metal,arkit,Ios,Swift,Opengl Es,Metal,Arkit,我正在尝试实现一个自定义CIFilter,以便在ARSCNView中与SCNNode一起使用。不幸的是,它只是在屏幕上节点所在的位置创建了一个灰色矩形。我还尝试了内置的cifilter来双重检查我的代码,但没有效果 在另一篇SO文章中,我读到CIFilter仅在OpenGL被选为SCNView的渲染API时才起作用,因为CoreImage不能很好地处理Metal,而且据我所知,不可能让ARSCNView与OpenGL一起运行。上述帖子来自2016年,因此我想知道是否有任何变化 我试图实现的是在屏

我正在尝试实现一个自定义CIFilter,以便在ARSCNView中与SCNNode一起使用。不幸的是,它只是在屏幕上节点所在的位置创建了一个灰色矩形。我还尝试了内置的cifilter来双重检查我的代码,但没有效果

在另一篇SO文章中,我读到CIFilter仅在OpenGL被选为SCNView的渲染API时才起作用,因为CoreImage不能很好地处理Metal,而且据我所知,不可能让ARSCNView与OpenGL一起运行。上述帖子来自2016年,因此我想知道是否有任何变化

我试图实现的是在屏幕上勾勒/突出显示对象,以反馈用户有关对象选择的信息。我通过添加着色器修改器实现了一些可用的功能,但它对着色的控制有限。我真的不想超过我自己

下面是我的CIKernel,它在Quartz Composer上运行得非常好

非常感谢您提供的任何帮助和信息

kernel vec4 outline(sampler src) {
  vec2 texturePos = destCoord();
  float alpha = 4.0f * sample(src, texturePos).a;
  float thickness = 5.0f;

  alpha -= sample(src, texturePos + vec2(thickness, 0.0f)).a;
  alpha -= sample(src, texturePos + vec2(-thickness, 0.0f)).a;
  alpha -= sample(src, texturePos + vec2(0.0f, thickness)).a;
  alpha -= sample(src, texturePos + vec2(0.0f, -thickness)).a;

  if (alpha > 0.9f) {
      vec4 resultCol = vec4(1.0f, 1.0f, 1.0f, alpha);
      return resultCol;
  }else{
      vec4 resultCol = sample(src, texturePos);
      return resultCol;
  }
}

我也面临着类似的问题。原因是我们进行了以下设置。可以通过删除此设置来实现CIFilter。 我没有分析细节,但如果有帮助的话

sceneView.antialiasingMode = .multisampling4X
sceneView.contentScaleFactor = 1.3

这方面有进展吗?你解决了吗?