Home > DirectX

DirectX

半透明のトリック

前回、Zバッファの弱点を紹介しました。今回は、その弱点をなんとかしようというトリックです。

Zのエラー

写真は、Zバッファへの書き込みを停止した状態です。最前列に不透明のキャラクター、後列に半透明キャラクターを配置しています。手前から順番に描画されると、不透明キャラクターに上書きされ、前後関係がおかしなことになります。

これを解決するためのトリックが、Zソートです。

Zソートを実行

Zソートを行うと、写真のように正しく描画できるようになります。これで解決!となれば万歳ですが、Zソートには図形交差時に前後判断ができないという重大な欠点があります。
1つのエミッターから放出されたパーティクルを単位として、Zソートが行われるため、パーティクル群同士が交差した場合、Zソートは失敗します。
Zバッファ、Zソート、それぞれ一長一短ですが、その特性を理解して適切に使い分けることで、希望する表示を得ることができます。

次期バージョンには、詳細な制御を可能にする次の2つの設定が追加されます。

Zチェック

  • Comments (Close): 0
  • TrackBack (Close): 0

Zバッファの泣き所

3Dグラフィックを実現するグラフィックカードは、一般的にZバッファをベースに動作しています。メモリーが限られていた3Dグラフィックの黎明期は、ポリゴンの前後判断がもっとも難しい問題でした。現在は、潤沢なメモリーが利用できるようになり、高速で確実に前後判断ができるZバッファという仕組みが使われています。

このZバッファ、原理的にシンプルでしかも強力です。

Z停止
Zバッファを停止した場合の画面です。手前のキャラから描いています。後ろのキャラクターが、後から描かれるため、手前のキャラクターを上書きしてしまいます。これだと前後関係がおかしいことになります。

Z有効
Zバッファへの書き込みを有効にすると、前後判断が適切に行われ、前後関係が正しく描かれます。Zバッファは、画面のピクセル単位で判断できるため、どんなに複雑な形でも正しく描画できます。

このZバッファ、画面のピクセル単位で比較するという原理からくる大きな弱点が存在します。

判断失敗
それは、写真のように半透明の場合です。
手前の半透明キャラが先に描かれると、後から描く奥のキャラクターは、手前のキャラが前方にいると判断して重なる部分が描画されません。半透明に透けて見えるようになるのが好ましいのですが。

半透明を多用するパーティクルやガラスは、このような理由で前後判断ができません。ただし、どんな場合でも逃げ道はあるもので、ある種のトリックを使うと、「前後判断をしている」風の描画を実現できます。これは、次回のアップデータで提供できる予定です。

  • Comments (Close): 0
  • TrackBack (Close): 0

DirectXのセキュリティー情報が公開されました

マイクロソフト社よりDirectXの主要な機能の1つDirectShowについて、セキュリティー情報が公開されました。一般向けOSでは、Windows 2000、Windows XPが対象になっています。Vista以降は問題ありません。

セキュリティアドバイザリによるとムービーを処理するDirectShowに脆弱性があるそうです。2番目のリンクは、機械翻訳で読みにくいですが、手動でレジストリを削除する対策をお勧めします。

セキュリティアドバイザリ(971778)

MS サポートオンライン(971778)(正式な対策がとられるまでの、とりあえずの対策方法)

  • Comments (Close): 0
  • TrackBack (Close): 0

DirectXがダウンロードできない

11/6公開の新しいDirectXをWebインストーラー経由でダウンロードした場合、ダウンロードエラーが発生します。コンポーネントを提供するサーバーのエラーと考えられますが、このままではDirectXをインストールできないため、かわりにダウンロードページの下の方にある、End User Runtimeをダウンロードしてインストールしてください。

ノートPCの救世主!?

ノートパソコンで鉄道模型シミュレーターなどのDirect3Dタイトルを実行する場合、最大の問題はグラフィックの遅さです。
多くのノートパソコンは、コスト、消費電力、大きさなどの制約からチップセットに内蔵されているグラフィック機能を使用しています。チップセット内蔵のグラフィック機能は、webブラウザ程度であれば問題ありませんが、3Dについてはかろうじて動作するという水準でした。
デスクトップ機のようにグラフィックカードを載せ替えるというわけにもいきません。(一部の機種はチップを差し替えることでパワーアップできます。例外ですが。)

ベストな解決策ではありませんが、次善の策としてノートPCのカードスロットにビデオカードを増設するという手段が昔からあります。ただし、この種の増設カードは際物な製品が多く、効果は??でした。
正式発表されたASUSTeKのGeForce8600GTユニットは、過去の製品とはことなり、「高速なGPU」を「高速なExpressCard」で接続しています。バス上の信号のやりとりがボトルネックになりますが、実際のゲームではデータ転送に伴う速度低下より、GPUそのものの性能アップの方が遙かに大きいので、非常に期待の持てる製品です。

詳細については、PC Watchの記事をご参照ください。

http://pc.watch.impress.co.jp/docs/2008/0527/asus.htm

Home > DirectX

検索
フィード
メタ

Return to page top