BufferGeometry
Object3D
Raycaster
Camera
CubeCamera
PerspectiveCamera
OrthographicCamera
StereoCamera
Clock
Curve
CurvePath
Path
Shape
ShapePath
ArrowHelper
AxesHelper
BoxHelper
Box3Helper
CameraHelper
DirectionalLightHelper
GridHelper
PolarGridHelper
HemisphereLightHelper
PlaneHelper
PointLightHelper
SkeletonHelper
SpotLightHelper
Light
PointLight
RectAreaLight
SpotLight
DirectionalLight
HemisphereLight
LightShadow
PointLightShadow
AnimationLoader
AudioLoader
BufferGeometryLoader
CompressedTextureLoader
CubeTextureLoader
DataTextureLoader
FileLoader
ImageBitmapLoader
ImageLoader
Loader
LoaderUtils
MaterialLoader
ObjectLoader
TextureLoader
LoadingManager
Material
Box2
Box3
Color
Cylindrical
Euler
Frustum
Interpolant
Line3
MathUtils
Matrix3
Matrix4
Plane
Quaternion
AnimationAction
AnimationClip
AnimationMixer
AnimationObjectGroup
AnimationUtils
keyframeTrack
PropertyBinding
PropertyMixer
BooleanKeyframeTrack
QuaternionKeyframeTrack
StringKeyframeTrack
Audio
AudioAnalyser
AudioContext
AudioListener
PositionalAudio

MathUtils.floorPowerOfTwo()

MathUtils.floorPowerOfTwo() 方法返回最接近并小于等于指定数字的 2 的幂次方。该方法主要用于优化 WebGL 纹理的使用。

语法

MathUtils.floorPowerOfTwo(value);

参数

  • value:必填,数字类型。需要执行操作的数字。

返回值

  • 返回与指定数字最接近并小于等于其的 2 的幂次方数字。

示例

var value1 = 15;
var power1 = MathUtils.floorPowerOfTwo(value1);
console.log(power1); // 8

var value2 = 100;
var power2 = MathUtils.floorPowerOfTwo(value2);
console.log(power2); // 64

备注

该方法返回的结果只是最接近并小于等于指定数字的 2 的幂次方,不会改变原始数字的值。

注意:由于该方法是基于位运算来处理的,因此不能处理大于 2^31(2147483648)的数字。在计算时应小心谨慎,确保您的数字不会超出此范围。