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

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

?? t3dlib1.h

?? 一本外國人寫的關于3D游戲編程的書的源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
// T3DLIB1.H - Header file for T3DLIB1.CPP game engine library

// watch for multiple inclusions
#ifndef T3DLIB1
#define T3DLIB1

// DEFINES ////////////////////////////////////////////////

// default screen values, these are all overriden by the 
// call to DDraw_Init() and are just here to have something
// to set the globals to instead of constant values
#define SCREEN_WIDTH        640  // size of screen
#define SCREEN_HEIGHT       480
#define SCREEN_BPP          8    // bits per pixel
#define MAX_COLORS_PALETTE  256


#define DEFAULT_PALETTE_FILE "PALDATA2.PAL"

// used for selecting full screen/windowed mode
#define SCREEN_FULLSCREEN    0
#define SCREEN_WINDOWED      1

// bitmap defines
#define BITMAP_ID            0x4D42 // universal id for a bitmap
#define BITMAP_STATE_DEAD    0
#define BITMAP_STATE_ALIVE   1
#define BITMAP_STATE_DYING   2 
#define BITMAP_ATTR_LOADED   128

#define BITMAP_EXTRACT_MODE_CELL  0
#define BITMAP_EXTRACT_MODE_ABS   1

// directdraw pixel format defines, used to help
// bitmap loader put data in proper format
#define DD_PIXEL_FORMAT8        8
#define DD_PIXEL_FORMAT555      15
#define DD_PIXEL_FORMAT565      16
#define DD_PIXEL_FORMAT888      24
#define DD_PIXEL_FORMATALPHA888 32 


// defines for BOBs
#define BOB_STATE_DEAD         0    // this is a dead bob
#define BOB_STATE_ALIVE        1    // this is a live bob
#define BOB_STATE_DYING        2    // this bob is dying
#define BOB_STATE_ANIM_DONE    1    // done animation state
#define MAX_BOB_FRAMES         64   // maximum number of bob frames
#define MAX_BOB_ANIMATIONS     16   // maximum number of animation sequeces

#define BOB_ATTR_SINGLE_FRAME   1   // bob has single frame
#define BOB_ATTR_MULTI_FRAME    2   // bob has multiple frames
#define BOB_ATTR_MULTI_ANIM     4   // bob has multiple animations
#define BOB_ATTR_ANIM_ONE_SHOT  8   // bob will perform the animation once
#define BOB_ATTR_VISIBLE        16  // bob is visible
#define BOB_ATTR_BOUNCE         32  // bob bounces off edges
#define BOB_ATTR_WRAPAROUND     64  // bob wraps around edges
#define BOB_ATTR_LOADED         128 // the bob has been loaded
#define BOB_ATTR_CLONE          256 // the bob is a clone

// screen transition commands
#define SCREEN_DARKNESS  0         // fade to black
#define SCREEN_WHITENESS 1         // fade to white
#define SCREEN_SWIPE_X   2         // do a horizontal swipe
#define SCREEN_SWIPE_Y   3         // do a vertical swipe
#define SCREEN_DISOLVE   4         // a pixel disolve
#define SCREEN_SCRUNCH   5         // a square compression
#define SCREEN_BLUENESS  6         // fade to blue
#define SCREEN_REDNESS   7         // fade to red
#define SCREEN_GREENNESS 8         // fade to green

// defines for Blink_Colors
#define BLINKER_ADD           0    // add a light to database  
#define BLINKER_DELETE        1    // delete a light from database
#define BLINKER_UPDATE        2    // update a light
#define BLINKER_RUN           3    // run normal

// pi defines
#define PI         ((float)3.141592654f)
#define PI2        ((float)6.283185307f)
#define PI_DIV_2   ((float)1.570796327f)
#define PI_DIV_4   ((float)0.785398163f) 
#define PI_INV     ((float)0.318309886f) 

// fixed point mathematics constants
#define FIXP16_SHIFT     16
#define FIXP16_MAG       65536
#define FIXP16_DP_MASK   0x0000ffff
#define FIXP16_WP_MASK   0xffff0000
#define FIXP16_ROUND_UP  0x00008000

// MACROS /////////////////////////////////////////////////

// these read the keyboard asynchronously
#define KEY_DOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEY_UP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

// this builds a 16 bit color value in 5.5.5 format (1-bit alpha mode)
#define _RGB16BIT555(r,g,b) ((b & 31) + ((g & 31) << 5) + ((r & 31) << 10))

// this builds a 16 bit color value in 5.6.5 format (green dominate mode)
#define _RGB16BIT565(r,g,b) ((b & 31) + ((g & 63) << 5) + ((r & 31) << 11))

// this builds a 24 bit color value in 8.8.8 format 
#define _RGB24BIT(a,r,g,b) ((b) + ((g) << 8) + ((r) << 16) )

// this builds a 32 bit color value in A.8.8.8 format (8-bit alpha mode)
#define _RGB32BIT(a,r,g,b) ((b) + ((g) << 8) + ((r) << 16) + ((a) << 24))

// bit manipulation macros
#define SET_BIT(word,bit_flag)   ((word)=((word) | (bit_flag)))
#define RESET_BIT(word,bit_flag) ((word)=((word) & (~bit_flag)))

// initializes a direct draw struct, basically zeros it and sets the dwSize field
#define DDRAW_INIT_STRUCT(ddstruct) { memset(&ddstruct,0,sizeof(ddstruct)); ddstruct.dwSize=sizeof(ddstruct); }

// used to compute the min and max of two expresions
#define MIN(a, b)  (((a) < (b)) ? (a) : (b)) 
#define MAX(a, b)  (((a) > (b)) ? (b) : (a)) 

// used for swapping algorithm
#define SWAP(a,b,t) {t=a; a=b; b=t;}

// some math macros
#define DEG_TO_RAD(ang) ((ang)*PI/180.0)
#define RAD_TO_DEG(rads) ((rads)*180.0/PI)

#define RAND_RANGE(x,y) ( (x) + (rand()%((y)-(x)+1)))

// TYPES //////////////////////////////////////////////////

// basic unsigned types
typedef unsigned short USHORT;
typedef unsigned short WORD;
typedef unsigned char  UCHAR;
typedef unsigned char  BYTE;
typedef unsigned int   QUAD;
typedef unsigned int   UINT;

// container structure for bitmaps .BMP file
typedef struct BITMAP_FILE_TAG
        {
        BITMAPFILEHEADER bitmapfileheader;  // this contains the bitmapfile header
        BITMAPINFOHEADER bitmapinfoheader;  // this is all the info including the palette
        PALETTEENTRY     palette[256];      // we will store the palette here
        UCHAR            *buffer;           // this is a pointer to the data

        } BITMAP_FILE, *BITMAP_FILE_PTR;

// the blitter object structure BOB
typedef struct BOB_TYP
        {
        int state;          // the state of the object (general)
        int anim_state;     // an animation state variable, up to you
        int attr;           // attributes pertaining to the object (general)
        float x,y;            // position bitmap will be displayed at
        float xv,yv;          // velocity of object
        int width, height;  // the width and height of the bob
        int width_fill;     // internal, used to force 8*x wide surfaces
        int bpp;            // bits per pixel
        int counter_1;      // general counters
        int counter_2;
        int max_count_1;    // general threshold values;
        int max_count_2;
        int varsI[16];      // stack of 16 integers
        float varsF[16];    // stack of 16 floats
        int curr_frame;     // current animation frame
        int num_frames;     // total number of animation frames
        int curr_animation; // index of current animation
        int anim_counter;   // used to time animation transitions
        int anim_index;     // animation element index
        int anim_count_max; // number of cycles before animation
        int *animations[MAX_BOB_ANIMATIONS]; // animation sequences

        LPDIRECTDRAWSURFACE7 images[MAX_BOB_FRAMES]; // the bitmap images DD surfaces
 
        } BOB, *BOB_PTR;

// the simple bitmap image
typedef struct BITMAP_IMAGE_TYP
        {
        int state;          // state of bitmap
        int attr;           // attributes of bitmap
        int x,y;            // position of bitmap
        int width, height;  // size of bitmap
        int num_bytes;      // total bytes of bitmap
        int bpp;            // bits per pixel
        UCHAR *buffer;      // pixels of bitmap

        } BITMAP_IMAGE, *BITMAP_IMAGE_PTR;

// blinking light structure
typedef struct BLINKER_TYP
               {
               // user sets these
               int color_index;         // index of color to blink
               PALETTEENTRY on_color;   // RGB value of "on" color
               PALETTEENTRY off_color;  // RGB value of "off" color
               int on_time;             // number of frames to keep "on" 
               int off_time;            // number of frames to keep "off"

               // internal member
               int counter;             // counter for state transitions
               int state;               // state of light, -1 off, 1 on, 0 dead
               } BLINKER, *BLINKER_PTR;

// a 2D vertex
typedef struct VERTEX2DI_TYP
        {
        int x,y; // the vertex
        } VERTEX2DI, *VERTEX2DI_PTR;

// a 2D vertex
typedef struct VERTEX2DF_TYP
        {
        float x,y; // the vertex
        } VERTEX2DF, *VERTEX2DF_PTR;


// a 2D polygon
typedef struct POLYGON2D_TYP
        {
        int state;        // state of polygon
        int num_verts;    // number of vertices
        int x0,y0;        // position of center of polygon  
        int xv,yv;        // initial velocity
        DWORD color;      // could be index or PALETTENTRY
        VERTEX2DF *vlist; // pointer to vertex list
 
        } POLYGON2D, *POLYGON2D_PTR;

// matrix defines

// 3x3 matrix /////////////////////////////////////////////
typedef struct MATRIX3X3_TYP
        {
        union
        {
        float M[3][3]; // array indexed data storage

        // storage in row major form with explicit names
        struct
             {
             float M00, M01, M02;
             float M10, M11, M12;
             float M20, M21, M22;
             }; // end explicit names

        }; // end union
        } MATRIX3X3, *MATRIX3X3_PTR;

// 1x3 matrix /////////////////////////////////////////////
typedef struct MATRIX1X3_TYP
        {
        union
        {
        float M[3]; // array indexed data storage

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

             }; // end explicit names
        }; // end union
        } MATRIX1X3, *MATRIX1X3_PTR;

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

        // storage in row major form with explicit names
        struct

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久97国产精华液好用吗| 在线观看成人免费视频| 午夜电影久久久| 一区二区三区四区乱视频| 亚洲国产精品av| 国产精品免费视频网站| 亚洲国产精品ⅴa在线观看| 国产精品午夜免费| 亚洲精品综合在线| 亚洲国产精品一区二区www在线| 亚洲精品一二三区| 午夜视频一区二区| 美女脱光内衣内裤视频久久网站| 日韩国产欧美在线视频| 日韩成人一区二区三区在线观看| 无码av免费一区二区三区试看| 免费看精品久久片| 国产999精品久久久久久| av午夜一区麻豆| 欧美日韩一区国产| 亚洲精品一区二区三区在线观看 | 久久精品夜色噜噜亚洲aⅴ| 国产精品的网站| 亚洲日本韩国一区| 日韩高清欧美激情| 国产99精品在线观看| 色婷婷综合五月| 日韩欧美一级二级| 国产精品白丝在线| 日韩影视精彩在线| 国产成人午夜电影网| 色综合天天综合| 日韩免费一区二区| 综合色中文字幕| 久久成人麻豆午夜电影| 99久久精品费精品国产一区二区| 欧美三片在线视频观看| 国产欧美精品一区二区色综合| 亚洲精品自拍动漫在线| 国产一区二区精品久久99| 色系网站成人免费| 久久久噜噜噜久久中文字幕色伊伊| 亚洲免费在线视频一区 二区| 日韩高清不卡在线| 91美女在线看| 久久久www成人免费毛片麻豆 | www.爱久久.com| 日韩视频一区在线观看| 国产精品久久久久久久久久免费看| 午夜婷婷国产麻豆精品| www.亚洲人| 日本一区二区三区在线不卡| 日本视频在线一区| 色美美综合视频| 中文字幕一区日韩精品欧美| 蜜桃久久久久久久| 色婷婷综合五月| 亚洲人成小说网站色在线| 国产一区二区0| 日韩欧美不卡在线观看视频| 亚洲在线成人精品| 91欧美一区二区| 亚洲欧美中日韩| 成人午夜碰碰视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产三级一区二区三区| 天堂在线亚洲视频| 欧美三级三级三级爽爽爽| 国产精品久久久久久久裸模| 国产一区二区三区av电影| 欧美电影免费观看高清完整版| 日韩电影在线观看网站| 欧美女孩性生活视频| 一区二区三区欧美视频| 99re热视频精品| 亚洲色图另类专区| 色婷婷久久99综合精品jk白丝 | 欧美亚洲动漫精品| 一区二区三区不卡视频在线观看 | 久久久影视传媒| 高清日韩电视剧大全免费| 欧美—级在线免费片| 成人av电影在线播放| 国产精品国产馆在线真实露脸| 国产白丝精品91爽爽久久| 国产精品国产成人国产三级| 97精品久久久久中文字幕| 亚洲狼人国产精品| 91精品国产色综合久久不卡电影 | 欧美国产精品一区二区| av色综合久久天堂av综合| 亚洲精品视频一区二区| 欧美片在线播放| 国产精品一区二区视频| 中文在线免费一区三区高中清不卡| 不卡一区中文字幕| 亚洲一级在线观看| 欧美va亚洲va在线观看蝴蝶网| 国产一区美女在线| 亚洲精品乱码久久久久久久久| 欧美女孩性生活视频| 国产精品一级二级三级| 亚洲欧美日韩精品久久久久| 欧美日本免费一区二区三区| 日韩在线一区二区| 精品欧美一区二区三区精品久久 | 欧美色图12p| 国产一区高清在线| 亚洲第一狼人社区| 国产欧美日韩精品一区| 欧美无乱码久久久免费午夜一区| 麻豆国产精品一区二区三区| 2014亚洲片线观看视频免费| 色激情天天射综合网| 国产精品综合一区二区三区| 一区在线播放视频| 欧美成人猛片aaaaaaa| 91精品国产欧美日韩| 亚洲综合激情小说| 国产亚洲欧美一区在线观看| 欧美午夜影院一区| 国产凹凸在线观看一区二区| 亚洲成av人片在www色猫咪| 久久夜色精品一区| 欧美色倩网站大全免费| 成人sese在线| 国产精品自拍在线| 丝袜亚洲另类丝袜在线| 亚洲色图欧美偷拍| 国产丝袜欧美中文另类| 91精品国产综合久久国产大片| 91麻豆免费看片| 成人精品免费看| 国产一区二区福利| 美女精品自拍一二三四| 亚洲乱码精品一二三四区日韩在线| 国产午夜精品久久久久久免费视| 欧美电视剧在线看免费| 欧美精品日韩精品| 欧美性受极品xxxx喷水| 成人h动漫精品一区二| 国产一区二区三区最好精华液| 五月婷婷综合激情| 亚洲bt欧美bt精品777| 亚洲综合一区二区| 一区二区三区色| 一区二区三区在线播放| 中文字幕在线观看一区| 国产亚洲精品资源在线26u| 91精品国产高清一区二区三区蜜臀 | 精品在线播放免费| 青青草国产成人av片免费| 午夜精品123| 老司机精品视频一区二区三区| 青青青爽久久午夜综合久久午夜| 国产一区二区三区精品欧美日韩一区二区三区 | 美国精品在线观看| 看电视剧不卡顿的网站| 日本aⅴ免费视频一区二区三区| 亚洲成av人片一区二区梦乃| 午夜电影网亚洲视频| 美女一区二区视频| 国产河南妇女毛片精品久久久 | 色丁香久综合在线久综合在线观看| 波多野结衣91| 在线亚洲一区观看| 欧美三级电影精品| 日韩视频一区二区三区在线播放| 日韩免费福利电影在线观看| 欧美大片国产精品| 日本一二三不卡| 一区二区在线免费| 视频在线观看国产精品| 精品一区二区日韩| av一本久道久久综合久久鬼色| 欧美在线免费视屏| 欧美一区2区视频在线观看| 久久久亚洲综合| 亚洲永久免费视频| 麻豆成人久久精品二区三区红 | 韩国女主播一区| 成人av在线一区二区三区| 在线亚洲+欧美+日本专区| 欧美精品v日韩精品v韩国精品v| 日韩欧美激情一区| 亚洲欧美另类小说| 美国三级日本三级久久99| www.亚洲人| 日韩欧美国产精品一区| 国产精品久久久久久久久快鸭| 天天免费综合色| 国产寡妇亲子伦一区二区| 欧美日韩精品欧美日韩精品| 久久久久久久久99精品| 亚洲一二三四久久| 国产ts人妖一区二区| 欧美区视频在线观看| 国产精品美女一区二区在线观看| 亚洲成av人片在线观看无码| 成人一二三区视频|