トップページgamedev
1001コメント343KB

出し惜しみせずに3Dの技術を誰かが答えます

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001101/11/15 21:43ID:EsRJgfGr
3Dで解らない事や気になる技術の具体的内容を
誰かが答えます。
じゃんじゃんネタ振ってくれ。

俺も業界で飯食ってるが知ってる事は出し惜しみせずに
答えるよ。みんなでレベルアップしようぜ。

とりあえずBBXとBio120%の過去ログは見とけ。
0812たけし02/01/17 23:25ID:leE9VDzp
>802
>804
立方体ひとつひとつにパラメータを持たせたかったのですが、何かいい方法ありますか?
0813名前は開発中のものです。02/01/18 00:01ID:???
>>812
全く同じ形状のメッシュを4000個作るのが無駄なんだよ。
形が同じなら1つのメッシュを4000回使い回す。
どうせ頂点座標いじったりしないんでしょ?
0814名前は開発中のものです。02/01/18 00:10ID:???

| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
|  世の中に棲む逝きとし逝けるもの     |
|  すべてが自由に平和に平等に美しく   |
|  明るく楽しく暮らせる幸福と善意と    |
|  優しさと愛とマターリに満ちた世界を  |
|  要求する。                 |
|__________________|
         ∧∧ ||
.        ( ゚д゚)||
         / づΦ
0815たけし02/01/18 00:20ID:DOLbCMUF
>813
なるほど。ポリゴンとは別にプロパティの配列を作ればよかったのですね。
頂点は、ワールド座標の原点を中心に20x20x10の立方体(マップデータなので、ところどころ空きはありますが)をY軸で回転させる予定なのですが、大丈夫でしょうか。
0816たけし02/01/18 00:20ID:???
20x20x10は、64x64x64の立方体が10〜20個づつ並んでいるということです。
0817名前は開発中のものです。02/01/18 00:23ID:???
>>811
仮に2万だとしてもステートの変更とかがなければそんなにたいした負荷になるとは思えない
けどなぁ?結構な大きさのばねメッシュの水面を実装したことがあるけど、表示用と計算用に
ダブルバッファでデータ持てば毎フレーム全頂点書き換えてもたいした負荷にならない気が
する。(大体雪なら全部のメッシュを毎フレーム書き換える必要なさそうだし)

ハードウェアTnLならシザーの心配なんてさほどいらないだろうけど(一部クソハード除く)
これも雪面を全部一個で考えずに、部分ごとに分ければ負荷は減らせるでしょ。
近くてクリップが必要なときは見えなくなる部分をボリュームかリングする事で負荷を減らす
事ができるだろうし、遠くはなれた部分はシザーする必要ないでしょ。(ガードバンドの中に
収まるのでリジェクトでOK)
0818名前は開発中のものです。02/01/18 00:26ID:???
64x64x64ってボリュームテクスチャじゃなかったのか。
ややこしい書き方するなや、3Dでサイズは無意味。
0819たけし02/01/18 00:30ID:???
サイズは無意味なのですか。勉強になりました。
0820名前は開発中のものです。02/01/18 00:42ID:???
>>819
無意味というかカメラ位置や変換マトリクスによっていくらでも大きさが変わるだろ。
単に「立方体」で十分だよ。
0821たけし02/01/18 01:16ID:???
>820
なるほど。
ところで、メッシュを作ったのはいいのですが、そのメッシュを20x20x10並べる方法がわかりません。
GetVertexBufferを使って頂点バッファを取得し、
DIRECT3DVERTEXBUFFER8のLockで頂点データを取得してそれを操作するのでしょうか。
3次元配列の地形情報等のデータなどが入ったものをどう適用すればいいのかわかりません。
0822名前は開発中のものです。02/01/18 01:19ID:???
どうでもいいけど初心者スレ行ったら?(´д` )
0823たけし02/01/18 01:23ID:???
そんなこと言わないでどうかお願いします。
0824名前は開発中のものです。02/01/18 01:28ID:???
DrawSubsetを20*20*10回すりゃいいじゃん。
0825名前は開発中のものです。02/01/18 01:30ID:???
>>822
答えてやらないと「出し惜しみするなゴルァ」とか言われるよ
0826名前は開発中のものです。02/01/18 01:35ID:???
3Dの技術じゃなくてDirectX話みたいだから出し惜しみします(ぉぃ

それはそうと、よく考えたらこの板
「初心者はここで聞け!DirectX相談室」スレないのな。
0827たけし02/01/18 01:35ID:???
>824
メッシュを一回描画するたびに頂点を動かしてまた描画という処理をしないと20x20x10は描けないと思うのですが。
その、頂点の動かし方がわかりません。メッシュを作成したときのデフォルト座標は0,0,0だと思うのですが、そこからどう動かせばよいのか。
0828名前は開発中のものです。02/01/18 01:41ID:???
↓を実践してきたら教えてやるよ。

1. コンビニにいく。
2. 普通に買い物をする
3. なにくわぬ顔で店を出る
4. 数分後、息を切らしてコンビニのレジにかけよる
5. 「お、おい!さっきこんな顔をした奴がこなかったか!」と叫ぶ
6. 「あなたがさっき買い物していったんですよ?」と店員に言われる
7. 「ば、ばかもぉ〜ん!それがルパンだ!追えぇ〜!」と、叫びながら店を出る
0829名前は開発中のものです。02/01/18 01:46ID:???
ワールドマトリクスって知ってるよね?
0830たけし02/01/18 01:47ID:???
すみません。北海道の田舎なのでコンビニがありません。どうぞよろしく。
0831たけし02/01/18 01:52ID:???
調べると
モデル座標系からワールド座標系に変換するためのマトリクス。
モデルの移動・回転・拡大などを指定する。
とありました。ということは、モデル→ワールド座標変換のときにこのマトリクスを指定してやればいいということですか?
このマトリクスは
D3DXMatrixLookAtRH(&viewMat,(D3DXVECTOR3*)&viewFrom,&D3DXVECTOR3(0,0,0),&D3DXVECTOR3(0,1,0));
のviewMatのことですか?どのメソッドで使われているのか教えてください。お願いします。
0832たけしlove02/01/18 01:58ID:???
http://gazoo.direct.ne.jp/upboard/fun/img20020112040019.jpg
0833名前は開発中のものです。02/01/18 01:58ID:???
D3DXMATRIX matWorld;
D3DXMatrixIdentity( &matWorld );
m_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
この後にDrawする。

移動させるならD3DXMatrixTranslationでマトリクスに
場所をセット。
0834たけし02/01/18 02:07ID:???
>833
できました。本当にどうもありがとうございました。またよろしくお願いします。
0835名前は開発中のものです。02/01/18 03:34ID:???
>ハードウェアTnLならシザーの心配なんてさほどいらないだろうけど(一部クソハード除く)
いや、もっともなんだけど、ほら、その一部のクソハードが市場を
占領しつつあるじゃないですか〜。まぁ、本当に微少なポリゴンに限って
シザしなくても、あんまり困らないけど〜。
0836名前は開発中のものです。02/01/18 03:40ID:???
鉄拳4のガス煙ってどうやってるの?
意外とただの半透明ビルボード?とてもそうには見えなかったのだが。
0837久しぶりに2Dオヤジ02/01/18 04:11ID:???
ふー、やっとDVD焼きおわったよ。マスター暢るかな。

>まぁ、本当に微少なポリゴンに限って
>シザしなくても、あんまり困らないけど〜。
ps1の頃なんか、手前のポリゴンはリアルタイムに微少にして
までしてシザを避けてたくらいだったしな(藁

>ハードウェアTnLならシザーの心配なんてさほどいらないだろうけど
え?嘘、TnLだと安売りバーゲンなの?
いーなぁX箱。
0838名前は開発中のものです。02/01/18 04:45ID:???
>意外とただの半透明ビルボード?
たぶん正解。

絵描きのセンスの問題じゃよ。
0839 02/01/18 05:40ID:V/at06aR
シザー って何?

俺のこと?
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
0840名前は開発中のものです。02/01/18 10:33ID:???
            ,一-、
           / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ■■-っ < ハイハイ、いったんCM逝きまーす
     \    ´∀`/    \______________
  ハニャーン   ∧ ∧  \
    _   .(゚Д゚ ,)   |
         ∪Ё|__ノ |
          |  |
          |  |〜
          ∪∪
0841たけし02/01/18 11:09ID:???
すみません。20x20x5個のメッシュを描画してそれの中心を軸にして回転させると、180度ほど回ったところでいきなり表示が変になります。ポリゴンの天井が抜けたような感じです。なぜこうなるのでしょう。
0842名前は開発中のものです。02/01/18 11:59ID:???
>>839

───────────────────────────−──────―
────────‐───────────−────────────―─‐
─‐────────────‐────────‐∧_∧ ───‐──―──‐
─────‐∧ ∧,〜 ────────────‐(; ´Д`) ────―─‐──‐
──−──‐( (⌒ ̄ `ヽ───_ ───────‐ /    /─―/ヽ────―─‐
──―───‐\  \ `ー'"´, -'⌒ヽ──────‐| | 1 ‐─‐/ | | ─────―
―‐――──‐ /∠_,ノ    _/_───‐―──―─‐| |  /─―/ | |―────―‐
─────‐ /( ノ ヽ、_/´  \―────‐──‐∪ ./──,イ ∪ ────―─
────‐ 、( 'ノ(     く     `ヽ、 ―────―‐| /−─/|| | ──−───―
───‐‐/` ―\____>\___ノ ──────‐|/──/ || | ────‐─―‐
───/───―‐/__〉.───`、__>.―‐―───‐─―‐| || | ─────―─
──/──‐──────────────―−───‐(_)_)─────―─
─/────────−────────────‐──────────―‐
───────────────────‐─────────―─────‐
0843シザー=はさみ?02/01/18 12:11ID:V/at06aR
いやマジで教えて
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
0844名前は開発中のものです。02/01/18 13:16ID:???
・クリッピング
―――――――――――――‐┬┘
                        |   視点外のポリゴン
       ____.____    |   を
     |        |        |   |   窓から
     |        | ∧_∧ |   |   投げ捨てろ
     |        |( ´∀`)つ ミ |  
     |        |/ ⊃  ノ |   |  [ ̄]
        ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄    |    ̄

・シザリング
視点にかかるポリゴンを・・・斬る!!
─‐────────────‐────────‐∧_∧ ───‐──―──‐
─────‐∧ ∧,〜 ────────────‐(; ´Д`) ────―─‐──‐
──−──‐( (⌒ ̄ `ヽ───_ ───────‐ /    /─―/ヽ────―─‐
──―───‐\  \ `ー'"´, -'⌒ヽ──────‐| | 1 /‐─‐/ | | ─────―
―‐――──‐ /∠_,ノ    _/_───‐―──―─‐| |  /─―/ | |―────―‐
─────‐ /( ノ ヽ、_/´  \―────‐──‐∪ ./──,イ ∪ ────―─
────‐ 、( 'ノ(     く     `ヽ、 ―────―‐| /−─/|| | ──−───―
───‐‐/` ―\____>\___ノ ──────‐|/──/ || | ────‐─―‐
───/───―‐/__〉.───`、__>.―‐―───‐─―‐| || | ─────―─
──/──‐──────────────―−───‐(_)_)─────―─
─/────────−────────────‐──────────―‐
0845名前は開発中のものです。02/01/18 13:20ID:???
>>844
労力は認めるがちがうぞ
0846名前は開発中のものです。02/01/18 17:12ID:???
教えてクン一人であっさりスレ壊滅かよ。もろいな。

とりあえず、たけし君よ、質問するならこっちのスレにしろ。
http://pc.2ch.net/test/read.cgi/tech/991795568/
あっちならテトリス足トリス教えてやるから。
0847たけし02/01/18 18:45ID:???
>846
早速のレスをよろしくお願いします。
0848名前は開発中のものです。02/01/18 19:45ID:???
>>845
違うなら説明せんかい糞ヴォケィが。この板から消えろ!
0849名前は開発中のものです。02/01/18 19:49ID:???
ライブラリが無ければ何もできない3D厨には関係ない話。忘れろ
0850名前は開発中のものです。02/01/18 19:59ID:???
>>849
じゃあフルアセンブリしかないけど(それ以外は全てライブラリと同様)、
アセンブラが出来るヤツはエライんダッ!!
と本気で信じてるヴァカなチミに100パジェス。
インライン汗使ったソフトを公開したら「フリーズしました」
という苦情が殺到したチミには4000プゥオレキト。
0851名前は開発中のものです。02/01/18 20:34ID:PHKNevpu
>>850
アセンブラごときにコンプレックス抱いているチミに10000bit
拡張命令のサポートを調べることすら知らないチミに40000byte
085284402/01/18 20:56ID:???
シザリングってポリゴンの細分割の事かと思ってたけど違うの?

0853名前は開発中のものです。02/01/18 22:13ID:???
違う
0854名前は開発中のものです。02/01/18 22:39ID:???
>>852
合ってるよ。再分割ね。
0855名前は開発中のものです。02/01/18 23:17ID:???
>854
つまりLOD?
0856名前は開発中のものです。02/01/18 23:21ID:???
にも使われてるよね。
カリングでもシザリングだよね。
ちょきちょきするならシザリング。
0857名前は開発中のものです。02/01/18 23:22ID:???
>>852 >>854 それはクリッピング。
シザリングはスキャン変換後のピクセル単位での処理。
「コンピュータグラフィックス 理論と実践」くらいは読んでおけ。
0858名前は開発中のものです。02/01/18 23:24ID:???
ごめん、間違えた。すまんこ。
0859名前は開発中のものです。02/01/19 00:00ID:???
>>857
> >>852 >>854 それはクリッピング。
> シザリングはスキャン変換後のピクセル単位での処理。
> 「コンピュータグラフィックス 理論と実践」くらいは読んでおけ。

一番上の行とか前回に嘘だと思うんだけど…。
ポリゴンのシザリングって言ったら
ポリゴンを切断すること全般でしょ。
そこから先は方言や、前後の会話のニュアンスで
推し量るしかない。
だから
>>852 細分割
は間違いではないと思うよ(普通こうは書かないけど)。
>>854 再分割
は、パースコレクトの無い描画エンジンを持っていたハードが
幅を利かせていたせいで違うものを連想してしまうと思う。

どちらもクリッピングと直接対応する言葉ではない。

>>857
は、そう言う風にも使われているという例に過ぎない。
scissor で辞書とか引けば、
こんなに狭い考えにはならないと思うんだけど…。

結構、専門用語って、結構方言とかきついから
お互いにおおらかに、補いながら行きましょうよ。

0860844=85202/01/19 00:37ID:Z/B0Zguq
細分割=サブディビジョンサーフェス
みたいな感じで使ってたんだが。
まぁ、細分割っていうと曲面の分割を想像しちゃうし、
シザリングの説明には不適切だったか。
0861甲斐太郎02/01/19 03:33ID:???
動いたり傾いたりする3D床の上にプレイヤーを完全に
同期させる術を教えてください。
0862名前は開発中のものです。02/01/19 03:46ID:???
>861
キャラの立っている床の行列を、キャラに掛ける。
0863名前は開発中のものです。02/01/19 07:15ID:???
近い将来、ピクセルシェーダがゲーム制作に与える端的なメリットって
例えばどんなものが考えられますか?
0864名前は開発中のものです。02/01/19 07:46ID:???
>キャラの立っている床の行列を、キャラに掛ける。
それじゃ、キャラはその上に沿って歩けないよ〜
0865名前は開発中のものです。02/01/19 08:07ID:???
えと、クォータニオン絡みで虚数質問なんですが〜。

i^2 = -1 となるような数を 虚数 i と定義されているわけですが、
なぜ i+i = 2i になるのか分かりません。

実数だったら当り前な式ですが、虚数は実在しない故、
例えば 2i + 3i = 5i となるのが直感的に理解できません。

過去、数学板で質問してもシカトされたのでー
0866名前は開発中のものです。02/01/19 08:11ID:???
>>863
ユーザーの動作環境の引き上げ
0867名前は開発中のものです。02/01/19 08:12ID:???
i+i = 2i
これって虚数の加算の定義では?
1 + 1 = 2と同じでは?
0868名前は開発中のものです。02/01/19 08:22ID:???
>>864

できるよ。
086986802/01/19 08:24ID:???
>>864

[人の行列]       =[1フレーム分の移動行列]×[1フレーム分の回転行列]×[前フレームの人  の行列]
[動く床の行列]   =[1フレーム分の移動行列]×[1フレーム分の回転行列]×[前フレームの動く床の行列]
[ワールド行列]   =[動く床の行列]×[人の行列]

左手系ね。
0870名前は開発中のものです。02/01/19 08:26ID:???
ごめん。間違えた。
087186802/01/19 08:28ID:???
[人の行列]       =[1フレーム分の回転行列]×[1フレーム分の移動行列]×[前フレームの人  の行列]
[動く床の行列]   =[1フレーム分の回転行列]×[1フレーム分の移動行列]×[前フレームの動く床の行列]
[ワールド行列]   =[人の行列]×[動く床の行列]
087286802/01/19 08:36ID:???
[人の  (座標系を表す)行列] は 「動く床」    を基準にした行列ね。
[動く床の(座標系を表す)行列] は 「ワールド座標系」を基準にした行列ね。
087385702/01/19 10:21ID:???
>>859
確かに >>857 の1行目の発言は不適切だった。スマソ。

日常の英単語としては clip も scissor もほとんど同等で、
ともに「切る」くらいの意味しか持っていないことは理解している。
しかし、実際にグラフィックス関係の英語の文献を読んでいれば、
scissor が clip とは明確に区別されていることに気づくはず。

clip はかなり広範囲の意味を含むことがあるが、scissor に関しては
「スキャン変換後に領域(通常は長方形)内のピクセルのみを描画する」
こと以外の意味で使われることは極めてまれ(というか見たことがない)。

よって、日本語でも、「ジオメトリレベルでの解析的なポリゴン切断処理」
の意味で「シザリング」という用語を使うのは不適切だと思うのだが。
(ジオメトリ的な切断の意味では「クリッピング」と言うべき。)

基本的には、シザリング ≒ glScissor ということで。
0874名前は開発中のものです。02/01/19 14:20ID:???
>>865
(i+i)^2=-4だろ
0875名前は開発中のものです。02/01/19 18:46ID:???
>これって虚数の加算の定義では?
>1 + 1 = 2と同じでは?
虚数の定義は i^2=-1 というだけ。1+1=2になるから虚数の係数に線形性が
生まれるのではなく、874のように諸々の式で、そのような性質が観測できる
からだよ。
0876名前は開発中のものです。02/01/19 19:09ID:???
>[人の行列]       =[1フレーム分の移動行列]×[1フレーム分の回転行列]×[前フレームの人  の行列]
>[動く床の行列]   =[1フレーム分の移動行列]×[1フレーム分の回転行列]×[前フレームの動く床の行列]
>[ワールド行列]   =[動く床の行列]×[人の行列]

それはつまり、なんらかのカウンターで一意に決まる姿勢行列でキャラクターを
動かすのは駄目ということなのかなー?回転でもなんでも1フレームずつ回転?
0877名前は開発中のものです。02/01/19 20:52ID:???
>>876

>それはつまり、なんらかのカウンターで一意に決まる姿勢行列でキャラクターを
>動かすのは駄目ということなのかなー?

いや。全然そんなことはないと思うよ。
そのカウンターというのはつまり、アニメーションデータとかの形で与えられる
制御点情報の間を補間するときの、例えばスプライン関数のパラメータの話だよね。

>回転でもなんでも1フレームずつ回転?

ここはよく分からなかった。ごめん。パス。

>>[人の行列]       =[1フレーム分の回転行列]×[1フレーム分の移動行列]×[前フレームの人  の行列]
>>[動く床の行列]   =[1フレーム分の回転行列]×[1フレーム分の移動行列]×[前フレームの動く床の行列]

の部分は例として出したつmりだった。でも誤解を招いたかもね。ごめんね。
087886802/01/19 21:18ID:???
>>876

名前を書き忘れた。877=868ね。

もしかして、「動く床」が予め定められたコースを動くものだとすれば
>>[動く床の行列]   =[1フレーム分の回転行列]×[1フレーム分の移動行列]×[前フレームの動く床の行列]
は不適当だ。ということかな。

うん、その通りだと思う。
0879名前は開発中のものです。02/01/20 00:22ID:???
>もしかして、「動く床」が予め定められたコースを動くものだとすれば
ブランコみたいに片方に乗ると、乗った位置に応じて傾くという動的な床は
どうなるんでしょ?プレイヤーが床の姿勢を決めて、でも床の姿勢が決まらなければ
プレイヤーの姿勢も決まらないデッドロック問題。

0880名前は開発中のものです。02/01/20 00:39ID:???
ブランコの片方に乗る?いまいちイメージがつかめぬ。
シーソーというなら分かるが。

真面目にやるなら、力学の話になるよ。



0881名前は開発中のものです。02/01/20 04:43ID:???
>879
1.全物体の移動ベクトルに重力加速度を加算
2.物体(プレイヤー、敵等)が、傾く床にめり込んだ量と(支点からの)位置で適当に床を傾かせる。
  同時に、めり込んだ物体を床の上に戻す。
3.再度傾きの行列を物体にフィードバック

こんな感じで、2パスにすればよい。
(2)の計算は物理計算を厳密に行っても良いし、適当にそれっぽい値で処理してもいい。
0882名前は開発中のものです。02/01/20 05:44ID:???
>[人の  (座標系を表す)行列] は 「動く床」    を基準にした行列ね。
>[動く床の(座標系を表す)行列] は 「ワールド座標系」を基準にした行列ね。

ということは、動く床の上にいるキャラって、
その床のローカル座標系での姿勢を保持しているものなのかな?
だとしたら、仮にそのキャラの構造体があった時、ワールド座標での
姿勢Matrixのメンバ保持は、それほど重要性がないということ?
0883名前は開発中のものです。02/01/20 06:56ID:???
>882
そのゲーム次第だし、その物体次第。
プレイヤーが人なら、落ちないように姿勢を垂直に保とうとするだろうし、
車とかの場合なら当然床のMatrixに左右される。
0884名前は開発中のものです。02/01/20 07:20ID:???
グルグル回る丸太のような床って、どのような座標系で表現するの?
平面床なら分かるんだけど
0885名前は開発中のものです。02/01/20 16:01ID:AMgDZ9gB
>>884
(1)
まず、丸太に着地した瞬間、そのプレイヤーのワールド座標系から、
丸太の中心点を原点とするローカル座標系での座標、姿勢を求める。

(2)
以後、球面にいることを意識せず、平面上で普通に1フレームだけ移動させる。
この時、プレイヤーの座標などには一切いじらず、前のフレームとの
姿勢・位置差分マトリックスのみを作成する。

(3)
次に回転している丸太の1フレーム分の姿勢差分マトリックスを求める。

(4)
(2)と(3)で求めた二つの差分マトリックスを合成し、それをプレイヤーの
前のフレームの姿勢マトリックスに合成して、次のフレームの姿勢マトリックスとする。

これで、プレイヤーは動かない場合は、足を丸太の上に張り付いたまま丸太に
依存して移動します。逆さになってもコウモリみたいに張り付いたままなんで、
実際には、毎フレーム、姿勢をワールド座標に変換し、体の軸の向きが丸太の
上に乗っているかどうかのチェックが必要。
0886名前は開発中のものです。02/01/20 17:05ID:???
Direct3D での W-Buffer と Z-Buffer の決定的な違いって逆数以外に
何があるんですか?
0887 02/01/20 17:14ID:cFrf6k64
Wバッファって聞かなくなったけど、どうなっちゃったんだろう
ハードでの対応は進んだんだろうか?
逆数演算がネックで放置?普及しないので 互換性を考えると使えない機能とか?
0888ひろゆき02/01/20 18:01ID:???
Wゴッホになったと聞きました。
0889名前は開発中のものです。02/01/20 19:52ID:???
逆数というか、Perspectiveな歪みがある空間でZ密度がnearもfarも均等である
事が主たる目的だと思うんだけど…。(だからOrthographicなビューでは意味無し)

RasterCapsのD3DPRASTERCAPS_WBUFFERが立ってれば、使えますぜ。>W-Buffer
結構最近のカードはサポートしてると思うけど。

あと、このスレのどうでもいい質問は
Real-Time Rendering(ISBN 1-56881-101-2)
を読めばだいたい解決する。一通り目を通しておくことをお勧めする。
0890 02/01/20 19:58ID:???
WバッファがZバッファより優れてるなら、もっと入門書で取り上げてていいと思うんだけど
イマイチ日陰の存在なのはなんでだ〜?
0891名前は開発中のものです。02/01/20 20:02ID:???
RADEON8500は標準では使えなかったような>Wバッファ
Meltdownでも、重要性が下がった機能として挙げられていたしね。
0892名前は開発中のものです。02/01/20 20:08ID:???
>>891
まぁ、Zに16bit位の精度しか与えられなかった時代の技術ですからな。
0893名前は開発中のものです。02/01/20 20:47ID:???
PS2 のメタルギアソリッドで使われてるバンプマッピングは
どのように実現されてるんだろ。X箱ならともかく、ps2で・・・
0894名前は開発中のものです。02/01/20 21:02ID:???
>結構最近のカードはサポートしてると思うけど。
「結構」程度じゃ困るから、やっぱ使えないや。

>Real-Time Rendering(ISBN 1-56881-101-2)
これって英語ですか?
英語読めないし、勉強する時間あったら仕事しなきゃいけないし。
もっと学校で勉強しとけば良かった。数学では困らないけど、エイゴがー!
0895名前は開発中のものです。02/01/20 21:05ID:???
それにしてもアクションゲーの座標変更処理が、
一般の書籍に書かれているような、座標メンバへの演算操作で
ないことを知って、ちょっとビクーリ。
0896 02/01/20 21:08ID:???
>>895
???どういうこと???
0897名前は開発中のものです。02/01/20 21:13ID:???
>>893

http://www.microsoft.com/japan/developer/directx/welcome/dsmsdn/directx11192001.asp
0898名前は開発中のものです。02/01/20 21:14ID:???
>>893
対光源の移動をよく確認してないから何ともいえないけど、(少し浮き出てる血管とかの
部分だよね?)あれはエンボスじゃないのかな?頂点のローカルな座標系
(ds, dt, dsとdtの外積)に光線ベクトルを投影してエンボスをその分動かして凹凸を描いて
やればいいんでない?
# まぁDOT3もできないことはないけど、ハードウェア依存な狭い世界の話になるので。
0899名前は開発中のものです。02/01/20 21:21ID:???
>>895
>一般の書籍に書かれているような、座標メンバへの演算操作

0900名無しさん@Emacs02/01/20 22:50ID:???
Real-Time Rendering マンセー sage
0901名前は開発中のものです。02/01/20 22:51ID:???
>>893
CG-WORLD Vol41によると。
マルチパスのαチャンネル合成らしいが…。
0902名前は開発中のものです。02/01/20 23:10ID:???
>マルチパスのαチャンネル合成らしいが…。
んー、それだけじゃ分からない・・・。
何枚か重ねて実現していることまでは分かるんだけど、
どのように重ねてるかが疑問点。
0903名前は開発中のものです。02/01/20 23:16ID:???
>頂点のローカルな座標系
>(ds, dt, dsとdtの外積)に
ここでいう、ds,dtとはなんでしょう?
0904名前は開発中のものです。02/01/20 23:33ID:???
>902
影情報をαで表してるなら、面の法線と光源の角度から、ずらす量が求まる気が。
0905名前は開発中のものです。02/01/20 23:47ID:???
>>903
エンボス用テクスチャ自体の座標系、つまりエンボステクスチャがその頂点中で
どういうテクスチャ方向を向いているかという事。

平面で考えてみると判りやすい。平面でエンボスを作りたいとき、右下に少しずらした
テクスチャで加算、左上に少しずらしたテクスチャで減算すると右下から照らされた
凸凹があるようにみえるでしょ?その時にずらす量は光源の向きによって変わるん
だけど、この平面の時は絶対的な座標系がその平面だから単純に解決できる。
だけど、3Dのサーフェースに貼られた場合、3D的に世界に対してどういう方向で
貼られているかを理解する必要がある。それを表すための座標系と考えれば
だいたいいいと思う。

もっと詳しい(正確な)解説はこちらに。
http://developer.nvidia.com/view.asp?IO=jp_presentations
http://www.acm.org/tog/resources/RTR/bump_map.pdf
0906名前は開発中のものです。02/01/21 00:40ID:???
>>905
うー、詳しくはこちらにーとあって、行ってみると英語だったり
することが、ここ最近、急激に増えてきたなぁ。真剣に英語、
勉強しなきゃ駄目かなぁ。なんか、空飛べないヤジロベーの気持ち。

日本語ページで詳しいページってないものでしょうか?
0907名前は開発中のものです。02/01/21 01:01ID:???
>>906
そういわれると思って、最初のリンクを、
http://developer.nvidia.com/view.asp?IO=jp_presentations
にしておいたのですよ…<(T_T)> こっちは日本語っす。

Lectures.zipの中のIronChef_PerPixelLighting.pptのサーフェス・ローカル空間
あたりからの解説がそれにあたります。(こっちの方はピクセル単位ライティング
だけど、ローカル座標系の考え方は一緒。
0908名前は開発中のものです。02/01/21 02:52ID:???
Z-Buffer or W-Buffer は、結論を言うと、Z-Bufferなら確実に存在するけど
W-Bufferはサポートされてないビデオカードが存在するという認識でいーのだろうか?

そのMeltdownでのMSのW-Buffer重要度低下アナウンスってソースありません?
とても重要度下げていいような技術ではないと思うのだが。
0909名前は開発中のものです。02/01/21 03:52ID:???
ところで、PS2ってマルチテクスチャ使えないんだよね?
環境マップとかバンプマップとかやりにくそう・・・
(EMBMとか・・・)
2パスでも描画パワーで押し切ってるのか?
X箱、うちの会社でも開発しないかなー
0910名前は開発中のものです。02/01/21 05:06ID:???
X箱厨房なんですが、X箱のマルチテクスチャって本当に4つまでノーリスク
なんでしょうか?メインメモリにあるテクスチャReadでUMAバスが混雑する
とか考慮に入れてもノーリスクで済むものなんでしょうか?
0911名前は開発中のものです。02/01/21 08:03ID:???
X箱のマルチテクスチャはシスクです。
レス数が900を超えています。1000を超えると表示できなくなるよ。