⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defines.h

📁 Torus3D.rar,BREW平台的3D游戏引擎的一个实例.喜欢的朋友可以下载
💻 H
字号:
// ==========================================================================================================
//
// BREW v2.0+ OPENGLES MICROENGINE
//
// ----------------------------------------
//
// Written by Vander Nunes
//
// ==========================================================================================================

#ifndef __DEFINES_H__

	#define __DEFINES_H__

	#ifndef PI
		// PI
		#define PI		3.1415926535897932384626433832795f
		// 16.16 fixed-point PI
		#define XPI		205887
	#endif

	#define BYTE        unsigned char           // ..and unsigned character
	#define WORD				unsigned short					//
	#define DWORD				unsigned long						//
	#define MAX_PATH		256

	// pointer deleting and nulling
	#define DeletePtr(ptr)				if (ptr) { delete ptr; ptr = NULL; }
	#define DeletePtrArray(ptr)		if (ptr) { delete [] ptr; ptr = NULL; }

	// float to 16.16 fixed-point
	#define FTOX(X)	((int) ((X) * 65536))
	// back from 16.16 fixed-point to float
	#define XTOF(X)	((float) ((X) / 65536.0f))

	// int to 16.16 fixed-point
	#define ITOX(i)	((i) << 16)
	// back from 16.16 fixed-point to int
	#define XTOI(i)	((i) >> 16)

	// float to 8.8 fixed-point
	#define FTOX8(X)	((short) ((X) * 256))
	// back to 16:0 float
	#define X8TOF(X)	((float) ((X) / 256.0f))

	// short to 8.8 fixed-point
	#define ITOX8(i)	((i) << 8)
	// back from 8.8 fixed-point to short
	#define X8TOI(i)	((i) >> 8)

	// ( 16.16 * 32.0 )
	#define FPXINT(a,b) (a * b)

	// ( 16.16 * 16.16 )
	#define FPXFP(a,b)  ( (int) ( ( ((__int64)(a)) * ((__int64)(b)) ) >> 16 ) )

	// ( 16.16 / 16.16 )
	#define FPDFP(a,b)	( (int) ( ( ((__int64)(a) << 32) / (b) ) >> 16 ) )

	#define min(a,b)						(a<b?a:b)
	#define max(a,b)						(a>b?a:b)
	#define min3(a,b,c)					(min(min(a,b),c))
	#define max3(a,b,c)					(max(max(a,b),c))
	#define clamp(v,l,h)				((v)<(l) ? (l) : (v) > (h) ? (h) : v)
	#define rnd(a,b)						((b-(a))*((long double)rand()/32767)+(a))

	#define deg2radf(a)					(a*PI/180)
	#define rad2degf(a)					(a*180/PI)

	typedef int vec_t;
	typedef vec_t vec2_t[2];
	typedef vec_t vec3_t[3];
	typedef vec_t vec4_t[4];
	typedef vec_t vec5_t[5];
	typedef vec_t mat4x4_t[16];

	typedef float vecf_t;
	typedef vecf_t vec3f_t[3];

	typedef struct
	{
		vec3_t		vNormal;
		int				iDist;
	} plane3_t;

#endif

⌨️ 快捷键说明

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