You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
4.2 KiB

2 years ago
<!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] &rarr;
<h1>[name]</h1>
<p class="desc">The default material used by [page:Points].</p>
<h2>Code Example</h2>
<code>
const vertices = [];
for ( let i = 0; i < 10000; i ++ ) {
const x = THREE.MathUtils.randFloatSpread( 2000 );
const y = THREE.MathUtils.randFloatSpread( 2000 );
const z = THREE.MathUtils.randFloatSpread( 2000 );
vertices.push( x, y, z );
}
const geometry = new THREE.BufferGeometry();
geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
const material = new THREE.PointsMaterial( { color: 0x888888 } );
const points = new THREE.Points( geometry, material );
scene.add( points );
</code>
<h2>Examples</h2>
<p>
[example:misc_controls_fly misc / controls / fly]<br />
[example:webgl_buffergeometry_drawrange WebGL / BufferGeometry / drawrange]<br />
[example:webgl_buffergeometry_points WebGL / BufferGeometry / points]<br />
[example:webgl_buffergeometry_points_interleaved WebGL / BufferGeometry / points / interleaved]<br />
[example:webgl_camera WebGL / camera ]<br />
[example:webgl_geometry_convex WebGL / geometry / convex]<br />
[example:webgl_geometry_shapes WebGL / geometry / shapes]<br />
[example:webgl_interactive_raycasting_points WebGL / interactive / raycasting / points]<br />
[example:webgl_multiple_elements_text WebGL / multiple / elements / text]<br />
[example:webgl_points_billboards WebGL / points / billboards]<br />
[example:webgl_points_dynamic WebGL / points / dynamic]<br />
[example:webgl_points_sprites WebGL / points / sprites]<br />
[example:webgl_trails WebGL / trails]
</p>
<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:Color color]</h3>
<p>[page:Color] of the material, by default set to white (0xffffff).</p>
<h3>[property:Boolean fog]</h3>
<p>Whether the material is affected by fog. Default is `true`.</p>
<h3>[property:Texture map]</h3>
<p>
Sets the color of the points using data from a [page:Texture].
May optionally include an alpha channel, typically combined with
[page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest].
</p>
<h3>[property:Number size]</h3>
<p>Defines the size of the points in pixels. Default is 1.0.<br/>
Will be capped if it exceeds the hardware dependent parameter [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/getParameter gl.ALIASED_POINT_SIZE_RANGE].</p>
<h3>[property:Boolean sizeAttenuation]</h3>
<p>Specify whether points' size is attenuated by the camera depth. (Perspective camera only.) Default is true.</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>