トップページgamedev
162コメント74KB

★☆★描画順を極めろゴルァァァ!!★☆★

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/16 08:19ID:???

  (\_/)  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( `Д´) < 描画順ってメンドクセェ
   /   ノつ  \______________
  (人_つ_つ

パフォーマンスと絵の質にダイレクトに跳ね返ってくる
(不透明/半透明)ポリゴンの描画順、オブジェクトの描画順、Zソート、
ハードウェアオクルージョンカリング効率についてだけ熱く語るスレ。
0002名無しさん@お腹いっぱい。01/11/16 08:20ID:???
それなりに深い話題かもしれないが、
タイトルの装飾はなんとかならなかったのか。
0003101/11/16 08:26ID:???

   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  (´┏┓`)< 正直、タイトルの装飾はスマンカッタ!
  (    )  \_____
  | | |
  (__)_)
0004 01/11/16 09:01ID:S7BNCBJL
オクルージョンカリングって何?
0005名無しさん@お腹いっぱい。01/11/16 11:05ID:???
ここでのオクルージョンカリングはXboxとGefoce3のファンクションで
Zテストを早めに行って表示する必要のないピクセルを高速に捨てる
Radeonはもっと高度なファンクションを持ってて
違う名前がついてるけど基本は同じ
手前のpolygonから順にソートして描画すると
これらのファンクションを生かせる
0006 01/11/16 11:13ID:S7BNCBJL
ただのZテストと違うんか?
重いピクセル処理前にZテストするのは当たり前だと思えるが?
0007名無しさん@お腹いっぱい。01/11/16 12:27ID:???
>>1まずはタイトルの★の描画順をなんとかすれ
0008名無しさん@お腹いっぱい。01/11/16 12:38ID:???
ところで、みんなは真面目にZソートってやってる?

Zソートするためにはまず自前で座標計算しなきゃだめだよね。
そしたらハードウェアT&Lが活かされなくなくなるから
全体的な速度を考えると半透明と不透明オブジェクトを
分けて描画する程度でごまかしてるんだが。

#なんか解かり難い書き方でスマソ
0009名無しさん@お腹いっぱい。01/11/16 16:27ID:???
BSPツリーをトラバースしてソーティング。
0010 01/11/16 16:52ID:S7BNCBJL
計算結果をVertexBufferの残す奴があったと思うが どうか?
でも逆に遅そうな予感
0011名無しサソ01/11/16 19:23ID:???
>8
 やるとしても、せいぜいオブジェクト単位のソートくらい。
ポリゴン単位でやると、多分遅くなる(少なくとも自分の腕では)。
>10にあるように、描画しない座標変換も出来るけどね。

 やっぱり違いの分かる人はアルファブレンドの違和感も非常に
気になる物なのかな。アバウトな自分はあまり気にしない(駄目人間)
0012名無しさん@お腹いっぱい。01/11/17 00:47ID:???
アルファブレンドの違和感というか、
アルファでテクスチャを抜く時、ソートを厳密にやってないと
半透明の縁の部分に背景の色とか変な色が残る。
64はエッジアンチにアルファを使ってるが
たとえば64のマリオを見ると
ソートを厳密にやってないので
よく見るとキャラのエッヂが変な色になっていることがある。
この種の違い。
マリオみたいにゲームが面白ければ気にならないが。
0013名無しサソ01/11/17 03:21ID:???
>12
 そうだね。すっかり忘れてた(苦笑)ただ、市販ゲームでも
その辺が上手く処理できてないのも非常に多いね。やっぱり細かい
見た目より速度を重視しての事かな。

 テクスチャのアルファブレンド&バイリニアフィルタって
色々と気にしないとうまくいかないねぇ。
0014名無しさん@お腹いっぱい。01/11/17 13:46ID:FtDApPxx
FFXの髪の毛の抜きとかうまくいっているときとだめなときがあるのですが
うまくいっているときは抜きを使わずに書いているのでしょうか?(ハイポリ)

それとも細かいオブジェクト単位でソートをきちんとやっているのでしょうか?
0015名無しさん@お腹いっぱい。01/11/18 22:41ID:???
>>14
デザイナさんがソフト上である程度優先順位をつけたデータを使ってん
だべさ。FFXみたいな短冊髪の毛だとどーしてもある角度で矛盾がで
きてしまうんだべ。

 つーか、キミの黒いゲーム機で真面目にソートなんかした日にゃDC
以下しか出せんべ。良くてオブジェクト単位でソート。

 ま、んな事にこだわるぐらいなら中身を作りこめっつーの。
0016名無しさん@お腹いっぱい。01/11/18 22:55ID:???
>>15
角度で矛盾とかゆうよりかは、背景のオブジェクトに半透明使ってるときに
うまくいってないような気が。

>ま、んな事にこだわるぐらいなら中身を作りこめっつーの。
はげしく同意。
0017名無しさん@お腹いっぱい。01/11/19 02:43ID:Gqj0F0jP
>>15
中身作りこむ人と描画部組む人は違うべよ。
ソートがんばって中身がクソになったなんて話はねーだろ。
0018 01/11/19 13:52ID:lEll+zjR
半透明のソートの実装はどうやるのが良いんでしょうか?
バケツ(ビンorPS1方式)ソート?

Z値からバケツのIndexはどう割り振るんでしょう
Z値が0から1まで均等に分布するってこたぁないだろうし、、、
なんて変な小細工するより何にも考えないほうがいいかな

あ、そもそもオブジェクト単位のソートならあんま気にする事もないのかな
(でもPS1ですら(やもえずだけど)ポリゴン単位のソートしてるわけで、
いまどきは全体のポリゴン数は多いとはいえ、半透明部分のみのソートって、
そんなに重い処理ですか?)
0019名無しさん@お腹いっぱい。01/11/19 16:39ID:???
W値でソート
0020名無しさん@お腹いっぱい。01/11/19 16:40ID:???
ソートにWは使わないよ
0021あま01/11/19 21:07ID:bTBvOeio
こないだSCEから配られたっつう Z sort routine はどんな
手を使ってたの?
0022名無しさん@お腹いっぱい。01/11/20 00:24ID:3zSs0zNy
よく知りませんが、
ソートってそんなにコストが高いんですか?(半透明のみなのに・・・)
0023名無しさん@お腹いっぱい。01/11/20 02:27ID:???
諸々のPS2の
ミドルぅエアのこのあたりの半透明ソート問題ってどうやって
解決してるの?
0024名無しさん@お腹いっぱい。01/11/20 16:52ID:???
レンダリング後のZバッファが必要でないなら、
交差ポリゴン分割+フルZソートで良いじゃんと思う今日この頃
0025 01/11/20 20:03ID:oqFT5pPy
交差ポリゴン分割は大変でないの?
0026名無しさん@お腹いっぱい。01/11/20 20:25ID:???
>>24
ハードウェアレンダリングパイプラインの効率を無視しちゃイヤン。
最後まで頂点をレンダリングエンジンに送れないじゃん。
+変形するモデルはどうすんの?
00272401/11/20 20:31ID:???
オレは新しいハードの機能とかについていくのに脱落した人間だから、
自前のソフトレンダラしか使{わ|え}なくなった人間なんで。
ソートとバッファを使い分けたり、めんどくさくてやってられねぇっす
00281901/11/21 15:13ID:???
>>20 そう?いい方法だと思ったんだけどな。
Wつーか、1/Zをキーにしてソートかければいいんでねーの?だめ?
ツッコミきぼんぬ
0029名前は開発中のものです。01/11/23 01:21ID:T/Rr2TFO
>15

>デザイナさんがソフト上である程度優先順位をつけたデータを使ってん
>だべさ。FFXみたいな短冊髪の毛だとどーしてもある角度で矛盾がで

ツールみたいなものでしょうか?Mayaとかでそういった機能があるのでしょうか?
CGツールをまったく知らないのでさっぱりです。よろしければもう少し詳しく教え
ていただけないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています