2013-03-20 129 views
1

我的Three.js 3D应用程序有问题 - 至少根据我认识的一些人。ThreeJS纹理问题

我的申请取决于[http://176.9.149.205/planungstool/]。一些据说拥有最新版Chrome和Firefox的人看不到纹理区域。例如,他们看不到3D屋顶或屋顶。然而,他们确实看到了像树或地板这样的无纹理的东西。

奇怪的是,我没有这个问题,我问的其他大多数人都没有这个问题。下面是它应该看起来像和看起来像我:[http://176.9.149.205/planungstool/house.jpg]

有没有人有一个想法可能会导致这种情况?它可能是一些客户端设置?或者,也许一些访问控制策略?

我加载纹理是这样的:

var myTexture = new THREE.ImageUtils.loadTexture('gfx/textures/texture.jpg'); 

然后,我只是创建兰伯特材料具有此纹理他们的地图网格。

如果您阅读此内容并且不知道可能会导致此错误的原因,那么如果您有最近版本的Chrome或Firefox,那么如果您至少能告诉我您是否看到纹理区域,那将会很好。

+0

我可以看到没有问题的房子。我使用Firefox 19.0.2。 – ragnatic 2013-03-20 18:05:06

回答

0

我可以在mac上看到当前chrome上的纹理。我有一个与画布渲染器类似的问题(任何纹理都看不见)。对我来说,我改变了使用ImageUtils.loadTexture纹理和纹理加载器,它的工作原理。

var texture = new THREE.Texture(); 
var texLoader = new THREE.ImageLoader(); 
texLoader.addEventListener('load', function(event){ 
    texture.image = event.content; 
    texture.needsUpdate = true; 
}); 
texLoader.load('texture.png'); 

但是,我确实仍然在safari中的画布渲染器出现问题,但您似乎只使用webgl渲染器。希望这可以帮助。

+0

这个示例不再代表代码库,只是误导了你......你应该删除它或重构它指向https://threejs.org/docs/api/loaders/ImageLoader.html,但它是一个很好的地方开始搜索(为我),所以如果你编辑你的例子,我会upvote它。 – 2017-04-06 04:45:18