AR_Engine_SDK
Functions | Variables
Global.lua File Reference

Functions

function XRT_RayToAABB3 (vStart, vDelta, vMins, vMaxs, vPoint, pfFraction, vNormal) end
 
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, b1, b2) 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, pmatOut) end
 
function XG_Transpose (matIn) end
 
function XG_DecomposeMatrix (mat, scale, orient, pos) end
 
function XG_DecomposeMatrix (mat) end
 
function XG_DecomposeStrechedMatrixDiscardScale (mat, rotate, pos, sign) end
 
function XG_DecomposeStrechedMatrixDiscardScale (mat) end
 
function XG_GetCubeMapDirAndUp (nFaceIndex, pDir, pUp) 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, pmatOut) end
 
function XG_InverseTM (matIn) end
 
function XG_InverseMatrix (mat) end
 
function XG_InverseMatrix (matIn, pmatOut) end
 
function XG_InverseMatrix (matIn) end
 
function XG_InverseAffineMatrix (mat) end
 
function XG_InverseAffineMatrix (matIn, pmatOut) 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 (pAABB, obb) 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, pRgbColor) end
 
function XG_HSVToRGB (hsvColor) end
 
function XG_RGBToHSV (rgbColor, pHsvColor) end
 
function XG_RGBToHSV (rgbColor) end
 
function XG_RGBToHSL (r, g, b, h, s, l) end
 
function XG_RGBToHSL (r, g, b) end
 
function XG_DecompressColor (rgbColor, pR, pG, pB, pA) 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, vPoint, bTwoSides, pfFraction) end
 
function XG_RayToTriangle (vStart, vDelta, v0, v1, v2, bTwoSides) end
 
function TransformMatrix (qRotation, vTranslation, vScaling) end
 
function XG_CastRay (pViewport, vecScreenPoint, vecStart, vecDir) end
 
function XG_CastRay (pViewport, vecScreenPoint) end
 
function XG_NormalizedCrossProduct (vec1, vec2) end
 
function XG_IsZeroLength (vecIn) end
 
function XG_PointToLineDistance (vecPoint, vecLinePoint, vecLineDirection, pFraction) end
 
function XG_PointToLineDistance (vecPoint, vecLinePoint, vecLineDirection) end
 
function XG_LineLineDistance (vecPoint0, vecDir0, vecPoint1, vecDir1, pFractions) 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 QuaternionDiffAngle () end
 @type number @readonly More...
 
function SlerpQuaternion () end
 
function QuaternionToEulerAngle_Continuous () end
 
function QuaternionToAxisAngle () end
 
function QuaternionToMatrix () end
 
function MatrixToQuaternion () end
 
function Conjugate () end
 
function Inverse () end
 
function Slerp () end
 
function Nlerp () end
 
function QuaternionToEulerAngle () end
 
function EulerAngleToQuaternion () end
 
function EulerAngleToQuaternionValue () end
 
function QuaternionRotationFromTo () end
 
function AxisAngleToQuaternion () end
 

Variables

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

Function Documentation

◆ AxisAngleToQuaternion()

function AxisAngleToQuaternion ( )

@manual xelua_XEngine_AxisAngleToQuaternion_manual AxisAngleToQuaternion_manual

Returns
void

◆ Conjugate()

function Conjugate ( )

@manual xelua_XEngine_Conjugate_manual Conjugate_manual

Returns
void

◆ EulerAngleToQuaternion()

function EulerAngleToQuaternion ( )

@manual xelua_XEngine_EulerAngleToQuaternion_manual EulerAngleToQuaternion_manual

Returns
void

◆ EulerAngleToQuaternionValue()

function EulerAngleToQuaternionValue ( )

@manual xelua_XEngine_EulerAngleToQuaternionValue_manual EulerAngleToQuaternionValue_manual

Returns
void

◆ Inverse()

function Inverse ( )

@manual xelua_XEngine_Inverse_manual Inverse_manual

Returns
void

◆ MatrixToQuaternion()

function MatrixToQuaternion ( )

@manual xelua_XEngine_MatrixToQuaternion_manual MatrixToQuaternion_manual

Returns
void

◆ Nlerp()

function Nlerp ( )

@manual xelua_XEngine_Nlerp_manual Nlerp_manual

Returns
void

◆ QuaternionDiffAngle()

function QuaternionDiffAngle ( )

◆ QuaternionRotationFromTo()

function QuaternionRotationFromTo ( )

@manual xelua_XEngine_QuaternionRotationFromTo_manual QuaternionRotationFromTo_manual

Returns
void

◆ QuaternionToAxisAngle()

function QuaternionToAxisAngle ( )

@manual xelua_XEngine_QuaternionToAxisAngle_manual QuaternionToAxisAngle_manual

Returns
void

◆ QuaternionToEulerAngle()

function QuaternionToEulerAngle ( )

@manual xelua_XEngine_QuaternionToEulerAngle_manual QuaternionToEulerAngle_manual

Returns
void

◆ QuaternionToEulerAngle_Continuous()

function QuaternionToEulerAngle_Continuous ( )

@manual xelua_XEngine_QuaternionToEulerAngle_Continuous_manual QuaternionToEulerAngle_Continuous_manual

Returns
void

◆ QuaternionToMatrix()

function QuaternionToMatrix ( )

@manual xelua_XEngine_QuaternionToMatrix_manual QuaternionToMatrix_manual

Returns
void

◆ Slerp()

function Slerp ( )

@manual xelua_XEngine_Slerp_manual Slerp_manual

Returns
void

◆ SlerpQuaternion()

function SlerpQuaternion ( )

@manual xelua_XEngine_SlerpQuaternion_manual SlerpQuaternion_manual

Returns
void

◆ TransformMatrix()

function TransformMatrix ( qRotation  ,
vTranslation  ,
vScaling   
)

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

Parameters
qRotationXQUATERNION
vTranslationXVECTOR3
vScalingXVECTOR3
Returns
XMATRIX4 构建的变换矩阵

◆ X_CeilPowerOfTwo()

function X_CeilPowerOfTwo ( x  )

X_CeilPowerOfTwo00

Parameters
xnumber
Returns
number

◆ X_Equals()

function X_Equals ( ,
,
eps   
)

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

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

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

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

◆ X_FloorPowerOfTwo()

function X_FloorPowerOfTwo ( x  )

X_FloorPowerOfTwo00

Parameters
xnumber
Returns
number

◆ X_IsPowerOfTwo()

function X_IsPowerOfTwo ( x  )

判断 x 是否是 2 的 n 次幂

Parameters
xnumber
Returns
boolean 代表x是否是2的n次幂的标志

◆ X_Rand_()

function X_Rand_ ( )

X_Rand_00

Returns
number

◆ X_RandFloat()

function X_RandFloat ( lower  ,
upper   
)

X_RandFloat00

Parameters
lowernumber
uppernumber
Returns
number

◆ X_RandInt()

function X_RandInt ( lower  ,
upper   
)

X_RandInt00

Parameters
lowernumber
uppernumber
Returns
number

◆ X_Random_0_to_1()

function X_Random_0_to_1 ( )

X_Random_0_to_100

Returns
number

◆ X_Srand_()

function X_Srand_ ( seed  )

X_Srand_00

Parameters
seednumber
Returns
void

◆ X_Srand_Time()

function X_Srand_Time ( )

X_Srand_Time00

Returns
void

◆ XG_AddVertexToAABB()

function XG_AddVertexToAABB ( vMins  ,
vMaxs  ,
vPoint   
)

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

Parameters
vMinsXVECTOR3 AABB包围盒“最小”点
vMaxsXVECTOR3 AABB包围盒“最大”点
vPointXVECTOR3 用于更新AABB包围盒边界点的向量
Returns
void

◆ XG_BuildAABB() [1/2]

function XG_BuildAABB ( pAABB  ,
obb   
)

XG_BuildAABB00

Parameters
pAABBXCusAABB
obbXCusOBB
Returns
void

◆ XG_BuildAABB() [2/2]

function XG_BuildAABB ( obb  )

XG_BuildAABB01

Parameters
obbXCusOBB
Returns
XCusAABB
void

◆ XG_CastRay() [1/2]

function XG_CastRay ( pViewport  ,
vecScreenPoint  ,
vecStart  ,
vecDir   
)

XG_CastRay00

Parameters
pViewportXViewport
vecScreenPointXVECTOR3
vecStartXVECTOR3
vecDirXVECTOR3
Returns
void

◆ XG_CastRay() [2/2]

function XG_CastRay ( pViewport  ,
vecScreenPoint   
)

XG_CastRay01

Parameters
pViewportXViewport
vecScreenPointXVECTOR3
Returns
XVECTOR3
XVECTOR3
void

◆ XG_ClearAABB()

function XG_ClearAABB ( vMins  ,
vMaxs   
)

XG_ClearAABB00

Parameters
vMinsXVECTOR3
vMaxsXVECTOR3
Returns
void

◆ XG_ColorRGBAToColorValue()

function XG_ColorRGBAToColorValue ( colorRGBA  )

XCOLOR格式转换为XCOLORBASE格式

Parameters
colorRGBAnumber XCOLOR(一个xuint32)格式颜色信息
Returns
XCOLORBASE XCOLORBASE(4个xfloat32颜色分量r,g,b,a)格式颜色信息

◆ XG_ColorValueToColorRGBA()

function XG_ColorValueToColorRGBA ( colorValue  )

XCOLORBASE格式转换为XCOLOR格式

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

◆ XG_CompleteAABB()

function XG_CompleteAABB ( pAABB  )

更新AABB的中心及长度信息

Parameters
pAABBXCusAABB AABB信息
Returns
void

◆ XG_CompleteOBB()

function XG_CompleteOBB ( pOBB  )

更新OBB的轴上点信息

Parameters
pOBBXCusOBB OBB信息
Returns
void

◆ XG_CompressDir() [1/2]

function XG_CompressDir ( ,
b1  ,
b2   
)

XG_CompressDir00

Parameters
vXVECTOR3
b1number
b2number
Returns
void

◆ XG_CompressDir() [2/2]

function XG_CompressDir ( )

XG_CompressDir01

Parameters
vXVECTOR3
Returns
number
number
void

◆ XG_CompressDirH()

function XG_CompressDirH ( x  ,
z   
)

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

Parameters
xnumber
znumber
Returns
number

◆ XG_DecomposeMatrix() [1/2]

function XG_DecomposeMatrix ( mat  ,
scale  ,
orient  ,
pos   
)

XG_DecomposeMatrix00

Parameters
matXMATRIX4
scaleXVECTOR3
orientXQUATERNION
posXVECTOR3
Returns
void

◆ XG_DecomposeMatrix() [2/2]

function XG_DecomposeMatrix ( mat  )

XG_DecomposeMatrix01

Parameters
matXMATRIX4
Returns
XVECTOR3
XQUATERNION
XVECTOR3
void

◆ XG_DecomposeStrechedMatrixDiscardScale() [1/2]

function XG_DecomposeStrechedMatrixDiscardScale ( mat  ,
rotate  ,
pos  ,
sign   
)

XG_DecomposeStrechedMatrixDiscardScale00

Parameters
matXMATRIX4
rotateXQUATERNION
posXVECTOR3
signnumber
Returns
void

◆ XG_DecomposeStrechedMatrixDiscardScale() [2/2]

function XG_DecomposeStrechedMatrixDiscardScale ( mat  )

XG_DecomposeStrechedMatrixDiscardScale01

Parameters
matXMATRIX4
Returns
XQUATERNION
XVECTOR3
number
void

◆ XG_DecompressColor() [1/2]

function XG_DecompressColor ( rgbColor  ,
pR  ,
pG  ,
pB  ,
pA   
)

XG_DecompressColor00

Parameters
rgbColornumber
pRnumber
pGnumber
pBnumber
pAnumber
Returns
void

◆ XG_DecompressColor() [2/2]

function XG_DecompressColor ( rgbColor  )

XG_DecompressColor01

Parameters
rgbColornumber
Returns
number
number
number
number
void

◆ XG_DecompressDir()

function XG_DecompressDir ( b1  ,
b2   
)

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

Parameters
b1number 压缩输第一个字符
b2number 压缩输第二个字符
Returns
XVECTOR3

◆ XG_DecompressDirH()

function XG_DecompressDirH ( byDir  )

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

Parameters
byDirnumber
Returns
XVECTOR3

◆ XG_DistSquareToAABB()

function XG_DistSquareToAABB ( vPos  ,
aabb   
)

XG_DistSquareToAABB00

Parameters
vPosXVECTOR3
aabbXCusAABB
Returns
number

◆ XG_ExpandAABB() [1/2]

function XG_ExpandAABB ( vecMins  ,
vecMaxs  ,
obb   
)

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

Parameters
vecMinsXVECTOR3 AABB的最小值
vecMaxsXVECTOR3 AABB的最大值
obbXCusOBB 输入OBB信息
Returns
void

◆ XG_ExpandAABB() [2/2]

function XG_ExpandAABB ( vecMins  ,
vecMaxs  ,
subAABB   
)

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

Parameters
vecMinsXVECTOR3 AABB的最小值
vecMaxsXVECTOR3 AABB的最大值
subAABBXCusAABB 输入子AABB信息
Returns
void

◆ XG_GetCubeMapDirAndUp() [1/2]

function XG_GetCubeMapDirAndUp ( nFaceIndex  ,
pDir  ,
pUp   
)

XG_GetCubeMapDirAndUp00

Parameters
nFaceIndexnumber
pDirXVECTOR3
pUpXVECTOR3
Returns
boolean

◆ XG_GetCubeMapDirAndUp() [2/2]

function XG_GetCubeMapDirAndUp ( nFaceIndex  )

XG_GetCubeMapDirAndUp01

Parameters
nFaceIndexnumber
Returns
XVECTOR3
XVECTOR3
boolean

◆ XG_HSVToRGB() [1/2]

function XG_HSVToRGB ( hsvColor  ,
pRgbColor   
)

XG_HSVToRGB00

Parameters
hsvColorXHSVCOLORBASE
pRgbColornumber
Returns
void

◆ XG_HSVToRGB() [2/2]

function XG_HSVToRGB ( hsvColor  )

XG_HSVToRGB01

Parameters
hsvColorXHSVCOLORBASE
Returns
number
void

◆ XG_IdentityMatrix()

function XG_IdentityMatrix ( )

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

Returns
XMATRIX4 单位矩阵

◆ XG_IdentityMatrix3()

function XG_IdentityMatrix3 ( )

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

Returns
XMATRIX3 单位矩阵

◆ XG_InverseAffineMatrix() [1/3]

function XG_InverseAffineMatrix ( mat  )

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

Parameters
matXMATRIX4
Returns
XMATRIX4

◆ XG_InverseAffineMatrix() [2/3]

function XG_InverseAffineMatrix ( matIn  ,
pmatOut   
)

XG_InverseAffineMatrix01

Parameters
matInXMATRIX4
pmatOutXMATRIX4
Returns
void

◆ XG_InverseAffineMatrix() [3/3]

function XG_InverseAffineMatrix ( matIn  )

XG_InverseAffineMatrix02

Parameters
matInXMATRIX4
Returns
XMATRIX4
void

◆ XG_InverseMatrix() [1/3]

function XG_InverseMatrix ( mat  )

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

Parameters
matXMATRIX4 原始矩阵
Returns
XMATRIX4 原始矩阵的逆矩阵

◆ XG_InverseMatrix() [2/3]

function XG_InverseMatrix ( matIn  ,
pmatOut   
)

XG_InverseMatrix01

Parameters
matInXMATRIX4
pmatOutXMATRIX4
Returns
void

◆ XG_InverseMatrix() [3/3]

function XG_InverseMatrix ( matIn  )

XG_InverseMatrix02

Parameters
matInXMATRIX4
Returns
XMATRIX4
void

◆ XG_InverseTM() [1/3]

function XG_InverseTM ( mat  )

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

Parameters
matXMATRIX4 原始矩阵
Returns
XMATRIX4 原始矩阵的逆矩阵

◆ XG_InverseTM() [2/3]

function XG_InverseTM ( matIn  ,
pmatOut   
)

XG_InverseTM01

Parameters
matInXMATRIX4
pmatOutXMATRIX4
Returns
void

◆ XG_InverseTM() [3/3]

function XG_InverseTM ( matIn  )

XG_InverseTM02

Parameters
matInXMATRIX4
Returns
XMATRIX4
void

◆ XG_InvSqrt()

function XG_InvSqrt ( )

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

Parameters
vnumber 待计算的浮点数
Returns
number v的平方根的倒数

◆ XG_IsZeroLength()

function XG_IsZeroLength ( vecIn  )

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

Parameters
vecInXVECTOR3
Returns
boolean 是否是零向量,是零向量返回true,否则返回false

◆ XG_LineLineDistance() [1/2]

function XG_LineLineDistance ( vecPoint0  ,
vecDir0  ,
vecPoint1  ,
vecDir1  ,
pFractions   
)

@manual xelua_XEngine_XG_LineLineDistance_manual XG_LineLineDistance_manual

Parameters
vecPoint0XVECTOR3
vecDir0XVECTOR3
vecPoint1XVECTOR3
vecDir1XVECTOR3
pFractionsnumber
Returns
number

◆ XG_LineLineDistance() [2/2]

function XG_LineLineDistance ( vecPoint0  ,
vecDir0  ,
vecPoint1  ,
vecDir1   
)

@manual xelua_XEngine_XG_LineLineDistance_manual XG_LineLineDistance_manual

Parameters
vecPoint0XVECTOR3
vecDir0XVECTOR3
vecPoint1XVECTOR3
vecDir1XVECTOR3
Returns
number
number

◆ XG_LinePlaneIntersection()

function XG_LinePlaneIntersection ( vecLinePoint  ,
vecLineDir  ,
vecPlanePoint  ,
vecPlaneNormal   
)

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

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

◆ XG_LineSphereIntersection()

function XG_LineSphereIntersection ( vecLinePoint  ,
vecLineDir  ,
vecSphereCenter  ,
fRadius   
)

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

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

◆ XG_LookAtMatrix()

function XG_LookAtMatrix ( from  ,
to  ,
vecUp  ,
roll   
)

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

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

◆ XG_Magnitude()

function XG_Magnitude ( )

计算向量的模

Parameters
vXVECTOR3 用于计算的向量
Returns
number 用于计算的向量

◆ XG_MagnitudeH()

function XG_MagnitudeH ( )

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

Parameters
vXVECTOR3 用于计算的向量
Returns
number 向量x分量和z分量平方和的平方根

◆ XG_Matrix3Rotate() [1/2]

function XG_Matrix3Rotate ( fRad  )

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

Parameters
fRadnumber
Returns
XMATRIX3 绕x轴旋转后的三维变换矩阵

◆ XG_Matrix3Rotate() [2/2]

function XG_Matrix3Rotate ( mat  ,
fRad   
)

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

Parameters
matXMATRIX3 待旋转的原始矩阵
fRadnumber
Returns
XMATRIX3 矩阵绕x轴旋转后的新矩阵

◆ XG_Matrix3Translate() [1/2]

function XG_Matrix3Translate ( x  ,
y   
)

XG_Matrix3Translate00

Parameters
xnumber
ynumber
Returns
XMATRIX3

◆ XG_Matrix3Translate() [2/2]

function XG_Matrix3Translate ( mat  ,
x  ,
y   
)

XG_Matrix3Translate01

Parameters
matXMATRIX3
xnumber
ynumber
Returns
XMATRIX3

◆ XG_MergeAABB()

function XG_MergeAABB ( pAABB  ,
subAABB   
)

合并另一个AABB到AABB中

Parameters
pAABBXCusAABB 合到的AABB
subAABBXCusAABB 被合并的子AABB
Returns
void

◆ XG_MirrorMatrix()

function XG_MirrorMatrix ( ,
 
)

计算镜像矩阵

Parameters
pXVECTOR3
nXVECTOR3 镜像平面方向
Returns
XMATRIX4 镜像矩阵

◆ XG_Normalize()

function XG_Normalize ( )

将2D向量单位化

Parameters
vXVECTOR2 用于单位化的向量
Returns
XVECTOR2 单位化之后的向量

将3D向量单位化

Parameters
vXVECTOR3 用于单位化的向量
Returns
XVECTOR3 单位化之后的向量

◆ XG_NormalizedCrossProduct()

function XG_NormalizedCrossProduct ( vec1  ,
vec2   
)

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

Parameters
vec1XVECTOR3 用于叉乘的第一个向量
vec2XVECTOR3 用于叉乘的第二个向量
Returns
XVECTOR3 向量叉乘并单位化之后的结果向量

◆ XG_OrthoMatrix()

function XG_OrthoMatrix ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

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

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

◆ XG_OrthoMatrixRH()

function XG_OrthoMatrixRH ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

计算右手的正交矩阵

Parameters
fWidthnumber 宽度
fHeightnumber 高度
fZNearnumber 近裁剪
fZFarnumber 远裁剪
Returns
XMATRIX4 正交矩阵

◆ XG_OrthoOffCenterMatrix()

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

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

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

◆ XG_OrthoOffCenterMatrixRH()

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

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

Parameters
fLeftnumber 左侧值
fRightnumber 右侧值
fBottomnumber 下侧值
fTopnumber 上侧值
fZNearnumber 近裁剪
fZFarnumber 远裁剪
Returns
XMATRIX4 正交矩阵

◆ XG_PerspectiveFovMatrix()

function XG_PerspectiveFovMatrix ( fFovY  ,
fAspect  ,
fZNear  ,
fZFar   
)

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

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

◆ XG_PerspectiveFovMatrixRH()

function XG_PerspectiveFovMatrixRH ( fFovY  ,
fAspect  ,
fZNear  ,
fZFar   
)

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

Parameters
fFovYnumber fov值
fAspectnumber 宽高比
fZNearnumber 近裁剪
fZFarnumber 远裁剪
Returns
XMATRIX4 透视矩阵

◆ XG_PerspectiveMatrix()

function XG_PerspectiveMatrix ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

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

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

◆ XG_PerspectiveMatrixRH()

function XG_PerspectiveMatrixRH ( fWidth  ,
fHeight  ,
fZNear  ,
fZFar   
)

计算一个右手透视矩阵

Parameters
fWidthnumber 宽度
fHeightnumber 高度
fZNearnumber 近裁剪
fZFarnumber 远裁剪
Returns
XMATRIX4 透视矩阵

◆ XG_PerspectiveOffCenterMatrix()

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

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

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

◆ XG_PerspectiveOffCenterMatrixRH()

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

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

Parameters
fLeftnumber 左侧值
fRightnumber 右侧值
fBottomnumber 下侧值
fTopnumber 上侧值
fZNearnumber 近裁剪
fZFarnumber 远裁剪
Returns
XMATRIX4 透视矩阵

◆ XG_PointToLineDistance() [1/2]

function XG_PointToLineDistance ( vecPoint  ,
vecLinePoint  ,
vecLineDirection  ,
pFraction   
)

XG_PointToLineDistance00

Parameters
vecPointXVECTOR3
vecLinePointXVECTOR3
vecLineDirectionXVECTOR3
pFractionnumber
Returns
number

◆ XG_PointToLineDistance() [2/2]

function XG_PointToLineDistance ( vecPoint  ,
vecLinePoint  ,
vecLineDirection   
)

XG_PointToLineDistance01

Parameters
vecPointXVECTOR3
vecLinePointXVECTOR3
vecLineDirectionXVECTOR3
Returns
number
number

◆ XG_RandDirH()

function XG_RandDirH ( )

随机生成一个水平向量

Returns
XVECTOR3 水平向量

◆ XG_RayToTriangle() [1/2]

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

XG_RayToTriangle00

Parameters
vStartXVECTOR3
vDeltaXVECTOR3
v0XVECTOR3
v1XVECTOR3
v2XVECTOR3
vPointXVECTOR3
bTwoSidesboolean
pfFractionnumber
Returns
boolean

◆ XG_RayToTriangle() [2/2]

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

XG_RayToTriangle01

Parameters
vStartXVECTOR3
vDeltaXVECTOR3
v0XVECTOR3
v1XVECTOR3
v2XVECTOR3
bTwoSidesboolean
Returns
XVECTOR3
number
boolean

◆ XG_RGBToHSL() [1/2]

function XG_RGBToHSL ( ,
,
,
,
,
 
)

XG_RGBToHSL00

Parameters
rnumber
gnumber
bnumber
hnumber
snumber
lnumber
Returns
void

◆ XG_RGBToHSL() [2/2]

function XG_RGBToHSL ( ,
,
 
)

XG_RGBToHSL01

Parameters
rnumber
gnumber
bnumber
Returns
number
number
number
void

◆ XG_RGBToHSV() [1/2]

function XG_RGBToHSV ( rgbColor  ,
pHsvColor   
)

XG_RGBToHSV00

Parameters
rgbColornumber
pHsvColorXHSVCOLORBASE
Returns
void

◆ XG_RGBToHSV() [2/2]

function XG_RGBToHSV ( rgbColor  )

XG_RGBToHSV01

Parameters
rgbColornumber
Returns
XHSVCOLORBASE
void

◆ XG_RotateAxis() [1/2]

function XG_RotateAxis ( vecAxis  ,
vRad   
)

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

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

◆ XG_RotateAxis() [2/2]

function XG_RotateAxis ( vecPos  ,
vecAxis  ,
vRad   
)

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

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

◆ XG_RotateEuler()

function XG_RotateEuler ( xRad  ,
yRad  ,
zRad   
)

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

Parameters
xRadnumber 绕x轴旋转的欧拉角
yRadnumber 绕y轴旋转的欧拉角
zRadnumber 绕z轴旋转的欧拉角
Returns
XMATRIX4 绕三个轴旋转后的矩阵

◆ XG_RotatePosAroundAxis()

function XG_RotatePosAroundAxis ( vPos  ,
vAxis  ,
fRad   
)

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

Parameters
vPosXVECTOR3 待旋转的原始坐标点
vAxisXVECTOR3
fRadnumber 绕vAxis轴旋转的弧度角
Returns
XVECTOR3 绕vAxis轴旋转fRad弧度的坐标点

◆ XG_RotatePosAroundLine()

function XG_RotatePosAroundLine ( vPos  ,
vOrigin  ,
vDir  ,
fRad   
)

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

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

◆ XG_RotatePosAroundX()

function XG_RotatePosAroundX ( vPos  ,
fRad   
)

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

Parameters
vPosXVECTOR3 待旋转的原始坐标点
fRadnumber 绕x轴旋转的弧度角
Returns
XVECTOR3 绕x轴旋转fRad弧度的坐标点

◆ XG_RotatePosAroundY()

function XG_RotatePosAroundY ( vPos  ,
fRad   
)

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

Parameters
vPosXVECTOR3 待旋转的原始坐标点
fRadnumber 绕y轴旋转的弧度角
Returns
XVECTOR3 绕y轴旋转fRad弧度的坐标点

◆ XG_RotatePosAroundZ()

function XG_RotatePosAroundZ ( vPos  ,
fRad   
)

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

Parameters
vPosXVECTOR3 待旋转的原始坐标点
fRadnumber 绕z轴旋转的弧度角
Returns
XVECTOR3 绕z轴旋转fRad弧度的坐标点

◆ XG_RotateVecAroundLine()

function XG_RotateVecAroundLine ( ,
vOrigin  ,
vDir  ,
fRad   
)

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

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

◆ XG_RotateX() [1/2]

function XG_RotateX ( vRad  )

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

Parameters
vRadnumber 绕x轴旋转的弧度角
Returns
XMATRIX4 绕x轴旋转后的变换矩阵

◆ XG_RotateX() [2/2]

function XG_RotateX ( mat  ,
vRad   
)

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

Parameters
matXMATRIX4 待旋转的原始矩阵
vRadnumber 绕x轴旋转的弧度角
Returns
XMATRIX4 矩阵绕x轴旋转后的新矩阵

◆ XG_RotateY() [1/2]

function XG_RotateY ( vRad  )

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

Parameters
vRadnumber 绕y轴旋转的弧度角
Returns
XMATRIX4 绕y轴旋转后的变换矩阵

◆ XG_RotateY() [2/2]

function XG_RotateY ( mat  ,
vRad   
)

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

Parameters
matXMATRIX4 待旋转的原始矩阵
vRadnumber 绕y轴旋转的弧度角
Returns
XMATRIX4 mat矩阵绕y轴旋转后的新矩阵

◆ XG_RotateZ() [1/2]

function XG_RotateZ ( vRad  )

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

Parameters
vRadnumber 绕z轴旋转的弧度角
Returns
XMATRIX4 绕z轴旋转后的变换矩阵

◆ XG_RotateZ() [2/2]

function XG_RotateZ ( mat  ,
vRad   
)

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

Parameters
matXMATRIX4 待旋转的原始矩阵
vRadnumber 绕z轴旋转的弧度角
Returns
XMATRIX4 mat矩阵绕z轴旋转后的新矩阵

◆ XG_ScaleAlongAxis()

function XG_ScaleAlongAxis ( vAxis  ,
fScale   
)

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

Parameters
vAxisXVECTOR3
fScalenumber
Returns
XMATRIX4

◆ XG_Scaling() [1/2]

function XG_Scaling ( sx  ,
sy  ,
sz   
)

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

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

◆ XG_Scaling() [2/2]

function XG_Scaling ( mat  ,
sx  ,
sy  ,
sz   
)

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

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

◆ XG_ScalingRelative()

function XG_ScalingRelative ( matRoot  ,
sx  ,
sy  ,
sz   
)

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

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

◆ XG_SquareMagnitude()

function XG_SquareMagnitude ( )

计算向量模的平方

Parameters
vXVECTOR3 用于计算的向量
Returns
number 向量模的平方值

◆ XG_TransformAABB()

function XG_TransformAABB ( aabb  ,
mat   
)

XG_TransformAABB00

Parameters
aabbXCusAABB
matXMATRIX4
Returns
XCusAABB

◆ XG_TransformMatrix()

function XG_TransformMatrix ( vecDir  ,
vecUp  ,
vecPos   
)

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

Parameters
vecDirXVECTOR3
vecUpXVECTOR3 上方向
vecPosXVECTOR3 位置坐标
Returns
XMATRIX4 构建的变换矩阵

◆ XG_TransformMatrix3() [1/4]

function XG_TransformMatrix3 ( fRad  ,
vecPos   
)

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

Parameters
fRadnumber 旋转弧度
vecPosXVECTOR2 位移信息
Returns
XMATRIX3 构建的变换矩阵

◆ XG_TransformMatrix3() [2/4]

function XG_TransformMatrix3 ( fRad  ,
vecPos  ,
vecScale   
)

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

Parameters
fRadnumber
vecPosXVECTOR2 位移
vecScaleXVECTOR2 缩放
Returns
XMATRIX3 构建的变换矩阵

◆ XG_TransformMatrix3() [3/4]

function XG_TransformMatrix3 ( vecXDir  ,
vecPos   
)

XG_TransformMatrix302

Parameters
vecXDirXVECTOR2
vecPosXVECTOR2
Returns
XMATRIX3

◆ XG_TransformMatrix3() [4/4]

function XG_TransformMatrix3 ( vecXDir  ,
vecPos  ,
vecScale   
)

XG_TransformMatrix303

Parameters
vecXDirXVECTOR2
vecPosXVECTOR2
vecScaleXVECTOR2
Returns
XMATRIX3

◆ XG_Translate()

function XG_Translate ( x  ,
y  ,
z   
)

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

Parameters
xnumber x轴上的平移量
ynumber y轴上的平移量
znumber z轴上的平移量
Returns
XMATRIX4 仅包含平移信息的变换矩阵

◆ XG_Transpose() [1/3]

function XG_Transpose ( mat  )

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

Parameters
matXMATRIX4 原始矩阵
Returns
XMATRIX4 原始矩阵的转置矩阵

◆ XG_Transpose() [2/3]

function XG_Transpose ( matIn  ,
pmatOut   
)

XG_Transpose01

Parameters
matInXMATRIX4
pmatOutXMATRIX4
Returns
void

◆ XG_Transpose() [3/3]

function XG_Transpose ( matIn  )

XG_Transpose02

Parameters
matInXMATRIX4
Returns
XMATRIX4
void

◆ XG_VecMax()

function XG_VecMax ( v1  ,
v2   
)

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

Parameters
v1XVECTOR3 用于比较的向量1
v2XVECTOR3 用于比较的向量2
Returns
XVECTOR3 计算后的向量

◆ XG_VecMin()

function XG_VecMin ( v1  ,
v2   
)

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

Parameters
v1XVECTOR3 用于比较的向量1
v2XVECTOR3 用于比较的向量2
Returns
XVECTOR3 计算后的向量

◆ XG_Vector423()

function XG_Vector423 ( )

XG_Vector42300

Parameters
vXVECTOR4
Returns
XVECTOR3

◆ XG_VectorMatrix3x3()

function XG_VectorMatrix3x3 ( ,
mat   
)

XG_VectorMatrix3x300

Parameters
vXVECTOR3
matXMATRIX4
Returns
XVECTOR3

◆ XG_ViewMatrix()

function XG_ViewMatrix ( from  ,
dir  ,
vecUp  ,
roll   
)

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

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

◆ XG_ViewToWorld()

function XG_ViewToWorld ( vIn  ,
matView   
)

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

Parameters
vInXVECTOR3 1
matViewXMATRIX4 2
Returns
XVECTOR3

◆ XG_ZeroMatrix()

function XG_ZeroMatrix ( )

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

Returns
XMATRIX4 元素全为0的4x4矩阵

◆ XRT_PlaneAABBOverlap()

function XRT_PlaneAABBOverlap ( Plane  ,
_vMins  ,
_vMaxs   
)

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

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

◆ XRT_PlaneSphereOverlap() [1/2]

function XRT_PlaneSphereOverlap ( Plane  ,
vCenter  ,
fRadius   
)

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

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

◆ XRT_PlaneSphereOverlap() [2/2]

function XRT_PlaneSphereOverlap ( vNormal  ,
fDist  ,
vCenter  ,
fRadius   
)

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

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

◆ XRT_RayToAABB3() [1/2]

function XRT_RayToAABB3 ( vStart  ,
vDelta  ,
vMins  ,
vMaxs  ,
vPoint  ,
pfFraction  ,
vNormal   
)

XRT_RayToAABB300

Parameters
vStartXVECTOR3
vDeltaXVECTOR3
vMinsXVECTOR3
vMaxsXVECTOR3
vPointXVECTOR3
pfFractionnumber
vNormalXVECTOR3
Returns
boolean

◆ XRT_RayToAABB3() [2/2]

function XRT_RayToAABB3 ( vStart  ,
vDelta  ,
vMins  ,
vMaxs   
)

XRT_RayToAABB301

Parameters
vStartXVECTOR3
vDeltaXVECTOR3
vMinsXVECTOR3
vMaxsXVECTOR3
Returns
XVECTOR3
number
XVECTOR3
boolean

Variable Documentation

◆ DEFAULTFOVDEGREE

DEFAULTFOVDEGREE = 0

@type number @readonly

◆ DEFAULTRADIO

DEFAULTRADIO = 0

@type number @readonly

◆ DEFAULTZFAR

DEFAULTZFAR = 0

@type number @readonly

◆ DEFAULTZNEAR

DEFAULTZNEAR = 0

@type number @readonly