Dies ist das Repository meines kleinen Portfolios.
Im Hintergrund läuft eine Planetensimulation, geschrieben in JavaScript und Three.js.
Die zu sehenden Texturen stammen von:
https://www.solarsystemscope.com/textures/
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.
42 lines
658 B
42 lines
658 B
class WebGPUObjects { |
|
|
|
constructor( geometries, info ) { |
|
|
|
this.geometries = geometries; |
|
this.info = info; |
|
|
|
this.updateMap = new WeakMap(); |
|
|
|
} |
|
|
|
update( object ) { |
|
|
|
const geometry = object.geometry; |
|
const updateMap = this.updateMap; |
|
const frame = this.info.render.frame; |
|
|
|
if ( geometry.isBufferGeometry !== true ) { |
|
|
|
throw 'THREE.WebGPURenderer: This renderer only supports THREE.BufferGeometry for geometries.'; |
|
|
|
} |
|
|
|
if ( updateMap.get( geometry ) !== frame ) { |
|
|
|
this.geometries.update( geometry ); |
|
|
|
updateMap.set( geometry, frame ); |
|
|
|
} |
|
|
|
} |
|
|
|
dispose() { |
|
|
|
this.updateMap = new WeakMap(); |
|
|
|
} |
|
|
|
} |
|
|
|
export default WebGPUObjects;
|
|
|