■ EGLについて
EGL(Entis Graphic Library)は、EntisGLSにおいて、画像処理の中心的な位置にあるライブラリレイヤです。
EGLでは、大別すると以下のような機能から構成されています。画像バッファ管理機能には、画像バッファの生成・削除、デバイスコンテキストへの描画、描画パラメータの変換などがあります。
- 画像バッファ管理
- フォーマット変換
- 画像フィルタリング
- 画像描画
- 図形描画
- 3D画像処理
画像描画機能では、2次元変換行列を用いて画像を変形描画(拡大・縮小・回転・変形)出来るほか、透明度、αチャネル、zバッファを組み合わせて描画することが出来ます。
図形描画機能では、直線、矩形、楕円、多角形の描画が出来ます。
画像描画、及び図形描画機能は、基本的にまったく同じ機能を3D描画処理関数を用いても実現することが出来ますが、2D画像描画関数は、3D描画関数より画像バッファの管理の意味合いが大きく、2Dでなければ出来ないこともあります。
これら関数の詳細は「EGL-ref.doc」を参照してください。
以下では、EGLの3D描画機能の中で特徴的な機能を、サンプルプログラム「CubeTest」を使っていくつか紹介します。
■ ポリゴンアンチエイリアス機能
EGLではポリゴンの境界部分をアンチエイリアス処理する機能が実装されています。
この機能は、半透明でないポリゴンに適用することが出来ます。
アンチエイリアス無し アンチエイリアス有り
■ テクスチャマッピング機能
EGLではポリゴンに貼り付けるテクスチャ画像に対する制限が緩く、画像は2の累乗サイズでなくても構いません。
但し、タイリングを行う場合にはタイリング処理される領域は2の累乗サイズに制限されます。
以下の画像は、タイリング機能を使った場合とそうでない場合の、画像領域外の座標を表示した例です。
タイリング無し タイリング有り タイリング無しで描画すると、画像サイズを超えた部分には、端のピクセルを拡張して表示されます。
■ テクスチャ補完機能
EGLではテクスチャ画像を補完処理して描画することが出来ます。
この機能を利用すると、0.5倍以上に拡大された画像を美しく表示させることが可能となります。
但し、この機能はSSE命令に対応している環境でないと利用できません。
補完処理無し 補完処理有り この機能は、テクスチャ画像サイズを小さくしても比較的美しい画像を得ることが出来るのでかなり有効な機能です。
■ 発光テクスチャ機能
EGLでは通常テクスチャ画像に発光テクスチャ画像を合成して描画することが出来ます。
発光テクスチャは夜間の照明の表現などに有効です。
この表現は、単にシェーディングを行わないテクスチャマッピングとは異なり、よりリアルな光の表現を可能にします。
但し、この機能を使用するためには(現時点のバージョンでは)、ベースのテクスチャ画像はRGB形式で無ければならず(RGBA形式不可)、タイリング指定を有効にしなければならない上、テクスチャ補完機能は利用できません。
これらの制限は、要望に応じてこれから緩やかにしていく予定です。
発光強度 0% 発光強度 50% 発光強度 100% 上の例では、ベース画像に中央人物の部分を切り取った画像を用意し、発光画像として人物のみの(背景は黒くし人物の周辺に光彩を付加した)画像を適用しています。
発光強度は0%〜100%までの間、256段階で指定することが出来ます。
Copyright (C) 2003 Leshade Entis, Entis-soft. All rights reserved.