• <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 };
                回復  更多評論   
             
            久久噜噜久久久精品66| 久久久久亚洲AV无码专区桃色| 蜜臀久久99精品久久久久久| 精品久久久久中文字| 亚洲一级Av无码毛片久久精品| 亚洲人成无码www久久久| 综合网日日天干夜夜久久 | 性做久久久久久久久浪潮| 2020国产成人久久精品| 成人国内精品久久久久一区| 久久免费视频网站| 久久久久免费精品国产| 一本久久a久久精品综合夜夜| 要久久爱在线免费观看| 久久精品视频网| 亚洲色大成网站WWW久久九九| 中文字幕成人精品久久不卡| 久久亚洲精品国产精品婷婷| 97超级碰碰碰久久久久| 久久亚洲精品国产精品婷婷| 色综合色天天久久婷婷基地| 久久久久亚洲AV无码永不| 无码8090精品久久一区| 一本久久a久久精品综合夜夜 | 欧美亚洲日本久久精品| 久久国产精品77777| 2021国内精品久久久久久影院| 国产精品99久久久久久猫咪| 精品无码久久久久国产| 国内精品伊人久久久久妇| 久久狠狠一本精品综合网| 国产精品99久久久久久人| 欧洲精品久久久av无码电影| 久久人与动人物a级毛片| 久久久久人妻一区精品果冻| 国产高清国内精品福利99久久 | 久久久久香蕉视频| 久久精品成人| 思思久久99热只有频精品66| 日韩AV毛片精品久久久| 亚洲?V乱码久久精品蜜桃|