|
@@ -1,7 +1,7 @@
|
|
|
<!DOCTYPE html>
|
|
|
<html lang="en">
|
|
|
<head>
|
|
|
- <title>three.js webgpu - points - fat</title>
|
|
|
+ <title>three.js webgpu - points - instanced</title>
|
|
|
<meta charset="utf-8">
|
|
|
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
|
|
|
<link type="text/css" rel="stylesheet" href="main.css">
|
|
@@ -11,7 +11,7 @@
|
|
|
|
|
|
<div id="container"></div>
|
|
|
|
|
|
- <div id="info"><a href="https://threejs.org" target="_blank">three.js</a> - fat points</div>
|
|
|
+ <div id="info"><a href="https://threejs.org" target="_blank">three.js</a> - instanced points</div>
|
|
|
|
|
|
<script type="importmap">
|
|
|
{
|
|
@@ -37,11 +37,11 @@
|
|
|
import { GUI } from 'three/addons/libs/lil-gui.module.min.js';
|
|
|
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
|
|
|
|
|
|
- import { FatPoints } from 'three/addons/points/FatPoints.js';
|
|
|
- //import { FatPointsNodeMaterial } from 'three/addons/points/FatPointsNodeMaterial.js'; // why not this, instead?
|
|
|
- import { FatPointsGeometry } from 'three/addons/points/FatPointsGeometry.js';
|
|
|
+ import InstancedPoints from 'three/addons/objects/InstancedPoints.js';
|
|
|
+ //import InstancedPointsNodeMaterial from 'three/addons/materials/InstancedPointsNodeMaterial.js'; // why not this, instead?
|
|
|
+ import InstancedPointsGeometry from 'three/addons/geometries/InstancedPointsGeometry.js';
|
|
|
|
|
|
- import { color, FatPointsNodeMaterial } from 'three/nodes';
|
|
|
+ import { color, InstancedPointsNodeMaterial } from 'three/nodes';
|
|
|
|
|
|
import * as GeometryUtils from 'three/addons/utils/GeometryUtils.js';
|
|
|
|
|
@@ -111,15 +111,15 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
- // Fat Points
|
|
|
+ // Instanced Points
|
|
|
|
|
|
- const geometry = new FatPointsGeometry();
|
|
|
+ const geometry = new InstancedPointsGeometry();
|
|
|
geometry.setPositions( positions );
|
|
|
geometry.setColors( colors );
|
|
|
|
|
|
geometry.instanceCount = positions.length / 3; // this should not be necessary
|
|
|
|
|
|
- material = new FatPointsNodeMaterial( {
|
|
|
+ material = new InstancedPointsNodeMaterial( {
|
|
|
|
|
|
color: 0xffffff,
|
|
|
pointWidth: 10, // in pixel units
|
|
@@ -129,9 +129,9 @@
|
|
|
|
|
|
} );
|
|
|
|
|
|
- const fatPoints = new FatPoints( geometry, material );
|
|
|
- fatPoints.scale.set( 1, 1, 1 );
|
|
|
- scene.add( fatPoints );
|
|
|
+ const instancedPoints = new InstancedPoints( geometry, material );
|
|
|
+ instancedPoints.scale.set( 1, 1, 1 );
|
|
|
+ scene.add( instancedPoints );
|
|
|
|
|
|
//
|
|
|
|