123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <base href="../../../" />
- <script src="page.js"></script>
- <link type="text/css" rel="stylesheet" href="page.css" />
- </head>
- <body>
- [page:Material] →
- <h1>[name]</h1>
- <p class="desc">
- A material for non-shiny surfaces, without specular highlights.<br /><br />
- The material uses a non-physically based
- [link:https://en.wikipedia.org/wiki/Lambertian_reflectance Lambertian]
- model for calculating reflectance. This can simulate some surfaces (such
- as untreated wood or stone) well, but cannot simulate shiny surfaces with
- specular highlights (such as varnished wood). [name] uses per-fragment
- shading.<br /><br />
- Due to the simplicity of the reflectance and illumination models,
- performance will be greater when using this material over the
- [page:MeshPhongMaterial], [page:MeshStandardMaterial] or
- [page:MeshPhysicalMaterial], at the cost of some graphical accuracy.
- </p>
- <iframe
- id="scene"
- src="scenes/material-browser.html#MeshLambertMaterial"
- ></iframe>
- <script>
- // 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' );
- }
- </script>
- <h2>Constructor</h2>
- <h3>[name]( [param:Object parameters] )</h3>
- <p>
- [page:Object parameters] - (optional) an object with one or more
- properties defining the material's appearance. Any property of the
- material (including any property inherited from [page:Material]) can be
- passed in here.<br /><br />
- The exception is the property [page:Hexadecimal color], which can be
- passed in as a hexadecimal string and is `0xffffff` (white) by default.
- [page:Color.set]( color ) is called internally.
- </p>
- <h2>Properties</h2>
- <p>See the base [page:Material] class for common properties.</p>
- <h3>[property:Texture alphaMap]</h3>
- <p>
- The alpha map is a grayscale texture that controls the opacity across the
- surface (black: fully transparent; white: fully opaque). Default is
- null.<br /><br />
- Only the color of the texture is used, ignoring the alpha channel if one
- exists. For RGB and RGBA textures, the [page:WebGLRenderer WebGL] renderer
- will use the green channel when sampling this texture due to the extra bit
- of precision provided for green in DXT-compressed and uncompressed RGB 565
- formats. Luminance-only and luminance/alpha textures will also still work
- as expected.
- </p>
- <h3>[property:Texture aoMap]</h3>
- <p>
- The red channel of this texture is used as the ambient occlusion map.
- Default is null. The aoMap requires a second set of UVs.
- </p>
- <h3>[property:Float aoMapIntensity]</h3>
- <p>
- Intensity of the ambient occlusion effect. Range is 0-1, where `0`
- disables ambient occlusion. Where intensity is `1` and the [page:.aoMap]
- red channel is also `1`, ambient light is fully occluded on a surface.
- Default is `1`.
- </p>
- <h3>[property:Texture bumpMap]</h3>
- <p>
- The texture to create a bump map. The black and white values map to the
- perceived depth in relation to the lights. Bump doesn't actually affect
- the geometry of the object, only the lighting. If a normal map is defined
- this will be ignored.
- </p>
- <h3>[property:Float bumpScale]</h3>
- <p>
- How much the bump map affects the material. Typical ranges are 0-1.
- Default is 1.
- </p>
- <h3>[property:Color color]</h3>
- <p>[page:Color] of the material, by default set to white (0xffffff).</p>
- <h3>[property:Integer combine]</h3>
- <p>
- How to combine the result of the surface's color with the environment map,
- if any.<br /><br />
- Options are [page:Materials THREE.MultiplyOperation] (default),
- [page:Materials THREE.MixOperation], [page:Materials THREE.AddOperation].
- If mix is chosen, the [page:.reflectivity] is used to blend between the
- two colors.
- </p>
- <h3>[property:Texture displacementMap]</h3>
- <p>
- The displacement map affects the position of the mesh's vertices. Unlike
- other maps which only affect the light and shade of the material the
- displaced vertices can cast shadows, block other objects, and otherwise
- act as real geometry. The displacement texture is an image where the value
- of each pixel (white being the highest) is mapped against, and
- repositions, the vertices of the mesh.
- </p>
- <h3>[property:Float displacementScale]</h3>
- <p>
- How much the displacement map affects the mesh (where black is no
- displacement, and white is maximum displacement). Without a displacement
- map set, this value is not applied. Default is `1`.
- </p>
- <h3>[property:Float displacementBias]</h3>
- <p>
- The offset of the displacement map's values on the mesh's vertices.
- Without a displacement map set, this value is not applied. Default is `0`.
- </p>
- <h3>[property:Color emissive]</h3>
- <p>
- Emissive (light) color of the material, essentially a solid color
- unaffected by other lighting. Default is black.
- </p>
- <h3>[property:Texture emissiveMap]</h3>
- <p>
- Set emissive (glow) map. Default is null. The emissive map color is
- modulated by the emissive color and the emissive intensity. If you have an
- emissive map, be sure to set the emissive color to something other than
- black.
- </p>
- <h3>[property:Float emissiveIntensity]</h3>
- <p>
- Intensity of the emissive light. Modulates the emissive color. Default is
- 1.
- </p>
- <h3>[property:Texture envMap]</h3>
- <p>The environment map. Default is null.</p>
- <h3>[property:Euler envMapRotation]</h3>
- <p>
- The rotation of the environment map in radians. Default is `(0,0,0)`.
- </p>
- <h3>[property:Boolean flatShading]</h3>
- <p>
- Define whether the material is rendered with flat shading. Default is
- false.
- </p>
- <h3>[property:Boolean fog]</h3>
- <p>Whether the material is affected by fog. Default is `true`.</p>
- <h3>[property:Texture lightMap]</h3>
- <p>
- The light map. Default is null. The lightMap requires a second set of UVs.
- </p>
- <h3>[property:Float lightMapIntensity]</h3>
- <p>Intensity of the baked light. Default is `1`.</p>
- <h3>[property:Texture map]</h3>
- <p>
- The color map. May optionally include an alpha channel, typically combined
- with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
- Default is null.
- </p>
- <h3>[property:Texture normalMap]</h3>
- <p>
- The texture to create a normal map. The RGB values affect the surface
- normal for each pixel fragment and change the way the color is lit. Normal
- maps do not change the actual shape of the surface, only the lighting. In
- case the material has a normal map authored using the left handed
- convention, the y component of normalScale should be negated to compensate
- for the different handedness.
- </p>
- <h3>[property:Integer normalMapType]</h3>
- <p>
- The type of normal map.<br /><br />
- Options are [page:constant THREE.TangentSpaceNormalMap] (default), and
- [page:constant THREE.ObjectSpaceNormalMap].
- </p>
- <h3>[property:Vector2 normalScale]</h3>
- <p>
- How much the normal map affects the material. Typical ranges are 0-1.
- Default is a [page:Vector2] set to (1,1).
- </p>
- <h3>[property:Float reflectivity]</h3>
- <p>
- How much the environment map affects the surface; also see
- [page:.combine].
- </p>
- <h3>[property:Float refractionRatio]</h3>
- <p>
- The index of refraction (IOR) of air (approximately 1) divided by the
- index of refraction of the material. It is used with environment mapping
- modes [page:Textures THREE.CubeRefractionMapping] and [page:Textures THREE.EquirectangularRefractionMapping].
- The refraction ratio should not
- exceed `1`. Default is `0.98`.
- </p>
- <h3>[property:Texture specularMap]</h3>
- <p>Specular map used by the material. Default is null.</p>
- <h3>[property:Boolean wireframe]</h3>
- <p>
- Render geometry as wireframe. Default is `false` (i.e. render as flat
- polygons).
- </p>
- <h3>[property:String wireframeLinecap]</h3>
- <p>
- Define appearance of line ends. Possible values are "butt", "round" and
- "square". Default is 'round'.<br /><br />
- This corresponds to the
- [link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap]
- property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
- </p>
- <h3>[property:String wireframeLinejoin]</h3>
- <p>
- Define appearance of line joints. Possible values are "round", "bevel" and
- "miter". Default is 'round'.<br /><br />
- This corresponds to the
- [link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]
- property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
- </p>
- <h3>[property:Float wireframeLinewidth]</h3>
- <p>
- Controls wireframe thickness. Default is `1`.<br /><br />
- Due to limitations of the
- [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
- with the [page:WebGLRenderer WebGL] renderer on most
- platforms linewidth will always be `1` regardless of the set value.
- </p>
- <h2>Methods</h2>
- <p>See the base [page:Material] class for common methods.</p>
- <h2>Source</h2>
- <p>
- [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
- </p>
- </body>
- </html>
|