我正在尝试应用一个简单的着色器修改器来移动立方体的位置。立方体的常规漫反射颜色是浅蓝色,但使用此修改器确实会变成红色,因此我知道着色器修改器正在工作(有点)。但是,立方体仍然位于屏幕中心的位置(0,0,0),因此该位置不会被明暗器修改器修改。有什么想法吗?
以下是代码
let modifier = """
_surface.diffuse = float4(1,0,0,1);
_surface.position = float3(10.0,0.0,0.0);
"""
cube.geometry?.shaderModifiers = [SCNShaderModifierEntryPoint.surface : modifier]发布于 2020-10-30 04:21:48
洋红色调是SceneKit指示着色器无法编译的方式。
_surface.position = float3(10.0,0.0,0.0);
查看SCNShadable.h,我们可以看到SCNShaderSurface的position是float4,而不是float3。
https://stackoverflow.com/questions/64597707
复制相似问题