我使用SCNMaterial,并使用表面着色器修改器将其设置为diffuse.contents。我想记录一些颜色值,这些颜色值是提供给着色器,但我找不到这样做。有没有办法可以在执行着色器修改器后读取和打印_surface.diffuse.rgba?
我们在SCNPlane上显示一个绿色背景的视频,我们想让它知道绿色的确切渲染颜色。它被创建为(0,220,0,1),但不知何故它被着色器修改器读取为不同的绿色,我们不能遮罩它,因为我们可以遮罩出全绿色(0,255,0,1) bg视频。
发布于 2021-08-27 13:37:02
Xcode有一个图形处理器调试器,可以调查特定帧的图形处理器上发生的事情,请参阅https://developer.apple.com/documentation/metal/shader_authoring/developing_and_debugging_metal_shaders
至于为什么颜色看起来不同,可能是颜色空间的问题。向SceneKit着色器修改器提供颜色组件时,确保它们位于正确的颜色空间中非常重要。请参阅https://stackoverflow.com/a/44045637/2997825
https://stackoverflow.com/questions/68952012
复制相似问题