亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
一本久久综合亚洲鲁鲁五月天| 国产凹凸在线观看一区二区| 亚洲人成亚洲人成在线观看图片| 日韩亚洲欧美成人一区| 欧美日韩亚洲国产综合| 91美女片黄在线观看91美女| 99久久99精品久久久久久| 成人av午夜电影| 国产成人精品午夜视频免费 | 白白色 亚洲乱淫| 粉嫩绯色av一区二区在线观看 | 欧美丰满少妇xxxxx高潮对白| 日本精品裸体写真集在线观看 | 日韩一区二区三区视频| 91精品国产综合久久婷婷香蕉| 91精品国产91久久久久久最新毛片| 欧美性色aⅴ视频一区日韩精品| 在线精品视频一区二区三四| 日本高清无吗v一区| 欧美日韩在线播放三区四区| 制服丝袜av成人在线看| 欧美精品一区二区三区在线播放 | 国产高清无密码一区二区三区| 东方aⅴ免费观看久久av| 成人激情开心网| 欧美性生活大片视频| 久久综合久久久久88| 亚洲色图在线视频| 毛片基地黄久久久久久天堂| 国产精品一区在线观看你懂的| 97精品久久久午夜一区二区三区 | 国产在线麻豆精品观看| 成人激情图片网| 91精品国产麻豆国产自产在线 | 在线观看网站黄不卡| 日韩欧美国产一区二区三区| 久久精品人人做人人爽人人| 一区二区三区在线免费观看| 奇米影视7777精品一区二区| 成人97人人超碰人人99| 欧美一区二区三区在线| 亚洲三级视频在线观看| 麻豆91小视频| 欧美性生活影院| 国产精品理论片在线观看| 蜜臀精品久久久久久蜜臀| 99视频精品免费视频| 精品噜噜噜噜久久久久久久久试看| 亚洲三级在线播放| 国产乱码字幕精品高清av | 久久久久久亚洲综合| 亚洲影院免费观看| 高潮精品一区videoshd| 欧美一级片在线看| 亚洲午夜激情网页| 成人精品国产免费网站| 日韩一区二区三免费高清| 亚洲另类在线视频| 99久久综合精品| 国产情人综合久久777777| 蜜乳av一区二区| 欧美乱熟臀69xxxxxx| 亚洲视频电影在线| 99久久er热在这里只有精品15| 精品粉嫩超白一线天av| 天天免费综合色| 欧美午夜一区二区三区免费大片| 国产精品美女久久久久久2018| 久久99九九99精品| 欧美精品视频www在线观看 | 欧美一区二区三区免费观看视频| 亚洲精品美腿丝袜| 一本色道久久综合精品竹菊| 国产欧美久久久精品影院| 国产一区二区精品久久| 精品不卡在线视频| 久久99国产精品久久| 日韩免费在线观看| 美国欧美日韩国产在线播放| 日韩一区二区影院| 精油按摩中文字幕久久| 欧美va亚洲va| 国产酒店精品激情| 久久久久久久久99精品| 成人一区二区在线观看| 国产日产精品一区| 97久久精品人人澡人人爽| 亚洲精品乱码久久久久久 | 天天爽夜夜爽夜夜爽精品视频| 欧美日韩精品一区二区天天拍小说 | 91精品国产手机| 久久精品国产一区二区三| 精品国产伦一区二区三区免费| 狠狠色狠狠色综合日日91app| 26uuu成人网一区二区三区| 成人综合激情网| 亚洲激情在线播放| 678五月天丁香亚洲综合网| 国产真实乱对白精彩久久| 国产精品伦一区二区三级视频| 91蜜桃视频在线| 日韩av午夜在线观看| 久久视频一区二区| 91成人免费电影| 美女视频一区在线观看| 亚洲国产精品国自产拍av| 欧美日韩亚洲国产综合| 国产麻豆成人传媒免费观看| 亚洲品质自拍视频网站| 91精品福利在线一区二区三区| 国产专区综合网| 亚洲制服丝袜av| 欧美精品一区二区精品网| 99国产精品视频免费观看| 日本不卡不码高清免费观看| 国产精品久久毛片av大全日韩| 欧美美女bb生活片| av在线综合网| 国产综合久久久久久鬼色| 亚洲午夜久久久久久久久久久| 国产视频一区二区在线| 国产亚洲精品7777| 欧美日韩国产首页| 本田岬高潮一区二区三区| 免费成人av资源网| 亚洲午夜久久久| 亚洲色欲色欲www| 国产欧美1区2区3区| 日韩欧美一区二区不卡| 欧洲亚洲精品在线| 99久久精品国产网站| 国产乱人伦偷精品视频不卡 | 国产一区二区在线电影| 洋洋成人永久网站入口| 国产欧美精品一区| 久久男人中文字幕资源站| 欧美日韩黄色影视| 欧美一a一片一级一片| aaa国产一区| 国产mv日韩mv欧美| 激情丁香综合五月| 青娱乐精品视频在线| 亚洲va中文字幕| 亚洲精品免费在线观看| 中文字幕亚洲一区二区av在线| 精品国产免费人成在线观看| 欧美一卡2卡3卡4卡| 在线播放/欧美激情| 欧美丰满高潮xxxx喷水动漫| 欧美主播一区二区三区美女| 91蝌蚪porny成人天涯| 91亚洲精品一区二区乱码| 成人黄色在线网站| 99久久精品情趣| 成人成人成人在线视频| 成人久久视频在线观看| 91片在线免费观看| 日本乱码高清不卡字幕| 欧洲精品在线观看| 欧美另类z0zxhd电影| 日韩一级免费一区| 久久色.com| 亚洲综合视频在线| 日韩电影在线一区二区三区| 免费一级片91| 国产成都精品91一区二区三| 成人免费视频国产在线观看| 91在线一区二区三区| 精品视频色一区| 精品蜜桃在线看| 国产精品久久久久影视| 亚洲在线成人精品| 老司机精品视频在线| 大尺度一区二区| 在线观看免费一区| 欧美变态口味重另类| 国产免费观看久久| 亚洲高清不卡在线| 精品无码三级在线观看视频| 成人自拍视频在线| 91国在线观看| 精品少妇一区二区三区在线播放| 国产喂奶挤奶一区二区三区| 日韩一区在线看| 精品一区二区三区免费| 91免费版pro下载短视频| 欧美精品777| 欧美国产日本视频| 亚洲国产精品久久久久婷婷884| 美国三级日本三级久久99| 成人av在线资源网| 日韩一区二区视频在线观看| 亚洲天天做日日做天天谢日日欢| 亚洲国产一区二区视频| 丰满白嫩尤物一区二区| 91精品国产综合久久香蕉麻豆| 国产精品乱码一区二区三区软件| 午夜久久久久久| 91毛片在线观看| 久久综合狠狠综合久久综合88|