亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? t3dlib1.h

?? 一本外國人寫的關于3D游戲編程的書的源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
             {
             float M00, M01;
             float M10, M11;
             float M20, M21;
             }; // end explicit names

        }; // end union
        } MATRIX3X2, *MATRIX3X2_PTR;

// 1x2 matrix /////////////////////////////////////////////
typedef struct MATRIX1X2_TYP
        {
        union
        {
        float M[2]; // array indexed data storage

        // storage in row major form with explicit names
        struct
             {
             float M00, M01;

             }; // end explicit names
        }; // end union
        } MATRIX1X2, *MATRIX1X2_PTR;


// PROTOTYPES /////////////////////////////////////////////

// DirectDraw functions
int DDraw_Init(int width, int height, int bpp, int windowed=0);
int DDraw_Shutdown(void);
LPDIRECTDRAWCLIPPER DDraw_Attach_Clipper(LPDIRECTDRAWSURFACE7 lpdds, int num_rects, LPRECT clip_list);
LPDIRECTDRAWSURFACE7 DDraw_Create_Surface(int width, int height, int mem_flags=0, USHORT color_key_value=0);

int DDraw_Flip(void);
int DDraw_Wait_For_Vsync(void);
int DDraw_Fill_Surface(LPDIRECTDRAWSURFACE7 lpdds, USHORT color, RECT *client=NULL);
UCHAR *DDraw_Lock_Surface(LPDIRECTDRAWSURFACE7 lpdds,int *lpitch);
int DDraw_Unlock_Surface(LPDIRECTDRAWSURFACE7 lpdds);
UCHAR *DDraw_Lock_Primary_Surface(void);
int DDraw_Unlock_Primary_Surface(void);
UCHAR *DDraw_Lock_Back_Surface(void);
int DDraw_Unlock_Back_Surface(void);

// BOB functions
int Create_BOB(BOB_PTR bob,int x, int y,int width, int height,int num_frames,int attr,
               int mem_flags=0, USHORT color_key_value=0, int bpp=8);              
int Clone_BOB(BOB_PTR source, BOB_PTR dest);
int Destroy_BOB(BOB_PTR bob);
int Draw_BOB(BOB_PTR bob, LPDIRECTDRAWSURFACE7 dest);
int Draw_Scaled_BOB(BOB_PTR bob, int swidth, int sheight,LPDIRECTDRAWSURFACE7 dest);
int Draw_BOB16(BOB_PTR bob, LPDIRECTDRAWSURFACE7 dest);
int Draw_Scaled_BOB16(BOB_PTR bob, int swidth, int sheight,LPDIRECTDRAWSURFACE7 dest);

int Load_Frame_BOB(BOB_PTR bob, BITMAP_FILE_PTR bitmap, int frame, int cx,int cy,int mode);              
int Load_Frame_BOB16(BOB_PTR bob, BITMAP_FILE_PTR bitmap, int frame, int cx,int cy,int mode);  
int Animate_BOB(BOB_PTR bob);
int Move_BOB(BOB_PTR bob);
int Load_Animation_BOB(BOB_PTR bob, int anim_index, int num_frames, int *sequence);
int Set_Pos_BOB(BOB_PTR bob, int x, int y);
int Set_Vel_BOB(BOB_PTR bob,int xv, int yv);
int Set_Anim_Speed_BOB(BOB_PTR bob,int speed);
int Set_Animation_BOB(BOB_PTR bob, int anim_index);
int Hide_BOB(BOB_PTR bob);
int Show_BOB(BOB_PTR bob);
int Collision_BOBS(BOB_PTR bob1, BOB_PTR bob2);


// general utility functions
DWORD Get_Clock(void);
DWORD Start_Clock(void);
DWORD Wait_Clock(DWORD count);

int Collision_Test(int x1, int y1, int w1, int h1, 
                   int x2, int y2, int w2, int h2); 

int Color_Scan(int x1, int y1, int x2, int y2, 
               UCHAR scan_start, UCHAR scan_end, 
               UCHAR *scan_buffer, int scan_lpitch);

int Color_Scan16(int x1, int y1, int x2, int y2, 
                  USHORT scan_start, USHORT scan_end, 
                  UCHAR *scan_buffer, int scan_lpitch);

// graphics functions
int Draw_Clip_Line(int x0,int y0, int x1, int y1, int color,UCHAR *dest_buffer, int lpitch);
int Draw_Clip_Line16(int x0,int y0, int x1, int y1, int color,UCHAR *dest_buffer, int lpitch);
int Clip_Line(int &x1,int &y1,int &x2, int &y2);
int Draw_Line(int xo, int yo, int x1,int y1, int color,UCHAR *vb_start,int lpitch);
int Draw_Line16(int xo, int yo, int x1,int y1, int color,UCHAR *vb_start,int lpitch);
int Draw_Pixel(int x, int y,int color,UCHAR *video_buffer, int lpitch);
int Draw_Rectangle(int x1, int y1, int x2, int y2, int color,LPDIRECTDRAWSURFACE7 lpdds);

void HLine(int x1,int x2,int y,int color, UCHAR *vbuffer, int lpitch);
void VLine(int y1,int y2,int x,int color, UCHAR *vbuffer, int lpitch);
void HLine16(int x1,int x2,int y,int color, UCHAR *vbuffer, int lpitch);
void VLine16(int y1,int y2,int x,int color, UCHAR *vbuffer, int lpitch);
void Screen_Transitions(int effect, UCHAR *vbuffer, int lpitch);
int Draw_Pixel(int x, int y,int color,UCHAR *video_buffer, int lpitch);
int Draw_Pixel16(int x, int y,int color,UCHAR *video_buffer, int lpitch);

// palette functions
int Set_Palette_Entry(int color_index, LPPALETTEENTRY color);
int Get_Palette_Entry(int color_index, LPPALETTEENTRY color);
int Load_Palette_From_File(char *filename, LPPALETTEENTRY palette);
int Save_Palette_To_File(char *filename, LPPALETTEENTRY palette);
int Save_Palette(LPPALETTEENTRY sav_palette);
int Set_Palette(LPPALETTEENTRY set_palette);
int Rotate_Colors(int start_index, int end_index);
int Blink_Colors(int command, BLINKER_PTR new_light, int id);

// simple bitmap image functions
int Create_Bitmap(BITMAP_IMAGE_PTR image, int x, int y, int width, int height, int bpp=8);
int Destroy_Bitmap(BITMAP_IMAGE_PTR image);
int Draw_Bitmap(BITMAP_IMAGE_PTR source_bitmap,UCHAR *dest_buffer, int lpitch, int transparent);
int Draw_Bitmap16(BITMAP_IMAGE_PTR source_bitmap,UCHAR *dest_buffer, int lpitch, int transparent);
int Load_Image_Bitmap(BITMAP_IMAGE_PTR image,BITMAP_FILE_PTR bitmap,int cx,int cy,int mode);  
int Load_Image_Bitmap16(BITMAP_IMAGE_PTR image,BITMAP_FILE_PTR bitmap,int cx,int cy,int mode);               
int Scroll_Bitmap(BITMAP_IMAGE_PTR image, int dx, int dy=0);

int Copy_Bitmap(BITMAP_IMAGE_PTR dest_bitmap, int dest_x, int dest_y, 
                BITMAP_IMAGE_PTR source_bitmap, int source_x, int source_y, 
                int width, int height);

int Flip_Bitmap(UCHAR *image, int bytes_per_line, int height);

// bitmap file functions
int Load_Bitmap_File(BITMAP_FILE_PTR bitmap, char *filename);
int Unload_Bitmap_File(BITMAP_FILE_PTR bitmap);

// gdi functions
int Draw_Text_GDI(char *text, int x,int y,COLORREF color, LPDIRECTDRAWSURFACE7 lpdds);
int Draw_Text_GDI(char *text, int x,int y,int color, LPDIRECTDRAWSURFACE7 lpdds);

// error functions
int Open_Error_File(char *filename, FILE *fp_override=NULL);
int Close_Error_File(void);
int Write_Error(char *string, ...);

// 2d 8-bit, 16-bit triangle rendering
void Draw_Top_Tri(int x1,int y1,int x2,int y2, int x3,int y3,int color,UCHAR *dest_buffer, int mempitch);

void Draw_Bottom_Tri(int x1,int y1, int x2,int y2, int x3,int y3,int color,UCHAR *dest_buffer, int mempitch);

void Draw_Top_Tri16(int x1,int y1,int x2,int y2, int x3,int y3,int color,UCHAR *dest_buffer, int mempitch);

void Draw_Bottom_Tri16(int x1,int y1, int x2,int y2, int x3,int y3,int color,UCHAR *dest_buffer, int mempitch);

void Draw_Top_TriFP(int x1,int y1,int x2,int y2, int x3,int y3,int color,UCHAR *dest_buffer, int mempitch);

void Draw_Bottom_TriFP(int x1,int y1, int x2,int y2, int x3,int y3,int color,UCHAR *dest_buffer, int mempitch);

void Draw_Triangle_2D(int x1,int y1,int x2,int y2,int x3,int y3,
                      int color,UCHAR *dest_buffer, int mempitch);

void Draw_Triangle_2D16(int x1,int y1,int x2,int y2,int x3,int y3,
                        int color,UCHAR *dest_buffer, int mempitch);

void Draw_TriangleFP_2D(int x1,int y1,int x2,int y2,int x3,int y3,
                        int color,UCHAR *dest_buffer, int mempitch);

inline void Draw_QuadFP_2D(int x0,int y0,int x1,int y1,
                           int x2,int y2,int x3, int y3,
                           int color,UCHAR *dest_buffer, int mempitch);


// general 2D 8-bit, 16-bit polygon rendering and transforming functions
void Draw_Filled_Polygon2D(POLYGON2D_PTR poly, UCHAR *vbuffer, int mempitch);
void Draw_Filled_Polygon2D16(POLYGON2D_PTR poly, UCHAR *vbuffer, int mempitch);
int Translate_Polygon2D(POLYGON2D_PTR poly, int dx, int dy);
int Rotate_Polygon2D(POLYGON2D_PTR poly, int theta);
int Scale_Polygon2D(POLYGON2D_PTR poly, float sx, float sy);
void Build_Sin_Cos_Tables(void);
int Translate_Polygon2D_Mat(POLYGON2D_PTR poly, int dx, int dy);
int Rotate_Polygon2D_Mat(POLYGON2D_PTR poly, int theta);
int Scale_Polygon2D_Mat(POLYGON2D_PTR poly, float sx, float sy);
int Draw_Polygon2D(POLYGON2D_PTR poly, UCHAR *vbuffer, int lpitch);
int Draw_Polygon2D16(POLYGON2D_PTR poly, UCHAR *vbuffer, int lpitch);

// math functions
int Fast_Distance_2D(int x, int y);
float Fast_Distance_3D(float x, float y, float z);

// collision detection functions
int Find_Bounding_Box_Poly2D(POLYGON2D_PTR poly, 
                             float &min_x, float &max_x, 
                             float &min_y, float &max_y);

int Mat_Mul_1X2_3X2(MATRIX1X2_PTR ma, 
                   MATRIX3X2_PTR mb,
                   MATRIX1X2_PTR mprod);

int Mat_Mul_1X3_3X3(MATRIX1X3_PTR ma, 
                   MATRIX3X3_PTR mb,
                   MATRIX1X3_PTR mprod);

int Mat_Mul_3X3(MATRIX3X3_PTR ma, 
               MATRIX3X3_PTR mb,
               MATRIX3X3_PTR mprod);

inline int Mat_Init_3X2(MATRIX3X2_PTR ma, 
                        float m00, float m01,
                        float m10, float m11,
                        float m20, float m21);


// memory manipulation functions
inline void Mem_Set_WORD(void *dest, USHORT data, int count);
inline void Mem_Set_QUAD(void *dest, UINT   data, int count);


// GLOBALS ////////////////////////////////////////////////

extern FILE *fp_error;                           // general error file
extern char error_filename[80];                  // error file name

// notice that interface 4.0 is used on a number of interfaces
extern LPDIRECTDRAW7        lpdd;                 // dd object
extern LPDIRECTDRAWSURFACE7 lpddsprimary;         // dd primary surface
extern LPDIRECTDRAWSURFACE7 lpddsback;            // dd back surface
extern LPDIRECTDRAWPALETTE  lpddpal;              // a pointer to the created dd palette
extern LPDIRECTDRAWCLIPPER  lpddclipper;          // dd clipper for back surface
extern LPDIRECTDRAWCLIPPER  lpddclipperwin;       // dd clipper for window
extern PALETTEENTRY         palette[256];         // color palette
extern PALETTEENTRY         save_palette[256];    // used to save palettes
extern DDSURFACEDESC2       ddsd;                 // a direct draw surface description struct
extern DDBLTFX              ddbltfx;              // used to fill
extern DDSCAPS2             ddscaps;              // a direct draw surface capabilities struct
extern HRESULT              ddrval;               // result back from dd calls
extern UCHAR                *primary_buffer;      // primary video buffer
extern UCHAR                *back_buffer;         // secondary back buffer
extern int                  primary_lpitch;       // memory line pitch
extern int                  back_lpitch;          // memory line pitch
extern BITMAP_FILE          bitmap8bit;           // a 8 bit bitmap file
extern BITMAP_FILE          bitmap16bit;          // a 16 bit bitmap file
extern BITMAP_FILE          bitmap24bit;          // a 24 bit bitmap file


extern DWORD                start_clock_count;    // used for timing
extern int                  windowed_mode;        // tracks if dd is windowed or not

// these defined the general clipping rectangle for software clipping
extern int min_clip_x,                             // clipping rectangle 
           max_clip_x,                  
           min_clip_y,     
           max_clip_y;                  

// these are overwritten globally by DD_Init()
extern int screen_width,                            // width of screen
           screen_height,                           // height of screen
           screen_bpp,                              // bits per pixel 
           screen_windowed;                         // is this a windowed app?   


extern int dd_pixel_format;                         // default pixel format

extern int window_client_x0;   // used to track the starting (x,y) client area for
extern int window_client_y0;   // for windowed mode directdraw operations

// storage for our lookup tables
extern float cos_look[361]; // 1 extra so we can store 0-360 inclusive
extern float sin_look[361]; // 1 extra so we can store 0-360 inclusive

// function ptr to RGB16 builder
extern USHORT (*RGB16Bit)(int r, int g, int b);

// root functions
extern USHORT RGB16Bit565(int r, int g, int b);
extern USHORT RGB16Bit555(int r, int g, int b);



#endif


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品欧美乱码久久久久久1区2区| 久久电影网电视剧免费观看| www.欧美色图| 中文字幕在线一区免费| 成人久久18免费网站麻豆 | 国产在线播精品第三| 精品国产99国产精品| 国产真实精品久久二三区| 国产人伦精品一区二区| 91视频一区二区三区| 亚洲成人福利片| 欧美xxxxxxxxx| 成人免费看视频| 一区二区激情视频| 精品久久一二三区| 99久久国产综合精品色伊| 一区二区成人在线视频| 欧美一区二区三区视频免费播放| 国产乱色国产精品免费视频| 中文字幕一区二区视频| 欧美肥妇毛茸茸| 久久99精品久久久| 国产精品久久久久久久久快鸭 | 青青草一区二区三区| 久久久久99精品国产片| 91在线免费视频观看| 人人狠狠综合久久亚洲| 国产精品国产自产拍高清av王其| 日本乱人伦aⅴ精品| 久久国产精品色婷婷| 亚洲日本中文字幕区| 日韩精品一区二区三区四区 | 国产成人精品一区二区三区网站观看| 自拍偷拍欧美激情| 日韩欧美国产一区二区三区| 成人av片在线观看| 老司机免费视频一区二区| 中文字幕一区二区三区蜜月 | 国产日韩亚洲欧美综合| 欧美视频在线播放| www.亚洲免费av| 黑人巨大精品欧美黑白配亚洲| 中文字幕视频一区| 久久夜色精品一区| 欧美性色黄大片| 92精品国产成人观看免费 | 日韩专区在线视频| 一区视频在线播放| 精品国精品国产| 在线不卡一区二区| 欧美中文字幕一二三区视频| 丁香啪啪综合成人亚洲小说 | 久久久久成人黄色影片| 7777女厕盗摄久久久| 91麻豆福利精品推荐| 国产91综合一区在线观看| 麻豆精品视频在线观看免费| 亚洲成人在线观看视频| 亚洲激情校园春色| 日韩一区在线播放| 亚洲国产电影在线观看| 国产午夜久久久久| 337p粉嫩大胆色噜噜噜噜亚洲| 制服丝袜中文字幕一区| 欧美午夜免费电影| 欧美撒尿777hd撒尿| 9i在线看片成人免费| 国产不卡免费视频| 国产一区不卡视频| 国产在线看一区| 久久国产精品99精品国产| 日本人妖一区二区| 美脚の诱脚舐め脚责91| 美女精品自拍一二三四| 大桥未久av一区二区三区中文| 国产乱淫av一区二区三区| 国产呦萝稀缺另类资源| 国产精品主播直播| 国产一区二区不卡| 风间由美性色一区二区三区| 粉嫩绯色av一区二区在线观看| 国产成人综合在线| www.一区二区| 91久久精品一区二区二区| 一本到不卡精品视频在线观看| av在线不卡免费看| 在线免费亚洲电影| 欧美日本在线视频| 精品久久久久一区| 日本一区二区免费在线观看视频 | 欧美精品第1页| 欧美成人官网二区| 国产调教视频一区| 国产欧美视频一区二区三区| 中文字幕在线观看一区| 亚洲男人天堂一区| 午夜久久久影院| 欧美aaa在线| 国产黄色成人av| 91亚洲国产成人精品一区二三 | 99久久国产综合精品色伊| 色婷婷久久久久swag精品| 欧美色偷偷大香| 欧美精品一区二区三区在线 | 亚洲一区二区综合| 理论片日本一区| 99久久久无码国产精品| 欧美色综合久久| 精品电影一区二区三区| 1024亚洲合集| 日av在线不卡| 99久久国产综合精品麻豆 | 欧美精品一区二区三区很污很色的| 国产日韩v精品一区二区| 亚洲视频香蕉人妖| 精品一区二区精品| 色哟哟一区二区| 2023国产精品视频| 亚洲一二三区不卡| 国产成人综合网站| 在线综合+亚洲+欧美中文字幕| 日本一区二区三区久久久久久久久不| 亚洲一区二区三区视频在线 | 91在线观看污| 日韩欧美亚洲一区二区| 中文字幕亚洲欧美在线不卡| 日韩成人dvd| eeuss鲁片一区二区三区在线观看| 69堂精品视频| 亚洲黄色免费网站| 国产精品影视天天线| 欧美日韩国产中文| **欧美大码日韩| 狠狠网亚洲精品| 欧美精品 国产精品| 日韩毛片精品高清免费| 国产一区二区主播在线| 91麻豆精品国产91久久久使用方法 | 免费在线观看精品| 在线观看中文字幕不卡| 国产精品污污网站在线观看 | 久久国产剧场电影| 欧美日韩视频第一区| 亚洲图片另类小说| 成人综合婷婷国产精品久久| 日韩丝袜情趣美女图片| 亚洲国产一区二区三区 | 国产91丝袜在线播放九色| 日韩一级二级三级精品视频| 一区二区三区中文在线| 99久久久无码国产精品| 国产精品视频一二三| 国产一区二区美女| 精品久久久久久久久久久久久久久| 亚洲成人综合视频| 欧美性猛交xxxxxxxx| 亚洲黄色片在线观看| 99久久综合精品| 国产精品网曝门| 国产成人午夜精品5599| 久久久国际精品| 国产美女在线精品| 久久这里只有精品视频网| 美腿丝袜在线亚洲一区| 91精品在线免费观看| 亚洲大尺度视频在线观看| 在线观看亚洲一区| 亚洲mv大片欧洲mv大片精品| 欧美日韩国产一二三| 亚洲成在线观看| 欧美一区二区在线免费播放| 蜜桃一区二区三区在线观看| 欧美一区二区日韩一区二区| 麻豆精品视频在线观看免费| 久久综合九色综合97婷婷| 国产一区二区三区在线观看免费视频| 精品日韩成人av| 久久av中文字幕片| 日本一区二区三区高清不卡| 成人黄色777网| 一区二区三区资源| 欧美裸体bbwbbwbbw| 青青草原综合久久大伊人精品 | 欧美日韩免费在线视频| 日本成人在线电影网| 欧美成人国产一区二区| 风间由美一区二区三区在线观看| 国产精品国产三级国产aⅴ原创| 99re成人在线| 香蕉成人啪国产精品视频综合网| 欧美一区二区精品在线| 国产精品88888| 国产人伦精品一区二区| 91久久奴性调教| 久久精品久久99精品久久| 日本一区二区电影| 欧美三级视频在线观看| 久久99国产精品免费网站| 国产精品免费人成网站| 欧美日韩一区视频|