• <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 閱讀(995) 評論(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 };
                回復  更多評論   
             
            久久久久亚洲精品无码网址| aaa级精品久久久国产片| 久久激情亚洲精品无码?V| 理论片午午伦夜理片久久| 久久婷婷五月综合国产尤物app| 韩国免费A级毛片久久| 亚洲国产成人久久综合碰碰动漫3d| 久久精品成人欧美大片| 久久久久久久女国产乱让韩| 久久se精品一区二区| 亚洲性久久久影院| 久久亚洲高清观看| 伊人久久精品影院| 亚洲国产成人久久精品影视| 亚洲精品无码久久久久sm| 精品人妻伦一二三区久久| 国产午夜精品久久久久免费视| 亚洲天堂久久久| 狠狠色伊人久久精品综合网| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 亚洲欧洲中文日韩久久AV乱码| 久久综合给合久久国产免费| 久久er国产精品免费观看8| av无码久久久久久不卡网站| 97久久婷婷五月综合色d啪蜜芽| 久久无码国产| 国产激情久久久久影院小草 | 久久er国产精品免费观看2| 亚洲中文久久精品无码| 一本久道久久综合狠狠躁AV| 久久青青草原精品国产软件| 伊人久久大香线蕉精品| 久久99国产精品99久久| 久久精品国产亚洲av影院| 亚洲精品无码久久久影院相关影片| 国产一区二区久久久| 少妇无套内谢久久久久| 午夜精品久久久久9999高清| 久久五月精品中文字幕| 伊人久久大香线蕉综合5g| 久久天天躁夜夜躁狠狠躁2022|