gpt4 book ai didi

javascript - Three.js CanvasRenderer 纹理在 Safari 中损坏

转载 作者:行者123 更新时间:2023-11-28 02:21:53 24 4
gpt4 key购买 nike

我有一个基于 Three.js 的示例,我正在将其作为更大项目的基础。为了 super 简化,我有一个带有绕中心点运行的纹理的平面。它实际上是附着在中心点上,然后旋转中心点。 (进一步测试表明父子关系和中心偏移没有影响,只是与相机 Angular 差异导致了扭曲,随着 Angular 增加,转动相机而不是物体仍然会显示扭曲)

使用 WebGL 渲染器一切正常。使用 Canvas 渲染器,我必须调整纹理加载(imageutils 无法正确加载 Canvas ,必须显式使用纹理和图像加载器),但它在 Chrome 中工作正常。然而,在 safari 中,当飞机移动时,纹理会暴露飞机的 Angular (位置会扭曲和偏移),直接到相机上( https://dl.dropbox.com/u/6768888/StackOverflow/Screen%20Shot%202013-03-20%20at%202.37.47%20PM.png )很好,但到侧面它确实扭曲了( https://dl.dropbox.com/u/6768888/StackOverflow/Screen%20Shot%202013-03-20%20at%202.38.04%20PM.pnghttps://dl.dropbox.com/u/6768888/StackOverflow/Screen%20Shot%202013-03-20%20at%202.38.17%20PM.png )

我这似乎是 Canvas 渲染器中的一个错误,但我不确定,根据我之前遇到的纹理加载问题,也许有解决办法?我正在使用 overdraw :true

var geometry = new THREE.PlaneGeometry(width, height, 1, 1);
var material = new THREE.MeshBasicMaterial( { overdraw:true, map:texture, side:THREE.DoubleSide } );

mesh = new THREE.Mesh( geometry, material );

任何想法或建议将不胜感激,不想在没有更多信息的情况下提交错误报告,因为这是我第一次真正尝试 Three.js,所以不确定是我还是系统......

还应该注意的是,删除过度绘制只是广告接缝,它不会影响移动,同时使对象变大和/或添加更多分割只会使移动沿着这些新的中断发生,它不会从根本上改变问题。

最佳答案

与我的应用程序相同的故事。Safari 中的纹理,使用 Canvas 渲染器四处游动,chrome 和 ff 都很好。使用 WebGLRenderer 一切都变得美好而流畅。约阿希姆

关于javascript - Three.js CanvasRenderer 纹理在 Safari 中损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15532089/

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