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.
33 lines
665 B
33 lines
665 B
import { GPUChunkSize } from './constants.js'; |
|
|
|
function getFloatLength( floatLength ) { |
|
|
|
// ensure chunk size alignment (STD140 layout) |
|
|
|
return floatLength + ( ( GPUChunkSize - ( floatLength % GPUChunkSize ) ) % GPUChunkSize ); |
|
|
|
} |
|
|
|
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 |
|
};
|
|
|