| 略語 | フィグス |
|---|---|
| 状態 | 公開済み |
| 開始年 | 1988年 |
| 最新バージョン | ISO/IEC 9592 および ISO/IEC 9593 1997および1990/1991 |
| 組織 | ANSI、FIPS、ISO、IEC |
| 関連規格 | ANSI X3.144-1988、FIPS 153 |
| ドメイン | 3D コンピュータ グラフィック ス アプリケーション プログラミング インターフェイス |
PHIGS ( Programmer's Hierarchical Interactive Graphics System )は、3D コンピュータ グラフィックスをレンダリングするためのアプリケーション プログラミング インターフェイス(API) 標準であり、1980 年代から 1990 年代前半にかけての 3D グラフィックス標準と考えられていました。その後、機能とパワーの組み合わせによりOpenGLが台頭し、1990 年代半ばから後半にかけて最も人気のあるプロフェッショナル 3D API となりました。
大手ベンダーは、通常、自社のプラットフォーム向けに PHIGS のバージョンを提供しており、これには DEC PHIGS、IBM の graPHIGS、Sun の SunPHIGS などが含まれます。また、PEXを介してサポートされているX Window System内でも使用できます。[a] PEX は X の拡張機能で構成されており、レンダリングのために X サーバーから PEX システムに転送されるコマンドが追加されています。ワークステーションは通常、ウィンドウ内に配置されますが、画面全体を占めるように転送することも、さまざまなプリンター出力デバイスに転送することもできます。
PHIGS は 1980 年代に設計され、 1970 年代後半のGraphical Kernel System (GKS)から多くのアイデアを継承し、1988 年までにANSI (ANSI X3.144-1988)、FIPS (FIPS 153)、そしてISO (ISO/IEC 9592 および ISO/IEC 9593) の標準になりました。初期段階であったため、この標準では、基本的なジオメトリとメッシュを含む最も基本的な 3D グラフィックスと、シーンのレンダリング用の基本的なGouraudシェーディング、"Dot"シェーディングのみをサポートしています。PHIGS は最終的に拡張され、高度な機能 (より正確な Phong ライティング モデルとデータ マッピングを含む) が含まれるようになりましたが、1990 年代半ばまでに標準と見なされたその他の機能 (特にテクスチャ マッピング) はサポートされていませんでした。また、当時の多くのマシンでは、これをリアルタイムで実行できるように物理的に最適化できませんでした。
技術的な詳細
名前の「階層的」という言葉は、PHIGS の注目すべき特徴を示しています。ほとんどのグラフィックス システムとは異なり、PHIGS には基本標準の一部としてシーン グラフシステムが含まれています。モデルは、描画プリミティブとその属性(色、線のスタイルなど) の両方を含む「世界」を含むデータベースである集中構造ストア (CSS) に構築されました。CSS は、PHIGS ではワークステーションと呼ばれる多数の仮想デバイス間で共有でき、各ワークステーションには任意の数のビューを含めることができます。
PHIGS で画面にグラフィックスを表示するには、まずモデルを CSS に組み込み、次にワークステーションを作成して開き、最後にモデルをワークステーションに接続します。その時点で、ワークステーションはすぐにモデルをレンダリングし、モデルに加えられた将来の変更は、該当するすべてのワークステーション ビューに即座に反映されます。
PHIGS には元々、照明されたシーンをレンダリングする機能がなかったため、PHIGS+に取って代わられました。PHIGS+ は基本的に同じように動作しますが、3D シーン内のサーフェスを照明および塗りつぶす方法が追加されています。また、PHIGS+ では、非一様有理 B スプライン(NURBS) サーフェスなどのより高度なグラフィックス プリミティブも導入されました。PHIGS に対するこれらの提案された拡張機能を中心に、特別 ANSI 委員会が結成され、PHIGS の名前がより説明的で (楽観的に) 拡張可能な名前である「PHIGS PLUS」に変更されました。「PLUS」は、「Plus Lumière Und Surfaces」(基本 PHIGS 標準を超える 2 つの主要な進歩領域) のやや冗談めいた頭字語です。
OpenGLの台頭とPHIGSの衰退
OpenGLは、PHIGS とは異なり、 「状態」のない即時モードのレンダリング システムでした。オブジェクトがレンダリングのためにビューに送信されると、そのオブジェクトは基本的に消えてしまいます。モデルの変更はシステムに再送信され、再レンダリングされる必要があり、プログラミングの考え方が大きく異なります。単純なプロジェクトの場合、PHIGS は使用と作業がかなり簡単でした。
しかし、OpenGL の「低レベル」 API により、プログラマーは、バスを介してグラフィック エンジンに送信する前に、まずCPU側でデータを調べることで、レンダリング パフォーマンスを大幅に向上させることができました。たとえば、プログラマーは、シーンで実際に表示されるオブジェクトを調べて、実際に画面に表示されるオブジェクトだけを送信することで、オブジェクトを「選別」できました。これは PHIGS では非公開に保たれていたため、パフォーマンスの調整ははるかに困難でしたが、PHIGS 実装内では「無料で」調整を行うことができました。
当時のシステムの低パフォーマンスと高性能レンダリングの必要性を考えると、OpenGL は 3D プログラミングにとってはるかに「強力」であると一般に考えられていました。PHIGS は使用されなくなりました。PEX プロトコルのバージョン 6.0 は、他の 3D プログラミング モデルもサポートするように設計されましたが、人気を取り戻すことはありませんでした。PEX は、XFree86 4.2.x (2002) からほとんど削除され、最終的には X11R6.7.0 (2004 年 4 月) で X Window System から完全に削除されました。[1]
標準
ISO
- ISO/IEC 9592情報技術 - コンピュータグラフィックスと画像処理 - プログラマの階層型インタラクティブグラフィックスシステム (PHIGS)
- ISO/IEC 9592-1:1997パート1:機能説明[2]
- ISO/IEC 9592-2:1997パート2: アーカイブファイル形式[3]
- ISO/IEC 9592-3:1997パート3: アーカイブファイルのクリアテキストエンコードの仕様[4]
- ISO/IEC 9593情報技術 – コンピュータグラフィックス – プログラマの階層型インタラクティブグラフィックスシステム (PHIGS) 言語バインディング
- ISO/IEC 9593-1:1990パート1:FORTRAN [5]
- ISO/IEC 9593-3:1990パート3:ADA [6]
- ISO/IEC 9593-4:1991パート4:C [7]
参照
注記
- ^ PEX はもともと「PHIGS Extension to X」として知られていましたが、その後「X3d」と呼ばれるようになりました。これは「PEX」の文字を回転した変形です。
参考文献
- comp.windows.x.pex FAQ (1994 年 3 月 28 日)
- PHIGS(実際はPHIGS+)の紹介
- ^ 「X.Org Foundation が X Window System X11R6.7 をリリース」。
- ^ 「ISO/IEC 9592-1:1997」。ISO 。 2017年10月14日閲覧。
- ^ 「ISO/IEC 9592-2:1997」。ISO 。 2017年10月14日閲覧。
- ^ 「ISO/IEC 9593-1:1997」。ISO 。 2017年10月14日閲覧。
- ^ 「ISO/IEC 9593-1:1990」。ISO 。 2017年10月14日閲覧。
- ^ 「ISO/IEC 9593-3:1990」。ISO 。 2017年10月14日閲覧。
- ^ 「ISO/IEC 9593-4:1991」。ISO 。 2017年10月14日閲覧。
外部リンク
- OpenGLを使用した PHIGS のオープンソース実装
