WebGPUBufferUtils.js 548 B

1234567891011121314151617181920212223242526
  1. import { GPUChunkSize } from './constants.js';
  2. function getFloatLength( floatLength ) {
  3. // ensure chunk size alignment (STD140 layout)
  4. return floatLength + ( ( GPUChunkSize - ( floatLength % GPUChunkSize ) ) % GPUChunkSize );
  5. }
  6. function getVectorLength( count, vectorLength ) {
  7. const strideLength = 4;
  8. vectorLength = vectorLength + ( ( strideLength - ( vectorLength % strideLength ) ) % strideLength );
  9. const floatLength = vectorLength * count;
  10. return getFloatLength( floatLength );
  11. }
  12. export {
  13. getFloatLength,
  14. getVectorLength
  15. };