OSG光を作成します。

照明を追加

:: ref_ptr OSG <OSG ::ノード> MyOSGLoadEarth CreateNode ::()
{ 
    OSGのref_ptr :: <OSG ::グループ> = _root 新しい新しいOSG ::グループ; 
 
    // ファイルの定義と標高読ん
     // 真の標高ファイル名は:ASTGTM2_N34E110_dem.tifは
     // 特殊なTIFF形式に属し、GeoTIFFのは
     // ので、読書のためのGDALのプラグインのOSGを使用して読んだときにパスを追加した後.gdal
     // .gdal延長ちょうどここでそれを追加します、ファイル拡張子の標高を変更するための本当の必要性 
    OSG ref_ptr :: <ハイトOSG ::> :: readHeightFieldFile osgDBハイト=(" G:\\ \\ ASTGTM2_N34E110_dem.tif.gdal ASTER.GDEM.V2-DEM_sn " ); 
 
    / / リーフノードを作成するオブジェクト 
    のOSG ref_ptrを:: <OSG ::のGeode> =のGeode 新新OSG ::のGeode; 
 
    IF(ハイト=!nullptr)
    { 
        // 元のデータが大きすぎるため、三次元物体を作成することは失敗するので、オブジェクトの再構築
         // 回間引き同等のデータを。もちろん、絵は直接特別なツールの使用を削減することができます
         // ハイトコピーするために使用される新しいハイトオブジェクト、作成 
        OSGのref_ptrを:: <OSG ::ハイト> = heightMap1 新しい新しいOSG ::ハイトを;
         //は、元のオブジェクトからコピー一部の上馴染み 
        heightMap1-> SetOrigin(heightMap-> getOrigin()); 
        heightMap1 - > setRotation(heightMap-> getRotation()); 
        heightMap1 - > setSkirtHeight(heightMap-> getSkirtHeight());
         // 間隔XY方向であります倍増し、 
        heightMap1-> setXInterval(heightMap-> getXInterval()* 2 )。
        heightMap1 - > setYInterval(heightMap-> getYInterval()* 2 );
         // ランクの数は、元の半分を標高データの新しい量を設定 
        heightMap1->割り当て(heightMap-> getNumColumns()/ 2、heightMap-> getNumRows() / 2 ); 
 
        // に実際のデータ値に入れ
        のための(R&LTサイズ_t = 0 ++; R&LT <heightMap1-> getNumRows()R&LT)
        { 
            ため(size_tのC = 0 ; C <heightMap1-> getNumColumns(); ++ C)は
            { 
                // XY方向の間隔のデータのロードは約0.0002(緯度及び経度)、格子3600をオフセット、ステージの数が少なすぎる、しばしば千の上昇値のレベル、無Mに変換する変換(GPS座標場合)その後、結果は深刻な障害を表示します。そこでここでは50000で割っの高い値に単純です(これは別の標高ファイルは変更になる場合があります試してTIFファイルに従ったものです)
                heightMap1-> setHeightメソッド(C、R、heightMap->のgetHeight(C * 2、R * 2)/ 50000 )。
            } 
        } 
 
        // 添加到叶子节点中 
        geode-> addDrawable(新しいOSG :: ShapeDrawable(heightMap1)); 
    } 
 
    _root - >はaddChild(ジオード。得ます())。
    返す _root。取得(); 
}

 

参照:https://blog.csdn.net/woaicd/article/details/77163012

 

おすすめ

転載: www.cnblogs.com/herd/p/11455358.html