• <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>

            4D星宇

            c++

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              57 隨筆 :: 0 文章 :: 39 評論 :: 0 Trackbacks

            IRRLICHT的實現:
            1.波浪是如何實現的?
            先對每個點計算高度,

            void addWave(vector3df& dest, const vector3df source, f32 time

                 dest.Y 
            = source.Y +
             (sinf(((source.X
            /WaveLength) + time)) * WaveHeight) +
             (cosf(((source.Z
            /WaveLength) + time)) * WaveHeight);
            }


            然后再計算法線,
            recalculateNormals(Mesh);
            2.ATMOSphere
            太陽嘛,就是個跟隨時間移動的BILLBOARD,邊緣最好加上霧化效果。
            3.地形編輯器代碼

            if( Terrain && !RightMouseDown && Terrain->getTriangleSelector() )
            {
            LastMousePosition.set( Device
            ->getCursorControl()->getPosition().X, Device->   getCursorControl()->getPosition().Y );
            //計算從鼠標位置到觀察點的射線
            core::line3df line 
            = CollisionMgr->getRayFromScreenCoordinates( 
             core::position2d
            <s32>( LastMousePosition.X, LastMousePosition.Y ) );
            //計算以交點為中心,一定半徑范圍內的點
            core::vector3df spherePosition;
            if( CollisionMgr->getClosestVertex( line, Terrain->getTriangleSelector(), 
             spherePosition, CurrentVertexIndex ) )
                  {
                   LeftMouseDown 
            = true;

                   
            // Get all vertices with the circle
                   SelectedTerrainVertices.clear();
                   core::vector3df intersection;
                   scene::SCollisionTriangle tri;
                   
            if( CollisionMgr->getCollisionPoint( line, Terrain->getTriangleSelector(), intersection, tri ) )
                   {
                    u32 count 
            = 0;
                    SelectedTerrainVertices.reallocate( Terrain
            ->getTriangleSelector()->getTriangleCount() );
                    Terrain
            ->getTriangleSelector()->getVerticesInRadius( SelectedTerrainVertices.pointer(), Terrain->getTriangleSelector()->getTriangleCount(), count, intersection, RedCircleRadius );
                    SelectedTerrainVertices.set_used( count );
                   }

                   return 
            true;
                  }
                 }

            posted on 2008-05-04 12:17 bloodbao 閱讀(211) 評論(0)  編輯 收藏 引用 所屬分類: c++
            香蕉久久夜色精品国产小说| 精品久久人人爽天天玩人人妻| 香蕉久久夜色精品国产尤物| 日产精品久久久久久久| 99久久无码一区人妻a黑| 久久久久国产| 9久久9久久精品| 色婷婷噜噜久久国产精品12p| 97久久精品午夜一区二区| 欧美精品福利视频一区二区三区久久久精品 | 精品人妻伦九区久久AAA片69| 狠狠色综合网站久久久久久久高清 | 久久综合给合久久狠狠狠97色 | 777久久精品一区二区三区无码| 亚洲日韩欧美一区久久久久我| 国产成人精品久久免费动漫| 伊人久久大香线蕉综合网站| 9999国产精品欧美久久久久久| 久久天天躁狠狠躁夜夜躁2014| 狠狠精品久久久无码中文字幕 | 精品久久久久久国产| 97精品依人久久久大香线蕉97 | 亚洲午夜久久久久妓女影院 | 99久久国产免费福利| 91精品国产乱码久久久久久| 亚洲国产精品无码久久久秋霞2| 久久青青草原精品国产不卡| 国产日产久久高清欧美一区| 久久久久亚洲AV成人片| 久久精品国产日本波多野结衣| 久久久久人妻一区精品 | 久久精品国产乱子伦| 性做久久久久久久久| 亚洲午夜久久久| 久久国产亚洲精品| 久久久久久久波多野结衣高潮| 青青青青久久精品国产h久久精品五福影院1421 | 久久精品国产亚洲αv忘忧草| 中文精品久久久久人妻| 7777精品久久久大香线蕉| 无码人妻久久一区二区三区免费丨|