AR_Engine_SDK
Functions | Variables
XBaseCamera.lua File Reference
类 XBaseCamera 继承关系图:
Inheritance graph

Functions

function XBaseCamera Init (fZNear, fZFar) end
 
function XBaseCamera Release () end
 
function XBaseCamera IsPerspective () end
 
function XBaseCamera IsOrthogonal () end
 
function XBaseCamera SetDirAndUp (vecDir, vecUp) end
 
function XBaseCamera MoveForward (fDistance) end
 
function XBaseCamera MoveBack (fDistance) end
 
function XBaseCamera MoveLeft (fDistance) end
 
function XBaseCamera MoveRight (fDistance) end
 
function XBaseCamera MoveDelta (vecDelta) end
 
function XBaseCamera RotateCameraAroundAxisInWorld (vecPos, vecAxis, fDeltaRad) end
 
function XBaseCamera DegDelta (vDelta) end
 
function XBaseCamera PitchDelta (vDelta) end
 
function XBaseCamera SetDeg (vDeg) end
 
function XBaseCamera SetPitch (vPitch) end
 
function XBaseCamera SetMirrorCamera (pCamera, vOrgin, vNormal) end
 
function XBaseCamera SetViewMatrix (matView) end
 
function XBaseCamera SetProjectionMatrix (matProjection) end
 
function XBaseCamera SetZNearFar (fFront, fBack, bUpdateProjMat) end
 
function XBaseCamera GetZNear () end
 
function XBaseCamera GetZFar () end
 
function XBaseCamera SetPos (vPos) end
 
function XBaseCamera GetViewMatrix () end
 
function XBaseCamera GetProjectionMatrix () end
 
function XBaseCamera GetViewProjMatrix () end
 
function XBaseCamera GetDir () end
 
function XBaseCamera GetHorizontalDir () end
 
function XBaseCamera GetUp () end
 
function XBaseCamera GetRight () end
 
function XBaseCamera GetLeft () end
 
function XBaseCamera GetHorizontalLeft () end
 
function XBaseCamera GetHorizontalRight () end
 
function XBaseCamera IsAABBInViewFrustum (aabb) end
 
function XBaseCamera IsAABBInViewFrustum (vMins, vMaxs) end
 
function XBaseCamera IsSphereInViewFrustum (vCenter, fRadius) end
 
function XBaseCamera IsPointInViewFrustum (vPos) end
 
function XBaseCamera TransformWorldToProj (vWorld, vProj) end
 
function XBaseCamera TransformWorldToProj (vWorld) end
 
function XBaseCamera InvTransformProjToWorld (vProj, vWorld) end
 
function XBaseCamera InvTransformProjToWorld (vProj) end
 
function XBaseCamera GetCameraPos () end
 
function XBaseCamera GetDeg () end
 
function XBaseCamera GetPitch () end
 
function XBaseCamera GetPostProjectMatrix () end
 
function XBaseCamera SetPostProjectMatrix (matPostProjectTM) end
 
function XBaseCamera GetWorldFrustum () end
 
function XBaseCamera GetViewFrustum () end
 
function XBaseCamera IsMirrored () end
 
function XBaseCamera GetMirrorCamera () end
 
function XBaseCamera GetMirrorMatrix () end
 

Variables

 XBaseCamera = {}
 

Function Documentation

◆ DegDelta()

function XBaseCamera DegDelta ( vDelta  )

调整水平偏航角

Parameters
vDeltanumber 偏移量,单位为度
Returns
boolean 是否设置成功

◆ GetCameraPos()

function XBaseCamera GetCameraPos ( )

获取相机位置

Returns
XVECTOR3 相机位置坐标

◆ GetDeg()

function XBaseCamera GetDeg ( )

获取相机水平偏航角

Returns
number 相机水平偏航角

◆ GetDir()

function IXSpotLight GetDir ( )

返回相机前方向法向量

Returns
XVECTOR3 相机前方向法向量

获取方向光方向

Returns
XVECTOR3 方向光方向向量

◆ GetHorizontalDir()

function XBaseCamera GetHorizontalDir ( )

返回相机XZ平面上的前方向,实际为相机前方向在XZ平面上的投影

Returns
XVECTOR3 相机XZ平面上的前方向,为单位向量

◆ GetHorizontalLeft()

function XBaseCamera GetHorizontalLeft ( )

返回相机XZ平面上的左方向向量,实际为相机左方向在XZ平面上的投影

Returns
XVECTOR3 相机XZ平面上左方向向量,为单位向量

◆ GetHorizontalRight()

function XBaseCamera GetHorizontalRight ( )

返回相机XZ平面上的右方向向量,实际为相机右方向在XZ平面上的投影

Returns
XVECTOR3 相机XZ平面上右方向向量,为单位向量

◆ GetLeft()

function XOrthoCamera GetLeft ( )

返回相机左方向法向量

Returns
XVECTOR3 相机左方向法向量

XOrthoCamera_GetLeft01

Returns
number

◆ GetMirrorCamera()

function XBaseCamera GetMirrorCamera ( )

获取关联的镜像相机指针

Returns
XBaseCamera 镜像相机的指针

◆ GetMirrorMatrix()

function XBaseCamera GetMirrorMatrix ( )

获取镜像矩阵

Returns
XMATRIX4 返回镜像矩阵

◆ GetPitch()

function XBaseCamera GetPitch ( )

获取相机垂直俯仰角

Returns
number 相机垂直俯仰角

◆ GetPostProjectMatrix()

function XBaseCamera GetPostProjectMatrix ( )

获取相机再投影矩阵,相当于投影后乘以此矩阵,进行附加的投影操作,一般为引擎内部逻辑使用

Returns
XMATRIX4 相机再投影矩阵

◆ GetProjectionMatrix()

function XBaseCamera GetProjectionMatrix ( )

返回相机投影矩阵

Returns
XMATRIX4 相机投影矩阵

◆ GetRight()

function XOrthoCamera GetRight ( )

返回相机右方向法向量

Returns
XVECTOR3 相机右方向法向量

XOrthoCamera_GetRight01

Returns
number

◆ GetUp()

function XBaseCamera GetUp ( )

返回相机上方向法向量

Returns
XVECTOR3 相机上方向法向量

◆ GetViewFrustum()

function XBaseCamera GetViewFrustum ( )

获取相机空间的视椎体

Returns
XCameraViewFrustum 相机空间的视椎体

◆ GetViewMatrix()

function XBaseCamera GetViewMatrix ( )

返回相机视图矩阵

Returns
XMATRIX4 相机视图矩阵

◆ GetViewProjMatrix()

function XBaseCamera GetViewProjMatrix ( )

返回相机视图与投影矩阵积

Returns
XMATRIX4 相机视图与投影矩阵的积

◆ GetWorldFrustum()

function XBaseCamera GetWorldFrustum ( )

获取世界空间的视椎体

Returns
XCameraViewFrustum 世界空间的视椎体

◆ GetZFar()

function XBaseCamera GetZFar ( )

返回远裁剪面到相机距离

Returns
number 远裁剪面到相机距离

◆ GetZNear()

function XBaseCamera GetZNear ( )

返回近裁剪面到相机距离

Returns
number 近裁剪面到相机距离

◆ Init()

function XBaseCamera Init ( fZNear  ,
fZFar   
)

初始化相机

Parameters
fZNearnumber 近裁剪面距离相机的距离
fZFarnumber 远裁剪面距离相机的距离
Returns
boolean 是否初始化成功

◆ InvTransformProjToWorld() [1/2]

function XBaseCamera InvTransformProjToWorld ( vProj  ,
vWorld   
)

XBaseCamera_InvTransformProjToWorld00

Parameters
vProjXVECTOR3
vWorldXVECTOR3
Returns
boolean

◆ InvTransformProjToWorld() [2/2]

function XBaseCamera InvTransformProjToWorld ( vProj  )

XBaseCamera_InvTransformProjToWorld01

Parameters
vProjXVECTOR3
Returns
XVECTOR3
boolean

◆ IsAABBInViewFrustum() [1/2]

function XBaseCamera IsAABBInViewFrustum ( aabb  )

判断AABB包围盒是否在相机视椎体内

Parameters
aabbXCusAABB 判断的包围盒信息
Returns
boolean 如果在,返回xtrue,否则,返回false.

◆ IsAABBInViewFrustum() [2/2]

function XBaseCamera IsAABBInViewFrustum ( vMins  ,
vMaxs   
)

判断AABB包围盒是否在相机视椎体内

Parameters
vMinsXVECTOR3 AABB包围盒“最小”点
vMaxsXVECTOR3 AABB包围盒“最大”点
Returns
boolean 如果在,返回xtrue,否则,返回false.

◆ IsMirrored()

function XBaseCamera IsMirrored ( )

获取相机是否是镜像相机

Returns
boolean 是否为镜像相机

◆ IsOrthogonal()

function XOrthoCamera IsOrthogonal ( )

判断是否是正交投影相机

Returns
boolean 是否是正交投影相机

XOrthoCamera_IsOrthogonal01

Returns
boolean

◆ IsPerspective()

function XOrthoCamera IsPerspective ( )

判断是否是透视投影相机

Returns
boolean 是否是透视投影相机

XOrthoCamera_IsPerspective01

Returns
boolean

◆ IsPointInViewFrustum()

function XBaseCamera IsPointInViewFrustum ( vPos  )

判断点是否在相机视椎体内

Parameters
vPosXVECTOR3 点坐标
Returns
boolean 如果在,返回xtrue,否则,返回false.

◆ IsSphereInViewFrustum()

function XBaseCamera IsSphereInViewFrustum ( vCenter  ,
fRadius   
)

判断球体是否在相机视椎体内

Parameters
vCenterXVECTOR3 球体中心点坐标
fRadiusnumber 球体半径
Returns
boolean 如果在,返回xtrue,否则,返回false.

◆ MoveBack()

function XBaseCamera MoveBack ( fDistance  )

相机向后移动一段距离

Parameters
fDistancenumber 移动的距离
Returns
boolean 是否移动成功

◆ MoveDelta()

function XBaseCamera MoveDelta ( vecDelta  )

相机移动一段距离

Parameters
vecDeltaXVECTOR3 移动的信息(包含了前/后、左/右、上/下的移动信息)
Returns
boolean 是否移动成功

◆ MoveForward()

function XBaseCamera MoveForward ( fDistance  )

相机向前移动一段距离

Parameters
fDistancenumber 移动的距离
Returns
boolean 是否移动成功

◆ MoveLeft()

function XBaseCamera MoveLeft ( fDistance  )

相机向左移动一段距离

Parameters
fDistancenumber 移动的距离
Returns
boolean 是否移动成功

◆ MoveRight()

function XBaseCamera MoveRight ( fDistance  )

相机向右移动一段距离

Parameters
fDistancenumber 移动的距离
Returns
boolean 是否移动成功

◆ PitchDelta()

function XBaseCamera PitchDelta ( vDelta  )

调整垂直俯仰角

Parameters
vDeltanumber 偏移量,单位为度
Returns
boolean 是否设置成功

◆ Release()

function XBaseCamera Release ( )

释放

Returns
void

◆ RotateCameraAroundAxisInWorld()

function XBaseCamera RotateCameraAroundAxisInWorld ( vecPos  ,
vecAxis  ,
fDeltaRad   
)

让相机以vecPos为参考点围绕向量vecAxis旋转一定弧度

Parameters
vecPosXVECTOR3 参考点
vecAxisXVECTOR3 表示旋转轴的向量
fDeltaRadnumber 绕指定轴旋转的弧度角
Returns
boolean 是否旋转成功

◆ SetDeg()

function XBaseCamera SetDeg ( vDeg  )

设置水平偏航角

Parameters
vDegnumber 新的偏航角的值,单位为度
Returns
boolean 是否设置成功

◆ SetDirAndUp()

function XBaseCamera SetDirAndUp ( vecDir  ,
vecUp   
)

设置前方向和上方向方向向量

Parameters
vecDirXVECTOR3 前方向方向向量
vecUpXVECTOR3 正方向方向向量
Returns
void

◆ SetMirrorCamera()

function XBaseCamera SetMirrorCamera ( pCamera  ,
vOrgin  ,
vNormal   
)

设置镜像相机,为引擎内部逻辑调用函数

Parameters
pCameraXBaseCamera 设置的镜像相机
vOrginXVECTOR3 镜像的参考平面
vNormalXVECTOR3 镜像平面的法线
Returns
boolean 是否设置成功

◆ SetPitch()

function XBaseCamera SetPitch ( vPitch  )

设置垂直俯仰角

Parameters
vPitchnumber 新的俯仰角的值,单位为度
Returns
boolean 是否设置成功

◆ SetPos()

function XBaseCamera SetPos ( vPos  )

设置相机位置

Parameters
vPosXVECTOR3 相机位置坐标
Returns
void

◆ SetPostProjectMatrix()

function XBaseCamera SetPostProjectMatrix ( matPostProjectTM  )

设置相机再投影矩阵,相当于投影后乘以此矩阵,进行附加的投影操作,一般为引擎内部逻辑使用

Parameters
matPostProjectTMXMATRIX4 相机再投影矩阵
Returns
void

◆ SetProjectionMatrix()

function XBaseCamera SetProjectionMatrix ( matProjection  )

设置相机投影矩阵

Parameters
matProjectionXMATRIX4 投影矩阵
Returns
boolean 是否设置成功

◆ SetViewMatrix()

function XBaseCamera SetViewMatrix ( matView  )

设置相机视图矩阵

Parameters
matViewXMATRIX4 相机视图矩阵
Returns
boolean 是否设置成功

◆ SetZNearFar()

function XBaseCamera SetZNearFar ( fFront  ,
fBack  ,
bUpdateProjMat   
)

设置相机远近裁剪距离

Parameters
fFrontnumber 近裁剪面距离
fBacknumber 远裁剪面距离
bUpdateProjMatboolean 如果是xtrue,同时更新透视投影矩阵,默认为xtrue
Returns
boolean 是否设置成功

◆ TransformWorldToProj() [1/2]

function XBaseCamera TransformWorldToProj ( vWorld  ,
vProj   
)

XBaseCamera_TransformWorldToProj00

Parameters
vWorldXVECTOR3
vProjXVECTOR3
Returns
boolean

◆ TransformWorldToProj() [2/2]

function XBaseCamera TransformWorldToProj ( vWorld  )

XBaseCamera_TransformWorldToProj01

Parameters
vWorldXVECTOR3
Returns
XVECTOR3
boolean

Variable Documentation

◆ XBaseCamera