AR_Engine_SDK
载入中...
搜索中...
未找到
函数 | 变量
Global.lua 文件参考

函数

function XRT_RayToAABB3 (vStart, vDelta, vMins, vMaxs) end
 
function XRT_PlaneAABBOverlap (Plane, _vMins, _vMaxs) end
 
function XRT_PlaneSphereOverlap (Plane, vCenter, fRadius) end
 
function XRT_PlaneSphereOverlap (vNormal, fDist, vCenter, fRadius) end
 
function XG_InvSqrt (v) end
 
function XG_SquareMagnitude (v) end
 
function XG_Magnitude (v) end
 
function XG_MagnitudeH (v) end
 
function XG_Vector423 (v) end
 
function XG_Normalize (v) end
 
function XG_CompressDir (v) end
 
function XG_DecompressDir (b1, b2) end
 
function XG_VecMin (v1, v2) end
 
function XG_VecMax (v1, v2) end
 
function XG_ViewToWorld (vIn, matView) end
 
function XG_IdentityMatrix3 () end
 
function XG_TransformMatrix3 (fRad, vecPos) end
 
function XG_TransformMatrix3 (fRad, vecPos, vecScale) end
 
function XG_TransformMatrix3 (vecXDir, vecPos) end
 
function XG_TransformMatrix3 (vecXDir, vecPos, vecScale) end
 
function XG_IdentityMatrix () end
 
function XG_ZeroMatrix () end
 
function XG_ViewMatrix (from, dir, vecUp, roll) end
 
function XG_LookAtMatrix (from, to, vecUp, roll) end
 
function XG_TransformMatrix (vecDir, vecUp, vecPos) end
 
function XG_RotateX (vRad) end
 
function XG_RotateX (mat, vRad) end
 
function XG_RotateY (vRad) end
 
function XG_RotateY (mat, vRad) end
 
function XG_RotateZ (vRad) end
 
function XG_RotateZ (mat, vRad) end
 
function XG_RotateAxis (vecAxis, vRad) end
 
function XG_RotateAxis (vecPos, vecAxis, vRad) end
 
function XG_RotateEuler (xRad, yRad, zRad) end
 
function XG_RotatePosAroundX (vPos, fRad) end
 
function XG_RotatePosAroundY (vPos, fRad) end
 
function XG_RotatePosAroundZ (vPos, fRad) end
 
function XG_RotatePosAroundAxis (vPos, vAxis, fRad) end
 
function XG_RotatePosAroundLine (vPos, vOrigin, vDir, fRad) end
 
function XG_RotateVecAroundLine (v, vOrigin, vDir, fRad) end
 
function XG_Scaling (sx, sy, sz) end
 
function XG_Scaling (mat, sx, sy, sz) end
 
function XG_ScalingRelative (matRoot, sx, sy, sz) end
 
function XG_Translate (x, y, z) end
 
function XG_ScaleAlongAxis (vAxis, fScale) end
 
function XG_Transpose (mat) end
 
function XG_Transpose (matIn) end
 
function XG_DecomposeMatrix (mat) end
 
function XG_DecomposeStrechedMatrixDiscardScale (mat) end
 
function XG_GetCubeMapDirAndUp (nFaceIndex) end
 
function XG_ColorValueToColorRGBA (colorValue) end
 
function XG_ColorRGBAToColorValue (colorRGBA) end
 
function XG_MirrorMatrix (p, n) end
 
function XG_InverseTM (mat) end
 
function XG_InverseTM (matIn) end
 
function XG_InverseMatrix (mat) end
 
function XG_InverseMatrix (matIn) end
 
function XG_InverseAffineMatrix (mat) end
 
function XG_InverseAffineMatrix (matIn) end
 
function XG_OrthoMatrix (fWidth, fHeight, fZNear, fZFar) end
 
function XG_OrthoOffCenterMatrix (fLeft, fRight, fBottom, fTop, fZNear, fZFar) end
 
function XG_PerspectiveMatrix (fWidth, fHeight, fZNear, fZFar) end
 
function XG_PerspectiveFovMatrix (fFovY, fAspect, fZNear, fZFar) end
 
function XG_PerspectiveOffCenterMatrix (fLeft, fRight, fBottom, fTop, fZNear, fZFar) end
 
function XG_OrthoMatrixRH (fWidth, fHeight, fZNear, fZFar) end
 
function XG_OrthoOffCenterMatrixRH (fLeft, fRight, fBottom, fTop, fZNear, fZFar) end
 
function XG_PerspectiveMatrixRH (fWidth, fHeight, fZNear, fZFar) end
 
function XG_PerspectiveFovMatrixRH (fFovY, fAspect, fZNear, fZFar) end
 
function XG_PerspectiveOffCenterMatrixRH (fLeft, fRight, fBottom, fTop, fZNear, fZFar) end
 
function XG_ClearAABB (vMins, vMaxs) end
 
function XG_AddVertexToAABB (vMins, vMaxs, vPoint) end
 
function XG_ExpandAABB (vecMins, vecMaxs, obb) end
 
function XG_ExpandAABB (vecMins, vecMaxs, subAABB) end
 
function XG_BuildAABB (obb) end
 
function XG_MergeAABB (pAABB, subAABB) end
 
function XG_CompleteAABB (pAABB) end
 
function XG_CompleteOBB (pOBB) end
 
function XG_RandDirH () end
 
function XG_HSVToRGB (hsvColor) end
 
function XG_RGBToHSV (rgbColor) end
 
function XG_RGBToHSL (r, g, b) end
 
function XG_DecompressColor (rgbColor) end
 
function XG_Matrix3Rotate (fRad) end
 
function XG_Matrix3Rotate (mat, fRad) end
 
function XG_Matrix3Translate (x, y) end
 
function XG_Matrix3Translate (mat, x, y) end
 
function XG_VectorMatrix3x3 (v, mat) end
 
function XG_DistSquareToAABB (vPos, aabb) end
 
function XG_TransformAABB (aabb, mat) end
 
function XG_RayToTriangle (vStart, vDelta, v0, v1, v2, bTwoSides) end
 
function TransformMatrix (qRotation, vTranslation, vScaling) end
 
function XG_CastRay (pViewport, vecScreenPoint) end
 
function XG_NormalizedCrossProduct (vec1, vec2) end
 
function XG_IsZeroLength (vecIn) end
 
function XG_PointToLineDistance (vecPoint, vecLinePoint, vecLineDirection) end
 
function XG_LineLineDistance (vecPoint0, vecDir0, vecPoint1, vecDir1) end
 
function XG_LinePlaneIntersection (vecLinePoint, vecLineDir, vecPlanePoint, vecPlaneNormal) end
 
function XG_LineSphereIntersection (vecLinePoint, vecLineDir, vecSphereCenter, fRadius) end
 
function X_Equals (a, b, eps) end
 
function X_IsPowerOfTwo (x) end
 
function X_CeilPowerOfTwo (x) end
 
function X_FloorPowerOfTwo (x) end
 
function X_Srand_Time () end
 
function X_Srand_ (seed) end
 
function X_Rand_ () end
 
function X_Random_0_to_1 () end
 
function X_RandInt (lower, upper) end
 
function X_RandFloat (lower, upper) end
 
function XG_CompressDirH (x, z) end
 
function XG_DecompressDirH (byDir) end
 
function XECrypt (operation, algorithm, mode, padding, key, key_len, vector, vector_len, input, input_len, output) end
 @type number @readonly
 

变量

 DEFAULTFOVDEGREE = 0
 @type number @readonly
 
 DEFAULTZNEAR = 0
 @type number @readonly
 
 DEFAULTZFAR = 0
 @type number @readonly
 
 DEFAULTRADIO = 0
 @type number @readonly
 

函数说明

◆ TransformMatrix()

function TransformMatrix ( qRotation  ,
vTranslation  ,
vScaling   
)

构建变换矩阵,并将其返回

参数
qRotationXQUATERNION
vTranslationXVECTOR3
vScalingXVECTOR3
返回
XMATRIX4 构建的变换矩阵

◆ X_CeilPowerOfTwo()

function X_CeilPowerOfTwo ( x  )

X_CeilPowerOfTwo00

参数
xnumber
返回
number

◆ X_Equals()

function X_Equals ( ,
,
eps   
)

判断变量 a 和 b 是否在一定误差范围内相等(提供了两个接口,支持xfloat32和xfloat64两种类型)

参数
anumber
bnumber
epsnumber 误差范围(xfloat32类型)
返回
boolean 表示a和b是否相等的标志

判断变量 a 和 b 是否在一定误差范围内相等(提供了两个接口,支持xfloat32和xfloat64两种类型)

参数
anumber
bnumber
epsnumber 误差范围(xfloat64类型)
返回
boolean 表示a和b是否相等的标志

◆ X_FloorPowerOfTwo()

function X_FloorPowerOfTwo ( x  )

X_FloorPowerOfTwo00

参数
xnumber
返回
number

◆ X_IsPowerOfTwo()

function X_IsPowerOfTwo ( x  )

判断 x 是否是 2 的 n 次幂

参数
xnumber
返回
boolean 代表x是否是2的n次幂的标志

◆ X_Rand_()

function X_Rand_ ( )

X_Rand_00

返回
number

◆ X_RandFloat()

function X_RandFloat ( lower  ,
upper   
)

X_RandFloat00

参数
lowernumber
uppernumber
返回
number

◆ X_RandInt()

function X_RandInt ( lower  ,
upper   
)

X_RandInt00

参数
lowernumber
uppernumber
返回
number

◆ X_Random_0_to_1()

function X_Random_0_to_1 ( )

X_Random_0_to_100

返回
number

◆ X_Srand_()

function X_Srand_ ( seed  )

X_Srand_00

参数
seednumber
返回
void

◆ X_Srand_Time()

function X_Srand_Time ( )

X_Srand_Time00

返回
void

◆ XECrypt()

function XECrypt ( operation  ,
algorithm  ,
mode  ,
padding  ,
key  ,
key_len  ,
vector  ,
vector_len  ,
input  ,
input_len  ,
output   
)

@type number @readonly

@type number @readonly @type number @readonly @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @type XConsoleVariable @manual xelua_XEngine_XECrypt_manual XECrypt_manual

参数
operationnumber
algorithmnumber
modenumber
paddingnumber
keystring
key_lennumber
vectorstring
vector_lennumber
inputstring
input_lennumber
outputstring
返回
number

◆ XG_AddVertexToAABB()

function XG_AddVertexToAABB ( vMins  ,
vMaxs  ,
vPoint   
)

用 vPoint 数据更新 AABB 包围盒的数据。例如,如果 vPoint 的 x 分量小于 AABB 包围盒 vMins的 x 分量, 则将 AABB 包围盒 vMins 顶点的 x 分量更新为 vPoint 的 x 分量,对于 y , z 分量执行一样的操作.

参数
vMinsXVECTOR3 AABB包围盒“最小”点
vMaxsXVECTOR3 AABB包围盒“最大”点
vPointXVECTOR3 用于更新AABB包围盒边界点的向量
返回
void

◆ XG_BuildAABB()

function XG_BuildAABB ( obb  )

XG_BuildAABB00

参数
obbXCusOBB
返回
XCusAABB
void

◆ XG_CastRay()

function XG_CastRay ( pViewport  ,
vecScreenPoint   
)

XG_CastRay00

参数
pViewportXViewport
vecScreenPointXVECTOR3
返回
XVECTOR3
XVECTOR3
void

◆ XG_ClearAABB()

function XG_ClearAABB ( vMins  ,
vMaxs   
)

XG_ClearAABB00

参数
vMinsXVECTOR3
vMaxsXVECTOR3
返回
void

◆ XG_ColorRGBAToColorValue()

function XG_ColorRGBAToColorValue ( colorRGBA  )

XCOLOR格式转换为XCOLORBASE格式

参数
colorRGBAnumber XCOLOR(一个xuint32)格式颜色信息
返回
XCOLORBASE XCOLORBASE(4个xfloat32颜色分量r,g,b,a)格式颜色信息

◆ XG_ColorValueToColorRGBA()

function XG_ColorValueToColorRGBA ( colorValue  )

XCOLORBASE格式转换为XCOLOR格式

参数
colorValueXCOLORBASE XCOLORBASE(4个xfloat32颜色分量r,g,b,a)格式颜色信息
返回
number XCOLOR(一个xuint32)格式颜色信息

◆ XG_CompleteAABB()

function XG_CompleteAABB ( pAABB  )

更新AABB的中心及长度信息

参数
pAABBXCusAABB AABB信息
返回
void

◆ XG_CompleteOBB()

function XG_CompleteOBB ( pOBB  )

更新OBB的轴上点信息

参数
pOBBXCusOBB OBB信息
返回
void

◆ XG_CompressDir()

function XG_CompressDir ( )

XG_CompressDir00

参数
vXVECTOR3
返回
number
number
void

◆ XG_CompressDirH()

function XG_CompressDirH ( x  ,
z   
)

[引擎内部模块间调用接口]

参数
xnumber
znumber
返回
number

◆ XG_DecomposeMatrix()

function XG_DecomposeMatrix ( mat  )

XG_DecomposeMatrix00

参数
matXMATRIX4
返回
XVECTOR3
XQUATERNION
XVECTOR3
void

◆ XG_DecomposeStrechedMatrixDiscardScale()

function XG_DecomposeStrechedMatrixDiscardScale ( mat  )

XG_DecomposeStrechedMatrixDiscardScale00

参数
matXMATRIX4
返回
XQUATERNION
XVECTOR3
number
void

◆ XG_DecompressColor()

function XG_DecompressColor ( rgbColor  )

XG_DecompressColor00

参数
rgbColornumber
返回
number
number
number
number
void

◆ XG_DecompressDir()

function XG_DecompressDir ( b1  ,
b2   
)

从两个字符中解压出3D向量

参数
b1number 压缩输第一个字符
b2number 压缩输第二个字符
返回
XVECTOR3

◆ XG_DecompressDirH()

function XG_DecompressDirH ( byDir  )

[引擎内部模块间调用接口]

参数
byDirnumber
返回
XVECTOR3

◆ XG_DistSquareToAABB()

function XG_DistSquareToAABB ( vPos  ,
aabb   
)

XG_DistSquareToAABB00

参数
vPosXVECTOR3
aabbXCusAABB
返回
number

◆ XG_ExpandAABB() [1/2]

function XG_ExpandAABB ( vecMins  ,
vecMaxs  ,
obb   
)

将OBB合并到AABB的最大最小值中

参数
vecMinsXVECTOR3 AABB的最小值
vecMaxsXVECTOR3 AABB的最大值
obbXCusOBB 输入OBB信息
返回
void

◆ XG_ExpandAABB() [2/2]

function XG_ExpandAABB ( vecMins  ,
vecMaxs  ,
subAABB   
)

将AABB合并到AABB的最大最小值中

参数
vecMinsXVECTOR3 AABB的最小值
vecMaxsXVECTOR3 AABB的最大值
subAABBXCusAABB 输入子AABB信息
返回
void

◆ XG_GetCubeMapDirAndUp()

function XG_GetCubeMapDirAndUp ( nFaceIndex  )

XG_GetCubeMapDirAndUp00

参数
nFaceIndexnumber
返回
XVECTOR3
XVECTOR3
boolean

◆ XG_HSVToRGB()

function XG_HSVToRGB ( hsvColor  )

XG_HSVToRGB00

参数
hsvColorXHSVCOLORBASE
返回
number
void

◆ XG_IdentityMatrix()

function XG_IdentityMatrix ( )

初始化一个 4 x 4 的单位矩阵并将其返回

返回
XMATRIX4 单位矩阵

◆ XG_IdentityMatrix3()

function XG_IdentityMatrix3 ( )

初始化一个 3 x 3 的单位矩阵并将其返回

返回
XMATRIX3 单位矩阵

◆ XG_InverseAffineMatrix() [1/2]

function XG_InverseAffineMatrix ( mat  )

[引擎内部模块间调用接口]

参数
matXMATRIX4
返回
XMATRIX4

◆ XG_InverseAffineMatrix() [2/2]

function XG_InverseAffineMatrix ( matIn  )

XG_InverseAffineMatrix01

参数
matInXMATRIX4
返回
XMATRIX4
void

◆ XG_InverseMatrix() [1/2]

function XG_InverseMatrix ( mat  )

计算矩阵 mat 的逆矩阵并将其返回

参数
matXMATRIX4 原始矩阵
返回
XMATRIX4 原始矩阵的逆矩阵

◆ XG_InverseMatrix() [2/2]

function XG_InverseMatrix ( matIn  )

XG_InverseMatrix01

参数
matInXMATRIX4
返回
XMATRIX4
void

◆ XG_InverseTM() [1/2]

function XG_InverseTM ( mat  )

计算矩阵 mat 的逆矩阵并将其返回,只有平移、旋转、缩放的矩阵求逆

参数
matXMATRIX4 原始矩阵
返回
XMATRIX4 原始矩阵的逆矩阵

◆ XG_InverseTM() [2/2]

function XG_InverseTM ( matIn  )

XG_InverseTM01

参数
matInXMATRIX4
返回
XMATRIX4
void

◆ XG_InvSqrt()

function XG_InvSqrt ( )

计算 v 的平方根的倒数,并返回

参数
vnumber 待计算的浮点数
返回
number v的平方根的倒数

◆ XG_IsZeroLength()

function XG_IsZeroLength ( vecIn  )

判断给定的向量是否是零向量

参数
vecInXVECTOR3
返回
boolean 是否是零向量,是零向量返回true,否则返回false

◆ XG_LineLineDistance()

function XG_LineLineDistance ( vecPoint0  ,
vecDir0  ,
vecPoint1  ,
vecDir1   
)

@manual xelua_XEngine_XG_LineLineDistance_manual XG_LineLineDistance_manual

参数
vecPoint0XVECTOR3
vecDir0XVECTOR3
vecPoint1XVECTOR3
vecDir1XVECTOR3
返回
number
number

◆ XG_LinePlaneIntersection()

function XG_LinePlaneIntersection ( vecLinePoint  ,
vecLineDir  ,
vecPlanePoint  ,
vecPlaneNormal   
)

计算空间中线与面的交点并返回,此处 vecLineDir 和 vecPlaneNormal 要求单位化

参数
vecLinePointXVECTOR3 空间中的直线上的一个坐标点
vecLineDirXVECTOR3 空间直线的方向向量(单位化)
vecPlanePointXVECTOR3 空间中平面上的一个坐标点
vecPlaneNormalXVECTOR3 平面法向量(单位化)
返回
XVECTOR3 直线与平面的交点

◆ XG_LineSphereIntersection()

function XG_LineSphereIntersection ( vecLinePoint  ,
vecLineDir  ,
vecSphereCenter  ,
fRadius   
)

计算空间中线与球的交点并返回,此处 vecLineDir 要求单位化

参数
vecLinePointXVECTOR3 空间中的直线上的一个坐标点
vecLineDirXVECTOR3 空间直线的方向向量(单位化)
vecSphereCenterXVECTOR3 空间中球的中心点坐标
fRadiusnumber 球的半径
返回
XVECTOR3 直线与球体的交点

◆ XG_LookAtMatrix()

function XG_LookAtMatrix ( from  ,
to  ,
vecUp  ,
roll   
)

根据起点位置坐标、“看向的”终点坐标、Up向量构建视图矩阵,如果 roll 不为0 ,还需将构建的视图矩阵绕 z 轴旋转 -roll 弧度

参数
fromXVECTOR3 起点坐标,即相机的位置坐标
toXVECTOR3 终点坐标,即相机“看向”的坐标
vecUpXVECTOR3 UP向量
rollnumber 绕z轴负方向的旋转角(弧度)
返回
XMATRIX4 视图矩阵

◆ XG_Magnitude()

function XG_Magnitude ( )

计算向量的模

参数
vXVECTOR3 用于计算的向量
返回
number 用于计算的向量

◆ XG_MagnitudeH()

function XG_MagnitudeH ( )

计算向量 x 分量和 z 分量平方和的平方根

参数
vXVECTOR3 用于计算的向量
返回
number 向量x分量和z分量平方和的平方根

◆ XG_Matrix3Rotate() [1/2]

function XG_Matrix3Rotate ( fRad  )

计算绕 x 轴旋转的三维矩阵并返回

参数
fRadnumber
返回
XMATRIX3 绕x轴旋转后的三维变换矩阵

◆ XG_Matrix3Rotate() [2/2]

function XG_Matrix3Rotate ( mat  ,
fRad   
)

计算矩阵 mat 绕 x 轴旋转后的新矩阵,并将其返回(三维矩阵)

参数
matXMATRIX3 待旋转的原始矩阵
fRadnumber
返回
XMATRIX3 矩阵绕x轴旋转后的新矩阵

◆ XG_Matrix3Translate() [1/2]

function XG_Matrix3Translate ( mat  ,
x  ,
y   
)

XG_Matrix3Translate01

参数
matXMATRIX3
xnumber
ynumber
返回
XMATRIX3

◆ XG_Matrix3Translate() [2/2]

function XG_Matrix3Translate ( x  ,
y   
)

XG_Matrix3Translate00

参数
xnumber
ynumber
返回
XMATRIX3

◆ XG_MergeAABB()

function XG_MergeAABB ( pAABB  ,
subAABB   
)

合并另一个AABB到AABB中

参数
pAABBXCusAABB 合到的AABB
subAABBXCusAABB 被合并的子AABB
返回
void

◆ XG_MirrorMatrix()

function XG_MirrorMatrix ( ,
 
)

计算镜像矩阵

参数
pXVECTOR3
nXVECTOR3 镜像平面方向
返回
XMATRIX4 镜像矩阵

◆ XG_Normalize()

function XG_Normalize ( )

将2D向量单位化

参数
vXVECTOR2 用于单位化的向量
返回
XVECTOR2 单位化之后的向量

将3D向量单位化

参数
vXVECTOR3 用于单位化的向量
返回
XVECTOR3 单位化之后的向量

◆ XG_NormalizedCrossProduct()

function XG_NormalizedCrossProduct ( vec1  ,
vec2   
)

将向量 vec1 和 vec2 叉乘,并将结果单位化

参数
vec1XVECTOR3 用于叉乘的第一个向量
vec2XVECTOR3 用于叉乘的第二个向量
返回
XVECTOR3 向量叉乘并单位化之后的结果向量

◆ XG_OrthoMatrix()

function XG_OrthoMatrix ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

根据宽、高、远近距离构建正交投影矩阵并返回,此时投影平面的中心与屏幕的几何中心点重合

参数
fWidthnumber 视口的宽
fHeightnumber 视口的高
fZNearnumber 近裁剪平面到相机的距离
fZFarnumber 远裁剪平面到相机的距离
返回
XMATRIX4 正交投影矩阵

◆ XG_OrthoMatrixRH()

function XG_OrthoMatrixRH ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

计算右手的正交矩阵

参数
fWidthnumber 宽度
fHeightnumber 高度
fZNearnumber 近裁剪
fZFarnumber 远裁剪
返回
XMATRIX4 正交矩阵

◆ XG_OrthoOffCenterMatrix()

function XG_OrthoOffCenterMatrix ( fLeft  ,
fRight  ,
fBottom  ,
fTop  ,
fZNear  ,
fZFar   
)

根据上下左右远近距离构建正交投影矩阵并返回

参数
fLeftnumber 视椎体左平面到相机的距离
fRightnumber 视椎体右平面到相机的距离
fBottomnumber 视椎体底部平面到相机的距离
fTopnumber 视椎体顶部平面到相机的距离
fZNearnumber 近裁剪平面到相机的距离
fZFarnumber 远裁剪平面到相机的距离
返回
XMATRIX4 正交投影矩阵

◆ XG_OrthoOffCenterMatrixRH()

function XG_OrthoOffCenterMatrixRH ( fLeft  ,
fRight  ,
fBottom  ,
fTop  ,
fZNear  ,
fZFar   
)

计算左右,上下不等值的正交矩阵

参数
fLeftnumber 左侧值
fRightnumber 右侧值
fBottomnumber 下侧值
fTopnumber 上侧值
fZNearnumber 近裁剪
fZFarnumber 远裁剪
返回
XMATRIX4 正交矩阵

◆ XG_PerspectiveFovMatrix()

function XG_PerspectiveFovMatrix ( fFovY  ,
fAspect  ,
fZNear  ,
fZFar   
)

根据竖直方向的视角、近裁剪平面的宽高比、远近距离构建透视投影矩阵并返回

参数
fFovYnumber 竖直方向的视角(弧度)
fAspectnumber 视口的宽高比
fZNearnumber 近裁剪平面到相机的距离
fZFarnumber 远裁剪平面到相机的距离
返回
XMATRIX4 透视投影矩阵

◆ XG_PerspectiveFovMatrixRH()

function XG_PerspectiveFovMatrixRH ( fFovY  ,
fAspect  ,
fZNear  ,
fZFar   
)

由于fov计算一个右手透视矩阵

参数
fFovYnumber fov值
fAspectnumber 宽高比
fZNearnumber 近裁剪
fZFarnumber 远裁剪
返回
XMATRIX4 透视矩阵

◆ XG_PerspectiveMatrix()

function XG_PerspectiveMatrix ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

根据宽、高、远近距离构建透视投影矩阵并返回

参数
fWidthnumber 视口的宽
fHeightnumber 视口的高
fZNearnumber 近裁剪平面到相机的距离
fZFarnumber 远裁剪平面到相机的距离
返回
XMATRIX4 透视投影矩阵

◆ XG_PerspectiveMatrixRH()

function XG_PerspectiveMatrixRH ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

计算一个右手透视矩阵

参数
fWidthnumber 宽度
fHeightnumber 高度
fZNearnumber 近裁剪
fZFarnumber 远裁剪
返回
XMATRIX4 透视矩阵

◆ XG_PerspectiveOffCenterMatrix()

function XG_PerspectiveOffCenterMatrix ( fLeft  ,
fRight  ,
fBottom  ,
fTop  ,
fZNear  ,
fZFar   
)

根据上下左右远近远近距离构建透视投影矩阵并返回

参数
fLeftnumber 视椎体左平面到相机的距离
fRightnumber 视椎体右平面到相机的距离
fBottomnumber 视椎体底部平面到相机的距离
fTopnumber 视椎体顶部平面到相机的距离
fZNearnumber 近裁剪平面到相机的距离
fZFarnumber 远裁剪平面到相机的距离
返回
XMATRIX4 透视投影矩阵

◆ XG_PerspectiveOffCenterMatrixRH()

function XG_PerspectiveOffCenterMatrixRH ( fLeft  ,
fRight  ,
fBottom  ,
fTop  ,
fZNear  ,
fZFar   
)

计算一个左右,上下不对称的透视矩阵

参数
fLeftnumber 左侧值
fRightnumber 右侧值
fBottomnumber 下侧值
fTopnumber 上侧值
fZNearnumber 近裁剪
fZFarnumber 远裁剪
返回
XMATRIX4 透视矩阵

◆ XG_PointToLineDistance()

function XG_PointToLineDistance ( vecPoint  ,
vecLinePoint  ,
vecLineDirection   
)

XG_PointToLineDistance00

参数
vecPointXVECTOR3
vecLinePointXVECTOR3
vecLineDirectionXVECTOR3
返回
number
number

◆ XG_RandDirH()

function XG_RandDirH ( )

随机生成一个水平向量

返回
XVECTOR3 水平向量

◆ XG_RayToTriangle()

function XG_RayToTriangle ( vStart  ,
vDelta  ,
v0  ,
v1  ,
v2  ,
bTwoSides   
)

XG_RayToTriangle00

参数
vStartXVECTOR3
vDeltaXVECTOR3
v0XVECTOR3
v1XVECTOR3
v2XVECTOR3
bTwoSidesboolean
返回
XVECTOR3
number
boolean

◆ XG_RGBToHSL()

function XG_RGBToHSL ( ,
,
 
)

XG_RGBToHSL00

参数
rnumber
gnumber
bnumber
返回
number
number
number
void

◆ XG_RGBToHSV()

function XG_RGBToHSV ( rgbColor  )

XG_RGBToHSV00

参数
rgbColornumber
返回
XHSVCOLORBASE
void

◆ XG_RotateAxis() [1/2]

function XG_RotateAxis ( vecAxis  ,
vRad   
)

计算绕指定轴(vecAxis)旋转的矩阵并返回。旋转后的矩阵不包含平移和缩放信息

参数
vecAxisXVECTOR3 表示旋转轴的向量,单位化的向量
vRadnumber 绕指定轴旋转的弧度角
返回
XMATRIX4 绕向量vecAxis旋转vRad弧度的矩阵

◆ XG_RotateAxis() [2/2]

function XG_RotateAxis ( vecPos  ,
vecAxis  ,
vRad   
)

计算以 vecPos为参考点,绕向量 vecAxis旋转 vRad弧度的矩阵,并将其返回。旋转后的矩阵不包含平移和缩放信息

参数
vecPosXVECTOR3 参考点
vecAxisXVECTOR3 表示旋转轴的向量,单位化的向量
vRadnumber 绕指定轴旋转的弧度角
返回
XMATRIX4 以vecPos为参考点,绕向量vecAxis旋转vRad弧度的矩阵

◆ XG_RotateEuler()

function XG_RotateEuler ( xRad  ,
yRad  ,
zRad   
)

计算欧拉角对应的旋转矩阵并返回。

参数
xRadnumber 绕x轴旋转的欧拉角
yRadnumber 绕y轴旋转的欧拉角
zRadnumber 绕z轴旋转的欧拉角
返回
XMATRIX4 绕三个轴旋转后的矩阵

◆ XG_RotatePosAroundAxis()

function XG_RotatePosAroundAxis ( vPos  ,
vAxis  ,
fRad   
)

计算点 vPos 绕 vAxis 轴旋转 fRad 弧度的坐标值。vAxis 需要是单位化的向量

参数
vPosXVECTOR3 待旋转的原始坐标点
vAxisXVECTOR3
fRadnumber 绕vAxis轴旋转的弧度角
返回
XVECTOR3 绕vAxis轴旋转fRad弧度的坐标点

◆ XG_RotatePosAroundLine()

function XG_RotatePosAroundLine ( vPos  ,
vOrigin  ,
vDir  ,
fRad   
)

计算点 vPos 绕直线旋转 fRad 弧度的坐标值。其中可以根据点vOrigin 和方向向量 vDir 确定一条直线,此处的方向向量要求是单位化的

参数
vPosXVECTOR3 待旋转的原始坐标点
vOriginXVECTOR3 空间直线上一个点的坐标
vDirXVECTOR3 空间直线的方向向量(单位化)
fRadnumber 绕直线旋转的弧度角
返回
XVECTOR3 点vPos绕直线旋转fRad弧度的坐标点

◆ XG_RotatePosAroundX()

function XG_RotatePosAroundX ( vPos  ,
fRad   
)

计算点 vPos 绕 x 轴旋转 fRad 弧度的坐标值

参数
vPosXVECTOR3 待旋转的原始坐标点
fRadnumber 绕x轴旋转的弧度角
返回
XVECTOR3 绕x轴旋转fRad弧度的坐标点

◆ XG_RotatePosAroundY()

function XG_RotatePosAroundY ( vPos  ,
fRad   
)

计算点 vPos 绕 y 轴旋转 fRad 弧度的坐标值

参数
vPosXVECTOR3 待旋转的原始坐标点
fRadnumber 绕y轴旋转的弧度角
返回
XVECTOR3 绕y轴旋转fRad弧度的坐标点

◆ XG_RotatePosAroundZ()

function XG_RotatePosAroundZ ( vPos  ,
fRad   
)

计算点 vPos 绕 z 轴旋转 fRad 弧度的坐标值

参数
vPosXVECTOR3 待旋转的原始坐标点
fRadnumber 绕z轴旋转的弧度角
返回
XVECTOR3 绕z轴旋转fRad弧度的坐标点

◆ XG_RotateVecAroundLine()

function XG_RotateVecAroundLine ( ,
vOrigin  ,
vDir  ,
fRad   
)

计算向量 v 绕直线旋转 fRad 弧度的坐标值。其中可以根据点vOrigin 和方向向量 vDir 确定一条直线,此处的方向向量 vDir 要求是单位化的

参数
vXVECTOR3
vOriginXVECTOR3 空间直线上一个点的坐标
vDirXVECTOR3 空间直线的方向向量(单位化)
fRadnumber 绕直线旋转的弧度角
返回
XVECTOR3 向量v绕直线旋转fRad弧度的向量值

◆ XG_RotateX() [1/2]

function XG_RotateX ( mat  ,
vRad   
)

计算矩阵 mat 绕 x 轴旋转后的新矩阵,并将其返回

参数
matXMATRIX4 待旋转的原始矩阵
vRadnumber 绕x轴旋转的弧度角
返回
XMATRIX4 矩阵绕x轴旋转后的新矩阵

◆ XG_RotateX() [2/2]

function XG_RotateX ( vRad  )

计算绕 x 轴旋转的矩阵并返回

参数
vRadnumber 绕x轴旋转的弧度角
返回
XMATRIX4 绕x轴旋转后的变换矩阵

◆ XG_RotateY() [1/2]

function XG_RotateY ( mat  ,
vRad   
)

计算矩阵 mat 绕 y 轴旋转后的新矩阵,并将其返回

参数
matXMATRIX4 待旋转的原始矩阵
vRadnumber 绕y轴旋转的弧度角
返回
XMATRIX4 mat矩阵绕y轴旋转后的新矩阵

◆ XG_RotateY() [2/2]

function XG_RotateY ( vRad  )

计算绕 y 轴旋转的矩阵并返回

参数
vRadnumber 绕y轴旋转的弧度角
返回
XMATRIX4 绕y轴旋转后的变换矩阵

◆ XG_RotateZ() [1/2]

function XG_RotateZ ( mat  ,
vRad   
)

计算矩阵 mat 绕 z 轴旋转后的新矩阵,并将其返回

参数
matXMATRIX4 待旋转的原始矩阵
vRadnumber 绕z轴旋转的弧度角
返回
XMATRIX4 mat矩阵绕z轴旋转后的新矩阵

◆ XG_RotateZ() [2/2]

function XG_RotateZ ( vRad  )

计算绕 z 轴旋转的矩阵并返回

参数
vRadnumber 绕z轴旋转的弧度角
返回
XMATRIX4 绕z轴旋转后的变换矩阵

◆ XG_ScaleAlongAxis()

function XG_ScaleAlongAxis ( vAxis  ,
fScale   
)

构建一个沿向量vAxis缩放的矩阵

参数
vAxisXVECTOR3
fScalenumber
返回
XMATRIX4

◆ XG_Scaling() [1/2]

function XG_Scaling ( mat  ,
sx  ,
sy  ,
sz   
)

在矩阵 mat 的基础上进行缩放,并返回缩放后的变换矩阵

参数
matXMATRIX4 原始变换矩阵
sxnumber x轴上的缩放分量
synumber y轴上的缩放分量
sznumber z轴上的缩放分量
返回
XMATRIX4 对矩阵mat缩放后的变换矩阵

◆ XG_Scaling() [2/2]

function XG_Scaling ( sx  ,
sy  ,
sz   
)

初始化仅包含缩放信息的矩阵

参数
sxnumber x轴上的缩放分量
synumber y轴上的缩放分量
sznumber z轴上的缩放分量
返回
XMATRIX4 已初始化仅包含缩放信息的变换矩阵

◆ XG_ScalingRelative()

function XG_ScalingRelative ( matRoot  ,
sx  ,
sy  ,
sz   
)

以matroot为根矩阵进行缩放,并返回缩放后的变换矩阵

参数
matRootXMATRIX4 原始变换矩阵
sxnumber x轴上的缩放分量
synumber y轴上的缩放分量
sznumber z轴上的缩放分量
返回
XMATRIX4 以matroot为根矩阵进行缩放后的变换矩阵

◆ XG_SquareMagnitude()

function XG_SquareMagnitude ( )

计算向量模的平方

参数
vXVECTOR3 用于计算的向量
返回
number 向量模的平方值

◆ XG_TransformAABB()

function XG_TransformAABB ( aabb  ,
mat   
)

XG_TransformAABB00

参数
aabbXCusAABB
matXMATRIX4
返回
XCusAABB

◆ XG_TransformMatrix()

function XG_TransformMatrix ( vecDir  ,
vecUp  ,
vecPos   
)

构建变换矩阵,并将其返回

参数
vecDirXVECTOR3
vecUpXVECTOR3 上方向
vecPosXVECTOR3 位置坐标
返回
XMATRIX4 构建的变换矩阵

◆ XG_TransformMatrix3() [1/4]

function XG_TransformMatrix3 ( fRad  ,
vecPos   
)

构建3X3变换矩阵,并将其返回

参数
fRadnumber 旋转弧度
vecPosXVECTOR2 位移信息
返回
XMATRIX3 构建的变换矩阵

◆ XG_TransformMatrix3() [2/4]

function XG_TransformMatrix3 ( fRad  ,
vecPos  ,
vecScale   
)

构建3X3变换矩阵,并将其返回

参数
fRadnumber
vecPosXVECTOR2 位移
vecScaleXVECTOR2 缩放
返回
XMATRIX3 构建的变换矩阵

◆ XG_TransformMatrix3() [3/4]

function XG_TransformMatrix3 ( vecXDir  ,
vecPos   
)

XG_TransformMatrix302

参数
vecXDirXVECTOR2
vecPosXVECTOR2
返回
XMATRIX3

◆ XG_TransformMatrix3() [4/4]

function XG_TransformMatrix3 ( vecXDir  ,
vecPos  ,
vecScale   
)

XG_TransformMatrix303

参数
vecXDirXVECTOR2
vecPosXVECTOR2
vecScaleXVECTOR2
返回
XMATRIX3

◆ XG_Translate()

function XG_Translate ( x  ,
y  ,
z   
)

构建平移矩阵并将其返回,返回的矩阵不包含旋转和缩放信息

参数
xnumber x轴上的平移量
ynumber y轴上的平移量
znumber z轴上的平移量
返回
XMATRIX4 仅包含平移信息的变换矩阵

◆ XG_Transpose() [1/2]

function XG_Transpose ( mat  )

计算矩阵 mat 的转置矩阵并将其返回

参数
matXMATRIX4 原始矩阵
返回
XMATRIX4 原始矩阵的转置矩阵

◆ XG_Transpose() [2/2]

function XG_Transpose ( matIn  )

XG_Transpose01

参数
matInXMATRIX4
返回
XMATRIX4
void

◆ XG_VecMax()

function XG_VecMax ( v1  ,
v2   
)

比较两个向量的各分量大小,返回每个分量取最大值组成的向量

参数
v1XVECTOR3 用于比较的向量1
v2XVECTOR3 用于比较的向量2
返回
XVECTOR3 计算后的向量

◆ XG_VecMin()

function XG_VecMin ( v1  ,
v2   
)

比较两个向量的各分量大小,返回每个分量取最小值组成的向量

参数
v1XVECTOR3 用于比较的向量1
v2XVECTOR3 用于比较的向量2
返回
XVECTOR3 计算后的向量

◆ XG_Vector423()

function XG_Vector423 ( )

XG_Vector42300

参数
vXVECTOR4
返回
XVECTOR3

◆ XG_VectorMatrix3x3()

function XG_VectorMatrix3x3 ( ,
mat   
)

XG_VectorMatrix3x300

参数
vXVECTOR3
matXMATRIX4
返回
XVECTOR3

◆ XG_ViewMatrix()

function XG_ViewMatrix ( from  ,
dir  ,
vecUp  ,
roll   
)

根据观察点坐标、视线方向、Up向量构建视图矩阵,如果 roll 不为0 ,还需将构建的视图矩阵绕 z 轴旋转 -roll 弧度

参数
fromXVECTOR3 观察点坐标,即相机的目标点
dirXVECTOR3 视线方向向量
vecUpXVECTOR3 UP向量
rollnumber 绕z轴负方向的旋转角(弧度)
返回
XMATRIX4 视图矩阵

◆ XG_ViewToWorld()

function XG_ViewToWorld ( vIn  ,
matView   
)

将3D向量从相机空间转到世界空间

参数
vInXVECTOR3 1
matViewXMATRIX4 2
返回
XVECTOR3

◆ XG_ZeroMatrix()

function XG_ZeroMatrix ( )

初始化一个 4 x 4 ,且元素全为 0 的矩阵并将其返回

返回
XMATRIX4 元素全为0的4x4矩阵

◆ XRT_PlaneAABBOverlap()

function XRT_PlaneAABBOverlap ( Plane  ,
_vMins  ,
_vMaxs   
)

检测平面是否与AABB包围盒碰撞(或重叠)

参数
PlaneXCusSPlane 引擎中封装的代表平面的对象
_vMinsXVECTOR3 AABB包围盒“最小”点
_vMaxsXVECTOR3 AABB包围盒“最大”点
返回
number -1表示AABB在平面后面,0表示平面与AABB交叉,1表示AABB在平面前面

◆ XRT_PlaneSphereOverlap() [1/2]

function XRT_PlaneSphereOverlap ( Plane  ,
vCenter  ,
fRadius   
)

检测平面是否与球体碰撞(或重叠)

参数
PlaneXCusSPlane 引擎中封装的代表平面的对象
vCenterXVECTOR3 空间中球的中心坐标
fRadiusnumber 球的半径
返回
number -1:表示球在平面的后面;0:表示球与平面交叉;1:表示球在平面的前面

◆ XRT_PlaneSphereOverlap() [2/2]

function XRT_PlaneSphereOverlap ( vNormal  ,
fDist  ,
vCenter  ,
fRadius   
)

检测平面是否与球体碰撞(或重叠)

参数
vNormalXVECTOR3 空间中平面的法向量(单位化后的)
fDistnumber 标准平面方程的常量值d(ax+by+cz+d=0)
vCenterXVECTOR3 空间中球的中心坐标
fRadiusnumber 球的半径
返回
number -1:表示球在平面的后面;0:表示球与平面交叉;1:表示球在平面的前面

◆ XRT_RayToAABB3()

function XRT_RayToAABB3 ( vStart  ,
vDelta  ,
vMins  ,
vMaxs   
)

XRT_RayToAABB300

参数
vStartXVECTOR3
vDeltaXVECTOR3
vMinsXVECTOR3
vMaxsXVECTOR3
返回
XVECTOR3
number
XVECTOR3
boolean

变量说明

◆ DEFAULTFOVDEGREE

DEFAULTFOVDEGREE = 0

@type number @readonly

◆ DEFAULTRADIO

DEFAULTRADIO = 0

@type number @readonly

◆ DEFAULTZFAR

DEFAULTZFAR = 0

@type number @readonly

◆ DEFAULTZNEAR

DEFAULTZNEAR = 0

@type number @readonly