123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import WebGPUBinding from './WebGPUBinding.js';
- import { getFloatLength } from './WebGPUBufferUtils.js';
- import { GPUBindingType } from './constants.js';
- class WebGPUUniformBuffer extends WebGPUBinding {
- constructor( name, buffer = null ) {
- super( name );
- this.bytesPerElement = Float32Array.BYTES_PER_ELEMENT;
- this.type = GPUBindingType.UniformBuffer;
- this.visibility = GPUShaderStage.VERTEX;
- this.usage = GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST;
- this.buffer = buffer;
- this.bufferGPU = null; // set by the renderer
- }
- getByteLength() {
- return getFloatLength( this.buffer.byteLength );
- }
- getBuffer() {
- return this.buffer;
- }
- update() {
- return true;
- }
- }
- WebGPUUniformBuffer.prototype.isUniformBuffer = true;
- export default WebGPUUniformBuffer;
|