□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
 □                                □
  □   FINDVIS (FINDPIX) 資料 Version 1.08(2002.10. 3)   □
   □                            □
  □               編集者 寺西 忠勝      □
 □                                □
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□


○ 本資料について

 本資料は、OpenGL-ML で得られた findvis の出力結果を編集者(寺西)が、ま
 とめたものです。
 また、Windows 9X,Me/NT,2000,XP 版の findpix2 の出力結果も追加しています。


○ findvis (findpix) とは

 OpenGL は、サブセットを許さないものですが、ハードウェアの違いにより、
 サポートしている機能に違いがあります。そのため、全ての環境で同じアプリ
 ケーションが動作するとは限りません。
 より多くのマシンで動作するプログラムを作成するには、様々なハードウェア
 でサポートしている機能についての情報を得ることが重要となります。
 findvis は、使用している X サーバのサポートしている情報を得るためのプ
 ログラムです。

 findpix とは、小田@QNESさんの作成された Windows NT 版の findvis です。
 findpix は、X サーバのビジュアルに相当するピクセル・フォーマットに関す
 る情報を得るためのプログラムです。
 findpix2 は、Windows 9X,Me/NT,2000 で動作するように、findpix を修正
 したものです。
 同様のプログラムに、永谷真澄さん(Niftyserve)の PIXELFMT があります。


○ findvis の出力結果の解説

 findvis の出力結果は、OpenGL をサポートしているビジュアルごとに表示さ
 れます。行の先頭は、ビジュアル ID が表示されます。
 
 [フレーム・バッファのレベル]
  overlay ....... オーバーレイ(上層のフレーム・バッファ)
  underlay ...... アンダーレイ(下層のフレーム・バッファ)
       ...... 通常のフレームバッファ(レベル0)

  補足)・フレーム・バッファのレベルは、上記の3つのうちのいづれかになり
      ます。
     ・残念ながら overlay, underlay をサポートしているシステムは、多
      くはありません。
 
 [カラー・モード]
  CI bit ........ カラー・インデックス・モードのビット数
  RGBA r/g/b/a .. RGBAカラー・モードのR/G/B/Aの各ビット数

  補足) カラー・モードは、CI, RGBA のどちらかになります。

 [その他の情報]
  db ............ ダブル・バッファ(前後バッファ)
  stereo ........ ステレオ・バッファ(左右バッファ)
  aux num ....... 補助カラー・バッファの数
  Z depth ....... デプス・バッファのビット数
  S depth ....... ステンシル・バッファのビット数
  accum r/g/b/a . アキュムレーション・バッファのR/G/B/Aの各ビット数

  補足)・各ビジュアルで、サポートされていない場合は、表示されません。
     ・aux をサポートしているシステムは、ほとんどありません。

 [SGI拡張]
  samples num ... SGI マルチ・サンプリング数

  補足) IRIX 5.3 の OpenGL で拡張されたものですが、詳細は不明です。


 例えば、findvis を Indigo2 Extreme で実行すると、次のような結果が出力
 されます。

 0x20, overlay, CI 2
 0x21, overlay, CI 2
 0x22, overlay, CI 4
 0x23, CI 4, db, Z 20, S 4
 0x24, RGBA, 1/2/1/0, db, Z 20, S 4, accum 16/16/16/16
 0x25, CI 8, Z 20, S 4
 0x27, RGBA, 3/3/2/0, Z 20, S 4, accum 16/16/16/16
 0x28, CI 12, db, Z 24
 0x29, CI 12, db, Z 20, S 4
 0x2a, CI 12, Z 24
 0x2b, CI 12, Z 20, S 4
 0x2c, RGBA, 4/4/4/0, db, Z 24, accum 16/16/16/16
 0x2d, RGBA, 4/4/4/0, db, Z 20, S 4, accum 16/16/16/16
 0x2e, RGBA, 8/8/8/0, Z 24, accum 16/16/16/16
 0x2f, RGBA, 8/8/8/0, Z 20, S 4, accum 16/16/16/16
 0x31, RGBA, 8/8/8/0, accum 16/16/16/16

 解説)・16種類のビジュアルをサポートしています。
    ・overlay をサポートしています。
    ・アルファ・プレーンは、サポートされていません。
    ・デプス・バッファは最大で24bitです。
    ・ステンシル・バッファは4bitです。この時、デプス・バッファは20
     bitとなります。 
    ・accum をサポートしています。
   

○ findpix2 の出力結果の解説

 findpix2 の出力結果は、まずディスプレイ情報が表示されます。その後に、
 ピクセルフォーマットごとに情報が表示されます。行の先頭は、ピクセルフォー
 マットの番号が表示されます。

 [ディスプレイ情報]

  Display N x M . ディスプレイのサイズ
  color n bits .. カラーバッファのビット数
  color n ....... 色数

  補足)・color n bits または color n のいづれかが表示されます。


<<<ピクセルフォーマット情報>>>

 [pixelformat番号]
  # の後に、pixelformat 番号が表示されます。
  先頭が $ 表記になっているものは、ChoosePixelFormat で選択出来なかっ
  たものです。( ) 内がChoosePixelFormat で帰ってきた pixelformat 番号。
  (version 0.3.2 以降)

 [フレーム・バッファのレベル(レイヤ・タイプ)]
  overlay ....... オーバーレイ(上層のフレーム・バッファ)
  underlay ...... アンダーレイ(下層のフレーム・バッファ)
       ...... 通常のフレームバッファ(レベル0)

  補足)・フレーム・バッファのレベルは、上記の3つのうちのいづれかになり
      ます。
         ・現在、使われていない旧形式です。新しい形式は、レイヤ情報を
           ご覧ください。

 [カラー・モード]
  CI bit ........ カラー・インデックス・モードのビット数
  RGBA r/g/b/a .. RGBAカラー・モードのR/G/B/Aの各ビット数

  補足) カラー・モードは、CI, RGBA のどちらかになります。

 [その他の情報]
  db ............ ダブル・バッファ(前後バッファ)
  stereo ........ ステレオ・バッファ(左右バッファ)
  aux num ....... 補助カラー・バッファの数
  Z depth ....... デプス・バッファのビット数
  S depth ....... ステンシル・バッファのビット数
  accum r/g/b/a . アキュムレーション・バッファのR/G/B/Aの各ビット数

  補足)・各ピクセルフォーマットで、サポートされていない場合は、表示さ
      れません。

 [バッファ情報]
  WIN ........... Window に描画可能(デバイスDCに描画可能)
  BMP ........... メモリ・ビットマップに描画可能(メモリDCに描画可能)
  GDI ........... GDI関数 を使ってDCに描画可能
  GL ............ OpenGL をサポート
  GFMT .......... ピクセル形式がジェネリック形式
  GACC .......... GFMT と共にセットされている場合、ジェネリック形式
          をアクセラレート(OpenGL 1.1以上)
  PAL ........... パレット使用デバイスでRGBAカラーを使用
  SPAL .......... ハードウェア・パレット
  SWCP .......... バッファがスワップされるときに、バックバッファを
          フロントバッファにコピー(OpenGL 1.1以上)
  SWEX .......... バッファがスワップされるときに、バックバッファと
          フロントバッファと交換(OpenGL 1.1以上)

 (補足)
  IDC ドライバ、MCD ドライバで、ハードウェアアクセラレータが働く条件
  は、次の通りです。 

        | GFMT | GACC |
  ------------+------+------+-----------
  IDCドライバ |  0 |  - |Accelerated
  ------------+------+------+-----------
  MCDドライバ |  1 |  1 |Accelerated
  ------------+------+------+-----------

  * 上記以外の組み合わせは、"Not Accelerated."
 

 [レイヤ情報]
  SWL ........... wglSwapLayerBuffers をサポート
  overlay bit .... オーバーレイプレーン数
  underlay bit ... アンダーレイプレーン数


 <<<レイヤプレーン情報>>>  オーバーレイまたはアンダーレイプレーンを持つピクセルフォーマットの  場合、ピクセルフォーマット情報の次の行には、レイヤプレーン情報が表示  されます。  [プレーン番号]   o ............. オーバーレイプレーン番号(1 から 最大15)   u ............. アンダーレイプレーン番号(1 から 最大15)  [カラー・モード]   CI bit ........ カラー・インデックス・モードのビット数   RGBA r/g/b/a .. RGBAカラー・モードのR/G/B/Aの各ビット数 [r/g/b/a]. R/G/B/A の各ビットがカラービットの第何ビット目から 割り当てられているか 補足) カラー・モードは、CI, RGBA のどちらかになります。  [その他の情報]   db ............ ダブル・バッファ(前後バッファ)   stereo ........ ステレオ・バッファ(左右バッファ)   aux num ....... 補助カラー・バッファの数   Z depth ....... デプス・バッファのビット数   S depth ....... ステンシル・バッファのビット数   accum r/g/b/a . アキュムレーション・バッファのR/G/B/Aの各ビット数   T r/g/b ....... 透過色R/G/B(カラー・モードの場合)   T index ....... 透過色インデックス番号(CI モードの場合) 補足)・各ピクセルフォーマットで、サポートされていない場合は、表示さ     れません。  [バッファ情報]   GDI ........... GDI関数 を使ってDCに描画可能   GL ............ OpenGL をサポート   SWEX .......... ダブルバッファで SwapBuffer の際、フロントバッファ           とバックバッファを入れ替えます。   SWCP .......... ダブルバッファで SwapBuffer の際、バックバッファ           の内容をフロントバッファにコピーします。   SHD ........... メインプレーンのデプスバッファと共有   SHS ........... メインプレーンのステンシルバッファと共有   SHA ........... メインプレーンのアキュムレーションバッファと共有  例えば、findpix2 を実行すると、次のような結果が出力されます。 Find Pixelformat : OpenGL for Windows 9X,Me/NT,2000,XP   ver. 0.2.1 K.Oda   ver. 0.3.1 T.Teranishi   ver. 0.3.2 K.Oda and T.Teranishi   ver. 0.4.0 T.Teranishi   ver. 0.5.0 T.Teranishi GL_RENDERER: GDI Generic GL_VENDOR:  Microsoft Corporation Display 1024 x 768 : color 24 bits # 1, RGBA 8/8/8/0, Z 32, S 8, accum 16/16/16/0, WIN, BMP, GDI, GL, GFMT # 2, RGBA 8/8/8/0, Z 16, S 8, accum 16/16/16/0, WIN, BMP, GDI, GL, GFMT # 3, RGBA 8/8/8/0, db, Z 32, S 8, accum 16/16/16/0, WIN, GL, GFMT, SWCP # 4, RGBA 8/8/8/0, db, Z 16, S 8, accum 16/16/16/0, WIN, GL, GFMT, SWCP # 5, CI 24, Z 32, S 8, WIN, BMP, GDI, GL, GFMT # 6, CI 24, Z 16, S 8, WIN, BMP, GDI, GL, GFMT # 7, CI 24, db, Z 32, S 8, WIN, GL, GFMT, SWCP # 8, CI 24, db, Z 16, S 8, WIN, GL, GFMT, SWCP # 9, RGBA 8/8/8/0, Z 32, S 8, accum 16/16/16/0, BMP, GDI, GL, GFMT #10, RGBA 8/8/8/0, Z 16, S 8, accum 16/16/16/0, BMP, GDI, GL, GFMT #11, CI 32, Z 32, S 8, BMP, GDI, GL, GFMT #12, CI 32, Z 16, S 8, BMP, GDI, GL, GFMT #13, RGBA 5/5/5/0, Z 32, S 8, accum 11/11/10/0, BMP, GDI, GL, GFMT #14, RGBA 5/5/5/0, Z 16, S 8, accum 11/11/10/0, BMP, GDI, GL, GFMT #15, CI 16, Z 32, S 8, BMP, GDI, GL, GFMT #16, CI 16, Z 16, S 8, BMP, GDI, GL, GFMT #17, RGBA 3/3/2/0, Z 32, S 8, accum 11/11/10/0, BMP, GDI, GL, GFMT #18, RGBA 3/3/2/0, Z 16, S 8, accum 11/11/10/0, BMP, GDI, GL, GFMT #19, CI 8, Z 32, S 8, BMP, GDI, GL, GFMT #20, CI 8, Z 16, S 8, BMP, GDI, GL, GFMT #21, RGBA 1/1/1/0, Z 32, S 8, accum 5/6/5/0, BMP, GDI, GL, GFMT #22, RGBA 1/1/1/0, Z 16, S 8, accum 5/6/5/0, BMP, GDI, GL, GFMT #23, CI 4, Z 32, S 8, BMP, GDI, GL, GFMT #24, CI 4, Z 16, S 8, BMP, GDI, GL, GFMT  解説)・32 bit TRUECOLOR の結果です。     ・24 個の全てのピクセルフォーマットでOpenGLが利用できます。     ・Window 表示ができるピクセルフォーマットは8つあります。     ・アルファ・プレーンは、サポートされていません。     ・デプス・バッファは最大で32bitです。 ○ OpenGL と Mesa の違い  現在、Mesa は overlay, underlay をサポートしていません。また stereo も  サポートしていません。デプス・バッファ、ステンシル・バッファはソフト  ウェアによる実装のため、割り当てられるビット数は比較的多くなっていま  す。(*1)  ハードウェアにアルファ・プレーンがなくとも、ソフトウェアによって実装し  ていますので、全ての混合処理が可能となっています。(*2)  Mesa では、ダブル・バッファのビジュアルで、同じビットのシングル・バッ  ファが確保できます。  Mesa では、CI モードを findvis で発見することができません。これは、  Mesa の側の問題ですが、findvis を Mesa に対応した方がいいのかもしれま  せん。(Mesa では、環境変数で CI モードのビジュアルを指定します。)  OpenGL では、CI モードのビジュアルと、RGB モードのビジュアルを少なくと  も1つずつはサポートすることになっていますが、Mesa ではその限りではあ  りません。裏を返せば、OpenGL の実装に最低必要なビジュアルすらサポートし  ていない X サーバであっても、Mesa なら動かすことができます。  Mesa はソフトウェアで、カラー・バッファを除いた重要なバッファのサポー  トを行っています。そのため、バッファ関係で問題になることは、あまりあり  ません。  例えば、overlay がなくとも、それが必要になることは少ないでしょう。  *1) Mesa 1.2.7 では、デプス・バッファは 16bit になりました。    Mesa 1.2.8 では、overlay に対応しています。  *2) Mesa 1.2.7 では、24bit モードでなければ、A プレーンをサポートしなく  なりました。これは、高速化のためだと考えられますが、残念です。 ○ findvis (findpix) の入手方法  Indigo2 IMPACT には、標準で findvis がインストールされてます。  (オンライン・マニュアルもあります。)  findvis は、     ftp://ftp.sgi.co.jp/pub/sgi/opengl/contrib/visinfo.tar.Z  から取り出せます。  findpix2 は、 http://www.asahi-net.or.jp/~yw3t-trns/public/opengl/findpix2.exe  から取り出せます。(Lha 自己解凍形式) ○ 本資料の入手方法  本資料は、 http://www.asahi-net.or.jp/~yw3t-trns/public/opengl/findvis.exe  から取り出せます。(Lha 自己解凍形式)   ○ 募集  本資料を充実するために、findvis (findpix) の出力結果を募集しています。  ご協力いただける方は、以下のフォーマットで編集者(寺西)まで、電子メール  でお送りください。何か質問のある方も、下記のアドレスに電子メールで問い  合わせしてください。  □ findvis の場合  1. ハードウェア              (例) Indy XGE 24bit  2. OS バージョン              (例) IRIX 5.3  3. OpenGL の種類             (例) Mesa 1.2.8  4. gfxinfo の出力結果(SGIマシンのみ)  5. findvis の出力結果  注意) gfxinfo は、コマンドラインから /usr/gfx/gfxinfo を実行してくださ     い。(デフォルトでは、パスが通っていません。)     (例) $ /usr/gfx/gfxinfo  □ findpix2 の場合  1. ハードウェア              (例) GATEWAY 2000 P5-100  2. グラフィックス・カード        (例) ATI Mach64 2MB  3. OS                  (例) Windows 95  4. OpenGL アクセラレータの有無      (例) 有り 3DE-300SX-4M4  5. findpix2 の出力結果    全てのグラフィックス・モードで実行してください。(手間ですけれども)  [電子メール宛先]    yw3t-trns@asahi-net.or.jp  [サブジェクト]   サブジェクトは、findvis としてください。 ○ 注意事項  findvis (findpix) の出力結果は、コピー、使用は自由に行えますが、使用に  あたっては使用者自信の責任の下に行って下さい。編集者および OpenGL-ML  のメンバは何の保証もしませんし、本資料を使用したことによって生じた損害  を補償する義務も負いません。  編集者および OpenGL-ML のメンバは、本資料に不備があったとしても、それ  を修正する義務を負いません。  本資料は、予告なく修正、追加を行うことがあります。  ○ 協力  findvis (findpix) の出力結果は、以下の皆様にご協力していただきました。  この場を借りてお礼申し上げます。  <<< findvis >>>  (SGI)  ・Onyx Reality Station (RE5 board x 2)  池田@シーズ・ラボ   (IRIX5.3,OpenGL)  ・Onyx RE2 (R4400x2,IRIX5.3,OpenGL)    宮崎@東京大学工学部  ・Onyx VTX (OpenGL)            池田@シーズ・ラボ  ・310 VGX (OpenGL)            池田@シーズ・ラボ  ・320 VGX (OpenGL)            池田@シーズ・ラボ  ・Indigo2 High IMPACT (OpenGL)      荒井@大日本印刷  ・Indigo2 High IMPACT (IRIX5.3,OpenGL)  寺西@プラス・ワン  ・Indigo2 High IMPACT           寺西@プラス・ワン   (IRIX5.3 ALL IMPACT,OpenGL)  ・Indigo2 Extreme (IRIX5.2,OpenGL)    寺西@プラス・ワン  ・Indigo2 Extreme (IRIX5.3,OpenGL)    寺西@プラス・ワン  ・Indigo XS24 with Z-buffer        寺西@プラス・ワン   (R3000,IRIX5.3,OpenGL)     ・Indigo Elan (R4000,IRIX5.2,OpenGL)   寺西@プラス・ワン  ・Indy XZ (OpenGL)            寺田@NSG  ・Indy XZ (Mesa-1.2.2)          寺田@NSG  ・Indy XL 24bit (OpenGL)         池田@シーズ・ラボ                       寺田@NSG  ・Indy XL 24bit (Mesa-1.2.2)       寺田@NSG  ・Indy XL 8bit (IRIX5.3,OpenGL)      長谷川@会津大学  ・Indy R5000 XGE 24bit (IRIX5.3,OpenGL)  寺西@プラス・ワン  ・O2 (IRIX5.3,OpenGL)           寺田@NSG   ・PI/35 TG (IRIX5.3,OpenGL)        浦城@NK-EXA  (Sun)  ・Sun SS-20 ZX (Solaris2.4,PGS OpenGL)  合木@トヨタケーラム  ・Sun SS-20 ZX (Solaris2.4,Mesa)     合木@トヨタケーラム  ・Sun SS-20 ZX (Solaris2.4,TGL)      森@名古屋大学大学院  ・Sun Ultra-1 + Creator-3D        合木@トヨタケーラム   (SunOS 5.5.1,OpenGL 1.0)  (DEC)  ・DEC-AlphaStation400           川畑@福井大学   (OSF/1 V3.0B,グラフィックボード不明)  (TITAN)  ・TITAN Vistra 800b (Vistra OS Ver3.0)  市川@東京電機大学大学院  (PC)  ・PC (FreeBSD,XFree86 3.1.2,Mesa-1.2.5)  寺西@プラス・ワン  ・PC (FreeBSD,XFree86 3.1.2,Mesa-1.2.7)  寺西@プラス・ワン  <<< findpix2 >>>  ・PC (Windows NT 3.5J,ジェネリック版)   小田@QNES                       寺西@プラス・ワン  ・PC (Windows 95,ジェネリック版)     寺西@プラス・ワン  ・PC (Windows 98 SE,ジェネリック版)    寺西  ■ OpenGL-ML 旧管理者           合木@トヨタケーラム  ■ OpenGL-ML 新管理者           安藤@NK-EXA  ■ スペシャル・アドバイザー        寺田@NSG                       (敬称略) ○ 履歴  Ver.1.00 1995.12. 5    初期バージョン  Ver.1.01 1996. 1. 1    findpix 対応  Ver.1.02 1996. 3.20    Mesa 1.2.7 対応/Windows 95 対応  Ver.1.03 1996. 7. 2    Indigo2 IMPACT(IRIX5.3 ALL IMPACT)追加                Indy R5000 XGE 24bit 追加  Ver.1.04 1996. 9.25    Sun Ultra 追加  Ver.1.05 1996.11.15    O2, DEC-AlphaStation 追加  Ver.1.06 2001. 6. 9    98 SE 追加  Ver.1.07 2001.11. 9    nVIDEA Quadro2 追加  Ver.1.08 2002.10. 3    findpix2 マルチレイヤ対応