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

📄 3dr.h

📁 Windows上的MUD客户端程序
💻 H
📖 第 1 页 / 共 3 页
字号:
typedef	R3dFixedVtxTexClr_t		FAR *FPR3dFixedVtxTexClr_t;

typedef	R3dFloatVtx_t			FAR *FPR3dFloatVtx_t;
typedef	R3dFloatVtxClr_t		FAR *FPR3dFloatVtxClr_t;
typedef	R3dFloatVtxTex_t		FAR *FPR3dFloatVtxTex_t;
typedef	R3dFloatVtxTexClr_t		FAR *FPR3dFloatVtxTexClr_t;

typedef	R3dMsgHdr_t			    	*LPR3dMsgHdr_t;
typedef	R3dMsgGen_t			    	*LPR3dMsgGen_t;
typedef	R3dMsgTex_t			    	*LPR3dMsgTex_t;
typedef	R3dMsgBmp_t			    	*LPR3dMsgBmp_t;
typedef	R3dMsgPkt_t			    	*LPR3dMsgPkt_t;
typedef	R3dPktPrm_t			    	*LPR3dPktPrm_t;
typedef	R3dPktSta_t			    	*LPR3dPktSta_t;
typedef	R3dPktGen_t			    	*LPR3dPktGen_t;

typedef	R3dMsgHdr_t				FAR *FPR3dMsgHdr_t;
typedef	R3dMsgGen_t				FAR *FPR3dMsgGen_t;
typedef	R3dMsgTex_t				FAR *FPR3dMsgTex_t;
typedef	R3dMsgBmp_t				FAR *FPR3dMsgBmp_t;
typedef	R3dMsgPkt_t				FAR *FPR3dMsgPkt_t;
typedef	R3dPktPrm_t				FAR *FPR3dPktPrm_t;
typedef	R3dPktSta_t				FAR *FPR3dPktSta_t;
typedef	R3dPktGen_t				FAR *FPR3dPktGen_t;
#endif	/* WIN16 */

#if	WIN16
typedef	R3dFixedVtx_t			FAR *LPR3dFixedVtx_t;
typedef	R3dFixedVtxClr_t		FAR *LPR3dFixedVtxClr_t;
typedef	R3dFixedVtxTex_t		FAR *LPR3dFixedVtxTex_t;
typedef	R3dFixedVtxTexClr_t		FAR *LPR3dFixedVtxTexClr_t;

typedef	R3dFloatVtx_t			FAR *LPR3dFloatVtx_t;
typedef	R3dFloatVtxClr_t		FAR *LPR3dFloatVtxClr_t;
typedef	R3dFloatVtxTex_t		FAR *LPR3dFloatVtxTex_t;
typedef	R3dFloatVtxTexClr_t		FAR *LPR3dFloatVtxTexClr_t;

typedef	R3dFixedVtx_t			FAR *FPR3dFixedVtx_t;
typedef	R3dFixedVtxClr_t		FAR *FPR3dFixedVtxClr_t;
typedef	R3dFixedVtxTex_t		FAR *FPR3dFixedVtxTex_t;
typedef	R3dFixedVtxTexClr_t		FAR *FPR3dFixedVtxTexClr_t;

typedef	R3dFloatVtx_t			FAR *FPR3dFloatVtx_t;
typedef	R3dFloatVtxClr_t		FAR *FPR3dFloatVtxClr_t;
typedef	R3dFloatVtxTex_t		FAR *FPR3dFloatVtxTex_t;
typedef	R3dFloatVtxTexClr_t		FAR *FPR3dFloatVtxTexClr_t;

typedef	R3dMsgHdr_t				FAR *LPR3dMsgHdr_t;
typedef	R3dMsgGen_t				FAR *LPR3dMsgGen_t;
typedef	R3dMsgTex_t				FAR *LPR3dMsgTex_t;
typedef	R3dMsgBmp_t				FAR *LPR3dMsgBmp_t;
typedef	R3dMsgPkt_t				FAR *LPR3dMsgPkt_t;
typedef	R3dPktPrm_t				FAR *LPR3dPktPrm_t;
typedef	R3dPktSta_t				FAR *LPR3dPktSta_t;
typedef	R3dPktGen_t				FAR *LPR3dPktGen_t;

typedef	R3dMsgHdr_t				FAR *FPR3dMsgHdr_t;
typedef	R3dMsgGen_t				FAR *FPR3dMsgGen_t;
typedef	R3dMsgTex_t				FAR *FPR3dMsgTex_t;
typedef	R3dMsgBmp_t				FAR *FPR3dMsgBmp_t;
typedef	R3dMsgPkt_t				FAR *FPR3dMsgPkt_t;
typedef	R3dPktPrm_t				FAR *FPR3dPktPrm_t;
typedef	R3dPktSta_t				FAR *FPR3dPktSta_t;
typedef	R3dPktGen_t				FAR *FPR3dPktGen_t;
#endif	/* WIN16 */

#if	WIN32
typedef	R3dFixedVtx_t			    *LPR3dFixedVtx_t;
typedef	R3dFixedVtxClr_t		    *LPR3dFixedVtxClr_t;
typedef	R3dFixedVtxTex_t		    *LPR3dFixedVtxTex_t;
typedef	R3dFixedVtxTexClr_t		    *LPR3dFixedVtxTexClr_t;

typedef	R3dFloatVtx_t			    *LPR3dFloatVtx_t;
typedef	R3dFloatVtxClr_t		    *LPR3dFloatVtxClr_t;
typedef	R3dFloatVtxTex_t		    *LPR3dFloatVtxTex_t;
typedef	R3dFloatVtxTexClr_t		    *LPR3dFloatVtxTexClr_t;

typedef	R3dFixedVtx_t			    *FPR3dFixedVtx_t;
typedef	R3dFixedVtxClr_t		    *FPR3dFixedVtxClr_t;
typedef	R3dFixedVtxTex_t		    *FPR3dFixedVtxTex_t;
typedef	R3dFixedVtxTexClr_t		    *FPR3dFixedVtxTexClr_t;

typedef	R3dFloatVtx_t			    *FPR3dFloatVtx_t;
typedef	R3dFloatVtxClr_t		    *FPR3dFloatVtxClr_t;
typedef	R3dFloatVtxTex_t		    *FPR3dFloatVtxTex_t;
typedef	R3dFloatVtxTexClr_t		    *FPR3dFloatVtxTexClr_t;

typedef	R3dMsgHdr_t			   		*LPR3dMsgHdr_t;
typedef	R3dMsgGen_t			    	*LPR3dMsgGen_t;
typedef	R3dMsgTex_t			    	*LPR3dMsgTex_t;
typedef	R3dMsgBmp_t			    	*LPR3dMsgBmp_t;
typedef	R3dMsgPkt_t			    	*LPR3dMsgPkt_t;
typedef	R3dPktPrm_t			    	*LPR3dPktPrm_t;
typedef	R3dPktSta_t			    	*LPR3dPktSta_t;
typedef	R3dPktGen_t			    	*LPR3dPktGen_t;

typedef	R3dMsgHdr_t			    	*FPR3dMsgHdr_t;
typedef	R3dMsgGen_t			    	*FPR3dMsgGen_t;
typedef	R3dMsgTex_t			    	*FPR3dMsgTex_t;
typedef	R3dMsgBmp_t			    	*FPR3dMsgBmp_t;
typedef	R3dMsgPkt_t			    	*FPR3dMsgPkt_t;
typedef	R3dPktPrm_t			    	*FPR3dPktPrm_t;
typedef	R3dPktSta_t			    	*FPR3dPktSta_t;
typedef	R3dPktGen_t			    	*FPR3dPktGen_t;
#endif	/* WIN32 */

#ifdef	R3D_TYPES_ONLY
#else	/* R3D_TYPES_ONLY */
/*
// 3DR - Definitions
*/

/*
// These are the various packet identifers used by 3DR. 
//	These are used to create general packets.
//	These values are used in R3dMsgPtr_t.
// Pick ONE of ...
*/
#define	R3D_PKT_END					 0
#define	R3D_PKT_SETSTATE			 1
#define	R3D_PKT_CLEARBUFFERS		 2
#define	R3D_PKT_SWAPBUFFERS			 3
#define	R3D_PKT_POINTS				 4
#define	R3D_PKT_LINES				 5
#define	R3D_PKT_POLYLINE			 6 
#define	R3D_PKT_TRIANGLES			 7 
#define	R3D_PKT_TRISTRIP			 8
#define	R3D_PKT_POLYGON				 9
#define	R3D_PKT_QUADS				10
#define	R3D_PKT_QUADSTRIP			11

/*
// These are used by R3dPrimitive()
// Pick ONE of ...
*/
#define	R3D_PRM_POINTS				R3D_PKT_POINTS
#define	R3D_PRM_LINES				R3D_PKT_LINES
#define	R3D_PRM_POLYLINE			R3D_PKT_POLYLINE 
#define	R3D_PRM_TRIANGLES			R3D_PKT_TRIANGLES 
#define	R3D_PRM_TRISTRIP			R3D_PKT_TRISTRIP
#define	R3D_PRM_POLYGON				R3D_PKT_POLYGON

/*
// These are used by R3dGetState() and R3dSetState()
// Pick ONE of ...
*/

/*
// Enumerated states. 
// >> Possible values mentioned in the comments section.
// Pick ONE of ...
*/
#define	R3D_STA_ENABLES				1	/* use R3D_SE_...	*/
#define	R3D_STA_DISABLES			2	/* use R3D_SE_...	*/
#define	R3D_STA_DRAW_BUFFER			3	/* use R3D_DB_...	*/
#define	R3D_STA_Z_FUNCTION			4	/* use R3D_ZF_...	*/
#define	R3D_STA_SRC_BLEND_FUNCTION	5	/* use R3D_BF_...	*/
#define	R3D_STA_DST_BLEND_FUNCTION	6	/* use R3D_BF_...	*/
#define	R3D_STA_TEX_FILTER			7	/* use R3D_TX_...	*/
#define	R3D_STA_TEX_FUNCTION		8	/* use R3D_TF_...	*/
#define	R3D_STA_ROP_FUNCTION		9	/* use R3D_RF_...	*/

/* 
// Arbitary valued states.
// Pick ONE of ...
*/
#define	R3D_STA_AREA_MASK			16	/* Area pattern bitmask	*/
#define	R3D_STA_LINE_MASK			48	/* Line pattern bitmask	*/
#define	R3D_STA_PIXEL_MASK			49	/* RGBA or bitmask 	*/
#define	R3D_STA_FG_COLOR			50	/* long, RGBA or index	*/
#define	R3D_STA_BG_COLOR			51	/* long, RGBA or index	*/
#define	R3D_STA_FG_DEPTH			52	/* FIXED 16.16 for raster*/
#define	R3D_STA_BG_DEPTH			53	/* FIXED 16.16 for zclear*/
#define	R3D_STA_TEX_LUMINANCE		54	/* >> Will Go away!	*/
#define	R3D_STA_TEX_ID				55	/* Handle for current texture.*/
#define	R3D_STA_SCISSOR_LEFT		56	
#define	R3D_STA_SCISSOR_TOP 		57	
#define	R3D_STA_SCISSOR_RIGHT		58	/* right,bottom, not inclusive*/
#define	R3D_STA_SCISSOR_BOTTOM		59	/* Validity Check done here.	*/

/* 
// These are 3DR message type definitions
// Pick ONE of ...
*/
#define	R3D_MSG_NOP					 0
#define	R3D_MSG_CREATE_RC			 1
#define	R3D_MSG_DELETE_RC			 2
#define	R3D_MSG_GET_STATE			 8
#define	R3D_MSG_NEW_TEXTURE			 9
#define	R3D_MSG_LOAD_TEXTURE		10
#define	R3D_MSG_FREE_TEXTURE		11
#define	R3D_MSG_NEW_BITMAP			12 
#define	R3D_MSG_LOAD_BITMAP			13
#define	R3D_MSG_FREE_BITMAP			14
#define	R3D_MSG_PACKET				16
#define	R3D_MSG_BITMAP				17
#define	R3D_MSG_CACHED_BITMAP		18

#define	R3D_MSG_SET_EXACT_PALETTE_ENTRY		32
#define	R3D_MSG_SET_APPROX_PALETTE_ENTRY	33
#define	R3D_MSG_APPLY_NEW_PALETTE		34

/*
// Possible values for:	R3D_STA_ENABLES 
//			R3D_STA_DISABLES 
// Logical OR of ...
*/
#define	R3D_SE_SHADING				0x00000001L	/* interpolate r,g,b, a	      */
#define	R3D_SE_TEXTURING			0x00000002L	/* interpolate u,v,w	      */
#define	R3D_SE_MODULATION			0x00000004L	/* modulate color & texture   */
#define	R3D_SE_Z_BUFFERING			0x00000008L	/* interpolate z and compare  */
#define	R3D_SE_ANTIALIASING			0x00000010L	/* generate subpixel alpha    */

#define	R3D_SE_PIXEL_MASKING		0x00000020L	/* selective pixel update     */
#define	R3D_SE_Z_MASKING			0x00000040L	/* selective z update 	      */
#define	R3D_SE_PATTERNING			0x00000080L	/* selective pixel & z update */
#define	R3D_SE_SCISSORING			0x00000100L	/* selective pixel & z update */
#define	R3D_SE_CLIPPING				0x00000200L	/* selective pixel & z update */

#define	R3D_SE_BLENDING				0x00000400L	/* per-pixel operation	      */
#define	R3D_SE_RASTEROP				0x00000800L	/* per-pixel operation	      */
#define	R3D_SE_DITHERING			0x00001000L	/* per-pixel operation	      */

#define	R3D_SE_FILTERING			0x00002000L	/* texture filter control     */
#define	R3D_SE_TRANSPARENCY			0x00004000L	/* texel use control	      */

/*
// Possible values for:	R3D_STA_DRAW_BUFFER 
// Pick one of ...
*/
#define	R3D_DB_FRONT				 0
#define	R3D_DB_BACK					 1

#ifdef	R3D_FUTURES
#define	R3D_DB_FRONT_RIGHT			 2
#define	R3D_DB_BACK_RIGHT			 3
#endif	/* R3D_FUTURES */

/*
// Possible values for:	R3D_STA_Z_FUNCTION
// Pick one of ...
*/
#define	R3D_ZF_NEVER				 0
#define	R3D_ZF_LT					 1
#define	R3D_ZF_EQ					 2
#define	R3D_ZF_LE					 3
#define	R3D_ZF_GT					 4
#define	R3D_ZF_NE					 5
#define	R3D_ZF_GE					 6
#define	R3D_ZF_ALWAYS				 7

/*
// Possible values for:	R3D_STA_SRC_BLEND_FUNCTION
//			R3D_STA_DST_BLEND_FUNCTION
// Pick one of ...
*/
#define	R3D_BF_ZERO					 0
#define	R3D_BF_ONE					 1
#define	R3D_BF_SRC					 2	/* Only R3D_STA_DST_BLEND_FUNCTION */
#define	R3D_BF_SRC_INV				 3	/* Only R3D_STA_DST_BLEND_FUNCTION */
#define	R3D_BF_SRC_ALPHA			 4
#define	R3D_BF_SRC_ALPHA_INV		 5
#define	R3D_BF_DST					 6	/* Only R3D_STA_SRC_BLEND_FUNCTION */
#define	R3D_BF_DST_INV				 7	/* Only R3D_STA_SRC_BLEND_FUNCTION */
#define	R3D_BF_DST_ALPHA			 8
#define	R3D_BF_DST_ALPHA_INV		 9

/*
// Possible values for:	R3D_STA_ROP_FUNCTION
// Pick one of ...
*/
#define R3D_RF_CLEAR				 0
#define R3D_RF_AND					 1
#define R3D_RF_AND_REVERSE			 2
#define R3D_RF_COPY					 3
#define R3D_RF_AND_INVERT			 4
#define R3D_RF_NOOP					 5
#define R3D_RF_XOR					 6
#define R3D_RF_OR					 7
#define R3D_RF_NOR					 8
#define R3D_RF_EQUIV				 9
#define R3D_RF_INVERT				10
#define R3D_RF_OR_REVERSE			11
#define R3D_RF_COPY_INVERT			12
#define R3D_RF_OR_INVERT			13
#define R3D_RF_NAND					14
#define R3D_RF_SET					15

/* 
// Possible values for:	R3D_STA_TEX_FUNCTION
// Pick ONE of ...
*/
#define	R3D_TF_REDUCE				 1
#define	R3D_TF_MULTIPLY				 2
#define	R3D_TF_SHADE				 3

/*
// Possible values for:	R3D_STA_TEX_FILTER
// Pick ONE of ...
*/
#define	R3D_TX_BILINEAR				 1	/* interpolate 4 pixels		*/
#define	R3D_TX_CUSTOM				 9	/* your favorite filter		*/
#define	R3D_TX_MIPMAP_NEAREST		10	/* nearest mipmap		*/
#define	R3D_TX_MIPMAP_LINEAR		11	/* interpolate between mipmaps	*/
#define	R3D_TX_MIPMAP_BILINEAR		12	/* interpolate 4x within mipmap */
#define	R3D_TX_MIPMAP_TRILINEAR		13	/* interpolate mipmaps,4 pixels	*/


/* 
// Possible values for:	RCInfo in the R3dCreateRC() prototype below
// Logical OR of ...
*/
#define	R3D_RI_DEFAULT				0x0000
#define	R3D_RI_DOUBLE_BUFFER		0x0001
#define	R3D_RI_COLOR_INDEXED		0x0002
#define	R3D_RI_EXTENDED				0x0004

#define	R3D_RI_RESERVED0			0x0008
#define	R3D_RI_RESERVED1			0x0010
#define	R3D_RI_RESERVED2			0x0020
#define	R3D_RI_RESERVED3			0x0040
#define	R3D_RI_RESERVED4			0x0080
#define	R3D_RI_RESERVED5			0x0100
#define	R3D_RI_RESERVED6			0x0200
#define	R3D_RI_RESERVED7			0x0400
#define	R3D_RI_RESERVED8			0x0800

#ifdef	R3D_FUTURES
#define	R3D_RI_STEREO				R3D_RI_RESERVED0
#define	R3D_RI_ZBUFFER	 			R3D_RI_RESERVED8
#endif	/* R3D_FUTURES */

/*
// Possible values for : VtxInfo in the R3dPrimitive() prototype below
// Logical OR of ...
*/
#define R3D_VI_FIXED				0x0000
#define	R3D_VI_FLOAT				0x0001
#define	R3D_VI_COLOR				0x0002
#define	R3D_VI_TEXTURE				0x0004	
	
/*
// Possible values for:	BmpInfo in the R3dBitmap() prototype below
// Logical OR of ...
*/
#define	R3D_BI_INDEX				0x0001
#define	R3D_BI_CHROMAKEY			0x0002
#define	R3D_BI_ALPHA				0x0004

/*
// Possible values for:	SwapInfo in the R3dSwapBuffers() prototype below
// Logical OR of ...
*/
#ifdef	R3D_FUTURES
#define	R3D_SI_LEFT					0x0000

⌨️ 快捷键说明

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