gpt4 book ai didi

ios - 随着时间的推移,在 SceneKit 中使用着色器修改器为纹理设置动画会导致纹理抖动

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:15:01 25 4
gpt4 key购买 nike

我正在为 iOS 在 SceneKit 中编写一个场景。

我正在尝试使用 sprite 表将纹理应用于对象。我使用以下代码遍历该工作表中的图像:

happyMaterial = [SCNMaterial new];
happyMaterial.diffuse.contents = happyImage;
happyMaterial.diffuse.wrapS = SCNWrapModeRepeat;
happyMaterial.diffuse.wrapT = SCNWrapModeRepeat;
happyMaterial.shaderModifiers = @{ SCNShaderModifierEntryPointGeometry : @"_geometry.texcoords[0] = vec2((_geometry.texcoords[0].x+floor(u_time*30.0))/10.0, (_geometry.texcoords[0].y+floor(u_time*30.0/10.0))/7.0);" };

一切都很好。除了随着时间的推移,纹理开始出现随机抖动,尤其是沿着 x 轴。

有人提到这可能是因为“浮点精度问题”,但我不确定如何诊断或修复此问题。

另外:我不确定如何从着色器代码中记录数据。如果能够查看像“u_time”这样的变量并准确了解发生了什么,那就太棒了。

最佳答案

这绝对是一个浮点精度问题。您可能应该尝试对 (u_time*30.0) 进行取模,以便它在合理的范围内循环。

关于ios - 随着时间的推移,在 SceneKit 中使用着色器修改器为纹理设置动画会导致纹理抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28886111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com