出し惜しみせずに3Dの技術を誰かが答えます Part4
■ このスレッドは過去ログ倉庫に格納されています
0001プチ9627m
02/05/12 11:50ID:S37fCL0Uお約束
1. 出し惜しみしないこと。
2. 3Dそのものの是非については議論の対象外とする。
3. いかなる理由があれ、個人叩きは厳重に禁止。
(守れない輩は、この板のローカルルール百回読みの刑に処す)
では、ご随意に。
■ 過去スレ
出し惜しみせずに3Dの技術を誰かが答えます Part3
http://game.2ch.net/test/read.cgi/gamedev/1016725546/
0355名前は開発中のものです。
02/05/17 09:48ID:???全PCの5割がParhelia(つーかDX9対応)になるってんなら
上もディスプレースメントやれってなるだろうけど。
しばらくは実験して遊ぶ>Webで公開オナーニしかないのか。
0356名前は開発中のものです。
02/05/17 10:44ID:???G400のDirectX6の頃のEMBM(NVIDIAにいわせると2Dオフセットマップ)のように
黙殺されない事を祈るよ…。
0357名前は開発中のものです。
02/05/17 13:00ID:???0358名前は開発中のものです。
02/05/17 13:14ID:???0359名前は開発中のものです。
02/05/17 13:16ID:???フェードアウト組みはエロゲーでも作ってなさいってこった。
製品化されていない=相手にされていないという短絡的な考えは馬鹿としか言いようがない。
海外でもn-patchなどの細分割曲面について積極的に研究されているよ。
(海外のサイトなんて見ないだろうからわからないだろうけど)
まだ使えるハードウェアが少ないから使用していないだけで、
既にスタティックな分割はQuakeなどでも実現されているしね。
>>355
即商品として成り立つことを要求していれば、何時までたっても新技術は浸透しないよ。
その論理ならピクセルシェーダーすら商品としては成り立たないしね。
ディスプレースメントマップはパイプラインの最上位に位置するから
ソフトウェアで十分エミュレーション可能だし、ピクセルシェーダーよりは使える可能性が高いと思う。
0360名前は開発中のものです。
02/05/17 14:13ID:???エロゲヲタだけが10ビットRAMDACで肌色の表現力が上がることに大感激。
0361名前は開発中のものです。
02/05/17 14:20ID:???たぶんSFC時代はポリゴンなんてまともに使えんから意味なしとか
PS時代はPS時代で、そんなもの使えないから意味なしとか同じようなことを言っていたのだろうな。
そしてフェードアウトしていくのさ。
優秀な技術者は先を見越して基礎技術の蓄積に余念がないというのに。
0362名前は開発中のものです。
02/05/17 14:30ID:???0363名前は開発中のものです。
02/05/17 14:42ID:???0364名前は開発中のものです。
02/05/17 16:01ID:???いまだにRIVA TNTが入ってるに10000ポリゴン
0365名前は開発中のものです。
02/05/17 16:07ID:???SCEがコンシューマ独占してるからグラフィックはもう進歩ないよ。
ディスプレイスメントマッピングなんてシャレたものをSCEがサポートできるわけない。
0366名前は開発中のものです。
02/05/17 22:56ID:???ダキニ病患者が幅を利かせてるようだな。ウザイから氏ね。
>>365
PS3も意味不明な方向性だしな。PCがリアルタイムグラフイックの
先端を突っ走る構図はあと数世代は変わるまいて。
0367名前は開発中のものです。
02/05/17 22:58ID:???`┬--、..__ト__|__,.‐'´ `ー-- 、_____ jノ | |
| | ,. ==ii'´ `'ri===、、 | | |
| | ,〃 rァ r';ヽ ヽ_,,.| | |
| ''=l='"} |:l} |.lノ| ,} =¥ | ! l
|, | `~ り {.l;;ノ ´~ | ,| | | !i
、 | //// //// \ _/ | | | i
\ー|//// ////// | ̄ | | | | i
| | ヽ__| 〈l | | | | | l
l| li| ` ,>,____.. /| ! | | l
i| i| | ` 、 ,.' ゝ,__,ノ | | | | l
| | | | ,` .. T7^〜〜〜〜〜〜~ヽ、 / / | ハ | | !
../ヽ.___人___人___入_ノ / ` '-------------- '′ / ヽ、__ノ ヽ__ノ`r-r'′
{ミ} {ミ} {ミ} ,l `ー‐‐-------- ― '´ {ミ} {ミ} {ミ}
ふぇぇぇ・・・ もうあたしのこと飽きちゃったの・・・?ふぇぇぇ・・・
0368名前は開発中のものです。
02/05/17 23:05ID:???[PS3も意味不明な方向性だしな。PCがリアルタイムグラフイックの
先端を突っ走る構図はあと数世代は変わるまいて。]
0369名前は開発中のものです。
02/05/17 23:13ID:???http://game.2ch.net/test/read.cgi/gamedev/1021476153/
こちらへどーぞ。
0370名前は開発中のものです。
02/05/17 23:16ID:???いつもワークステーションだ。
ゲームなんぞはリアルタイムグラフィックの用途の一つにすぎん。
0371名前は開発中のものです。
02/05/17 23:37ID:???0372名前は開発中のものです。
02/05/17 23:38ID:???なのでもCG-WSを名乗れちゃうからなんともいえない。
0373名前は開発中のものです。
02/05/17 23:55ID:???0374名前は開発中のものです。
02/05/18 01:35ID:???0375名前は開発中のものです。
02/05/18 17:32ID:???長方形に解体できるポリゴンはテクスチャと対応させる
座標を求めるのは簡単なんですが、複雑な形状のポリはどのように座標を計算してるんですか?
D3Dの参考書にはOXマッピングなんたら書いてあるんですが具体的なイメージが沸きません。
ヒントくれ
0376名前は開発中のものです。
02/05/18 17:55ID:???テクスチャ座標を計算で求める場合は、重心等からの方向ベクトルを使うのが多いね。
重心からのベクトルを使う方法は、球や円柱がポリゴンの周りにあるイメージで。
球の場合はメルカトル図法のテクスチャを使用。
他によく使うのだと、例えば木目とか金太郎飴の場合は頂点のz成分を無視して、
x,yを適当にスケーリングしてそのままテクスチャ座標に使ったり。
0377名前は開発中のものです。
02/05/18 20:43ID:???テクスチャ付きポリゴンのソフトレンダラを自作したいということなのか
それとも、ポリゴンモデルの各頂点のテクスチャUV値を自作のプログラム
を使って割り当てたいということなのか。
0378名前は開発中のものです。
02/05/18 20:48ID:OvBslwUsこっちのスレで質問したほうが雑音も少なくて更に宜しいのではないだろうか。
■ゲームプログラミング相談室
http://game.2ch.net/test/read.cgi/gamedev/1005040025/
0379名前は開発中のものです。
02/05/18 21:15ID:???以上。
0380375
02/05/18 21:44ID:???重心がKeywordですか。そう言えばTEXTのポリも円筒に囲まれてました
>>377
後者です
>>378
そっちもなかなか面白そうっすね 勉強になります
>>379
本当はそれで十分なんだけど内部で
どんな処理してるのかがわからない
と気持ち悪いんです
0381名前は開発中のものです。
02/05/18 23:32ID:???0382名前は開発中のものです。
02/05/19 00:17ID:???http://www.mext.go.jp/a_menu/shotou/kyoukasho/mokuroku/14/koutou/2suugaku.htm
http://www.mext.go.jp/a_menu/shotou/kyoukasho/tokuyaku/001201.htm
0383名前は開発中のものです。
02/05/19 00:20ID:???http://www.amazon.co.jp/exec/obidos/search-handle-url/index=books-jp&field-author=%E7%94%B1%E5%96%9C%E6%86%B2%2C%20%E5%B1%B1%E5%B4%8E/249-8826722-7150738
0384名前は開発中のものです。
02/05/19 00:22ID:???http://www.gogo3d.com/products/gems1/
0385名前は開発中のものです。
02/05/19 02:12ID:???■ゲームプログラミング相談室
http://game.2ch.net/test/read.cgi/gamedev/1005040025/
0386名前は開発中のものです。
02/05/19 04:54ID:???こういう人も受け入れてやらんとネタが無くなるんじゃないかと思うが。
0387名前は開発中のものです。
02/05/19 08:50ID:???ほんとだねぇ、出し惜しみまくりですな(笑
0388名前は開発中のものです。
02/05/19 09:55ID:???0389名前は開発中のものです。
02/05/19 13:36ID:???話が滑り出すとすぐにストッパーかけるヴァカがいるからな。出し惜し
みってよりも、出すモンがないだけちゃうんかと。
0390名前は開発中のものです。
02/05/19 15:47ID:???0391名前は開発中のものです。
02/05/19 16:24ID:???英語だけど21頁以降に丁寧な解説付き
0392名前は開発中のものです。
02/05/19 16:59ID:???` /
0393名前は開発中のものです。
02/05/19 17:34ID:???0394名前は開発中のものです。
02/05/19 17:45ID:???0395名前は開発中のものです。
02/05/19 17:46ID:???0396名前は開発中のものです。
02/05/19 17:55ID:???よく似合いそうな捨てゼリフも見つけますた。
http://game.2ch.net/test/read.cgi/gamedev/1020652085/51n
0397名前は開発中のものです。
02/05/19 21:09ID:??? ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧∧ キュワッ!
ヽ(゚∀゚)ノ (´⌒(´
へ( ) ≡≡≡(´⌒;;;≡≡≡
> (´⌒(´⌒;;
ロケットで突き抜けろ!ロケットで突き抜けろ!ロケットで突き抜けろ!
LIVE LIKE ROCKET!LIVE LIKE ROCKET!LIVE LIKE ROCKET!
モラル欠如者、2getしたくて仕方ないんでしょう>>3さん?
ここで次週予告!!来週は>>4の母が登場!マザー・オブ・ラブでつきぬけろ!→>>4
痛みを知らない>>5が嫌い
心を無くした>>6が嫌い
だが>>7は僕が大人であり子供であることの誇りだ
やさしい>>8が好き バイバイ
キユ
0398375
02/05/19 21:24ID:???キター!!!===============(゚∀゚)======================
どもありがとう。これだけ資料が有ったら結構行けそうです(たぶん・・
分からないことが分かるようになるって楽しいね!それじゃ♪
0399名前は開発中のものです。
02/05/19 22:22ID:???なんだよ、結局お前も荒らしかよ。
もう来ないでくれな。頼む。
0400名前は開発中のものです。
02/05/19 22:35ID:???ったやもしれぬ。さて、ブックマークの整理でもしよっかな☆
0401名前は開発中のものです。
02/05/19 22:51ID:???0402名前は開発中のものです。
02/05/19 22:59ID:???DAKINIネタは持ち込まないでくだちい。そちらのスレは十分ネタとして
楽しんでありますので。
0403名前は開発中のものです。
02/05/19 23:07ID:???0404名前は開発中のものです。
02/05/20 11:58ID:???プレビュー画面のポリゴンの一部が崩れてるのはZBuffer使ってないから?
VRAMきついから ソートでやってんの?
0405名前は開発中のものです。
02/05/21 01:37ID:???つまり全員がアンチダキニ。
0406名前は開発中のものです。
02/05/21 01:45ID:???そんな奴はさっさと会社やめちまえ。いらねーよ。
0407名前は開発中のものです。
02/05/21 05:18ID:???ハァ・・・
0408名前は開発中のものです。
02/05/21 05:23ID:???Z-Bufferの精度が足りないと言う可能性がある。
もっとも、その場合は後ろのポリゴンが前に出てくるんだけどな。
(で、チラチラすると。
外してたらスンマソ
0409名前は開発中のものです。
02/05/21 13:50ID:J6gVDqVQここにあるLunaライブラリのソース読んで
ちょっと疑問に思ったので分かる人教えてください。
2Dスプライトの回転描画の透視変換のところなんですけど
LunaSprite.cpp 332行〜
わざわざdをでっち上げて、回転行列を求めた後に以下のように変換してます。
vx[i].x = (vec[i].x*d/vec[i].z) + cx - 0.5f;
vx[i].y = (vec[i].y*d/vec[i].z) + cy - 0.5f;
vx[i].z = vec[i].z / d; // 0〜1にする
vx[i].w = 1/vx[i].z;
私の足りない頭で考えた変換式は
x' = x * m._11 + y * m._21;
y' = x * m._12 + y * m._22;
z' = z / 2.0f + 0.5f;
v.x = cx + x';
v.y = cy + y';
v.z = z;
v.rhw = 1.0f/z
こうなんですが、もしかして間違ってますか?
もし私の式でもあっているなら、わざわざdをでっち上げる理由を教えてほしいのですが。
0410名前は開発中のものです。
02/05/21 14:17ID:???http://www.flets.org/saimoe/cgi-bin/img-box/img20020520235343.jpg
キタ─wwヘ√レvv〜(゚∀゚)─wwヘ√レvv〜─ !!!
0411409
02/05/21 14:21ID:???そもそも私のやり方も思いっきり間違ってました。
0412409
02/05/21 14:26ID:???でも、たぶんここは違うんじゃないかなって思いました。
D3DでZ値の取りうる値は0.0f〜0.99999fで、
上の式のままだとzの配置がいい加減ですよね?
0413名前は開発中のものです。
02/05/21 14:42ID:???0414名前は開発中のものです。
02/05/21 15:14ID:???SetTransform.*D3DTS_PROJECTION
でgrepかけてみ。
0415409
02/05/21 16:06ID:???正しい値などあるはずもなく、感覚で作るしかないって理解でよろしいでしょうか?
0416名前は開発中のものです。
02/05/21 17:22ID:???,一-、
/ ̄ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
■■-っ < んなーこたーない
´∀`/ \_______
__/|Y/\.
Ё|__ | / |
| У.. |
0417409
02/05/21 17:33ID:???どうしたらいいのですか、なんて言うかサッパリです。
パースの掛かり方はz位置に依存するし、
そもそも2D空間上にはz座標なんて無いので、
一意に決定する方法は無いと思うんですが・・・
0418名前は開発中のものです。
02/05/21 17:41ID:???君は今まで食べたパンの数を憶えているか?
0420名前は開発中のものです。
02/05/21 20:13ID:???■DirectXのリファレンスぐらい真面目に目を通すように
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_what_is_the_projection_transformation_graphics.htm
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_rasterization_graphics.htm
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_what_are_depth_buffers_graphics.htm
■資料になるページ
http://spin.s2c.ne.jp/stoday03.html
http://www.cc.rim.or.jp/~devilman/3dCoding/3dPers.html
http://www.daionet.gr.jp/~masa/column/98-08-02.html
http://www.daionet.gr.jp/~masa/column/98-06-25.html
■2Dのアプリの場合、Direct3Dの固定機能T&Lパイプラインを無理に使う必要ない。
素直に T&L済み頂点データVertexBufferを使え。
アプリ側で各頂点のスクリーン座標を計算して
フレーム毎にVertexBufferを書き換える。
各頂点のrhw値は天下り式に1/zを入れればいい。
このときのz値は
例えば2D-STGならば、ゲームの仕様に合わせて
弾スプライト用
敵機スプライト用
自機スプライト用
BG用
というように区切って、必要な数だけそれぞれに割り当てればいい。
0421名前は開発中のものです。
02/05/21 20:18ID:???rhwはz値をそのまま入れていい。パース補正要らないから。
0422名前は開発中のものです。
02/05/21 20:19ID:???Y=aXっていう式に対して、なんでaをわざわざ入れるんですか?
Y=Xでいいじゃないですか?
って聞かれてるような気がするんだが。dは単なる係数でしょ。
0423名前は開発中のものです。
02/05/21 20:21ID:???http://xboxmovies.ign.com/xbox/video/ninjagaidenxboxmattafact1.mov
0424名前は開発中のものです。
02/05/21 20:35ID:???どのへんに「やってくれる」と思った?
0425名前は開発中のものです。
02/05/21 20:47ID:???http://xboxmovies.ign.com/xbox/video/shenmue2_052002_1.mov
0426409
02/05/21 21:00ID:???z値については、2Dなので基本的に0を入れてたので大丈夫です。
ただ、Lunaのz値の入れ方がおかしいかなって思っただけですので。
rhwはx/y軸に沿って回転させるため、一応パース補正が必要なんですけど・・・
で、rhwは1/zなのは分かりましたが、これは[0,1)に補正されたzでしょうか?
補正前のz(z = 200〜500)でも、補正後のzでも(z = 0.0〜1.0)出力結果に
差がないので(?)だったんですけど・・・
参考リンク全部読んでみます。
資料ページは一つしか知りませんでした
0427名前は開発中のものです。
02/05/21 21:43ID:???0428名前は開発中のものです。
02/05/21 22:28ID:???0429名前は開発中のものです。
02/05/21 23:19ID:???0430名前は開発中のものです。
02/05/21 23:53ID:???0431名前は開発中のものです。
02/05/22 00:47ID:???0432名前は開発中のものです。
02/05/22 00:51ID:???0433名前は開発中のものです。
02/05/22 01:11ID:???0434名前は開発中のものです。
02/05/22 01:27ID:???0435名前は開発中のものです。
02/05/22 01:44ID:???0436名前は開発中のものです。
02/05/22 02:40ID:???__( ´∀`)にゃん
〜( )
UU ̄UU
0437409
02/05/22 03:39ID:???DirectXのD3DFVF_XYZRHW、同次座標系での(x, y, z, w)
これらの所為で、3D座標を(x, y, z, rhw)と訳の分からないとらえ方をしようとしてました。
(x', y', z', 1) = (x/w, y/w,z/w, w/w)
(sx, xy, 1, rhw) = (x'/z, y'/z, z/z, 1/z) #この時点でz=1なので無意味に?
こういう事ですよね?
まだ違ったら目も当てられませんが・・・(涙
0438409
02/05/22 03:39ID:???0439名前は開発中のものです。
02/05/22 03:50ID:???(´-`).。oO(目も当てられない)
0440名前は開発中のものです。
02/05/22 03:57ID:m6qi3emMそれぞれの相対的な姿勢関係の元に回転させたいのですが。
親子関係を持たせて親の姿勢から子へと姿勢を重ねて行くのではなく
全体で無理無く回転させてやりたいのです。
瞬間的に合体するので,最終姿勢のみ必要で,合体中の補間は必要ありません。
おねがいします。
例)2Dの場合 - 角度は絶対的な回転量(姿勢)です
合体前
objectA>90°
objectB>45°
objectC>0°
条件(相対的な姿勢関係)
A→B 10°
B→C 10°
合体後
objectA>55°
objectB>45°
objectC>35°
0441名前は開発中のものです。
02/05/22 04:17ID:???にゃんでもっと脳を使わないのかにゃ
0442427
02/05/22 05:23ID:???0443名前は開発中のものです。
02/05/22 05:40ID:???RenderStateでパース補正がOFFにしてるならrhwは無視されるはずだにゃ。
ONにしてるなら、rhwにzを入れたらダメにゃ。パース補正無しにするならrhwは1にゃ。
0444名前は開発中のものです。
02/05/22 05:43ID:???0445名前は開発中のものです。
02/05/22 05:47ID:???0446名前は開発中のものです。
02/05/22 07:59ID:jPJXabLQ0447409
02/05/22 08:11ID:???http://www.daionet.gr.jp/~masa/column/2000-07-13.html
ここによると
>視野座標系から透視変換を行った後のw であり、 Direct3D の場合は視野座標系でのzと等しい
と言うはずなのですが、透視変換は単純に言うと要素すべてをzで除算したZ=1平面のことですよね?
3Dの空間座標はw=1の空間なので、頂点の座標は(x, y, z, 1)になり、
そうなると、透視変換を行った後のw値はすでに1/zになっているんじゃないですか?
>(sx, xy, 1, rhw) = (x'/z, y'/z, z/z, 1/z) < >>437に書いたこれです
どうか教えてください。
頭を使えないんじゃなくて、徹夜して精一杯使ってこの結果なんです。
0448名前は開発中のものです。
02/05/22 09:43ID:???一番下をみれ
0449名前は開発中のものです。
02/05/22 11:52ID:???0450名前は開発中のものです。
02/05/22 12:50ID:???マルチパスレンダリング
0451名前は開発中のものです。
02/05/22 17:07ID:???パース補正のレンダーステートはDX8から無くなったよ
0452448
02/05/22 17:50ID:???リンク先にある行列をDで除算した物がよく解説に出てくる下の行列なんですね。
Dで除算する前の値がwで、除算後がrhwと。
1 0 0 0
0 1 0 0
0 0 1 1/D
0 0 0 1
0453名前は開発中のものです。
02/05/22 20:55ID:???0454名前は開発中のものです。
02/05/22 22:02ID:???■ このスレッドは過去ログ倉庫に格納されています