• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Cpper
            C/C++高級(jí)工程師 Android高級(jí)軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語(yǔ)言 程序猿
            考慮到在應(yīng)用中有好幾個(gè)坐標(biāo)系統(tǒng)比如opengl,3dx,當(dāng)然用戶(hù)也可能有自己的坐標(biāo)系統(tǒng)
            考慮如此,我覺(jué)得還是把引擎的坐標(biāo)系統(tǒng)不要局限于特定的一個(gè)坐標(biāo)系
            這是我寫(xiě)的引擎坐標(biāo)系統(tǒng)如下:
             1 ///////////////////////////////////////////////////////////
             2 /// 頭文件包含
             3 ///////////////////////////////////////////////////////////
             4 
             5 namespace core
             6 {
             7 
             8 ////////////////////////////////////////////////////////////
             9 /// 坐標(biāo)軸枚舉
            10 //////////////////////////////////////////////////////////// 
            11 enum AXIS_TYPE
            12 {
            13     AXIS_X = 1;
            14     AXIS_Y = 1 << 2;
            15     AXIS_Z = 1 << 4
            16 };
            17 
            18 ////////////////////////////////////////////////////////////
            19 /// 坐標(biāo)軸方向枚舉
            20 //////////////////////////////////////////////////////////// 
            21 enum AXIS_DIRECTION
            22 {
            23     AXIS_DIRECTION_UP   = 1,
            24     AXIS_DIRECTION_DOWN = -1
            25 };
            26 
            27 ////////////////////////////////////////////////////////////
            28 /// 定義引擎坐標(biāo)系統(tǒng)
            29 //////////////////////////////////////////////////////////// 
            30 ////////////////////////////////////////////////////////////
            31 /// 引擎的坐標(biāo)系統(tǒng)定義如下:
            32 ///     以指向屏幕右方的坐標(biāo)軸為第一坐標(biāo)軸(1)
            33 ///     以指向屏幕下方的坐標(biāo)軸為第二坐標(biāo)軸(2)
            34 ///     以垂直屏幕向外的坐標(biāo)系統(tǒng)為第三坐標(biāo)軸(3)
            35 ///     以方向相反的坐標(biāo)軸其方向?yàn)樨?fù)(-1)
            36 //////////////////////////////////////////////////////////// 
            37 struct  CoordinateSystem
            38 {   
            39     CoordinateSystem()
            40     {
            41         type[0= AXIS_X;
            42         type[1= AXIS_Y;
            43         type[2= AXIS_Z;
            44         dir[0= dir[1= dir[2= AXIS_DIRECTION_UP
            45     }
            46     
            47     CoordinateSystem(AXIS_TYPE type1, AXIS_DIRECTION dir1,
            48                      AXIS_TYPE type2, AXIS_DIRECTION dir2,
            49                      AXIS_TYPE type3, AXIS_DIRECTION dir3)
            50     {
            51         //! 必須保證參數(shù)坐標(biāo)軸的合法性
            52         ASSERT(type1 + type2 + type3 == 13);
            53         
            54         type[0= type1;
            55         type[1= type2;
            56         type[2= type3;
            57         dir[0]  = dir1;
            58         dir[1]  = dir2;
            59         dir[2]  = dir3;         
            60     }                 
            61     
            62     AXIS_TYPE       type[3];
            63     AXIS_DIRECTION  dir[3];    
            64 };
            65 
            66 }
            67 
            68 #define COORDINATE_ENGINE  core::CoordinateSystem(AXIS_X,1,AXIS_Y, 1,AXIS_Z, 1)
            69 #define COORDINATE_OPENGL  core::CoordinateSystem(AXIS_X,1,AXIS_Y,-1,AXIS_Z, 1) 
            70 #define COORDINATE_3DMAX   core::CoordinateSystem(AXIS_X,1,AXIS_Z,-1,AXIS_Y,-1)
            首先給坐標(biāo)系統(tǒng)排一個(gè)次序,然后定義正向的坐標(biāo)軸方向,然后就可以抽象出萬(wàn)能的直角坐標(biāo)系統(tǒng)了
            當(dāng)然為了方便起見(jiàn)這里給定了3個(gè)常見(jiàn)的坐標(biāo)系統(tǒng)分別為引擎坐標(biāo)系,OPENGL坐標(biāo)系統(tǒng)和3dmax坐標(biāo)系統(tǒng)
            posted on 2010-02-08 21:12 ccsdu2009 閱讀(986) 評(píng)論(1)  編輯 收藏 引用
            Comments
            • # re: 蓋莫游戲引擎中的坐標(biāo)系統(tǒng)設(shè)計(jì)
              ccsdu2009
              Posted @ 2010-02-08 21:24
               1 ////////////////////////////////////////////////////////////
               2 /// 坐標(biāo)軸枚舉
               3 //////////////////////////////////////////////////////////// 
               4 enum AXIS_TYPE
               5 {
               6     AXIS_X = 1,
               7     AXIS_Y = 1 << 2,
               8     AXIS_Z = 1 << 4 
               9 };
              10 
              11 ////////////////////////////////////////////////////////////
              12 /// 坐標(biāo)軸方向枚舉
              13 //////////////////////////////////////////////////////////// 
              14 enum AXIS_DIRECTION
              15 {
              16     AXIS_DIRECTION_UP   = 1,
              17     AXIS_DIRECTION_DOWN = -1
              18 };
                回復(fù)  更多評(píng)論   

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


             
            九九久久99综合一区二区| 天堂无码久久综合东京热| 国产99精品久久| 久久人人爽人人精品视频| 性高湖久久久久久久久| 999久久久免费国产精品播放| 日韩影院久久| 97久久超碰国产精品2021| 久久精品成人免费观看97| 看久久久久久a级毛片| 久久久91人妻无码精品蜜桃HD| 久久久久久精品免费免费自慰| 亚洲一区中文字幕久久| 亚洲精品国产字幕久久不卡| 久久久久久久综合日本| 91精品国产乱码久久久久久| 色狠狠久久综合网| 国产免费福利体检区久久| 精品国产乱码久久久久久郑州公司| 很黄很污的网站久久mimi色| 99热成人精品热久久669| 一本色道久久综合亚洲精品| 久久久久人妻一区精品| 99久久伊人精品综合观看| 精品久久久噜噜噜久久久| 久久精品国产日本波多野结衣| 久久久久国产成人精品亚洲午夜| 国产精品一区二区久久不卡| 亚洲综合伊人久久大杳蕉| 久久99这里只有精品国产| 久久亚洲高清综合| 久久国产视屏| 久久久久亚洲AV无码专区桃色 | 久久久一本精品99久久精品88| 精品久久久久久无码人妻蜜桃| 久久91综合国产91久久精品| 久久综合久久自在自线精品自| 97久久婷婷五月综合色d啪蜜芽| 久久久久久午夜精品| 久久亚洲精品无码aⅴ大香| 久久AV无码精品人妻糸列|