【问题标题】:Three.js THREE.DoubleSide not working in IE 11Three.js THREE.DoubleSide 在 IE 11 中不起作用
【发布时间】:2014-03-22 11:44:59
【问题描述】:

我已将一个 collada (dae) 模型导入到我的 Three.js 场景中,并且效果很好。我创建了一个 MeshPhongMaterial 并将其应用于场景中的一个特定对象,并且在 Chrome/FF 上它按预期工作,但在 IE11 中,设置 THREE.DoubleSided 会导致不绘制材质。

我猜测着色器和 IE11 存在问题,但想知道我是否可能遗漏了什么或者有人有解决方案:

var map = THREE.ImageUtils.loadTexture( "meshes/demoRoom/textures/Tank_COLOR.png" );
var mat = new THREE.MeshPhongMaterial( 
{ 
    map: map, 
    side: THREE.DoubleSide, 
    blending: THREE.AdditiveBlending, 
    depthTest: true, 
    transparent: true, 
    opacity: 0.35,
    ambient: 0xffffff, 
    color: 0xFFFFFF, 
    specular: 0xcccccc, 
    shininess: 20, 
    emissive: 0xFFFFFF, 
    shading:THREE.SmoothShading 
} );

【问题讨论】:

  • (1) 加载是异步的。您确定在纹理加载后调用 render() 吗? (2) 你的背景是白色的吗?设置emissive = 0x000000;
  • 是的,肯定会渲染,而且我都将自发光设置为白色,将其移除(默认为黑色)等。不幸的是,我认为这是 IE11 中的着色器支持。
  • 我收到“WEBGL11095: INVALID_OPERATION: clearStencil: Method not current support”以及“gl_FrontFacing”声明不正确
  • 我还编写了一个与 Threes 加载管理器一起使用的多加载器,因此,在预加载所有资产之前,我不会构建场景/资产。

标签: javascript three.js shader internet-explorer-11


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2014-02-16
    • 2018-05-15
    • 2015-05-06
    • 2016-10-13
    • 2018-03-29
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多