最新代码
This commit is contained in:
33
public/sdk/three/jsm/renderers/common/BufferUtils.js
Normal file
33
public/sdk/three/jsm/renderers/common/BufferUtils.js
Normal file
@ -0,0 +1,33 @@
|
||||
import { GPU_CHUNK_BYTES } from './Constants.js';
|
||||
|
||||
function getFloatLength( floatLength ) {
|
||||
|
||||
// ensure chunk size alignment (STD140 layout)
|
||||
|
||||
return floatLength + ( ( GPU_CHUNK_BYTES - ( floatLength % GPU_CHUNK_BYTES ) ) % GPU_CHUNK_BYTES );
|
||||
|
||||
}
|
||||
|
||||
function getVectorLength( count, vectorLength = 4 ) {
|
||||
|
||||
const strideLength = getStrideLength( vectorLength );
|
||||
|
||||
const floatLength = strideLength * count;
|
||||
|
||||
return getFloatLength( floatLength );
|
||||
|
||||
}
|
||||
|
||||
function getStrideLength( vectorLength ) {
|
||||
|
||||
const strideLength = 4;
|
||||
|
||||
return vectorLength + ( ( strideLength - ( vectorLength % strideLength ) ) % strideLength );
|
||||
|
||||
}
|
||||
|
||||
export {
|
||||
getFloatLength,
|
||||
getVectorLength,
|
||||
getStrideLength
|
||||
};
|
Reference in New Issue
Block a user