Three.js-CanvasRenderer问题:平面着色?

鲍里斯

我正在尝试使用CanvasRendererthree.js)作为不支持的设备的备用WebGL是否有一些比较页面,说明什么是不同的并且不能一起使用CanvasRenderer

我遇到两个主要问题:

  1. 平面阴影,灯光完全消失(是否MeshPhongMaterial受支持?),我看不到任何照明也没有阴影(在中支持阴影CanvasRenderer)?我所看到的只是没有任何照明的漫反射纹理。在WebGL中,我当前的设置是PointLight, DirectionalLight, softShadows, antialiasingMeshPhongMaterial(带有漫反射,凹凸,规格和环境贴图)

    this.materialM = new THREE.MeshPhongMaterial({
            ambient : 0x050505,
            color : this.model.color,
            specular : 0xcccccc,
            shininess : 100,
            bumpScale : BUMP_SCALE,
            reflectivity : REFLECTIVITY,
        });
    
  2. 透明的多边形边缘(我知道可以用material.overdraw= 0.5进行调整,但是会产生其他伪像(因为它可能仅沿着法线缩放多边形)?

非常感谢1.或与之CanvasRenderer相比可能无法提供的一般帮助概述WebGLRenderer

three.js r68

西兰吉

CanvasRenderer 有局限性。

  1. MeshPhongMaterial不支持CanvasRenderer-它回退到MeshLambertMaterial

  2. MeshLambertMaterial支持,但当材质具有纹理时不支持-它回退到MeshBasicMaterialMeshBasicMaterial渲染时不考虑场景光。)

  3. 不支持阴影。

  4. material.overdraw = 0.5当材质不透明时,有助于隐藏多边形边缘。如果材质是透明的,它可能仍会留下伪影。

three.js r.68

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Three.js-棋盘格平面

来自分类Dev

three.js平面缓冲几何uvs

来自分类Dev

Three.js-关于(使用)THREE.BufferGeometry的问题

来自分类Dev

冲突检测Three.js的问题

来自分类Dev

Three.js-渲染问题-动画震撼

来自分类Dev

面向移动设备的Three.js问题

来自分类Dev

Potree / Three.js测量问题

来自分类Dev

OBJ Loader THREE.JS问题

来自分类Dev

Three.js碰撞检测问题

来自分类Dev

如何使用THREE.js在平面上绘制SVG元素?

来自分类Dev

three.js在平面上旋转相机

来自分类Dev

Three.js-双面平面一侧反转

来自分类Dev

three.js-单击平面的XY位置

来自分类Dev

three.js-具有透明纹理的相交平面

来自分类Dev

Three.js如何从向量和常数中获得平面?

来自分类Dev

Three.js将平面尺寸设置为全视图

来自分类Dev

Three.js通过线垂直放置平面

来自分类Dev

three.js-单击平面的XY位置内

来自分类Dev

在平面上纹理化(WebGL,Three.JS)

来自分类Dev

如何使用three.js在平面上包裹飞机?

来自分类Dev

Three.js如何从向量和常数中获得平面?

来自分类Dev

three.js延迟更新本地裁剪平面

来自分类Dev

在three.js中使用pointcloud创建平面网格

来自分类Dev

在three.js平面中将png转换为高度

来自分类Dev

在THREE.JS中组合着色器

来自分类Dev

Three.JS-不同对象的不同着色器

来自分类Dev

Three.js的累积着色器

来自分类Dev

three.js淡入/淡出后期处理着色器

来自分类Dev

Three.js:对象相交和着色器材质