Ios 使用SceneKit和SCNGeometryPrimitiveTypePoint创建自定义几何图形时如何调用glPointSize()(或SceneKit等效项)

Ios 使用SceneKit和SCNGeometryPrimitiveTypePoint创建自定义几何图形时如何调用glPointSize()(或SceneKit等效项),ios,scenekit,point-clouds,Ios,Scenekit,Point Clouds,我正在编写一个iOS应用程序,它使用自定义几何体在SceneKit中呈现点云。这对我来说非常有帮助(尽管我把它翻译成了Objective-C),大卫·伦克维斯特(David Rönnqvist)的书《3D Graphics with SceneKit》(见关于自定义几何体的章节)也是如此。代码工作得很好,但我想让点以更大的点大小渲染-目前点非常小 根据OpenGL文档,您可以通过调用glPointSize()来实现这一点。据我所知,SceneKit是建立在OpenGL之上的,所以我希望有一种方法

我正在编写一个iOS应用程序,它使用自定义几何体在SceneKit中呈现点云。这对我来说非常有帮助(尽管我把它翻译成了Objective-C),大卫·伦克维斯特(David Rönnqvist)的书《3D Graphics with SceneKit》(见关于自定义几何体的章节)也是如此。代码工作得很好,但我想让点以更大的点大小渲染-目前点非常小

根据OpenGL文档,您可以通过调用
glPointSize()
来实现这一点。据我所知,SceneKit是建立在OpenGL之上的,所以我希望有一种方法可以访问这个函数,或者使用SceneKit做类似的事情。任何建议都将不胜感激

我的代码如下。我还在bitbucket上发布了一个小示例应用程序

//设置点数
nsu整数numPoints=10000;
//设置最大距离点
int-posul=2;
int scaleFactor=10000;//因为我想要小数点
//但是我用arc4random_获得随机值
点云顶点点云顶点[numPoints];
对于(整数i=0;i
我自己也在研究在ios中渲染点云,并在twitter上找到了一个解决方案,由一个“vade”提供,我想我会将它发布在这里,供其他人使用:

ProTip:SceneKit着色器修改器非常有用:

mat.shaderModifiers = @{SCNShaderModifierEntryPointGeometry : @"gl_PointSize = 16.0;"};
mat.shaderModifiers = @{SCNShaderModifierEntryPointGeometry : @"gl_PointSize = 16.0;"};