scenekit - SCNParticles的性能最高图像格式?

标签 scenekit particles particle-system

我一直在使用Photoshop中与Alpha配合使用的24bit .png,并且只是尝试了一个可与OpenGL ES配合使用的.psd,但Metal没有看到Alpha channel 。

SceneKit中的粒子绝对最高性能的纹理格式是什么?

如果需要,这是一张要测试的表。

它看起来是白色的...右键单击并另存为空白。这是一套阿尔法沉重的戒指。如果在屏幕上着眼睛,可能几乎无法辨认出它们:

enter image description here

夸张的示例用例:

https://www.dropbox.com/s/vu4dvfl0aj3f50o/circless.mov?dl=0

enter image description here

//任何人都可以猜测的附加点,可以猜测视频中左右两个环之间的差异。

最佳答案

请使用灰度/alpha PNG,而不要使用RGBA。由于它使用每像素16位(8 + 8)而不是32(8 + 8 + 8 + 8),因此初始纹理加载会更快,并且(取决于GPU)使用的内存也可能更少。不过,在渲染时,您不会看到很大的速度差异,因为无论使用哪种纹理格式,它都仍将被绘制到完整的RGB(A)渲染缓冲区中。

还有PVRTC,它可以使您降低到每像素2–4位,但是我在图像上尝试了Imagine’s tool,即使是最高质量的设置也造成了许多伪像,如下所示:

长话短说:使用灰度+ alpha PNG,您可以轻松地从Photoshop导出该PNG。如果您的粒子系统正在损害您的帧速率,请减少粒子的数量和/或大小-在这种情况下,您可以通过在源纹理图集中将几个粒子图像彼此叠加来解决问题,如果您选择尺寸足够大的款式,则可能不会太明显。

关于scenekit - SCNParticles的性能最高图像格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32343199/

相关文章:

swift - 3D 中两条线之间的角度

ios - 将自定义 UIView 添加到 Scenekit 节点

java - 如何在android中使用位图/可绘制而不是颜色常量

javascript - 修复粒子系统处理中的错误

algorithm - SPH流体-内核导数

c++ - 粒子系统是否应该在几何着色器中完全更新

iphone - 如何使用具有一定随机性的 CAReplicatorLayer 创建 Spark 效果?

scenekit - Swift 3.0 如何使用 startDeviceMotionUpdates(to : withHandler)?

inheritance - SceneKit Swift 3 继承不起作用

c++ - 在 OpenGL 中渲染火焰