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

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

■ このスレッドは過去ログ倉庫に格納されています
0001101/11/15 21:43ID:EsRJgfGr
3Dで解らない事や気になる技術の具体的内容を
誰かが答えます。
じゃんじゃんネタ振ってくれ。

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

とりあえずBBXとBio120%の過去ログは見とけ。
0142名前は開発中のものです。01/11/30 07:52ID:???
質問です。
DirectXでトゥイーニングを使った 人物のアニメーションを自前でつくろうとしているんですが、
メタセコイア を使って同じ頂点数で ポーズの違うXファイルを2つ用意して、時間によって頂点座標を
線形補完させるというやりかたをしようと思ったんですが、
モデリングした2つのXファイルの頂点情報の並び方が違ってしまいます。
座標を変えても同じ頂点情報の並びになるようなモデリングソフトを誰か知りませんか?
014313601/11/30 12:57ID:???
>>141
いや、なんか基本的なことが解かってないんで申し訳ないです・・・
Dual〜とかsphere用のテクスチャを作成する際に
テクスチャに対してレンダリングしますよね。

その時に座標変換用のマトリックスを作成して透視変換をかけると
思うんですが、これって通常のプロジェクションマトリックスの替りに
環境マップ用のものにすれば良いということですか?

なんか、レベル低くて申し訳ないっす・・・鬱氏
0144名前は開発中のものです。01/11/30 14:54ID:???
>>142 一つのモデルをつくって、ポーズを変えたものを
2パターン作ればすむ話では?
0145名前は開発中のものです。01/11/30 21:09ID:poVUBJ45
>座標を変えても同じ頂点情報の並びになるようなモデリングソフトを誰か知りませんか?

市販の3Dソフトならだいたい出来ると思うけど。
使った事ないけどフリーならMikotoってのもあるが。
http://www2.nbn.ne.jp/~you-ri/cgi-bin/?11271800
http://niigata.cool.ne.jp/cyphers/tuft/miko/

それより頂点列の並びが変わるってのは元データを
少しいじってXファイルにしても元データと並びが
変わってるの?普通あまりありえんと思うけど。
0146名無しサソ01/11/30 21:35ID:???
 出し惜しみしないで答えていると、素性が知れてしまう罠(汗)
案外こういう事している人達って多くはないのかな?

>141
 ハーフベクトルという言葉の詳しい定義は知りませんが、
全天球の空間を半球の空間に変換する計算の事でしょうか?
多分それ程負荷は変わらないかと。クリッピングを除けば。
しかし、どうも知っている人のような・・・(笑)

>142
 そう言う物なの?>144の話している通りでは駄目なのかなぁ。
マテリアルとかを変更していると変になりそうだけど。元が同じ
モデルで頂点座標だけ移動させる限りは大丈夫のような。
0147名前は開発中のものです。01/11/30 21:45ID:???
半球の空間に変換する前に半球の空間に
入らないポリゴンはクリッピングで省くんですか?
でもそれを判定するには座標変換しないとわからない
と思うから結局半球への変換は背景モデルを2回
座標変換するって事?
もしそうだとスフィアの2倍変換が必要になるけど。
0148名前は開発中のものです。01/11/30 22:37ID:???
>>146
出し惜しみしないで質問しまくると厨房と呼ばれてしまう罠(鬱)
しかも、某BB※とか野朗BBSでも同じく教えて君な俺…
#いや、低レベルな質問には答えるようにしてますってば。(←それしか答えられない)
014913501/12/01 01:11ID:???
>>145
ハーフベクトルは、ようするに2つのベクトルのニ等分角のベクトルです。
ttp://www.microsoft.com/japan/developer/directx/japan/dx8/SpecularLight.asp
ついでなので、DynamicSphereEnvironmentMappingのページを見てきたけど、座標変換に
三角関数使ってるんですか?ベクトルで計算するともっと簡単だと思いますよ。
長さが同じ2つのベクトルを足すと、それだけでハーフベクトルが求められます。
SphereMapの座標系で計算してるなら、ハーフベクトルを正規化すればそのx,y成分がその
まま求めたい座標になると思います。

DualParaboloidの場合は位置ベクトルに行列1つ掛けてxとyをzで割ってあげればいい
のかな?あまり変わりませんね。

SphereMapもDualParaboloidも実際には試してないので、嘘ついてたらゴメン :-)
DualParaboloidはVertexShaderだけで実現するメドが立ったので、暇ができたら試して
みます。

>案外こういう事している人達って多くはないのかな?

してても表で発言できない人は多いと思います。

>>147
DualParaboloidの1つのテクスチャに必要な視野は180度だから、カメラの前か後ろか
の判定だけでクリッピングできますよ。その判定はカメラの方向ベクトルのz成分と物体
への方向ベクトルで内積を計算するだけです。

ちなみにSphereMapもDualParaboloidも極点が存在するので、クリッピングしないと
カメラの正面や真後ろをまたぐポリゴンが画面を覆ってしまう問題があります。
SphereMapでは極点がテクスチャの必要な領域に存在するので困りますが、DualParaboloid
では極点がテクスチャの外側になるので単純にクリップするだけでほとんど解決でき
るかと。クリップしなくても頂点のα成分にカメラの方向ベクトルのZ成分との内積を
入れれば、αテストで背面のポリゴンは消せそうですね。座標変換のコストは減りませんが。
0150名無しサソ01/12/01 12:39ID:???
>149
 あ、言葉通りの意味ですか(笑)

 で、実際に言われているとおり足して単位化すれば済む話
でしたね。最初に考えて、確か計算量が多そうだと勝手に
思い込んでいたようで・・・(駄目人間)

で、書き換えたコードはこんな感じです。

D3DVECTOR v,half;

FLOAT cosa = sqrt((1.0f+v.z)*0.5f) * 0.5f;
v.z = 0;
v = Normalize(v);
の部分を

half = v;
half.z -= 1.0f;
half = Normalize(half);

に。平方根が見事に減ってますねぇ(汗)ご指摘どうもです。
015114701/12/01 15:39ID:???
>>149

おお、丁寧な説明のおかげでだいぶ頭の中にイメージが
出来てきた。クリッピングのコストが少し心配だけど
スフィアよりちょっと負荷がある程度ですむのかな。
これならVertexShader化まで試してみたくなるなぁ。暇ねーけど。

ちなみに俺は148じゃないよ。某BBSはロムってる。
先輩方サンキューです。
0152名前は開発中のものです。01/12/01 16:54ID:Of8w23Ey
ポリゴンの乳揺れはどうやっているんですか?
動画じゃなくってすごいヤツ見ました。
0153名前は開発中のものです。01/12/02 03:30ID:k+1aWkNw
簡単なものなら乳の中にボーン通してそのボーンを
バネモデルで揺らせば出来そうだが。
エターナルアルカディアとかは町の人も髪や服が
揺れてるけどボーン方式とクロスの2種類な感じ。
プログラムで一人づつ作っていくなら量的に大変そう。
0154名前は開発中のものです。01/12/03 11:53ID:???
>>153
やっぱ、髪の毛とか乳みたくプログラムで特別に制御するモデルって
他の部分とは別で持つの?
それともモデル中にフラグ立てて管理してる?
015515301/12/03 21:18ID:???
おれが作った時は別モデルにして後からくっ付けたよ。
3Dソフトも布とかは跡付けでやってるし。
デザイナがモデリングした服とかの一部を揺らそうと
思うと頂点が等間隔じゃないからやりずらくないか?
015614301/12/04 11:30ID:???
すんません、>>143の質問なんですけど・・・
どなたか出し惜しみせずに教えていただけないでしょうか?(;;)
0157名前は開発中のものです。01/12/04 13:31ID:???
>>143
行列だけでは無理ですね。VertexShader使うか、自分で変換する必要があります。
SphereMapもDualParaboloidも途中で正規化が必要になるので。

>>154
乳はボーンで処理するなら、制御するのはボーンだけでいいから、フラグ立てる
ならボーンの方ですね。
0158名無しサソ01/12/04 13:33ID:???
>156
 今までのレスを見ていれば分かりそうなんだけど・・・
ただ「分からないから」教えてくれ、と言うだけじゃ進歩が
無いよ。直接のレスでなくてもちゃんと関連する話題も
あったのだし。

 投影行列に何か指定するだけで良いのであれば、
Shaderなんてわざわざ使おうとはしない。視野角を
180度に近くしても、球面上に映り込んだときの歪み
は再現できない。擬似的に出来ると思うのだったら、
自分で試してみるべし。
0159名無しサソ01/12/04 13:34ID:???
 被ってしまった・・・(苦笑)
0160名前は開発中のものです。01/12/04 13:57ID:???
>>157-158 ありがとうございました。
やはり、自前変換が必要なんですか・・・
たしかに、頂点座標を変換するだけでは球状のゆがみなんて再現できないですよね。
#ポリゴンを細かく分割していけば擬似的には再現できるかもしれないですが。
行列だけで何とかお手軽に、と思ってたんですが甘かったですね。
頂点シェーダーについても、もっと勉強してみます。
0161名前は開発中のものです。01/12/04 21:32ID:???
>>158
おいおい、このスレの性質からして教えて君が聞くのは
当たり前なんだよ。むかついたんなら無視しろよ。
誰かが質問して誰かが答えないとこのスレなりたたないよ。

>>160
http://www.daionet.gr.jp/~masa/column/98-11-07.html
masa氏のコラム参考になるぞ。
やった事は無いが背景ポリゴンの頂点座標からターゲットの
座標を引いて単位化したベクトルをm=2*sqrt(x*x+y*y+(z+1)*(z+1))
から書かれている式に入れればuvが求まると書いてある。
これで変換したポリゴンをTLVERTEXでレンダリングすればよさそう。
まずはCPUで頂点変換して物が完成してからシェーダー化
すればいいんじゃないの。
0162名前は開発中のものです。01/12/04 23:17ID:???
>>161
masaさんのページ見たけど、
その式はどうやって導出したものか説明がないですね。
教えて欲しい。
0163名無しサソ01/12/04 23:39ID:???
>160
 いや、別にむかついた訳じゃないんだけど・・・
話題がちゃんとでていたのだから、>156でもうちょっと
分からないことを絞って欲しかっただけだよ。気分を
害したのなら申し訳ない。マターリと行こう。

 と言うわけで折角だからソース公開。汚いけど気合いで
読んでもらえると幸い。

D3DMATRIX vmat,wmat //vmat:ビュー変換行列 wmat:モデル変換行列
D3DVECTOR v,half; //v:単位化した頂点座標 half:ハーフベクトル
WORD a = *pTIndices; //頂点のインデックスを取得

wmat = *pMatrixStack->GetTop(); //モデル変換行列を取得
pd3dDevice->GetTransform( D3DTRANSFORMSTATE_VIEW,&vmat); //ビュー変換行列を取得
v = *((D3DVECTOR*)&pVertices[a]); //モデルの座標を取得
D3DMath_VectorMatrixMultiply(v,v,wmat * vmat); //ビュー座標への座標変換
v = Normalize(v); //vの単位ベクトル化
half = v;
half.z -= 1.0f; // vに視点ベクトルを足してハーフベクトルを算出
half = Normalize(half); //ハーフベクトルの単位化
m_pTLVertices[NumVertices].sx = half.x * 0.5f + 0.5f;
m_pTLVertices[NumVertices].sy =-half.y * 0.5f + 0.5f;
m_pTLVertices[NumVertices].sx *= viewport.dwWidth;
m_pTLVertices[NumVertices].sy *= viewport.dwHeight; //テクスチャのUVテクスチャ座標に変換

こんな感じ。
0164名無しサソ01/12/04 23:41ID:???
 補足:zの値は距離の絶対値で取っているけど、平方根は
重そうなので2乗のままで保持していたり。この辺は適当で良いかも。

 ただ、ライティングはこのままだと不可能。個人的にはやっても意味は
あまり無いと思っているので、していない。
0165名前は開発中のものです。01/12/05 00:53ID:o0Rw16Fu
>ただ、ライティングはこのままだと不可能。個人的にはやっても意味は
>あまり無いと思っているので、していない。

あ、やっぱり。シェーダー考えるとライティングどうしようかなぁ
って思ってた。クランプとかいろいろちゃんとやると結構速度低下
するから省くか頂点カラーかどっちかがいいかなと。
でもアンビエントぐらい足してやりたいなぁ。
0166名前は開発中のものです。01/12/05 01:06ID:???
BRDFってGeForce3だとリアルタイムでいけるのか?
最近よくBRDFって聞くから気になる。
http://tom.g-micro.co.jp/graphic/01q1/010227/geforce3-23.html


#そういや半球ライティングとかの説明が出てた。
#DIYライティングが気になる。
http://www.microsoft.com/japan/developer/directx/welcome/dsmsdn/directx11192001.asp
016716001/12/05 01:30ID:???
>>163 うおおお!ソースまで公開してもらって感激っす〜。
早速、教えてもらった部分を理解できるよう努力します。
#見ただけではすぐに理解できない辺りが・・・
俺的に今年度最高の名スレ&名レス認定。

>>161 教えて君で申し訳ない。
元々数学的素養が欠如してるので最近の3Dマンセーな開発事情は
辛いんですよ…いや、飯の種なんで頑張りますけどね。鬱氏。
0168名前は開発中のものです。01/12/05 01:35ID:???
>>162

ひょっとしてこれって説明じゃ。
http://www.opengl.org/developers/code/sig99/advanced99/notes/node177.html#s.equation
0169名前は開発中のものです。01/12/05 02:03ID:???
>>164
vの正規化の時点で距離は求まってるから、それを利用するといいかと。

それと、ライティングはオブジェクト空間で計算するといいですよ。
法線を変換するのではなくて、ライトをオブジェクト空間に変換します。
描画前に1回だけライトを変換すればいいので、法線を変換するよりも
計算量が少なくなります。スキニングとかの関係でオブジェクト空間では
処理できない場合もありますけど。
(いま書きかけのシェーダー関係のhtmlに全く同じ事書いてあるから、ます
ます身元がばれてしまうな)
0170名無しサソ01/12/05 02:14ID:???
>160
 プロの人?となると将来何かいい結果が目に見えて
生まれるのかな?期待してます(笑)

>169
 あ、Z値はどうにかしてますです。上のコードには簡単の
為に書いてないだけで。あと、ライティングは実用では
わざわざする程の効果はあるのかな、と。ちゃんとする
のであれば、オブジェクト座標系が多分効率がいいでしょうね。
0171名前は開発中のものです。01/12/05 10:47ID:DEoHzlOJ
>>160
マジでお金貰ってコード書いてる人?
それだけが知りたい。
017216001/12/05 11:37ID:???
そうですが、あまりつっこまないで・・・
まぁ、プロにもピンからキリまであるって事っすよ。
低層プログラマの憂鬱・・・鬱出汁脳
0173名前は開発中のものです。01/12/05 13:27ID:???
http://www.xbox.com/projectgothamracing/default.htm?det=1

動的環境マップをやるならこれくらいやらないと。
ムービーで確認せよ。
0174名前は開発中のものです。01/12/05 14:19ID:???
>>173 これってXBOXってことはCube環境マップ?
ハードに任せりゃできるってんなら、それでもいいんだけどな
0175名前は開発中のものです。01/12/06 22:07ID:???
某氏が反応していたのでコピペしとこう。
このスレいい資料になりそうだ。

>>149
双放物面のクリッピングで、環境マップ空間のZ座標をアルファに入れて
アルファテストで処理するというのは、僕のアプローチにかなり近いです。
ただ、僕のデモでは、ヘリコプターのプロペラの部分に既にアルファを
使っているので、代わりに texkill を利用しています。

注意すべきことは、頂点座標が非線形変換されるため、
線形補間されるZ座標が必ずしも正しい値にはならないということです。
うまく処理しないと、単位円の内部でクリップされてしまう場合があります。

あと細かいことですが、双放物面マッピングは View-Independent なので、
カメラ空間と環境マップ空間のZ軸が一致する必要はないですね。通常は、
環境マップ空間とワールド空間の基底を一致させると使いやすいと思います。
キューブマップの場合も、そうすることが多いですよね。
0176名前は開発中のものです。01/12/06 22:16ID:???
ノクターンのボリューメトリックソフトシャドウって
どうやってやるんだろうね?

http://www.nocturnegame.com/screensbig/set2-3.html

「各ピクセルについて、各光源からの明るさの寄与を計算して
アルファ部に足していき、最後にピクセルの色にアルファ部を乗算する」
これがNocturneの照明システムの基本だそうで、「光源からの光が他の
ポリゴンに遮蔽されていれば、光源からの明るさの寄与が少なくなるため、
結果的に影になって見える」という理屈です。
#BBXの記事より。
#他に資料ない?
0177名前は開発中のものです。01/12/06 22:36ID:???
コピペはやめれ。
リンクだけにすれ。
0178あっちのROM(スマ01/12/06 23:00ID:???
リンクもやめてくれえ。
0179名前は開発中のものです。01/12/07 00:26ID:???
コピペは止めるけどリンクはいいっしょ?
だって個人ページの掲示板や日記からもリンクしてるし。
0180名前は開発中のものです。01/12/07 00:48ID:???
|    ____   ジー…
|   /::::::::    ヽ
| /::::::::      彡彡彡
| /::::::::::  ヽ     彡彡彡
|/::::::::          ヽ
|::::::::   ノ   ヽ   |        ∧         ∧
|::::::::::           |        / ヽ        ./ .ヽ
|:::::: ヽ        /        /   `、     /   ヽ
|:::::::         /        /       ̄ ̄ ̄     \
|::::::::::      /         l:::::::::   /      \   .l
|::::::::     /          |::::::::::                  |
|::::::::     /            |:::::::::::::::::   \___/    |  >>179 変なAA貼られたりすんのが嫌なんじゃない?
|       /            ヽ:::::::::::::::::::  \/     ノ
|      /              丶::::::::          ノ
0181名前は開発中のものです。01/12/07 01:34ID:???
>>175
その某氏だが、引用元を明かさずコピペしたことにご立腹だ。
とりあえず逝って謝ってこい!
#BBSじゃなくてメールでな。下らん謝罪であっちのBBSを汚すなよ
0182名前は開発中のものです。01/12/07 01:50ID:???
そんなん言ってもここは匿名掲示板だぞ?
引用元を隠した配慮ってやつだったんだけどね。
それじゃココでやったんだしココで謝る。
このスレに反応してくれてたんでせっかくだから
コピペしとこうと安易に考えちゃった、てへ。
今後はしないから許してね〜。
0183名前は開発中のものです。01/12/07 05:14ID:???
>>182

ま、コピペなら引用元を隠す配慮になるってーのも都市伝説だから。
数週間待てば検索エンジンで大抵出てくるんでね。みんなやってる。
0184名前は開発中のものです。01/12/07 06:49ID:???
引用元と引用部分を明確にしないと著作権法にひかっからないか?
とか言ってみたりして
0185名前は開発中のものです。01/12/07 07:31ID:???
まあ2chも無法地帯ではないっつーことで
0186名前は開発中のものです。01/12/07 08:03ID:???
>>182-183
「引用元を隠す」ことが、誰に対する「配慮」になるのですか?

日本人は、欧米に比べて引用 (quotation) に対する認識が甘いな。
0187名前は開発中のものです。01/12/07 08:22ID:???
しかし某氏もデュアルほにぁららか言って出し惜しみ
っぽいところがあるのが見てて嫌だな。
もう少し自分のところで日本語でしっかり情報を
まとめてくれればなぁ。
0188名前は開発中のものです。01/12/07 11:56ID:XSYO4iDK
        ∫
   ∧,,∧ ∬       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ミ,,゚Д゚ノ,っ━~  <  >>187 中学生かお前は。
_と~,,,  ~,,,ノ_. ∀  \_________
    .ミ,,,/~),  .| ┷┳━
 ̄ ̄ ̄ .し'J ̄ ̄|... ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄   .┻
0189名前は開発中のものです。01/12/07 11:57ID:???
>>187 しかし、どの程度自分の知識を披露するかは
完全にその人にゆだねるしかないからな〜。
無知な奴は知識のある人に頭下げてお願いするしかないのが普通だろ?
ましてやアカの他人匿名でがその人を出し惜しみとか言うことじたい、
お前何様よ?って感じなんだが。

日本語にまとめてくれとか言う暇あったら英語勉強して
あっちのサイト漁ればもっと有益な情報はいくらでもあるぞ。
#そういう俺も英語はさっぱりなんだが・・・。鬱氏。
0190名前は開発中のものです。01/12/07 12:03ID:???
>>186

はいはい。
煽り合戦でお祭りやりたきゃ他所でな。
0191名前は開発中のものです。01/12/07 12:55ID:???
Dualほにゃららマッピングの解説ページ発見したぞ。
OpenGLだが。Kano氏のやり方とはまた違うアプローチのような・・・
http://www.nada.kth.se/~gustavt/dpm/
0192名前は開発中のものです。01/12/07 16:43ID:???
>>191
見たきたけど全く同じに見えるが。
DualParaboloidはHeidrichの論文見るのが一番分かりやすいかと。
実装するのは簡単だから、いちいち日本語で説明するほどの内容じゃないよ。

あと、そこのページだと2パスで描画しているけど、マルチテクスチャ使えば
1パスで済むよ。2パス描画になると半透明にしたときに使えないから駄目。
0193名前は開発中のものです。01/12/07 18:54ID:???
2パスってのは前と後ろのDualParaboloid用の
テクスチャがすでにあった状態で、その2つを
1回の描画でターゲットに貼り付けるって事でよい?
0194名前は開発中のものです。01/12/07 19:30ID:???
ミスった。2パスじゃなくてマルチテクスチャだと
1回の描画で?と聞きたかった。
そういや前誰かがテクスチャ領域の右と左で
前後のテクスチャ用意して1パスで描画するとか
言ってたような気がしたがそれもありか。
0195名前は開発中のものです。01/12/07 19:45ID:???
Heidrichも某氏掲示板の人も動くソースを出してない。
>>191は参考になる。
0196名前は開発中のものです。01/12/07 20:03ID:???
実装は簡単だろうと知らない俺にも参考になる。
>>191はエライよ。
0197名前は開発中のものです。01/12/07 21:31ID:???
>>191の内容って
これと同じ?
http://www.opengl.org/developers/code/sig99/advanced99/notes/node186.html
>>139の次ぎのページだけど
0198名前は開発中のものです。01/12/07 22:20ID:???
>>192
よく見ないで書いてるでしょ。
>>191はマルチテクスチャ版もあるよ。
0199名前は開発中のものです。01/12/07 22:22ID:???
>>197
>>191はそれとHeidrichの論文を参考にしてる。
020019201/12/07 23:45ID:???
下の方はマルチテクスチャだったのね。上しか見てなかった。
ところで、あそこの行列はHeidrichのと少し違うけど、テクスチャが上下逆さま
なのはその影響なのかな?
0201名前は開発中のものです。01/12/08 01:31ID:???
DualほにゃららマップのDirectX版デモ(ソース&日本語解説付き)があるページきぼん<消防な俺
0202名前は開発中のものです。01/12/08 08:42ID:???
>>201
まだない。
このスレ見てる人がすぐに作ってくれると思うけど。
0203名前は開発中のものです。01/12/08 15:35ID:???
たぶん大多数の人はDirectX使ってると思うから
みんなそっちに変換しながら組んでるでしょ。
すでに実装までいった人も何人か居るみたいだし。
0204Mark01/12/10 02:18ID:???
Hi Japanese programmer guys!

Gustav Taxen is using a circular texture to mask dual-paraboloid maps.
His approach, however, inevitably leads to a certain artifact.

In a +Z paraboloid map, infinite homogeneous texture coordinates such as
(s, t, q) = (1, 0, 0) or (-2, 1, 0) actually represent the identical -Z direction.
Therefore, given that the three reflection vectors at the vertices of a triangle
are near to (0, 0, -1), each of the corresponding non-homogeneous texture
coordinates gets extremely large. As a result, they can surround the circle of
the mask in some circumstances.

Since the rasterizer of today's GPUs always interpolates texture coordinates
linearly, values interpolated between such coordinates can fall into the circle,
which means that the mask has a small "hole" in the -Z direction.

Such an artifact can be observed in Kano's OpenGL sample, which I guess
justifies the fact that he is using the same method as that of Gustav.

What is important to note here is that, should you choose the view vector
as the -Z axis of the environment map space, the hole would be invisible.
However, it might contradict view-independency of dual-paraboloid mapping.

What do you think of that?
0205名前は開発中のものです。01/12/10 04:19ID:???
markがsageてる…
0206名前は開発中のものです。01/12/10 04:23ID:???
(・∀・)sage kakoii!!
0207名前は開発中のものです。01/12/10 06:46ID:???
この間ロボット系研究室で見た全方位センサに用いられてるカメラ
ttp://www.vstone.co.jp
の画像処理の逆変換みたいな話題でしょうか。英語は何とか読める
けんど、ヤパーリ不勉強ゆえ話についていけんですばい。くやちい。
0208名前は開発中のものです。01/12/10 10:22ID:???
>>204 Mark Kligard先生の降臨ですか?(ワラ
あの人って日本語読めるのかな?ましてや2ch・・・
mark : "鬱"and"逝ってよし"are What meaning?.
0209名前は開発中のものです。01/12/10 11:44ID:???
「today's GPUs」ってあたりが妙に本物っぽいな(藁
0210名前は開発中のものです。01/12/10 19:27ID:x8sYCeA4
つうか>>204って日本語解説くれだのソースくれだの言ってる阿呆に対するイヤミじゃないの?
本物だったら藁うな
0211名前は開発中のものです。01/12/10 19:35ID:???
204がしびれを切らせて出てきたよ
0212名前は開発中のものです。01/12/10 20:34ID:???
>Kano's OpenGL sample
ここ見てる某氏も無反応だから偽者か。
メアド書かずにsageてるのも気になるし。
0213名前は開発中のものです。01/12/10 20:38ID:???
もし本物なら某氏がリンク張ったのが原因かもね。
0214名前は開発中のものです。01/12/10 21:47ID:z44JyALI
http://www.excite.co.jp/world/text/

外国の人もエキサイトのWeb翻訳で日本語のページ翻訳すれば読めるよ。
0215名前は開発中のものです。01/12/10 23:59ID:???

             ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
            ( ´Д`) <  >>204って、本物のキルガード先生なのかなぁ
            /    \  \___________________
        _   || ∬ ||
       |\ ̄ ̄ ̄ 旦  ̄ ̄ ̄ ∬
───/ \\        ○ ○ 旦 \──、 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄
    /    \| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|.    ( ´Д`) <  ンナワケネーダロ
   (      ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \〜⌒ヽ /つ   \______
    \                      \ \ \/
      \                     )- \.二二つ ''.○,,
        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄      \
\                                   \
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0216名前は開発中のものです。01/12/11 06:48ID:???
きるがーどせんせい登場記念カキコ!
0217名前は開発中のものです。01/12/11 10:01ID:???
正解

まーくぱんさーでした。
0218名前は開発中のものです。01/12/11 12:17ID:???
             ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
            ( ´Д`) <  >>215 クリガードって読むんじゃないのかなぁ
            /    \  \___________________
        _   || ∬ ||
       |\ ̄ ̄ ̄ 旦  ̄ ̄ ̄ ∬
───/ \\        ○ ○ 旦 \──、 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄
    /    \| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|.    ( ´Д`) <  ソットシトイテヤレヨ
   (      ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \〜⌒ヽ /つ   \______
    \                      \ \ \/
      \                     )- \.二二つ ''.○,,
        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄      \
\                                   \
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0219名前は開発中のものです。01/12/11 12:39ID:???
http://www.google.com/search?q=Mark+Kilgard
× http://www.google.com/search?q=Mark+Kligard
022021801/12/11 15:51ID:???
>>219
Mark.J.Kligardってのがいるが、そいつと勘違いしてたYO。鬱
0221名前は開発中のものです。01/12/11 16:49ID:/6cvr9CK
つうか結局誰も答えられず、か
まぁそんなもんか
オレモナー
0222名前は開発中のものです。01/12/11 19:27ID:YDoecQvD
アフィン変換とかっていうのにでてくる「ウェイト」ってなんの為にあるのですか。
0223名前は開発中のものです。01/12/11 20:22ID:???
かんきょうまっぴんぐのおはなしはおしまい。
これからはうぇいと。
0224名前は開発中のものです。01/12/11 20:52ID:???
英語なんてドキュメントが理解出来れば十分だよ、
ってのに納得してた自分に鬱。
そういや任天堂は英語がいるんだったよな。
0225名前は開発中のものです。01/12/12 09:23ID:???
>任天堂は英語がいるんだったよな

2ちゃんの中の常識は実情と(以下略)
0226名前は開発中のものです。01/12/12 11:37ID:???
アフィン変換でウェイトなんて出てきたっけ?
0227名前は開発中のものです。01/12/12 13:38ID:HU6fPkXY
同次座標のwの事を言いたいんだろうか?
どこかでウェイトって呼んでる人を見かけたことある。
0228名前は開発中のものです。01/12/12 17:32ID:pq/RIp0+
>>227
…マジで…。

俺はてっきりジオメトリのブレンディングウェイトのことかと思った。
0229名前は開発中のものです。01/12/12 17:33ID:cNfXz7Tc
>>227
はい。そのwの事です。
0230名前は開発中のものです。01/12/12 19:51ID:wJ1KFxIX
なぜウェイトと呼ぶ人がいるのか小一時間考えてみた結論はこうだ

wだから
0231名前は開発中のものです。01/12/12 20:18ID:???
>>230
同次座標 (x, y, z, w) の w 座標そのものを重み (weight) と呼ぶのは適切ではないが、
(x, y, z, 1) と (xw, yw, zw, w) を比較したときの w を重みと呼ぶのはある意味で正しいと思う。
同次座標の (x, y, z, 1) と (xw, yw, zw, w) は単一の点としては等しい位置を表すが、
各種の補間(線形、多項式など)を適用する際には w が重みのような役割を果たす。
すなわち、w が大きい点(制御点)に引き込まれる傾向が見られるのである。

有理ベジエやNURBS(非一様有理Bスプライン)などの有理曲線(曲面)は
この同次座標の w による「重み」を巧みに利用した応用例であるとも考えられ、
非有理(=非同次)の多項式曲線(曲面)に比べて自由度の高い表現を可能としている。
また、テクスチャ座標の線形補間におけるパースペクティブ補正に関しても、
「重み」という視点から見直してみると、直感的な理解が深まるかもしれない。

ところで、個人的に、>>204は出し惜しみのない貴重な情報だと思うのだが、
議論が続かないのは大変残念なことである。(´・ω・`)ショボーン
0232名前は開発中のものです。01/12/12 22:49ID:pq/RIp0+
>>231
>ところで、個人的に、>>204は出し惜しみのない貴重な情報だと思うのだが、
>議論が続かないのは大変残念なことである。(´・ω・`)ショボーン
お願い、翻訳して…。(´・ω・`)ショボーン
0233名前は開発中のものです。01/12/12 22:52ID:???
リアルタイムのゲームで使用出来るぐらい速度が
出るグローバルイルミネーションって何かありますか?
フォトンマップ、BRDF、Radiance、Irradianceとか
単語を目にする事はあるけど良くわからない。
せっかくプログラマブルシェーダーがあるんだし
使えそうなのを1個作ってみたいな。
0234名前は開発中のものです。01/12/12 22:59ID:NAdilT/Q
半球光源(簡易ラジオシティ?)っていうのが非常に魅力的なんですが、
これってやぱ相当重くなります?
0235名前は開発中のものです。01/12/13 00:24ID:9Fg1SxEM
>>233
グロバールイルミネーションで演算した結果を、
頂点カラーに焼き付ける。これ最強。
プログラマブルシェーダーも大活躍!!

…というか基本から勉強しなおしてください。

>>234
半球光源の公式みればどれぐらいのコストがかかるか
わかると思うのですが…

…というか基本から勉強しなおしてください。
0236名前は開発中のものです。01/12/13 00:36ID:???
>グロバールイルミネーションで演算した結果を、
>頂点カラーに焼き付ける。これ最強。

そんな何年も前からあるようなテクの話じゃないだろ。
今は環境マップやバンプを利用すんだよ。

・・・というか応用を勉強してください。
http://www.microsoft.com/japan/developer/directx/welcome/dsmsdn/directx11192001.asp
023723401/12/13 00:39ID:???
うーん。オイラグラフィカなんだけど・・。

ってかBRDFラジオシティレンダリングした結果を頂点に焼き付ければいいんだ!
うーんそれ自体わすれてたよ!ありがとう!

でもかなりポリゴン数が
023823401/12/13 00:43ID:???
>>236
そうそう!コレ見て質問したんだおれー

LWのBRDFラジオシティって凄く時間かかるけど、
なんでおんなじような結果がリアルタイムでできるのかがわからない。

LWで光線評価の品質下げたらマダラ模様が凄くてつかえなかった
0239偽まーく01/12/13 00:50ID:???
やあ、2chのプログラマー諸君!

Gustav Taxenたんは2つの半球マップを覆うために
円形のテクスチャを使用しているんだけど
彼の手法は必然的にある結果に行き着くんだYO!それは・・

+Z(上半分?)の半球マップで、無限大の同次テクスチャ座標は
(例えば(s, t, q)=(1. 0, 0) とか (-2, 1, 0)みたいな)
実は−Z方向(下半分の半球?)に一致してしまうんだYO!
そんなわけだから、三角形の座標の三つの反射ベクトルが
(0, 0, -1)に近づいたとすると、それぞれに対応する
非同次テクスチャ座標は極端に巨大になってしまうのさ!
その結果、それらはいくつかの状況で円形のテクスチャを取り囲むんだ。

今時のGPUたん(;´Д`)はいつでもテクスチャ座標を
線形補完してくれるから、座標間で補完された値は
円内に収められるのYO。
(つまりその−Z方向の半球のマップは小さな”穴”を持ってるわけだ)

このような結果(事実)はKANOたんのOpenGLサンプルで
観察できるYO。
(これは彼がGustavたんと同じ手法を使ってることを証明していると
 漏れは思うわけで。)

ここで注目すべき要点は!
環境マップ座標系の−Z軸のような視点ベクトルを選ぶとこの穴は見えない。
したがって、2つの半球マッピングの視野からの独立性は否定される!!

これってどう思うよ??
0240名前は開発中のものです。01/12/13 00:53ID:???
頂点焼付け系
・前計算なので比較的コスト安
・オーサリング後の自由度低し

計算結果をテクスチャに埋め込み系
・光源計算用にテクスチャステージ消費。マルチテクスチャ系サポートしてないハードではイタイ。
・頂点焼付けより自由度が高い照光モデル。リアルタイムに光源が動かせる。

みたいな感じの理解でOKかな?
0241偽まーく01/12/13 01:03ID:???
ごめん。適当すぎた。ラスト修正

ここで注目すべき要点は!
環境マップ座標系の−Z軸のような視点ベクトルを選ぶとこの穴は
見えないけど・・・
でも2つの半球マッピングの視野からの独立性は否定されんじゃネーノ??

これってどう思うよ??
■ このスレッドは過去ログ倉庫に格納されています