深度网格材质(MeshDepthMaterial)

优质
小牛编辑
134浏览
2023-12-01

一种按深度绘制几何体的材质。深度基于相机远近平面。白色最近,黑色最远。

// iOS iframe auto-resize workaround if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) { const scene = document.getElementById( 'scene' ); scene.style.width = getComputedStyle( scene ).width; scene.style.height = getComputedStyle( scene ).height; scene.setAttribute( 'scrolling', 'no' ); }

构造函数(Constructor)

MeshDepthMaterial( parameters : Object )

parameters - (可选)用于定义材质外观的对象,具有一个或多个属性。 材质的任何属性都可以从此处传入(包括从Material继承的任何属性)。

属性(Properties)

共有属性请参见其基类Material

.alphaMap : Texture

alpha贴图是一张灰度纹理,用于控制整个表面的不透明度。(黑色:完全透明;白色:完全不透明)。 默认值为null。

仅使用纹理的颜色,忽略alpha通道(如果存在)。 对于RGB和RGBA纹理,WebGL渲染器在采样此纹理时将使用绿色通道, 因为在DXT压缩和未压缩RGB 565格式中为绿色提供了额外的精度。 Luminance-only以及luminance/alpha纹理也仍然有效。

.depthPacking : Constant

depth packing的编码。默认为BasicDepthPacking

.displacementMap : Texture

位移贴图会影响网格顶点的位置,与仅影响材质的光照和阴影的其他贴图不同,移位的顶点可以投射阴影,阻挡其他对象,以及充当真实的几何体。 位移纹理是指:网格的所有顶点被映射为图像中每个像素的值(白色是最高的),并且被重定位。

.displacementScale : Float

位移贴图对网格的影响程度(黑色是无位移,白色是最大位移)。如果没有设置位移贴图,则不会应用此值。默认值为1。

.displacementBias : Float

位移贴图在网格顶点上的偏移量。如果没有设置位移贴图,则不会应用此值。默认值为0。

.fog : Boolean

材质是否受雾影响。默认值为false

.map : Texture

颜色贴图。默认为null。

.morphTargets : Boolean

材质是否使用morphTargets。默认值为false。

.wireframe : Boolean

将几何体渲染为线框。默认值为false(即渲染为平滑着色)。

.wireframeLinewidth : Float

控制线框宽度。默认值为1。

由于OpenGL Core Profile 与大多数平台上WebGL渲染器限制,无论如何设置该值,线宽始终为1。

方法(Methods)

共有方法请参见其基类Material

源码(Source)

src/materials/MeshDepthMaterial.js