glquat.h

来自「国外游戏开发者杂志1998年第二期配套代码」· C头文件 代码 · 共 74 行

H
74
字号
#ifndef __gluquat__
#define __gluquat__


#if defined (WIN32)
#include <windows.h>
#endif

#include <GL/gl.h>
#include <GL/glu.h>


// Quaternion Structure
// quaternion is represented as (w,[x,y,z])
// where: w       - scalar part
//        x, y, z - vector part
typedef struct tag_GL_QUAT { 
  GLfloat w, x, y, z;
} GL_QUAT;



// define APIENTRY and CALLBACK to null string if we aren't on Win32
#if !defined(WIN32)
#define APIENTRY
#define CALLBACK
#endif

#ifdef __cplusplus
extern "C" {
#endif


extern void APIENTRY gluQuatToMat_EXT(GL_QUAT *, GLfloat m[4][4]);
extern void APIENTRY gluEulerToQuat_EXT(GLfloat, GLfloat, GLfloat, GL_QUAT * );
extern void APIENTRY gluMatToQuat_EXT(GLfloat m[4][4], GL_QUAT *);
extern void APIENTRY gluQuatSlerp_EXT(GL_QUAT * , GL_QUAT * , GLfloat, GL_QUAT *);
extern void APIENTRY gluQuatLerp_EXT(GL_QUAT *, GL_QUAT *, GLfloat, GL_QUAT *);
extern void APIENTRY gluQuatNormalize_EXT(GL_QUAT *);
extern void APIENTRY gluQuatGetValue_EXT(GL_QUAT*, GLfloat*, GLfloat*, GLfloat*, GLfloat*);
extern void APIENTRY gluQuatSetValue_EXT(GL_QUAT *, GLfloat, GLfloat, GLfloat, GLfloat);
extern void APIENTRY gluQuatScaleAngle_EXT(GL_QUAT *, GLfloat);
extern void APIENTRY gluQuatInverse_EXT(GL_QUAT *);
extern void APIENTRY gluQuatSetFromAx_EXT(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, 
										  GLfloat, GL_QUAT *);
extern void APIENTRY gluQuatMul_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatAdd_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatSub_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatDiv_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatCopy_EXT(GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatSquare_EXT(GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatSqrt_EXT(GL_QUAT*, GL_QUAT*);
extern GLfloat APIENTRY gluQuatDot_EXT(GL_QUAT*, GL_QUAT*);
extern GLfloat APIENTRY gluQuatLength_EXT(GL_QUAT*);
extern void APIENTRY gluQuatNegate_EXT(GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatExp_EXT(GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatLog_EXT(GL_QUAT*, GL_QUAT*);
extern void APIENTRY gluQuatLnDif_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*);







#ifdef __cplusplus
}

#endif


#endif  // __gluquat__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?