• <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++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿
            考慮到在應用中有好幾個坐標系統比如opengl,3dx,當然用戶也可能有自己的坐標系統
            考慮如此,我覺得還是把引擎的坐標系統不要局限于特定的一個坐標系
            這是我寫的引擎坐標系統如下:
             1 ///////////////////////////////////////////////////////////
             2 /// 頭文件包含
             3 ///////////////////////////////////////////////////////////
             4 
             5 namespace core
             6 {
             7 
             8 ////////////////////////////////////////////////////////////
             9 /// 坐標軸枚舉
            10 //////////////////////////////////////////////////////////// 
            11 enum AXIS_TYPE
            12 {
            13     AXIS_X = 1;
            14     AXIS_Y = 1 << 2;
            15     AXIS_Z = 1 << 4
            16 };
            17 
            18 ////////////////////////////////////////////////////////////
            19 /// 坐標軸方向枚舉
            20 //////////////////////////////////////////////////////////// 
            21 enum AXIS_DIRECTION
            22 {
            23     AXIS_DIRECTION_UP   = 1,
            24     AXIS_DIRECTION_DOWN = -1
            25 };
            26 
            27 ////////////////////////////////////////////////////////////
            28 /// 定義引擎坐標系統
            29 //////////////////////////////////////////////////////////// 
            30 ////////////////////////////////////////////////////////////
            31 /// 引擎的坐標系統定義如下:
            32 ///     以指向屏幕右方的坐標軸為第一坐標軸(1)
            33 ///     以指向屏幕下方的坐標軸為第二坐標軸(2)
            34 ///     以垂直屏幕向外的坐標系統為第三坐標軸(3)
            35 ///     以方向相反的坐標軸其方向為負(-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         //! 必須保證參數坐標軸的合法性
            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)
            首先給坐標系統排一個次序,然后定義正向的坐標軸方向,然后就可以抽象出萬能的直角坐標系統了
            當然為了方便起見這里給定了3個常見的坐標系統分別為引擎坐標系,OPENGL坐標系統和3dmax坐標系統
            posted on 2010-02-08 21:12 ccsdu2009 閱讀(986) 評論(1)  編輯 收藏 引用
            Comments
            • # re: 蓋莫游戲引擎中的坐標系統設計
              ccsdu2009
              Posted @ 2010-02-08 21:24
               1 ////////////////////////////////////////////////////////////
               2 /// 坐標軸枚舉
               3 //////////////////////////////////////////////////////////// 
               4 enum AXIS_TYPE
               5 {
               6     AXIS_X = 1,
               7     AXIS_Y = 1 << 2,
               8     AXIS_Z = 1 << 4 
               9 };
              10 
              11 ////////////////////////////////////////////////////////////
              12 /// 坐標軸方向枚舉
              13 //////////////////////////////////////////////////////////// 
              14 enum AXIS_DIRECTION
              15 {
              16     AXIS_DIRECTION_UP   = 1,
              17     AXIS_DIRECTION_DOWN = -1
              18 };
                回復  更多評論   
             
            久久亚洲综合色一区二区三区| 无夜精品久久久久久| 99久久无码一区人妻a黑| 麻豆精品久久久一区二区| 9191精品国产免费久久| 久久亚洲中文字幕精品一区四| 国产精品99久久久精品无码| 99久久综合狠狠综合久久止| 色综合久久夜色精品国产| 色欲综合久久中文字幕网| 久久国产成人午夜AV影院| 思思久久99热只有频精品66| 91精品日韩人妻无码久久不卡 | 91精品国产色综久久| 亚洲中文字幕无码久久精品1| 99久久伊人精品综合观看| 一本色综合网久久| 日日狠狠久久偷偷色综合0| 亚洲国产精品久久久久久| 亚洲国产精品无码久久久不卡 | 久久香蕉一级毛片| 亚洲精品美女久久777777| 一本色道久久88综合日韩精品 | 精品久久久久久久| 久久Av无码精品人妻系列 | 久久久久亚洲精品中文字幕| 国内精品久久久久久久97牛牛 | 久久国产精品久久久| 久久婷婷国产综合精品| 伊人久久大香线蕉亚洲五月天| 久久精品国产亚洲Aⅴ香蕉| 久久国产精品-国产精品| 久久国产色AV免费看| 午夜久久久久久禁播电影| 亚洲欧美成人综合久久久| 久久综合亚洲色HEZYO社区| 色播久久人人爽人人爽人人片AV| 欧洲性大片xxxxx久久久| 久久久久黑人强伦姧人妻 | 国产美女久久久| 久久免费视频网站|