133 lines
4.4 KiB
C
133 lines
4.4 KiB
C
#ifndef CAMERAH
|
|
#define CAMERAH
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#include "util.h"
|
|
|
|
typedef struct GLI_tdstCamera_
|
|
{
|
|
long lSizeOfThis;
|
|
long lTypeOfThis;
|
|
long lCameraMode;
|
|
POS_tdstCompletePosition stMatrix;
|
|
MTH_tdxReal xAlphaX;
|
|
MTH_tdxReal xAlphaY;
|
|
GLI_tdxValue xNear;
|
|
GLI_tdxValue xFar;
|
|
GLI_tdxValue xScreen;
|
|
GLI_tdst2DVertex stScale;
|
|
GLI_tdst2DVertex stTrans;
|
|
long lVptInitialHeight;
|
|
long lVptInitialWidth;
|
|
MTH3D_tdstVector stNormPlaneLeft;
|
|
MTH_tdxReal xDistPlaneLeft;
|
|
MTH3D_tdstVector stNormPlaneRight;
|
|
MTH_tdxReal xDistPlaneRight;
|
|
MTH3D_tdstVector stNormPlaneUp;
|
|
MTH_tdxReal xDistPlaneUp;
|
|
MTH3D_tdstVector stNormPlaneDown;
|
|
MTH_tdxReal xDistPlaneDown;
|
|
MTH_tdxReal xRatio ;
|
|
}
|
|
GLI_tdstCamera ;
|
|
|
|
|
|
/* For DLL using these function :*/
|
|
#include "cpa_expt.h"
|
|
|
|
#define GLI_C_lIsoCamWithDistorsion 100
|
|
#define GLI_C_lIsoCamWithoutDistorsion 101
|
|
#define GLI_C_lPersCamWithDistorsion 102
|
|
#define GLI_C_lPersCamWithoutDistorsion 103
|
|
|
|
#define GLI_C_xZClippingNear GLI_M_FloatToValue ( 0.25f )
|
|
|
|
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xCreateCamera ( struct GLI_tdstCamera_ **h_stCam ,
|
|
long lCameraMode ) ;
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xSetCameraNearFar ( struct GLI_tdstCamera_ *p_stCam ,
|
|
MTH_tdxReal xNear ,
|
|
MTH_tdxReal xFar );
|
|
extern CPA_EXPORT void
|
|
GLI_xGetCameraNearFar ( struct GLI_tdstCamera_ *p_stCam ,
|
|
GLI_tdxValue *p_xNear ,
|
|
GLI_tdxValue *p_xFar );
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xGetCameraMatrix ( struct GLI_tdstCamera_ *p_stCam ,
|
|
struct POS_stCompletePosition *p_stMatrix ) ;
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xSetCameraMatrix ( struct GLI_tdstCamera_ *p_stCam ,
|
|
struct POS_stCompletePosition *p_stMatrix ) ;
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xSetViewportCamera ( GLD_tdhDevice, GLD_tdhViewport,
|
|
struct GLI_tdstCamera_ * ) ;
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xGetViewportCamera ( GLD_tdhDevice hDevice,
|
|
GLD_tdhViewport hViewport,
|
|
struct GLI_tdstCamera_ **p_stCam );
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xSetCameraAspectAndRatio ( struct GLI_tdstCamera_ *p_stCam ,
|
|
MTH_tdxReal xAlphaX ,
|
|
MTH_tdxReal xRatio ) ;
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xGetCameraAspectAndRatio ( struct GLI_tdstCamera_ *p_stCam ,
|
|
MTH_tdxReal *p_xAlphaX ,
|
|
MTH_tdxReal *p_xRatio ) ;
|
|
extern CPA_EXPORT void
|
|
GLI_xSetCameraRatio ( struct GLI_tdstCamera_ *p_stCam ,
|
|
MTH_tdxReal xRatio ) ;
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xGetCameraRatio ( struct GLI_tdstCamera_ *p_stCam ,
|
|
MTH_tdxReal *p_xRatio ) ;
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xGetCameraMode ( struct GLI_tdstCamera_ *p_stCam , long *p_lMode);
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xSetCameraMode ( struct GLI_tdstCamera_ *p_stCam , long lMode);
|
|
|
|
extern CPA_EXPORT void
|
|
GLI_xAdjustCameraToViewport ( GLD_tdhDevice hDevice,
|
|
GLD_tdhViewport hViewport,
|
|
struct GLI_tdstCamera_ *p_stCam ) ;
|
|
extern CPA_EXPORT void
|
|
GLI_xAdjustCameraToViewport2 ( GLD_tdstDeviceAttributes *p_stDev,
|
|
GLD_tdstViewportAttributes *p_stVpt,
|
|
GLI_tdstCamera *p_stCam ) ;
|
|
extern CPA_EXPORT void
|
|
GLI_vCopyCamera ( struct GLI_tdstCamera_ *p_stCamDest ,struct GLI_tdstCamera_ *p_stCamSource );
|
|
|
|
extern CPA_EXPORT struct GLI_tdstCamera_ *
|
|
GLI_xDuplicateCamera ( struct GLI_tdstCamera_ *p_stCamSource );
|
|
|
|
extern CPA_EXPORT void GLI_xGetCameraTransXY(struct GLI_tdstCamera_ *p_stCam , MTH_tdxReal *p_xX , MTH_tdxReal *p_xY);
|
|
extern CPA_EXPORT void GLI_xSetCameraTransXY(struct GLI_tdstCamera_ *p_stCam , MTH_tdxReal *p_xX , MTH_tdxReal *p_xY);
|
|
extern CPA_EXPORT void GLI_xMulCameraScale(struct GLI_tdstCamera_ *p_stCam , MTH_tdxReal xCoef);
|
|
extern CPA_EXPORT MTH_tdxReal GLI_xGetCameraFocalizationPoint(struct GLI_tdstCamera_ *p_stCam , MTH_tdxReal xDistanceZ);
|
|
extern CPA_EXPORT MTH_tdxReal GLI_xGetCameraFocalizationPlane(struct GLI_tdstCamera_ *p_stCam );
|
|
|
|
/*ANNECY JMD 24/02/98{*/
|
|
extern CPA_EXPORT void GLI_vGet3DVertexFromScreenPos ( GLD_tdstViewportAttributes *p_stVpt,MTH3D_tdstVector *p_stVertex,MTH_tdxReal xX, MTH_tdxReal xY, MTH_tdxReal xSize ) ;
|
|
/*ENDANNECY JMD }*/
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif /* __cplusplus */
|
|
|
|
#endif
|