  | 
             OpenGL 
             
            
              - OpenGL は、UC-win/Roadを始めとして、3次元CGをリアルタイムで表現するアプリケーションの開発に用いられているライブラリ。最新バージョンではシェーダなどの機能が拡張され、より高度な表現が可能となっています。なお、フォーラムエイトでは、最新のOpenGL4をテーマとした土木・建築エンジニア向けのプログラミング入門書の出版を2011年11月に予定しています。
            
  
             | 
           
        
       
       
      
        
          
             OpenGLとは 
             
             OpenGL(オープンジーエル、Open Graphics Library)は、3次元コンピュータグラフィックス(CG)を使ったアプリケーションを開発するためのライブラリで、簡単にいうとソフトウェアを開発するための部品のようなものです。 
             もともとは、米国SGI社が開発したIRIS GLというライブラリがオープン仕様となったもので、現在は、SGI社をはじめ、NVIDIA、ATIなど100以上の企業で構成するクロノス・グループという標準化団体が仕様などを決めています。 
             OpenGLを使用すると、リアルな3次元CG画像をリアルタイムで表示するアプリケーションを、比較的容易に開発できます。そのため、各種シミュレータ、CAD、3Dグラフィックスソフトなど、さまざまなアプリケーションの開発に利用されています。UC-win/Roadなど弊社製品の多くも、このOpenGLによって開発されています。 
             OpenGLの特徴のひとつとして、さまざまな環境で使用できるということが挙げられます。Windowsをはじめ、AppleのMacOSX、UNIXワークステーション、また、iPhone、Androidなどの携帯電話でも使用できます。 
             
             
             OpenGLの技術 
             
             OpenGLが技術的に担うのは、点、線、三角形などのプリミティブと呼ばれる基本図形の描画が中心であり、これらをどのように組み合わせて複雑な形状を表示するかは、アプリケーション開発者の腕にかかってきます。 
            OpenGLは、こうした基本図形の描画にあたって、頂点の変換、プリミティブの生成、視界に入らない部分の削除(クリッピング)、3次元図形からの2次元の画像の生成(ラスタライズ)、画像の各要素(フラグメント)ごとの処理、陰面消去(他の物体の影に隠れた部分を表示しないようにするための処理)などの処理、画面への表示と、順を追って処理を進めていきます。このとき、各頂点、フラグメントごとにグラフィックスボードなどで並列処理されるため、複雑な3次元形状も高速に描画することができるのです。さらに、OpenGL2.0からは、プログラマブルシェーダ(以下シェーダ)という、グラフィックスボードで動作するプログラムが使用可能になり、もともとのOpenGLの3D表現に、開発者が機能を追加・変更してより多彩な3次元CGの表現ができるようになりました。このようなOpenGLのシェーダは、OpenGL
            Shading Language(GLSL)と呼びます。 
             
            
            
              
                
                    | 
                 
                
                  ▲OpenGLのシェーダを使った描画の例 
                   (UC-win/Roadのヘッドライト機能) | 
                 
              
             
            
             
             
             より高度な表現を可能とするOpenGL4 
             
             OpenGLは、1.0から始まり順調にバージョンアップを続け、現在の最新バージョンは4.1です。特に最近はバージョンアップのペースも速まり、多くの機能が追加されました。OpenGL2.0でシェーダの使用が可能となった際には、頂点ごと、フラグメントごとの処理をプログラミング(頂点シェーダとフラグメントシェーダ)できるのみでしたが、OpenGL3.2ではプリミティブから新しい図形を生成できるジオメトリシェーダが追加されました。 
             OpenGL4.0からはシェーダのバージョンもGLSL4.0となり、図形を細かく分割できるテッセレーションの機能がシェーダに追加されました。これにより、少ない頂点数のモデルを、より滑らかに描画することが可能になっています。この機能では、たとえば、4隅の頂点のみをパッチとして適用すると、分割して下図のような図形を生成できます。OpenGL4では、この他にも多彩な機能が追加され、より豊かな表現が可能となっています。 
             
            
            
              
                
                    | 
                   | 
                    | 
                 
                
                  ▲OpenGL 4のテッセレーション機能 
                  (4つの頂点をテッセレーションで分割したもの) | 
                   | 
                  ▲OpenGL 4のテッセレーション機能 
                  (パッチとして使う4つの頂点を分かりやすいように三角形で表示したもの。 
                  実際には、三角形ではなく、4つの頂点のみをパッチとしてグラフィックスボードに送る) | 
                 
              
             
            
             
             
            
              
                
                  |  2011年出版予定書籍のご案内 | 
                 
                
                   「先端グラフィックス言語入門 〜 Open GL Ver.4 & CUDA 〜」 
                  
                    - 土木建築エンジニアを対象として、OpenGLを用いたグラフィックスプログラミングを学ぶための入門書
                  
  
                   | 
                 
              
             
             
            ※社名、製品名は一般に各社の登録商標または商標です。 | 
           
        
       
       
       | 
     
  
 
       |  
       
        
       
      
              
        
      
       
        
        
        
        
        
      >> 製品総合カタログ 
       
        
      >> プレミアム会員サービス 
      >> ファイナンシャルサポート 
       
      
       
      
       
      
       |