亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产精品一线二线三线精华| 国模娜娜一区二区三区| 欧美激情综合五月色丁香 | 中文字幕av资源一区| 日韩一卡二卡三卡四卡| 欧美电影免费观看高清完整版在线 | 久久久久国产精品人| 久久丝袜美腿综合| 久久综合久久综合久久| 国产亚洲欧洲997久久综合 | 欧美系列亚洲系列| 欧美日韩亚洲综合在线 | 欧美高清在线精品一区| 中文字幕不卡的av| 亚洲精品视频免费看| 亚洲一区二三区| 日韩vs国产vs欧美| 久久爱www久久做| 国产成人在线影院 | 亚洲bt欧美bt精品| 久久99国产精品久久| 欧美三级视频在线观看| 欧美日韩亚洲综合一区二区三区 | 久久精工是国产品牌吗| 国产激情视频一区二区在线观看 | 激情另类小说区图片区视频区| 国产一本一道久久香蕉| 成人精品免费看| 欧美天天综合网| 精品欧美一区二区三区精品久久| 久久先锋资源网| 一区二区三区美女| 国内精品久久久久影院色| 99免费精品在线观看| 91麻豆精品国产无毒不卡在线观看| 欧美一区二区三区免费在线看| 国产视频视频一区| 午夜av区久久| 成人国产视频在线观看| 日韩一区二区在线看片| 亚洲视频免费看| 国产一区二三区好的| 色狠狠色噜噜噜综合网| 久久精品一区二区三区不卡| 亚洲国产wwwccc36天堂| 国产91丝袜在线播放九色| 欧美午夜精品免费| 国产精品久久久久永久免费观看| 日韩国产欧美在线视频| 色婷婷国产精品| 国产区在线观看成人精品| 日韩在线一二三区| 91成人国产精品| 国产精品每日更新在线播放网址| 免费在线看成人av| 欧美午夜精品久久久久久孕妇| 欧美激情一区二区三区全黄| 看电影不卡的网站| 欧美一区二区精品久久911| 亚洲日本乱码在线观看| 国产不卡视频在线观看| 久久蜜桃一区二区| 免费欧美高清视频| 欧美人xxxx| 午夜精品福利一区二区蜜股av| 色噜噜狠狠成人中文综合| 国产精品久久久久久久蜜臀| 国产黄色91视频| 久久久91精品国产一区二区三区| 美女mm1313爽爽久久久蜜臀| 日韩午夜在线播放| 奇米影视一区二区三区| 正在播放亚洲一区| 午夜欧美2019年伦理| 欧美午夜一区二区三区免费大片| 一区二区三区在线看| 欧美午夜精品一区| 亚洲成精国产精品女| 欧美乱妇一区二区三区不卡视频| 亚洲小说欧美激情另类| 欧美日韩一区在线| 午夜精品久久久久久久久久久| 欧美日韩国产高清一区二区| 无码av免费一区二区三区试看| 欧美天堂一区二区三区| 日韩高清一区二区| 久久久三级国产网站| 国产在线日韩欧美| 中文字幕一区二区三区视频| 99九九99九九九视频精品| 亚洲综合网站在线观看| 欧美日韩美少妇| 裸体一区二区三区| 国产视频911| 欧美影院精品一区| 久久99国产精品尤物| 亚洲国产成人午夜在线一区| 欧美综合亚洲图片综合区| 日日夜夜一区二区| 亚洲国产成人私人影院tom| 在线免费亚洲电影| 精品一区二区三区影院在线午夜 | 97成人超碰视| 日日夜夜精品视频天天综合网| 精品福利在线导航| 91久久精品一区二区| 日本亚洲三级在线| 亚洲国产精品99久久久久久久久| 在线亚洲人成电影网站色www| 日本系列欧美系列| 亚洲日本韩国一区| 欧美大片顶级少妇| 在线亚洲免费视频| 国产馆精品极品| 亚洲6080在线| 中文字幕视频一区二区三区久| 欧美夫妻性生活| 夫妻av一区二区| 婷婷成人激情在线网| 中文字幕一区二区视频| 日韩精品一区二区在线| 欧美亚洲一区二区在线| 国产精品综合视频| 午夜精品视频一区| 亚洲免费在线视频一区 二区| 精品欧美一区二区在线观看| 欧美日韩一区二区三区免费看 | 97超碰欧美中文字幕| 日韩在线一区二区三区| 精品成人在线观看| 成人精品小蝌蚪| 欧美a级一区二区| 亚洲高清中文字幕| 亚洲乱码国产乱码精品精小说| 久久人人超碰精品| 精品国产一区二区三区久久久蜜月 | 日本道精品一区二区三区| 国产一区二区久久| 日韩国产高清影视| 午夜影视日本亚洲欧洲精品| 国产精品无遮挡| 久久久久九九视频| 精品国产乱码久久| 911精品国产一区二区在线| 色噜噜狠狠色综合欧洲selulu| 大桥未久av一区二区三区中文| 国产曰批免费观看久久久| 日韩av电影天堂| 日本不卡在线视频| 石原莉奈在线亚洲二区| 丝袜亚洲另类欧美综合| 亚洲国产精品久久久男人的天堂| 亚洲精品国产一区二区三区四区在线| 日本一区二区三区免费乱视频| 精品99一区二区| 久久婷婷国产综合国色天香| 精品日韩一区二区| 国产亚洲污的网站| 国产精品视频第一区| 国产精品久久99| 亚洲人午夜精品天堂一二香蕉| 一色屋精品亚洲香蕉网站| 国产区在线观看成人精品| 国产精品美女久久福利网站| ...xxx性欧美| 亚洲最色的网站| 日韩二区三区在线观看| 青草av.久久免费一区| 久久99国产精品免费| 国产成人三级在线观看| youjizz国产精品| 色婷婷精品大视频在线蜜桃视频 | 国产成人在线免费| 不卡av在线网| 欧美色成人综合| 日韩精品在线网站| 国产精品久久久久9999吃药| 一区二区三区精品视频| 奇米精品一区二区三区在线观看一 | 日韩和的一区二区| 激情都市一区二区| av中文字幕不卡| 制服丝袜日韩国产| 亚洲国产精品二十页| 亚洲va韩国va欧美va精品| 激情综合色丁香一区二区| eeuss鲁片一区二区三区| 欧美视频中文一区二区三区在线观看| 欧美高清www午色夜在线视频| 国产日韩av一区| 三级影片在线观看欧美日韩一区二区| 国产九色精品成人porny| 欧美主播一区二区三区美女| wwwwww.欧美系列| 亚洲精品国久久99热| 国产一本一道久久香蕉| 欧美日韩中文字幕一区| 欧美激情资源网| 日本欧美在线看| 色综合av在线|