書籍には載っていない3D技術

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
書籍には掲載されていないけれども、実際には
良くぶつかるであろう話題など。
2デフォルトの名無しさん:2001/03/13(火) 05:41
巨大ポリゴンのカリングはみなさんどーやってます?

視野座標系に落とした段階で
(a)視野四角錐で奇麗に切り取っているか?
(b)あるいは Z=0.0 平面で切り取るのみか?

ラスタライジングが賢ければ (b) で十分なのですが、
描画領域からはみ出したポリゴンでも左上だとかだと、しっかり
描画時間が食ってしまうタコなハードもあります(PS1とか以外にも)
3デフォルトの名無しさん:2001/03/13(火) 18:20
うちは今、PS2で開発していますが、単純に 平面 z=0 で分断しています。
問題は全てのポリゴンにおいて、分断必要チェックをするわけには行かない
点ですね。(内周なだけに、zチェックだけでも痛い)
分断が必要そうなモデルと必要なさそうなモデルとで、ルーチンを2種類用意しています。

4デフォルトの名無しさん:2001/03/13(火) 18:23
ただPS2でも明らかに分断していない市販ソフトがたくさんあります。
例えばファンタビジョンなど手前に来たポリゴンはポリゴン単位で
がつがつ消えていきます。
ゲームの用途に応じて使い分けるのが主流だと思います。
5デフォルトの名無しさん:2001/03/13(火) 23:26
英語の書籍には載ってる技術じゃん
6デフォルトの名無しさん:2001/03/14(水) 00:00
もっと進めるなら、階層的なBounding geometryを使って視錐体との交差,
包含判定をして、カリング、クリッピングが必要な面のリストアップなんかを
しますね。
クリッピングもTriangle stripを直接クリッピングする技法もあるし。
5氏のいうように日本語に限定せず資料を探すことをお勧めします。
7デフォルトの名無しさん:2001/03/14(水) 01:02
ソフトウェアラスタライザで、パースペクティブコレクトを実装するとき、
1/z,1/u,1/vを32bit固定小数点で精度を維持する方法はありますか。
私の場合、精度不足に悩まされて
結局1/z,1/u,1/vは浮動小数点で持つことになりました。
87:2001/03/14(水) 01:05
間違い、1/z,u/z,v/zね。
9デフォルトの名無しさん:2001/03/14(水) 01:30
>>2
>(b)あるいは Z=0.0 平面で切り取るのみか?
本気すか?
どうやって描画するんですか?
107:2001/03/14(水) 01:33
>>9
ゼロ除算になっちゃうよね(藁
普通Z=1.0平面辺りで切り取るでしょ。
11デフォルトの名無しさん:2001/03/14(水) 03:03
>英語の書籍には載ってる技術じゃん
日本語の書籍きぼん!英語読めないし。
というかなんで国内の書籍って知ってることしか書かれてないんだろう
12デフォルトの名無しさん:2001/03/14(水) 03:09
>もっと進めるなら、階層的なBounding geometryを使って視錐体との交差,
>包含判定をして、カリング、クリッピングが必要な面のリストアップなんかを
>しますね。
ちなみに、モジュール単位ではなく、面単位の洗い出し?

>(b)あるいは Z=0.0 平面で切り取るのみか?
Z=0.0付近という意味でわ?

でも視錐体によるカリングって実装したことないです。
やっぱおいしーのでしょか?
13デフォルトの名無しさん:2001/03/14(水) 05:28
>>もっと進めるなら、階層的なBounding geometryを使って視錐体との交差,
>>含判定をして、カリング、クリッピングが必要な面のリストアップなんかを
い?ほんとですか?例えば数千ポリゴンからなる人体モデルが画面の端で半分
くらいしか見えてない状態で、カリングが必要なポリゴンだけ奇麗に洗い出せる
ものなんですか?

14デフォルトの名無しさん:2001/03/14(水) 08:16
>>13
人体モデルといっても、手や頭など複数のパーツで構成されているでしょ。
パーツごとにバウンディングオブジェでまず交差判定をすれば、
かなり効率は上がるんじゃないの。
15デフォルトの名無しさん:2001/03/14(水) 08:17
カリングとかでピックアップされたもの、とか、半透明時にポリゴン単位でソートしたリスト
とかって、どうやって管理してますか?

最悪時を想定すれば画面に出てるポリゴン数の数倍の枚数に分割されたりしますよねぇ?
16デフォルトの名無しさん:2001/03/14(水) 09:33
>パーツごとにバウンディングオブジェでまず交差判定をすれば、
>かなり効率は上がるんじゃないの。
それはつまり、ブロック単位でのカリングでは?
そのブロックがカリングされる可能性がある場合、そのブロック内に
含まれている全てのプリミティブがカリングチェックを施すわけですよね?
17デフォルトの名無しさん:2001/03/14(水) 09:47
>最悪時を想定すれば画面に出てるポリゴン数の数倍の枚数に分割されたりしますよねぇ?
最悪でなくても結構あるシチュエーションだったりして悩みのタネです。

ところで半透明プリミティブはソートリストに登録せねばなりませんが、
要カリングプリミティブってどこかに保存しなければならないものなのですか?
その場で細切れにしてラスターに送り込む以外、考えられないのですが。

18デフォルトの名無しさん:2001/03/14(水) 10:06
>もっと進めるなら、階層的なBounding geometryを使って視錐体との交差,
>包含判定をして、
矩形外に対する2Dラスタがそこそこ賢い環境(例えばPS2)の場合、
視錐体との交差でカッティングする必要性ってあるのでしょうか?
でかい2Dプリミティブを送り込んでも、矩形外フィルレートって
無料でしょ?だったらz平面カリングで十分のような気がします。(というか
うちの職場のPGではこのスレを今朝見るまで確信していて ^^;)

カリング演算コストやらカリング結果によるプリミティブ容量が増えてしまう
視錐体との交差カッティングって損するばかりのような気がするのですが。
196:2001/03/14(水) 10:24
>>11
この期に読めるようになりましょう。専門用語はほぼ英語で見聞きしていると思うので、わりと読める
もんですよ。共通日本語の書籍で得られる知識はどうしても限られてしまうと思います。
もちろん良書があれば紹介希望です。

>>12 13 16
16氏の解釈がこちらの意図に一番近いと思います。
極端な話、1ポリゴンに1Bounding geometry(BG)に対応させれば13氏の言うように要クリッピング(視錐体
平面によるポリゴンの切断処理)ポリゴン、カリング(描画処理の省略)ポリゴンのリストアップができます。
が、これは速度 空間ともに良くないでしょう。
普通は14氏の言うようにパーツ単位とか、数10ポリゴンに1BGに対応させたりするようです。
BGによって求めたクリッピング要 不要に基づいて、3氏のように描画ルーチンを切り替えるのが良いようです。

>>18
PS2なんかでは、Z near平面でのクリッピング以外はあまり必要ないと思いますね。測定はしてません。
表示シーンにもよりますが、カリングは大量の幾何演算を省略できるので、有効だと思います。
20デフォルトの名無しさん:2001/03/14(水) 13:58
を!いつの間にこんなおもろそーなスレが!

でもカリングなんてどーでもいーっす。
今、コンシューマ業界のPGの頭を傷めているのはGSのVRAMの少なさでしょ?
さて、どうしましょ?
21デフォルトの名無しさん:2001/03/14(水) 20:41
デザイナーに「全てのテクスチャを16色で書け。なら結構な面積あるぞ」と
押し切ろうとしているチームがあるよ。
頭わるそーだけど、これこそが最良の解決手段かもしれない。

いや、本当に頭悪いのはPS2の開発者連中なんですけどねぇ。
彼らに「バランス感覚」ってものがあるんですかねぇ?
22デフォルトの名無しさん:2001/03/14(水) 21:13
>>21
16色にすると、Mipmapで困りませんかね?
23デフォルトの名無しさん:2001/03/14(水) 23:26
PS2でMipmapって自殺行為かも。
24デフォルトの名無しさん:2001/03/15(木) 08:38
パースペクティブコレクションってどうしてる?
ハード任せ?
25デフォルトの名無しさん:2001/03/15(木) 09:28
>>24
ゲーム業界ではない方ですね?

現状、ハード任せです。
パースペクティブのみであれば、CPUで描画してもなんとかなるのですが、
バイリニア、アンチなども世間が要求していることを考えると、
ピクセル描画はハードにせざるを得ません。

描画処理に関しては
CPUと専用ハードの性能差は常に極端に開いています。
26デフォルトの名無しさん:2001/03/15(木) 10:04
>>24
俺の場合、近隣のポリゴンは未だに分割してる・・・。
27デフォルトの名無しさん:2001/03/15(木) 10:18
>>26
PS1、サターン時代のなごりですか?
28デフォルトの名無しさん:2001/03/15(木) 10:28
最近のハードは賢そうだなあ……。
29デフォルトの名無しさん:2001/03/15(木) 12:30
>最近のハードは賢そうだなあ……。
いや、ゲーム業界では昔からハードは常に賢かったっす。
用途を絞った専用ハードにはソフトでは絶対に勝てないです。
30デフォルトの名無しさん:2001/03/15(木) 18:58
SCEIな人がココを見ていることを希望して、カキコ。
まじ、GSの容量を16Mだとか32MにしたPS2のリビジョンアップ、真剣に検討した
方がいいっすよ。あんな描画速度いらねーし、そんなVRAMじゃ描画できねーし。
だから、連射できないマシンガン なんて呼ばれちゃうんだよ〜
一度に装填できる弾数が少なすぎ。ドキュソ
31デフォルトの名無しさん:2001/03/15(木) 21:14
次世代機なのにClippingのコストを考えなくてはいかんとわ
32デフォルトの名無しさん:2001/03/15(木) 21:20
いや、だから考えなくていいんぢゃない?
33デフォルトの名無しさん:2001/03/15(木) 22:27
>>31
クリッピングコストは無料だってば。

PS2のテクスチャ容量の少なさを世界中のPS2ソフトメーカは
頭を傷めている。
34デフォルトの名無しさん:2001/03/15(木) 23:10
>30

 ま、今更言い尽くされた事だしね。今から対応されても
しょうがないよ。完全な設計ミス過去ハード。

 やっかいなのはやり様によっては凄いポリゴンが出せたり
する事。Demoっぽいところならリソース制限かけて極限まで
使いこなせるけど、いざゲームパートになるとショボーンな
事しか出来ない。で、ユーザもその落差が理解できずにプロ
グラマの腕が悪いと思い込む。む、おれもドキュソだな。

 ま、しかしある程度以上ポリゴンが出せるなら画面の質は
デザイナさんの技量が全てだわな。ちょいツマラン。
35デフォルトの名無しさん:2001/03/15(木) 23:12
>>27
現在進行形でPS1の開発ということでは?
36デフォルトの名無しさん:2001/03/15(木) 23:56
>>30
今度出るゲーセン用PS2は増えるらしいですねぇ。
PlayStation2SuperGraphics (プ
37デフォルトの名無しさん:2001/03/16(金) 00:53
>>36
4本しかソフトでなさそうな名前だな・・・
38デフォルトの名無しさん:2001/03/16(金) 01:35
>>36
マジですか? 32MのGSってチップだけで数十万するんじゃ
ないのかな? そんなの出せるメーカーって・・。T社か?
39デフォルトの名無しさん:2001/03/16(金) 07:43
確かにPS1時代も、ナムコからPS互換基盤 System11 が出てて
主な違いはサウンド周りとVRAMが2倍になったこと。
けど、あの基盤、いまいちその実力を発揮しなかったね。
VRAMも実は1Mだけ使ってたりするソフトが多かったらしいし。

当然だよね。
アーケードからコンシューマへの移植が困難になるだけだし
40デフォルトの名無しさん:2001/03/16(金) 12:00
え?国道246がどうしたって?
41デフォルトの名無しさん:2001/03/16(金) 20:19
ところでみなさんにとってDCってハードはどうでした?
開発した人あまりいなさそうですけど
42デフォルトの名無しさん:2001/03/16(金) 23:31
↑アーケードDC基盤にて下請け開発経験が一度だけありましたが
現状、PS2をも凌ぐ最強のハードウェア

圧縮した状態でテクスチャを置ける上に、その容量は8Mと、VRAMの
サイズが豊富。
結果的にミップマップも現実的に可能。

また、テレビの解像度は640*240なのだが、640*480でレンダリングし
色補完で640*240を毎VS、生成しても無傷。

これらと同じことをPS2でやろうとすると、VRAMがまるで足りなくなり
痛いどころか致命傷。ミップマップは可能であるものの、VRAMを圧迫
する上にキャッシュシステムを構築しても、CPU<->VRAM のバスをさらに圧迫
してしまう。
現状、PS2でミップマップを使った市販ソフトがほぼ皆無な理由。

ただ、あくまでも現状DC最強なだけ。
PS2も上手な使い方が見つかれば、そのうち逆転すると思う。

あと、テクスチャがVRAMに置ききれるという条件下だと
PS2の初期発表のような画像が生成可能。
43デフォルトの名無しさん:2001/03/17(土) 00:03
44デフォルトの名無しさん:2001/03/17(土) 01:53
>>42
どんだけ凄いのかと思っちまったよ。
PS2が酷すぎるだけじゃねーか。
テクスチャ圧縮?ミップマップ?640x480?何がどう最強なんだ?
それならまだxboxの方がよっぽど強力じゃん。まだ出てないけどさ。
45デフォルトの名無しさん:2001/03/17(土) 02:14
出てなければなんとでも言えるわな(藁
46デフォルトの名無しさん:2001/03/17(土) 02:37
お値段いくらになるかもわからねーし。
って、これハード・業界板行きだな。
http://cheese.2ch.net/ghard/index.html
47デフォルトの名無しさん:2001/03/17(土) 02:48
もう出てるNV20でも楽勝だわな(w
48デフォルトの名無しさん:2001/03/17(土) 03:01
うーん。みんな語気が強いのは結構なんだけれど
テレビゲーム機叩きは他所の板で楽しんでくれな。
49デフォルトの名無しさん:2001/03/17(土) 06:18
>もう出てるNV20でも楽勝だわな(w
そこが素人の陥りやすい罠なんです。
数多くの2D描画プリミティブコマンドをMainRAMから2Dラスターに
送り込むその転送量こそがネックになる時代なんです。
いくらラスター側が強力でも、コマンド転送が遅ければそこでネックになるわけです。

ハードウェアというのはあくまでもトータルな性能でみる必要があり
NV20だのたかがラスター単品で決まるものではありません。
もちろん、最近はビデオカード側にも最近はラスター以外にも
ジオメトリエンジンを搭載するようになってきていますが、CPUから
離れたところにあるぶん、融通も効かなくなります。
50デフォルトの名無しさん:2001/03/17(土) 07:02
NV20は曲面描画できるよ
51デフォルトの名無しさん:2001/03/17(土) 12:46
>>42
ただ、DCはフィードバックやブラー系のエフェクトに弱いよな。
半透明機能も使う分にはお手軽なのだが、パフォーマンスがでない。

PS2は癖ありまくりだけど、使いこなせればポテンシャルは
非常に高いハードだよね。
52デフォルトの名無しさん:2001/03/17(土) 13:28
>>49
転送量を減らすためにハードウェア頂点バッファとか
曲面がつかえるようになってんだろ(w

つかねー、コマンドとかの転送がネックになってんなら、
ラスタライズには逆に余裕が出るってことなんだけど。
ミップマップとか高解像度とか、ラスタライズに
負荷をかける処理をしても、他がネックになるなら早さは
変わらないってこと分ってる?
53デフォルトの名無しさん:2001/03/17(土) 14:34
>ミップマップとか高解像度とか、ラスタライズに
>負荷をかける処理をしても、他がネックになるなら早さは
>変わらないってこと分ってる?
あの〜質問なんですが、ミップマップがなぜ速度的な負荷になるのでしょうか?
DC(PowerVR)にせよPS2にせよ基本的にはノーペナルティです。(ミップマップの定義にもよりますが)
ミップマップして痛いのはVRAM容量を圧迫することくらいでは?
(※nVidia系も本家の資料を見る限りではノーペナルティっぽいが未確認)

>つかねー、コマンドとかの転送がネックになってんなら、
>ラスタライズには逆に余裕が出るってことなんだけど。
ラスタへの大量なコマンド転送がもたらす最も大きな懸念は
MainCPUのバスをも封じ込むことでしょ?
コマンド転送をしている間、CPUは次のFrame作成の処理の
真っ最中なわけです。バスがDMAによってロックされている間に
発生したCPUのR/Wは、全てブロックされるのが、一番の懸念材料。
かといって、ハードウェア頂点バッファでは融通が効かないことが
しばしばなんですよ。UVアニメ、頂点アニメ、環境マッピングなど。
54デフォルトの名無しさん:2001/03/17(土) 16:50
書籍には載ってない現場のノウハウの話をしてくれ〜
55デフォルトの名無しさん:2001/03/17(土) 17:09
ちょっと疑問なんですけど、

>しばしばなんですよ。UVアニメ、頂点アニメ、環境マッピングなど。
ハードウェア頂点バッファでできません?
56デフォルトの名無しさん:2001/03/17(土) 17:40
>55

その為の頂点バッファですよねぇ・・・。
8からは頂点シェーダーも付いたし。
転送量がネックにならないように凄く神経を使ってる仕様だと
思うけど>DirectX8
57デフォルトの名無しさん:2001/03/17(土) 17:50
>56
頂点シェーダー使ったら,
アニメーションや環境マップなんてお手の物ですよね.
頂点シェーダー無いなら融通効かないことも多いけど.
# できないって意味じゃなくて融通効かないって意味ね.
58デフォルトの名無しさん:2001/03/17(土) 19:32
ところで、頂点シェーダーって、
・スキニング(頂点のブレンドなど)
・TexGen系(テクスチャ座標のアニメーション、環境マップなど)
・ライティングのカスタマイズ
・タンジェントスペース系セットアップ(PerPixelBumpmapの下準備)
以外になにか面白い使い道あります?いや、これだけでも組み合わせ
によってはいろいろと便利そうではあるんですが…。
59デフォルトの名無しさん:2001/03/17(土) 19:45
>>55
アニメってのがミソなんじゃない?
頂点固定な場合は最初にハードウェア頂点バッファに転送しときゃ後々
バス占領せんけど、毎回頂点CPUで計算して頂点バッファに送ったら…
てな事を53は言いたいんじゃないかな…。
>>57
頂点シェーダーってアニメにどの程度使えるのかな…。なんでもかんでも
こなせるとは思えないけど…。詳しく勉強してないから想像なんだけど<ボケ
60デフォルトの名無しさん:2001/03/18(日) 00:30
>>59
だからスキニングアニメーションや頂点アニメーション,
UVアニメーションとかをハードウェア頂点バッファで
効率的に実行するために頂点シェーダーを使えるんですよ.
例えばスキニングなら行列(ボーン)だけを,
頂点アニメーションならウェイトだけをCPUでセットすれば済むんです.
頂点単位で固定にできる情報は全部ハードに置いとくんですよ.
そりゃ万能って訳ではないんだけど,これでも相当のことができますよ.

>>58
他には高さを基準にする等のカスタムフォグとか.
自分の好きなデータを好きなように加工できるから,
他にもいろいろ面白いことはできそうですけど.
61デフォルトの名無しさん:2001/03/18(日) 01:45
ピクセルシェーダが可能な環境なまだない上に(ほぼ皆無)
自分の場合、ペーパー知識でしかない(商品化経験ゼロ)ので
コメントなしな状態。実際に使ってみてメリットもデメリットも
出るものなんで。

どちらにせよ、頂点バッファを使ったソフトってテスト実験デモも
含めて極めて少ないんでよね・・・
62デフォルトの名無しさん:2001/03/18(日) 02:28
ピクセルシェーダとバーティクスシェーダは別物ですわ。
バーティクスシェーダなら現段階で大半の環境で動きます
よ?

 どちらにしても特に凝った事を考えない場合DirectX8の
頂点シェーダ仕様で事足りるんじゃないかと。
 ディスプレートメント系は駄目なのかな?(無知
63デフォルトの名無しさん:2001/03/18(日) 02:47
>>61
頂点バッファなら、以前から使えますし、DirectXのソフトなら
今では結構一般的につかわれているような気がしますが…。
64デフォルトの名無しさん:2001/03/18(日) 02:52
既存スレの経験から用語を統一した方がいいような。
65デフォルトの名無しさん:2001/03/18(日) 02:58
>>62
ディスプレースメント系は現在のPixelShaderでは無理だと思います。
Shaderと聞いて私もそういったPRMan的なものを想像していたんです
が、どうやら、テクスチャステージのプログラム的な柔軟性をもたせ
たものと考えてよさげなきがします。

texkillとか、使い方によっては面白いエフェクトを実装できそう
(たとえば、PowerVRのモディファイヤボリュームみたいなやつとか
できそうな気がする)な命令もあるんですけどね…。
66デフォルトの名無しさん:2001/03/18(日) 03:28
PS2のミップマップが痛いワケ

VRAMの容量が厳しくなる、というのもひとつの理由だが、
ミップマップによって、GSの描画時間が減る可能性があること
を考えれば、決定的な理由にはならない。ミップマップに
よって得られる品質は、無視できないし。

それよりも、GSがアニソトロピックフィルタをサポート
してないことが大きい。これと同じ効果を出すためには、
VUレベルで処理する必要がある。すると、VUはすぐに悲鳴
をあげてしまう。ポリゴン数も抑えなくてはならないくなる
ので、非常に痛い。

#使えるとするなら、レースゲームくらいじゃないだろうか。


MGS2の体験版。テクスチャの多くは16色。512*512を3枚使って、
テクスチャ領域は1MB。割り切った使い方をしたものだ。
あんな作り方をしたら、お金がかかるだろうに。

MGS2を見た業界関係者は、色々な意味で暗くなってることだろう・・・
67デフォルトの名無しさん:2001/03/18(日) 03:40
>>65
ほんとの意味でのディスプレースメントじゃありませんけど,
高次サーフェスとかNパッチで生成した頂点を何らかの情報で
いぢくってやれば(VertexShaderで),
ちょっとは似たようなこともできそうです.

別に高次サーフェスじゃなくてもいいですけど.
68デフォルトの名無しさん:2001/03/18(日) 08:41
>ミップマップによって、GSの描画時間が減る可能性があること
>を考えれば、決定的な理由にはならない。
逆、逆。
PS1の時もそうだったけど、ミップマップすることによって処理速度が
劇的に向上することもあるんですよ。テクスチャキャッシュヒットの関係で。

PS2のGSのVRAMは混載RAMだから、4M全部がキャッシュだというのは誤解です。
GSにはあの4Mとは別にさらに高速なキャッシュも搭載しています。
ミップマップすることで処理速度が高速化される可能性が十分にあるわけです。
69デフォルトの名無しさん:2001/03/18(日) 08:54
>>68
個人的には、ミップマップ使ってGSのキャッシュにヒットしやすく
なるメリットより、ミップマップでテクスチャサイズが増えた事に
よってVRAMへのテクスチャ転送が増えるデメリットのが大きそう
な気がする。
70デフォルトの名無しさん:2001/03/18(日) 11:35
>MGS2の体験版。テクスチャの多くは16色。512*512を3枚使って、
>テクスチャ領域は1MB。割り切った使い方をしたものだ。
↑あ、そうなんですか・・・やっぱ、頭わるいよーで、実は賢いかも。
でも、それって、優秀なドッター職人がいるメーカでないときついよねー。
処理速度を一番稼ぐのはPGではなくドッターなんだよな。

GSのメモリが少ないことが叩かれる原因になっているけど、
混載RAMすら搭載できない NV系ではキャッシュヒットが命だよね。
参照される全てのテクスチャが特定矩形内に納まっていると
フィルレートはGSの1/3にまで達するわけだし。
71デフォルトの名無しさん:2001/03/18(日) 18:11
あのーMGS2のVRAM使用状況ってどうやって分かるんですか?
他のPS2タイトルの利用状況も参考にしたいのでよろしくです
7266:2001/03/18(日) 23:49
>>68
描画時間が減る=描画が高速化される
という意味だったのだが、書き方がまずかったかな?

それを踏まえた上で、69が書いてあることと同じ
考えを持っている。

実際のゲームでミップマップを利用する場面といえば、
大きなフィールド内を歩き回るようなものが考えられる。
試してみれば分かるのだが、地面と正面の壁で、あきらか
に見栄えに差が出る。ポリゴンが傾くことによって、
サンプリングされるテクスチャの間隔が大きくなるからだ。
私の感覚だと、許せる範囲ではなかった。GSのフィルレート
よりも、むしろVUの処理能力がネックになっているPS2の
現状を考えれば、ミップマップによる品質向上を期待する
ためには、ポリゴン数を減らす、という品質低下を要求される。

品質を向上させるための方法はミップマップだけではない。
PS2の特徴を生かした方法を使えば良い(GSのフィルレート)。

ほとんどのメーカは同じ結論に達しているはず。

>>70
つたない文面から、私の言いたいことを汲み取ってくれて
いることに感謝。私もあなたと同じような感想を持った。

>>71
会社の人に聞きなさい。別に難しいことは何もやっていない。
あなたが想像している通りのことをやっただけ。あなたが
今間で真面目に開発に取り組んでいたなら、それを実行するのに
1時間もかからないはず。結局は自分の会社(開発規模)に
合ったスタイルを見つける必要があるので、それほど参考には
ならないだろう。

参考にするなら、GT、鉄拳TT、MGS2あたりが良い。
鬼武者は見てないので知らない。
73デフォルトの名無しさん:2001/03/19(月) 01:29
>72

 71じゃないけど、テクスチャ総量なんかソフト見ただけ
じゃわかんないと思うけどなぁ。一応真面目にGS飼いなら
してるつもりですけど。
640*480*4(32Bit)*2+640*480*2(ZBuf-16Bit)
って計算かな?
74デフォルトの名無しさん:2001/03/19(月) 02:24
>>73
総量はわかんないかもしれないけど、一瞬一瞬のVRAMの状況は閲覧
プログラムをちゃちゃって組めば見れるわけだし。
いろんな場面で見てみれば、だいたいのそのゲームでの使い方はわかり
ますよ。
7566:2001/03/19(月) 03:10
>>73
74が書いてある通り。

MGS2は512*512*4(場合によっては24Bit)を表示レンダ用に2枚。
Zバッファについては512*512*3(上位8Bitはテクスチャ領域)
残りの1MBがテクスチャ領域になっている(厳密に言えば
テンポラリ領域と言った方が良いか)。

全ての場面で当てはまるわけでは無いが、まずキャラクタを
レンダリング。その後背景。そして、半透明を使ったエフェクト。
この3つの処理で構成されていると思われる。
リアルタイムムービーでは、さらにフィルタ系の処理
も行っている。

処理の過程をステージとみなして見ると、テンポラリ領域の
使い方が簡単に推測できる。そのステージの切り替わり時で
ザックリと入れ替えているのだろう。

お金がかかるだろうに、と書いたのは、シーンの作り方に
大量のマンパワーを感じから。16色のテクスチャ
であったり、フィルタ処理のために、一度レンダリング
した結果を、テンポラリ領域にコピーしたり。

しかし、ユーザはそんなことは分からないわけで、
MGS2がやってるのにできないはずがない。企業努力
が足りない、などと言うわけだ。

中小企業に、そんなところまで時間とお金を割く余裕が
あるわけないだろうに。やってることが分かっても、
できるかどうかは別次元の問題なのだから。

#あれを全て自動で最適化されてるなら話は別だが、
#そうはみえない。

これを見て暗くならないなら、その根拠が知りたくなるよ。
(VRAMなんか覗いちゃったよxxx)
76デフォルトの名無しさん:2001/03/19(月) 03:43
>しかし、ユーザはそんなことは分からないわけで、
>MGS2がやってるのにできないはずがない。企業努力
>が足りない、などと言うわけだ。
実際、できなかったら企業努力が足りないのかも.
16色ゆうてもバイリニアフィルタかかるから、文面ほど
ちゃちくならないんだよな.(ただし職人が書けば)
実作業は実写なり取り込んだものを減色するんだけど、16色とも
なると手修正が絶対必要だし.
こんな状況下で、segaがps2業界に参入となると、さらに脅威

segaの出すプロダクトが世間では標準レベルと認識された瞬間、
逝ってしまう企業続出だろうな
77デフォルトの名無しさん:2001/03/19(月) 09:25
3Dモデル作る人でも「厨房」と「職人」がいるよね。

「厨房」だと、モデラーが持っている球面マッピングなどでベタ!と
張って、はい納品。

「職人」であれば、ポリゴン一頂点単位でUV修正。
例えば、帯などの表現も、本当に帯のテクスチャを貼り付けるのではなく、
横幅1Dotのテクスチャを引き伸ばして貼ったり、地の色で済む場合は
テクスチャ貼らずに、カラード生ポリゴンにしてみたり。
78デフォルトの名無しさん:2001/03/19(月) 09:41
vu1 はイッテヨシ。あれなくても、意外となんとかなるよ。
うちら零細組はミドルウェア買う金もないんでね。
EEとvu0だけで自力で頑張るのさ。
あ、ついでだから ps2 ごとイッテヨシ っていうのは禁句ね。

ps2がなくなると、もううちらゲーム屋の市場がなくなるのよ。
任天堂の外様は特に。もう、ライセンスのラの字も貰えないんです。
79デフォルトの名無しさん:2001/03/19(月) 11:50
3DMark2001を見て非常に鬱だ。
結局はマンパワーの所産らしいのは、ありがたいのかそうでないのか。

80デフォルトの名無しさん:2001/03/19(月) 15:14
3dmarkはメガデモ系のフィンランド人が小人数で作ってる。
マンパワーではない。
81デフォルトの名無しさん:2001/03/20(火) 00:49
>>78
さすがにVU1無しでなんとかなるとは思いません。
その考え方あんまりですよ。
82デフォルトの名無しさん:2001/03/20(火) 01:01
やはりゲーム業界は時代と逆行しているような気がする。
職人1人よりDirectXで妥協出来る奴10人の方が良い。
83デフォルトの名無しさん:2001/03/20(火) 07:56
>DirectXで妥協出来る奴
??極めて意味不明なんですが。
DirectXで妥協・・・とは?
これは、PC/ATで妥協という意味ですか?
84デフォルトの名無しさん:2001/03/20(火) 08:19
>>83
82ではないけど、PS2のようなVUアセンブラでガリガリとか、DMA
スケジューリングでガリガリとプログラム組むのは、世間一般のプログラム
思想の流れとは逆行してるでしょ。
85デフォルトの名無しさん:2001/03/20(火) 08:24
失礼ながら、ここ読んで納得しました。
「だからPS2のソフトは大したことがないのか。」
86hoge:2001/03/20(火) 08:28
それはココの会話レベルが低いという事か?
「失礼ながら」ってことはそうだよな?
87デフォルトの名無しさん:2001/03/20(火) 08:34
>さすがにVU1無しでなんとかなるとは思いません。
>その考え方あんまりですよ。
今、発売されているかなりの市販ソフトがvu1を一度も叩きません。
あと某社(ミドルウェアライセンス)の発表しているOpenGLも
vu1を一切叩きません。

EE(300MHz)+vu0 の組み合わせで、そこそこ行ける、というより
現状、最強の汎用演算装置だし。やっぱレジスタがあれだけ豊富に
あると、x86陣営では歯が立たないことはx-boxで実感。
だからこそ、融通性を削ってまで、頂点バッファをVRAMに逃がしたわけ
だし。(でもなぜかx-boxではVRAMには逃してないらしい)
ハードウェア頂点バッファ(in MainRAM)演算時にMainBUSがロックされて
いるか否か?なんてDirectXからじゃ絶対に見えないし。

88デフォルトの名無しさん:2001/03/20(火) 08:37
んにゃ、実際のホンネとしては3Dエンジンなんかカリカリ組んでる間に
ゲームの部分作りこみたいんだよね。いや、最初のうちはパフォ上げるの
にワクワクしたけど、もう飽きた。DirectXでいいよ俺は。

あと、77氏のカキコみて思ったけど、デザイナにリソースポイントが渡っ
てる時点でプログラマの苦労なんて意味なかったりするんだよねぇ。
いや、16色で頑張ってくれてるのは解るけどさ。
89デフォルトの名無しさん:2001/03/20(火) 08:47
>PS2のようなVUアセンブラでガリガリとか、DMA
>スケジューリングでガリガリとプログラム組むのは、世間一般のプログラム
>思想の流れとは逆行してるでしょ。
DMAのスケジューリングといってもガリガリ、ややこしいことは
ではないですし、PS2固有の問題でもありません。
あとピクセルシェーダなど、最近は再びアセンブラをプログラマーに
さらけ出す傾向があることは確かです。(PS2環境ではないですが)

>世間一般のプログラム思想の流れとは逆行してるでしょ。
3D描画にはプログラム思想のみならずハード思想の多少の理解を
必要とされているから、一見、逆行しているように見えるのだと
思います。
90デフォルトの名無しさん:2001/03/20(火) 08:52
PS2市場はなぜこれだけ冷えているか?

これは、ゲームのアプリをデザインする前段階の
ブラックボックス作成に時間を賭かりすぎるからだと思う。
91デフォルトの名無しさん:2001/03/20(火) 08:56
>>90
ゲーム関係の掲示板は、ふざけた悪口ばかりなので開発者は
いたたまれないでしょう。

でも、やはり画像で凄いなぁと思うことが少ないのは買う側
としても辛いです。
ナムコなどの大手と、大手ではない所の差がこれほど大きい
とは愕然としてしまいます。
92デフォルトの名無しさん:2001/03/20(火) 09:01
>91

 一番痛いのは画像が凄い事が売上に直結しなくなった事。
作り手としてどこに力を入れるべきか見失いがち何でしょうね。
難しいもんです。
93デフォルトの名無しさん:2001/03/20(火) 22:00
>一番痛いのは画像が凄い事が売上に直結しなくなった事。
ですね。でも直結しなくても、とりあえず画像はそれなりに
凄いことしとかないと、流通がイニシャル渋るんですよね。
で、流通に渋られると雑誌媒体からも足元見られて、露出度も減ってしまって
悪連鎖。

RPGやなんかでデバッグモードでいきなりクライマックスの魔法イフェクトを
敵にぶつけるデモを無理矢理見せたり、それはもう大変です。

94デフォルトの名無しさん:2001/03/20(火) 22:16
みなさん応援してますので頑張って下さいね。
95デフォルトの名無しさん:2001/03/21(水) 02:44
Quaternionの勉強でいろいろ探していたら、
こんなの見つけました。
http://www.gamedev.net/reference/articles/article1199.asp
「ホントにQuaternionって必要なの??」で、
「いらないっしょ? つーか数学の歴史的に見ればQuaternionは敗者で、
ベクトルと行列使った代数が勝者っしょ? プログラマーってアタマ悪いね(藁」
って内容だと思います。(英語弱いんで自信ないですが・・・)

この内容ってどうなんでしょ?
やっぱり皆さん使ってるんですよね>Quaternion
がんばって勉強するしかないのかなぁ・・・
96デフォルトの名無しさん:2001/03/21(水) 03:03
Quaternionはいらん。
9795:2001/03/21(水) 03:15
>>96
そうはっきり言い切ってもらえると、ちょっと安心です。
でも、やっぱり流行ってるっぽいですからね>Quaternion
流行りモノには弱いからなぁ・・・
98デフォルトの名無しさん:2001/03/21(水) 03:24
Quaternionは流行りモノじゃないよ。
数学では知ってて当たり前の概念。
9995:2001/03/21(水) 03:42
>数学では知ってて当たり前の概念。
そうなんですか?
今まで理系一筋だったんですが(情報系ですが)、
クォータニオンは最近知りました。3Dの勉強中に。
「知ってて当たり前」ってのはどうかと思うのですが・・・

しかし、クォータニオンについての日本語の書籍やwebページって
少ないですね・・・お勧めの本やwebページありましたら
教えてください。(日本語がいいです)
10095:2001/03/21(水) 03:45
あああ、、、検索すりャいいだけっすね・・・
あ、でも、お勧め!ってのがあったらお願いします・・・
101デフォルトの名無しさん:2001/03/21(水) 04:01
数学の歴史でQuaternionの発見は大事件。
102デフォルトの名無しさん:2001/03/21(水) 04:34
地球物理の授業ではよく使ってたな<クォータニオン
103デフォルトの名無しさん:2001/03/21(水) 06:48
真相を教えてくれ。っていうか、そういえば数学板かなんかあったっけ?
今忙しいので誰か話題振っといて。
104デフォルトの名無しさん:2001/03/21(水) 07:54
数学板は大間違いな答えを堂々とかいてることがあるんで注意
だれも読んでないのか正しい答えを書かないのも異常だが・・
105デフォルトの名無しさん:2001/03/21(水) 10:39
>>96
Quaternionを使わずに、
ジンバルロックを回避する方法を教えてくれ。
ついでにslerpも。
106デフォルトの名無しさん:2001/03/21(水) 12:17
>>105
任意の回転軸周りの回転行列を活用しませう
107デフォルトの名無しさん:2001/03/21(水) 12:34
>101
よく知らないから、ネタだと思ってしまうのだけれど、
それは本当なの?
108105:2001/03/21(水) 12:34
>>106
それ、既にQuaternionの概念が入っていると思うんだがどうよ?
109デフォルトの名無しさん:2001/03/21(水) 13:45
私ヘタレでQuaternionよく分かんないので、
使わないでいいものなら使いたくないにゃー(苦笑)
110デフォルトの名無しさん:2001/03/21(水) 14:11
>>109
安心せい、それはほとんどのヤツが思っていることだ。
111デフォルトの名無しさん:2001/03/21(水) 14:26
>>107
本当。

>>108
入ってるがQuaternionを意識しなくてよい。
112デフォルトの名無しさん:2001/03/21(水) 15:20
クォータニオンは覚えたけど使ってない。
113デフォルトの名無しさん:2001/03/21(水) 19:09
そんなにQuaternion難しいか? なにが難しいのか説明してくれよ。
114デフォルトの名無しさん:2001/03/21(水) 19:42
使うだけならむづかしく無いけど、理解不能
文系のオイラには 2乗でマイナスになる虚数ってなによ って感じ
115デフォルトの名無しさん:2001/03/21(水) 20:54
虚数っていう日本語訳自体わかりにくいような。
英語だと imaginary number だべ。
116デフォルトの名無しさん:2001/03/21(水) 21:14
どうせ座標系の概念も完全に理解して使ってるわけじゃないんだろうから、
Quaternionだって理解してなく立って使えばいいんじゃないの?
117デフォルトの名無しさん:2001/03/21(水) 21:34
>>116
>どうせ座標系の概念も完全に理解して使ってるわけじゃないんだろうから、
それはマズい。概念くらいは完璧に理解した方がよい。っつーか理解出来る。
とか言いながらQuaternionに関しては理解しないで使ってるけど・・。
118デフォルトの名無しさん:2001/03/21(水) 21:37
>>114
iをかけると90度回転する直交した座標系って考え方でもだめ?
しかし、虚数とか考えた人は偉いな〜と思う。
119デフォルトの名無しさん:2001/03/21(水) 22:04
例えば宙返り可能な飛行機の姿勢の表現方法としてPLY角だと
破綻するので、クォータニオンによる姿勢表現は必須になるのでしょうか?
120デフォルトの名無しさん:2001/03/21(水) 22:21
121デフォルトの名無しさん:2001/03/21(水) 22:39
>>115
ギャワワーー! 誰やねん「虚数」とか日本語訳したバカは!
ちょっと殺意を覚えたぞ。
122>121:2001/03/21(水) 22:58
imaginaryだって十分数学的じゃないぞ。
complexだって一般化しすぎ。
123デフォルトの名無しさん:2001/03/21(水) 23:07
>>121
じゃ夢数にでもするかい?
実数の対局として虚数とするのはものすごくわかりやすいと思うが。
124名無しさん:2001/03/21(水) 23:59
虚数って文字的にも響き的にも美しくない?
125デフォルトの名無しさん:2001/03/22(木) 00:03
ideal gusを理想気体と訳してあるのも変だね。
この場合のidealは「観念的」が適当

ってスレ違いだね。

要は訳語は変なのがいっぱいあるぞって言いたいだけデシ
126デフォルトの名無しさん:2001/03/22(木) 00:05
クォータニオンなんかいらないってっ人達は、アニメの補間とか
どうやってるのでしょうか?
いろいろな問題が、クォータニオンなら楽に(何もしなくても)
解決できるからかえって簡単だと思うのですが。
127デフォルトの名無しさん:2001/03/22(木) 00:18
>>126
Matrix補完など。
ツールによっては「間接->間接」はPLY角で出力する
ものがあります。さすがにキーフレーム間をPLYだけで補完すると
破綻するので、PLYからMatrixへコンバートしたもMatrix同士を
補完させる手法。
もちろん、キーフレームの取り方次第で妙な補完がかかることがあります。
128デフォルトの名無しさん:2001/03/22(木) 00:44
Matrix補間(補完は誤字ですか?)の詳細きぼん。
線形補間したものを正規直行化するんですか?
12995:2001/03/22(木) 00:47
>>126
そのへんも >>95 のリンク先に書いてありました。
結局クォータニオンって必要なんでしょうか?
なんか、海の向こうのプログラマーの方々も>>95の意見には
反論してるみたいだし・・・

>>120
リンク先、簡潔に書かれていて分かりやすそうだけど、
実際考えると、「むむむ!?」となってしまう私はまだ修行がたんないのかなぁ・・・
130デフォルトの名無しさん:2001/03/22(木) 02:15
>>128
まさかとは思うが行列の4x4のそれぞれの要素を補完するとか・・・そんな事は無いか。

他の方法では、回転行列から抽出したxyz軸を補完して最後に単位化するって
方法がある。あまりメリットは感じられない。
説明が無茶苦茶で分からなかったらすまん。
131デフォルトの名無しさん:2001/03/22(木) 02:17
クォータニオンでできることは全部行列でもできます。
クォータニオンの方が処理が簡単な時もあるということですな。
132デフォルトの名無しさん:2001/03/22(木) 03:18
>>130
ジオメトリブレンドって、
「行列の4x4のそれぞれの要素を補完」そのものだよ。


133デフォルトの名無しさん:2001/03/22(木) 03:54
クオータニオンなんか中身わかんなくても「便利な座標系」と
して使っちゃえばいいんじゃないかなー?使う分には難しくも
ないと思うけど。
行列なりベクトルの方が楽ならそっち使えばいいと思うし。
134デフォルトの名無しさん:2001/03/22(木) 07:34
とりあえず、実はみんなQuaternionよく分かってないらしいことが
分かったので安心(?)
135デフォルトの名無しさん:2001/03/22(木) 09:44
>>130
その方法だと、ジンバルロックの問題はやっぱり起こりそうな気がしますね。

>>132
ジオメトリブレンド(=Matrix補完?)って正規直交性も失われちゃう(=軸が
互いに直交しない || 軸の長さが1ではない)ってことですか?
うーん、結果の予測が難しそうだなぁ。

オレは>>133に同意だな。Quaternionも、他の技法も使うことにするよ。
136デフォルトの名無しさん:2001/03/22(木) 10:43
あ、えっと、姿勢表現する最適な手法は当然ですがMatrix(行列)です。
これはもう、情報量も多いですし、直行座標以外も表現できるという
点で絶大なのです。(メモリ消費量が激しくても気になりません)

では Quaternion がなぜ登場したかというと、
二つの姿勢の間を表現する段階では Matrix->Quaternion へと
コンバートして、Quaternionレベルで補完した方が、奇麗に
補完がかかるからです。(奇麗にというかどんな状態でも補完可能)

つまり、単純に姿勢だけを表現したければ Matrix、
複数のMatrix間を表現したければ 一度 Quaternionへコンバート。

という感じになります。

虚数が登場するのは、Quaternionへのコンバート段階での証明する
際のツールとしてです。所詮、係数同士の掛け算をどのようにするか?
と考える段階で虚数を用いて考えるというだけであり、Quaternionへの
コンバート、(或いは逆コンバート)を考えるだけならば完全に
ブラックボックス化しても構いませんし、実際、そのまんま商品化して
しまったプロジェクトも見たことあります。
137デフォルトの名無しさん:2001/03/22(木) 13:55
>>136
その補間はQuaternion使わなくてもできるって話では?
138デフォルトの名無しさん:2001/03/22(木) 16:34
任意の3x3の正規直交行列は単位行列をある軸を
ある角度方向に回転させても得ることができます。
(右手系か左手系かは決めておく)
これは行列をクォータニオンに変換するときと同じ処理です。
同様に任意の3x3正規直交行列と3x3正規直交行列との間には、
回転軸と回転角度が存在しこれを求めることができます。
ですので、これを求めて後は回転角度を線形補完することで
クォータニオンを用いずともSlerpできますがクォータニオンで
処理するのと比べてメリットがありません。
139デフォルトの名無しさん:2001/03/22(木) 17:08
実はクォータニオンを使わない方が高速なのだが、
今の時代、どっち使っても全体の速度には影響しない。
好みで選ぼう。
140デフォルトの名無しさん:2001/03/23(金) 00:05
ちなみにクォータニオンがここまで騒がれた理由はなんででしょうか?
任意軸回転するだけなのに、なんでクォータニオンが出回ったのでしょうか?
ちょっとした疑問です。
141デフォルトの名無しさん:2001/03/23(金) 00:28
>>140
いや、任意軸回転がとても重要だからでしょ。
IKの計算なんかもクォータニオンだと楽だよね。
142デフォルトの名無しさん:2001/03/23(金) 01:08
確かモーションカメラとかの制御にも使われてたと思うけど・・・クォーターニオン。
違ったかな?
143デフォルトの名無しさん:2001/03/23(金) 03:26
えと、PC系プログラマに質問です。
DirectXに巨大な三角形ポリゴンを与えたりした時などで
透視変換直前の時点のz座標が負なものがある場合、
どのような振る舞いしてくれるんでしょうか?(ハードウェア頂点バッファ使用時)
xyはもちろんのこと、rgbだとか、tu,tv なども切断面で奇麗に
分離してくれるものなのでしょうか?
144>>141:2001/03/23(金) 05:56
俺はIKも行列のが楽(笑
145デフォルトの名無しさん:2001/03/24(土) 11:53
任意軸回転そのものはできるのですが、
二つの行列があって、その両者を補完するその任意軸そのものって
どうやって求めるのでしょうか?
ネットで調べたり、書籍でも調べたのですが、この知りたい情報がどこにも
なくて困ってます。

146デフォルトの名無しさん:2001/03/27(火) 14:29
VooDoo とかのWバッファって何ビットなんですか?
147デフォルトの名無しさん:2001/03/27(火) 17:43
話題になんないけど、KYROってどうなん?
148デフォルトの名無しさん:2001/03/27(火) 23:26
>>145
回転行列から、回転軸と回転角度を取得する
ってところがポイントでいいのかな?

回転行列から座標系のx軸、y軸、z軸がわかるから、
その3つのベクトルを足したベクトルが、
(1,0,0)、(0,1,0)、(0,0,1)の3つを足したベクトルから
どのように任意軸回転されているかを調べればよさそうな気がする。
自信ないけど、どうでしょ?
詳しい方、よろしく。
149148:2001/03/27(火) 23:33
あちゃー、ダメダメじゃん。
ぜんぜんダメだ・・・
まじで鬱だ・・・スマン・・・
150>>145:2001/03/28(水) 00:49
それ面倒。素直にクォータニオン使えば?
151デフォルトの名無しさん:2001/03/28(水) 00:56
>話題になんないけど、KYROってどうなん?
触ったことすらないけど、実際に動いてる画面見ると
「PS2の最低ラインって当初はこんな予定だったよな」って感じ。

>VooDoo とかのWバッファって何ビットなんですか?
ニセ浮動少数で、16Bitです。内訳は4Bitの指数部と12Bitの仮数部。

どこでコンバートしているかは不明。
ソフト(ドライバ)かもしれないし、ハードかもしれない。
152デフォルトの名無しさん:2001/03/28(水) 09:50
>>150
外積で一発ちゃうの?
153クォータニオンage:2001/04/05(木) 01:26
>>152
すみません、やり方教えてください。。。
154デフォルトの名無しさん:2001/04/24(火) 09:09
age
155デフォルトの名無しさん:2001/04/24(火) 12:08
>>153=154
自分で調べろ
156行列age:2001/04/24(火) 14:06
回転行列ってサー、結局は3つの直行するベクトルなんだよねー?
だから線形補間なんて、それぞれのベクトルごとに線形補間すりゃーいじゃん。
正規化が必要かな?。
157 :2001/04/24(火) 14:27
QuaternionのSlearpの軸って固定じゃないんじゃないの?
外積で求めた軸回りの回転と同じ軌跡を書くの?

同じだったらQuaternionの存在価値ないような、、、
外積の場合は比較する2軸の選び方の問題があるか、、、
(一度やってみようとおもいつつ、実験してないよ)
158デフォルトの名無しさん:2001/04/24(火) 14:48
>>145
任意の回転量の間を任意軸周り回転1回で現すことはできません
159154:2001/04/25(水) 02:24
>>155
いや、別人なんだけど、このスレなくなって欲しくなかったからあげてみただけ
160デフォルトの名無しさん:2001/04/25(水) 06:52
>>156
そのやり方だと、球面上での線形補間にならないと思うんですけど。
161156:2001/04/25(水) 13:22
>>160
なんか、話の流れがよくわかっていなかったようです。
これだと行列>行列間のLERPですね・・・

だけどSLERPって一体なにに使うの?
quaternionのスプライン補間のときつかうぐらいしか思いつかないんだけど。
だけど、これも行列で計算したほうが早いような気もする。
162デフォルトの名無しさん:2001/04/25(水) 13:32
>>161
QuaternionだとQuaternion同士の合成は高速にできる。
姿勢情報を取り出すのにいちいち行列からxyz軸抽出して正規化
なんてしてたら遅いでしょ?
まあキーフレームアニメーションに対してはそんな無理して使う
必要はないかと。それでもxyz正規化x2よりはQuaternionの方が速い
んじゃないかなあ。
163156:2001/04/25(水) 14:46
>162
>quaternionのスプライン補間のときつかうぐらいしか思いつかないんだけど。
>だけど、これも行列で計算したほうが早いような気もする。

のレスとして受け取っていいのかな?
quaternionの補間ってsinとかacosとか使うと思うんだけど、
この辺のコストってどれくらいなのかな?
確かに行列でやると掛け算だけで200こえるけど・・・・
164デフォルトの名無しさん:2001/04/25(水) 15:23
>>163
acosとsinは確かにコストが高いけど、行列間の場合、
補間前の正規化でxyz軸に対して正規化(sqrt)、補間後の正規化
でまたxyz軸に正規化、計6回のsqrtが必要だからこれに比べたら
幾らか速いでしょう。
補間前の正規化は、各軸が単位化されているという前提なら必要無し
だけど、そんな回転のためだけに行列を用意するのはいささか冗長
な気が。
それに、Quaternionを使うと逆回転の計算が凄く簡単なのも利点かも。
回転行列からだと逆行列を求めないといけないし。
165デフォルトの名無しさん:2001/04/25(水) 15:42
>回転行列からだと逆行列を求めないといけないし。
回転行列の逆行列は、転置するだけだが…
166デフォルトの名無しさん:2001/04/25(水) 15:53
>>163
オレは「Quaternionなど要らん」派だけど
最短コースの算出は行列では難しいぞ
最短=最適ってわけでもないし、無制約&最短コースが必要な
場面なんてほとんどないから特に困ることも無いが
167164:2001/04/25(水) 16:11
>>165
あ、そりゃそうだ。失礼。
168 :2001/04/25(水) 16:35
>>162
え、Quaternion同士の合成なんてするんだ
quaternionをMatrixに変換して、Translation情報を乗っけた4*4MATRIX
同士を掛けてるんだけど、それって馬鹿?

つか、4*4Matrixって、あんまり使わないの? PS1は3*3Matrixだったよね?
169DQN:2001/04/25(水) 16:49
>それに、Quaternionを使うと逆回転の計算が凄く簡単なのも利点かも。

スマソ。逆回転なんて何に使うの?
170デフォルトの名無しさん:2001/04/25(水) 17:01
>>168
キーフレームアニメでキーとキーの間の補完はQuaternion同士でやるといいよ。
と言うかそれがQuaternionの真骨頂・・・。
4*4は標準的だよ。
PSは3*3+平行移動だったっけ?あれはいい加減だった。

>>169
ピッキングとかIKとか結構用途は限られてるけどね。
171DQN:2001/04/25(水) 17:06
回転角度制限とかってイイ方法ないですか?
Quaternion→行列に角度に戻して、、、しかないんでしょうか?
172デフォルトの名無しさん:2001/04/25(水) 17:30
>>171
行列のところでストッパー仕込んだら?
173156:2001/04/25(水) 18:02
>>164
そっかー補間前にも正規化が必要なのを忘れてたよ。
じゃーキーフレームにはquaternion+locということで・・・・・
174デフォルトの名無しさん:2001/04/25(水) 20:27
挌ゲーみたいに、モーションの途中でキャンセルして
他のモーションに滑らかに繋ぐ、なんてのをやると、
やっぱquaternionマンセーですな。

試しにXYZでやってみたりすると、めちゃくちゃ面白い
アクションが見れたりもしますが。
175デフォルトの名無しさん:2001/04/26(木) 00:22
sin()cos()の複雑な式を立ててがんばった人に合掌
176デフォルトの名無しさん:2001/04/26(木) 00:37
>>174
>試しにXYZでやってみたりすると、めちゃくちゃ面白い
>アクションが見れたりもしますが。

最初と最後は合ってるんだけど、途中で回り道をすると言う事でしょうか。
177デフォルトの名無しさん:2001/04/26(木) 11:48
>>176
そのたうり
178デフォルトの名無しさん:2001/04/26(木) 13:36
>>177
そりはバグ
179デフォルトの名無しさん:2001/04/26(木) 17:31
>>176
まわり道なんてレベルではない事も多々あります。
角度制限も付けなかったりすると、もう人外の動きです。

>>177
バグではなくXYZで補間するという事は、そもそも
そういうものなのです。
180179:2001/04/26(木) 17:32
間違えた、
>>177>>178宛てです。
181178:2001/04/26(木) 17:57
>>180
XYZって角度のこと?
それなら納得
182デフォルトの名無しさん:2001/04/26(木) 20:03
俺、クォータニオン使ってないけど特に困ったことないなぁ。なんでだろ?
183デフォルトの名無しさん:2001/04/27(金) 11:21
>>182
補間とか使ってる?
ただのアニメーションの補間だけなら、デザイナーさんが
破綻しないようなキーを打ってくれてるのかもね。

アニメ間補間すればすぐに問題出てくるよ。スロー再生でも
出てくる場合あり。
184デフォルトの名無しさん:2001/04/27(金) 16:21
>>182
たいした仕事をしてないと思われ
185デフォルトの名無しさん:2001/04/27(金) 21:45
>>139 に激しく同意
最近クオータニオン使っていろいろ、ライブラリマクロ作ってたのですが。
クオータニオンでできたアルゴリズムがすぐにそれより高速な行列の計算になってしまう。
どうにも原因は、

1.回転角度1/2問題
 クオータニオンは回転角度を1/2で設定する必要がある、これがクセモノ。
 倍角公式とか使って駆使しないとどうにも高速化しない。
 直感的でもなくなって、式が下品になる。

2.並列計算できると最速アルゴリズムが変化してくる
 VUみたいに大量に並列計算できると、それを有効に使ったほうが効果的。

というところですかね。

クオータニオンがどこまで速くなるか、いろいろやってみたところ・・・
外積+内積+スケーリングで13クロック、これ以上はならんって感じでした。
まあ、回転だけを連続計算するならクオータニオンがちょっと有利って感じを受けます。
平行移動まで考えたら、私は素直に行列つかってます。
回転軸割り出しとか、こちらからの方でもできますし。
場所によって分かりやすい方使うのが理想的とおもう。

#やっぱり外積と内積は数学の歴史がたどったとおり、バラバラの方が使いやすいと思った。
186185:2001/04/27(金) 21:48
でもPCならクオータニオンもありかな・・・
187デフォルトの名無しさん:2001/04/27(金) 22:01
>>185
同じく激しく同意
最終的に行列に帰結するのは必然のような気も・・・
適材適所も必然

オイラー角 --> プログラマ以外がデータを打つ時
クォータニオン --> 回転情報のみで済む時
行列 --> 平行移動&スケーリングとかも持たせたい時

って感じかなー
188デフォルトの名無しさん:2001/04/27(金) 22:14
>>185
>1.回転角度1/2問題
????どう言うインターフェイスで扱ってるの?
あるベクトルからあるベクトルに向けるQuaternion?
任意軸回転行列で表わそうとすると余計に計算が大変じゃ無いかな。
189185:2001/04/27(金) 22:30
>188
あくまでPS2の話なんですが。

1.任意軸回転行列を作った後に回転+平行移動する。
2.クオータニオンで回転+その後平行移動する。
3.クオータニオンで回転その後行列になおして計算する。

の三つで試してみたのですが、回転ばかり連続計算しなければ1が最速でした。

さすがにインターフェイスは普通の角度です(そうでないとやってられません(^^;)、内部の式がそうなのです。
190185:2001/04/27(金) 22:34
あと、倍角公式つかうというのは、クオータニオンをいじくり倒すときです。
回転するだけらは 0.5 かければすむ話です。
191185:2001/04/27(金) 22:44
>>188
ひっとして直角方向が分かっているケースでしょうか、もしそうなら異論ないです。
192デフォルトの名無しさん:2001/04/27(金) 23:02
よし、漏れもSSEで挑戦って気持ちにはならんな
こんだけやる気の出ないアーキテクチャも大したものだ
スループット2、水平演算不可、2オペランド、レジスタ8本
梗塞パイプ、貧弱デコーダ、これらを補って余りないクロック
鬱だ
193188:2001/04/27(金) 23:05
>>189-191
なるほど。simdで処理すると行列の演算は高速ですからね。
まあ私の場合あくまで利便性でQuaternionを使っているんで
速度に対してはあまり期待してません。
最終的に行列にして座標変換するんで最初から座標にしておくのが
一番なのかも知れないけど、姿勢情報なんかはスケールが付いた
行列から一々抽出するのはなんかイヤなんですよ。
>ひっとして直角方向が分かっているケースでしょうか、もしそうなら異論ないです。
直覚方向はベクトル同士の外積です。で、角度は内積。
実際はバンクを付けたく無いから多少複雑になるけど、それなりに
すっきり組めます。
194デフォルトの名無しさん:2001/04/27(金) 23:07
>>192
それが普通の人の感性なんで、気にしないことにしよう。
少数派でいいなら、PowerPCのAltivecなんかは好きです。
195デフォルトの名無しさん:2001/04/28(土) 00:36
>>184
俺のこと?
196デフォルトの名無しさん:2001/04/28(土) 15:19
最近Direct3D8をはじめた者ですが、
多くの人は数値演算系のライブラリをどうやって作っていますか?

1. 自作
2. D3DXライブラリ
3. 誰かが作った強力なライブラリ

自作が一番勉強になるとは思いますが、使い物になるものが何時できるのやら…。
いつまでたってもゲームが完成しないことになりそうで恐いです。
197デフォルトの名無しさん:2001/04/28(土) 21:51
>>192
pentium4はスループット1だよ
gf3でvertex shader,pixel shaderした方が楽しいか
198デフォルトの名無しさん:2001/04/29(日) 01:12
>いつまでたってもゲームが完成しないことになりそうで恐いです。
ゲームを作るのが目的ならば、素晴らしいlibをネットで検索して
使うのがいいと思います。

ゲーム作りそのもの、lib構築そのものを楽しみたいのならば
その手の演算系libは自作するのがいいかと。
ゲーム用のlibなんて一人でもなんとか構築できる範囲内です。
もちろんlib構築そのものに楽しみを感じれる人ならばの話だけど
199デフォルトの名無しさん:2001/05/01(火) 04:16
ひときわ濃ぃ 185 の方は一体・・・(まぁ、ええか)

> 最近Direct3D8をはじめた者ですが、
> 多くの人は数値演算系のライブラリをどうやって作っていますか?

演算系 lib は、環境に依存しないものを一つ持っておくと、
作業環境の引越しをするときはラクチンでいいですよ。
私は自作のモノを一つ用意してあります。
200デフォルトの名無しさん:2001/05/01(火) 23:31
>>196
DirectXのソースを参考にして自分で組むべし
ライブラリに自分の欲しい関数があると思ってはいけない
ベクトルの回転だけは自力でこなせ
201デフォルトの名無しさん:2001/05/03(木) 01:32
クオータニオンって、外積+内積なんですか?
その辺り、もうちょっと詳しく知りたいです。
202デフォルトの名無しさん:2001/05/03(木) 12:55
射影変換とビューポート変換ってなんですか?
DirectX使ってマターリ組んでたら、自分でワールド座標をスクリーン座標に直すことができません。どなたか助けてください。
203デフォルトの名無しさん:2001/05/03(木) 14:30
>>202
それは書籍に載ってる3D技術だから
204デフォルトの名無しさん:2001/05/03(木) 23:30
これがまた載ってないんですよ。
ワールド座標に直した座標を視点座標に直して、スクリーン座標に直して
うにょうにょってやりますよね?
ここまではワールド座標にカメラの行列を掛けてやって、射影変換行列
っていうのを掛けてやればできますが、問題はその後なんですが、
ここからのビューポートの変換ってどうやるのですか?
っていうかですね。射影変換のところからさっぱりわかっていません。
射影変換については一応本で解説されていて
要はカメラ座標からスクリーン座標に直すものって書いてありましたが、
入ってくる値を見るとどうもそれらしい値ではない感じです。
別に使っても使わなくても大して変わらないような値が入ります。
ちょっとした誤差のような感じです。
スクリーン上の座標にはなってくれないのですが。
それで射影変換とビューポート変換ってなんだ?ということなんですが。
ビューポート変換については何者かすらわかりません。
DirectXに設定したものはスクリーンの幅とか高さとかいれたような
気がしててそのときはただクリッピングでもしてくれるだけかと思ったんですが。
違うみたいですね。
205リハビリ中:2001/05/03(木) 23:36
>> 204

線形代数の教科書を読もう。
206デフォルトの名無しさん:2001/05/04(金) 00:22
>>204を読んで思ったのだけれど
DirectX(&OpenGL)使っている人って
ブラックボックスのまんまプログラミングして人多いの?
207aa:2001/05/04(金) 00:42
最近プログラムを始めた者です。
ゲーム制作に興味があって2Dや3Dの絵のことを色々調べてたり、
ちまちまと勉強プログラムを書いたりしているのですが、
VoodooのAPIだった「Glide」の開発キットはもう手に入らないのでしょうか。
Direct3D8がやたらと難しくて困っていまして、webで読んだGlideの
シンプルさに惹かれてます。2Dの表示にも便利そうですし。

>>204
DirectXのヘルプに詳しく書いてあると思います。
208デフォルトの名無しさん:2001/05/04(金) 01:33
いえ、書いて無いようです。
書いてあるのは射影変換までだったと思います。しかも行列だけ。
ここのところの解説ってありましたっけ?
209デフォルトの名無しさん:2001/05/04(金) 01:37
書籍に載ってないとは言え、
付録CDのサンプルソースにあるような気がする。
少し古いDirectXSDKのサンプルにもあるんじゃ?
210デフォルトの名無しさん:2001/05/04(金) 02:24
>>208

ちゃんと探せよな。

クリッピングで検索すれば見つかる。
211デフォルトの名無しさん:2001/05/04(金) 03:42
ほんと射影変換行列とビューポート行列の関係ってどうなんだろうね。

どう考えてもWorld*View*Projection行列で一旦
クリップボリュームに変換してクリッピングしてから、
Viewport行列でスクリーン座標系に変換することになるよね。

2回座標変換が必要になるんだけど、これでいいんだろか。
212211:2001/05/04(金) 03:49
もしかして、
クリップ平面をWorld*View*Projectionの逆行列で変換して、
オブジェクト座標系でクリッピングを行ってから、
World*View*Projection*Viewport行列で座標変換するのか。
213デフォルトの名無しさん:2001/05/04(金) 04:11
>>204, 208
OpenGLの赤本とか、Mesaのソースとか眺めると良いかもよ。
DirectX8のヘルプにものってた筈。
214デフォルトの名無しさん:2001/05/04(金) 04:39
>>207
Googleでg3sdk.exeとでも検索してみ。
215デフォルトの名無しさん:2001/05/04(金) 09:36
>>208
絶対載ってる
書籍にもよるが
載ってない本ならヤバイ本だと思う
http://www.realtimerendering.com/
でも読んどけ
たまには英語の書籍もイイゾ
216215:2001/05/04(金) 09:41
行列が載ってるなら
それが影響されるベクトルのどの要素にどう関わってくるか
整理して考えろ
217デフォルトの名無しさん:2001/05/04(金) 11:59
DirectXの行列のスケーリングについて質問です。
Matrixを2倍に拡大するように設定して、
SetTransform( D3DTRANSFORMSTATE_WORLD, mat );
みたいにしてるんですが、法線情報にまでスケーリングが影響するらしく、
拡大すると物体が暗くなってしまいます。
現象自体が通常考えられる逆なので、なにか致命的なミスを犯してると
思うのですが・・・よろしくお願いします。
218デフォルトの名無しさん:2001/05/04(金) 12:03
>217
頂点が2倍遠くに行く事になって、フォグで暗くなるってこと?
219217:2001/05/04(金) 13:04
>>218
いえ、フォグかけて無いので、単純に法線の長さに影響がでてしまっているみたいです。
220デフォルトの名無しさん:2001/05/04(金) 13:45
今更射影変換についてわかったり、
自分が考えていたものより変なものだったりして。
Bio100の過去ログでも見つけましたり。
hヌイときました。別にどうでもよさそうだけど。
ttp://www.bio100.co.jp/cgi-bin2/3df/flashviw.cgi?mode=set&no=3636
付き合ってくれた皆さんありがとうございました。
221デフォルトの名無しさん:2001/05/04(金) 15:20
世間のゲームではライトマップの生成をどうしてんの?
LightWaveのAtlas展開+LWBakerを利用できたらお手軽だけど実用になる?
222デフォルトの名無しさん:2001/05/04(金) 21:41
>>221
ほとんどのゲームは頂点カラー焼付けな気がする。

QUAKE系だと複数枚のライトマップを一枚のテクスチャに入れ込んでるけど、
あれのフィッティング(?うまく収める)アルゴリズムってどうやるの?
223aa:2001/05/04(金) 22:23
>>214
おかげさまで見つかりました。
ありがとうございます。
224221:2001/05/05(土) 02:42
225デフォルトの名無しさん:2001/05/05(土) 22:22
昔の宇治社中にQUAKEのライトマップの解説があったけど・・・.
実用性とかはやっぱり不明。
226Hemoguro:2001/05/06(日) 17:48
フリーの頂点カラー焼付けできるツールないすか?
ラジオシティまで言いませんから
227数学赤点野郎:2001/05/06(日) 22:11
ねえねえ、
class Vector {
public:
  Scalar x;
  Scalar y;
  Scalar z;

  Vector(Scalar x=0, Scalar y=0, Scalar z=0);
  void Set(Scalar x_, Scalar y_, Scalar z_);
  ...
}
これってスカラーって語の用法のひとつとして適切ですか?
てきとーにfloatにtypedefしてあるんですけども。
228デフォルトの名無しさん:2001/05/06(日) 23:08
229数学赤点野郎:2001/05/07(月) 00:43
むむ、結局これでいいのかにゃー。
よくわかんないや(ぉ
230デフォルトの名無しさん:2001/05/07(月) 01:27
>>229
間違っては無いと思うけど、あまり適切ではないと思う
幾何学でスカラって言うと、>>228のリンク先の説明よりも
方向を持たない量を表す意味合いが強いと思うし
231数学赤点野郎:2001/05/07(月) 11:34
うむ。やっぱなんかヘンですナリね。
サクッと全部floatに置換しちゃいます。どうもありがとー。
232デフォルトの名無しさん:2001/05/07(月) 20:16
>>201
>クオータニオンって、外積+内積なんですか?

外積+内積+ベクトルスカラー倍×2かな?

こういう仕掛け
クオータニオン x + yi + zj + wk の虚数部をまとめて ( w , v ) 見たいな
ベクトルとスカラーの組で表現するとして
C言語の構造体っぽく '.' でこんな風に表現しておきます。

C.v = A.v × B.v + A.w * B.v + B.w * A.v
C.w = A.w * B.w − < A.v , B.v >

ただし
× 外積
<a,b> 内積
* はただの掛け算

詳しく知りたいならベクトル線型代数やらの数学史関係の本が面白いよ線型代数の生い立ち良く分かるし。
ただし暇なら。(^^;
233デフォルトの名無しさん:2001/05/08(火) 17:40
> 詳しく知りたいならベクトル線型代数やらの数学史関係の本が面白いよ
> 線型代数の生い立ち良く分かるし。

本の名前とか知りたいっす。
良かったら教えて〜。
234デフォルトの名無しさん:2001/05/09(水) 21:36
数学史の本に関しては図書館でよんだから書籍名までは良く憶えてないです。

で、ちょっと手元を探したのですが、超複素数という本がありました。
これは、数学史については余りかかれていませんが、かわりに
複素数からハミルトン四元数(いわゆるクオータニオン)さらに
ケーリー八元数さらに多元環へと順次拡張する過程がかかれています。
外積とかにちょっと難しいがなどというコメントなぞ入っていますが
3Dゲーム作ったことある人ならぜんぜん平気です、むしろそれ以外の部分が
難しかったりする(といっても、他の本と比べればかなり噛み砕いた説明になってます)。
面白い本ではありますが、3D処理で参考になるようなところは無いかも(^^;
回転方法くらいは書いてありますが・・・
この種の代数の全体像を理解するにはちょうどいいかも、説明はこの種の本では
とてもやさしいです。

もし、実戦で役立てたいなら群・環・体論(これは大きい本屋にいけば大量に
あると思うので合いそうなので適当にどうぞ)
の本でハミルトン四元数とかいう項目が入っているのをどうぞ、
ただしちょっと抽象的な数学なので難しいかもしれません。

実戦であればCG関係の本でなんか直接的な説明のある本も
あった記憶がありますが、ちょっとなんだったか忘れました。
確かOpenGLの本で、そこのサンプルでかかれていたような気が・・・

実戦なら、ウエブ上のこってり屋のとことかもいいですよね。
リンク忘れた、どこだっけ?
235sage:2001/05/09(水) 21:45
ん、
良く考えたら 群・環・体はクソ理屈だけだ、ごめん。
やっはCGやら物理やらの本でクオータニオン取り扱う本がいいですかね?
物理なら慣性主軸とかっといったキーワードで探してみてはどうでしょう?
236デフォルトの名無しさん:2001/05/10(木) 00:07
>>234
超複素数良いよね。
4元数の計算式が一通り乗ってるから、ソース起しやすいし。
秋葉の書泉数学コーナーにたまに置いてる。
237デフォルトの名無しさん:2001/05/10(木) 03:10
>>234 >>235
本の紹介、ありがとうございました。
238Hestenes:2001/05/10(木) 10:19
四元数quaternionは航空宇宙技術の分野で姿勢行列の表現として
六十年代から使用されています。慣性誘導・航法及び姿勢制御の
分野です。四元数とは要するに三次元ユークリッド空間上に於ける
八次元クリフォード代数のeven partのスピノル表現に他なりません。
これが四次元時空上ですと、十六次元のスピノル表現になり、
Dirac代数sedenionともよばれます。しかし、スピノルとして
統一的に理解した法が良いでしょう。クリフォード代数をよく勉強
して下さい。
239デフォルトの名無しさん:2001/05/10(木) 11:01
http://www.amazon.co.jp/exec/obidos/ASIN/4627061110/qid=989459950/sr=1-1/249-4222275-7090728

超複素数検索したけど、微妙にタイトル違うけどこれでいいの?
アマゾンは今送料ただらしい〜
240デフォルトの名無しさん:2001/05/10(木) 14:25
そうそう、ソレ
241デフォルトの名無しさん:2001/05/10(木) 14:32
>>238
そこまでやるっ(^^;
242デフォルトの名無しさん:2001/05/10(木) 15:10
>>238
クリフォード代数のやさしい本紹介してもらえませんか?
当方、群論とかが一通り使える程度、いまリー代数で悪戦苦闘中というところです。
243Hesteness:2001/05/10(木) 15:16
>>242
http://modelingnts.la.asu.edu/html/NFCM.html
価格(税別): ¥33,015
244デフォルトの名無しさん:2001/05/10(木) 15:17
245242:2001/05/10(木) 15:29
>>243
できれば和文の方がうれしいのですが、ここは気合で読んでみます。
どうもでした。
すばやいレスありがとう御座います。
246デフォルトの名無しさん:2001/05/10(木) 15:35
quaternion=八次元クリフォード代数のeven partのスピノル表現

クリフォード代数>>>>>>>>>>>>>quaternion
247Tim Sweeney@Programmer of Unreal Engine:2001/05/10(木) 15:41
I've been reading up on Clifford Algebra (heard about it from
a link on your site), and it's REALLY cool. While I haven't
done significant programming with it yet, the symbology of
common vector and matrix algebra operations with Clifford Algebra
is a lot nicer than with matrices. I think this is definitely
valuable to hardcore 3D programmers.

Two really good books I've found on the topic are:

http://www.amazon.com/exec/obidos/ASIN/9027725616
http://www.amazon.com/exec/obidos/ASIN/0471608394

Though, the books are fairly hardcore...one probably needs to
have studied mathematics up to vector calculus to really make
sense of the terminology.
248Tim Sweeney:2001/05/10(木) 15:43
This subject is addictive... :) Here is another good introduction:

http://www.mrao.cam.ac.uk/~clifford/introduction/intro/intro.html

I'm just getting started on writing some code to represent geometry
using Clifford algebra (i.e. in 3 dimensions, a multivector is an
array of 8 components: a scalar, a 3-component vector, a 3-component
bivector, and a pseudoscalar). I'm not sure how useful this will
really prove to be for rendering, but it's interesting research.
It neatly explains things that matrix algebra obfuscates, like "why
normal vectors transform differently than points.
249デフォルトの名無しさん:2001/05/10(木) 15:52
>>247-248
sageてる辺り、手馴れてる外人さんだな(藁
っつーか、既に数学板の内容っぽい。>http://cheese.2ch.net/math/index2.html
250デフォルトの名無しさん:2001/05/10(木) 16:08
くっ、くそっ、NOVA に行って英語の勉強したくなってきた。
いつも行き着くところは英語の壁です。
251デフォルトの名無しさん:2001/05/10(木) 16:56
>>234
こってり屋
http://village.infoweb.ne.jp/~tsuyozou/index.htm
ってゆうかどうなってんだよこのスレ
鬱だ死のう。
252デフォルトの名無しさん:2001/05/10(木) 17:16
つまり、3Dとは、2*2*2*2=16Dのクリフォード代数なのであり、
我々は16次元のクリフォード代数の中で踊っているにすぎない。
(書籍には載っていない3D技術)
253242:2001/05/10(木) 17:27
>つまり、3Dとは、2*2*2*2=16Dのクリフォード代数なのであり
ああなるほど、そういう多元環な訳ですね。
なんとなく構造が想像できてしまいました。
254デフォルトの名無しさん:2001/05/10(木) 17:34
うわっ、なんか妙な展開になてるよ!
>>240 本の名前の件さんきゅ〜。早速オーダーします
255デフォルトの名無しさん:2001/05/10(木) 19:07
>>247-248
どっかのコピペだよね?
じゃなかったら…あわわわ。
256小学生:2001/05/10(木) 19:15
256、も〜らい。
257242:2001/05/10(木) 20:01
>>255
そりゃそうでしょう、こんなとこに来る外人なんかいないって。
テンソル目がチカチカしてて嫌だったんでちょっと便利かも。

>>248 このリンクいいね。
クオータニオン反対派だったけど宗派変えしようかな。
まあ、微積がかかわななきゃどうでもいいか。
258デフォルトの名無しさん:2001/05/13(日) 23:06
ラジオシティやりたーい
259デフォルトの名無しさん:2001/05/14(月) 12:44
>>258
おれも〜
260DQ:2001/05/14(月) 13:45
ガイシュツではないと思うので書きます。
以前Dual Quaternionなるものを使ったことがあります。
通常のQuaternionは回転しか扱えませんが、
こいつは並進・回転を同時に扱えます(拡大は出来ない)。
確かパラメータは8つ(よってDualらしい)です。

もう2年くらい前なので中身はほとんど覚えていませんが、
探せばPerlとJavaのソースがまだあるかもしれません。
それ以降は行列とQuaternionで生きたので数学的な中身もサッパリです。
ただ計算コストがかかるなぁ〜と当時は思いました。

以上、まだ行列をまともに扱えるように前の思い出です。
261デフォルトの名無しさん:2001/05/14(月) 14:15
>>260
そんなのもあるんだ、それは
RV^R
の形式でしたか?

#^R <- これ嫌い。
262デフォルトの名無しさん:2001/05/14(月) 14:28
>>260
Quaternionでもスケーリング出来ます。
w, x, y, z 全てにに sqrt( scale ) 掛けるだけ。
各成分ごとの拡大は出来ないみたいだけど。

>>261
QuaternionとVectorの掛け算はコストが大きいので、
QuaternionからMatrixに変換してからの方が良いです。
Quaternion同士の掛け算は高速なので、多関節の演算だけQuaternionとかにしてます。
263DQ:2001/05/14(月) 15:50
>>261
ゴメンなさい。不勉強なためRV^Rが何を表すのかわかりません。

>>262
説明不足ですいません。拡大、といったのは行列でできる成分ごとの拡大を意図していました。

一応DQのPerlソースがあったんですけど、古い作なので恥ずかしい表記ばかり。
希望があれば多少リファインして挙げますけど…ココは流石に(^_^;
264DQ:2001/05/14(月) 16:06
>>261
あ、もしかして並進・回転の行列の順番のことなのかな?<RV^R
だとしたら多分VRです。
265DQ:2001/05/14(月) 16:25
>>264補足
コマだしスマソ。補足です。DQでV・Rになってて
DQ・DQだとV・R・V・Rと等価になります。
で^DQは^R・^V…となったハズ。
# でないと当時、使わなかったので
266デフォルトの名無しさん:2001/05/14(月) 16:26
えっとクオータニオンって計算するときに、回転軸いれたベクトルR
に頂点Vをかけて、さらに1/Rで割ります。
この 1/R のことを言いたかったのです。
ちゃんと説明しなくてすみません。
なんですが、どうでしょう?

#移動してから、回転という事ですか?
#なるほど。
267265:2001/05/14(月) 16:30
あらら、同時に書いてしましましたね。
268デフォルトの名無しさん:2001/05/14(月) 16:31
上の265 、266 です。
書くとこ間違えた。スマソ
269DQ:2001/05/14(月) 17:06
...用語の統一が必要ですね(^_^;
以降私はT:移動行列, R:回転行列, V:ベクトル, D:dual quaternionで書きます。

DはTRと等価になります。つまり原点で任意軸を中心に回転してから移動です。
D同士の掛け算DDはTRTRになります。掛けた結果はもちろんDです。
VをDで変換する時(つまり行列で言うところのTRV:僕は後ろから掛ける派なので…)には、
VをTとみなしRを適当(Z軸0度回転とか)なのを入れ新たなD1を構成しD・D1を計算します。
その計算結果のDからT部を取り出すとTRVと同じになっています。

こんなんでうまくいくのかいな?と思いましたが当時はやりたいことが出来ていました。
いまならこの程度、行列でやりますけどね。
# もしかしたらDQの補間とかあったのかなぁ?
270デフォルトの名無しさん:2001/05/14(月) 17:15
>>269
QuaternionとVectorを一緒に持ってるクラスなり構造体なりを使えば良いんじゃないの?
クラスなら演算子オーバーロードすれば済む訳だし。
演算コストもそうたいしたもんでも無いだろうし。
数学的な価値は失われるが、ライブラリ的な価値は十分にあると思われ。
271デフォルトの名無しさん:2001/05/14(月) 17:38
>演算コストもそうたいしたもんでも無いだろうし
そうか?(^^;
平行移動成分ではまりそうな気がするのは私の気のせいか?
272DQ:2001/05/14(月) 17:41
>>270 そうだと思います。もっとも
当時やりたかったことと同じこと(階層構造の組替え)をするなら行列があれば充分です。
敢えて言えば「拡大」をしない分、行列に比べメモリが半分で済むくらいかも。
# それでも3Dに使うということで行列をダイエットさせるならせいぜい3分の2
確実に演算コストとのトレードオフがあるので要検証です。

一応、本に載っていないかな?と思ったので紹介してみました。
# って、実際にソースを紹介したほうが良いのかな?
273デフォルトの名無しさん:2001/05/14(月) 17:45
>>269
演算結果が再び D ですか、かっこいいですね。
ひょっとして、DQって、ケーリー八元数か、八次元クリフォード環か
のどちらかも知れないと思うんです。
どのように演算すればそうなるのかちょっと考えてみたいですね。

#それとも行列の固有・固有ベクトル値並べ立ててあるのかなぁ?
274デフォルトの名無しさん:2001/05/14(月) 17:58
>>272
あらら違うんだ・・・残念。
275DQ:2001/05/14(月) 18:17
私にDQを紹介してくれた人は、きっと数学に詳しくなかったはずです。
# 詳しかったらDQなど見つけて来ずに行列で解決する方法を喋ってくれたハズ(藁
私も決して数学は得意でないですがその後の精進の甲斐あって、
Quaternionはホボ(←強調)理解できました。が、DQまでは勉強する気になれず。

>>273, >>270
いまちょっとDQ掛け算部分を眺めてみると、どうやらQuaternionはそのまま持っている模様。
Vector部に細工をしているようです。どんな細工かまでは理解できませんが(^_^;
276273:2001/05/14(月) 18:31
>>275
いえいえ、いろいろ参考になります。
なにか分かったら私にも教えてくださいまし。
277DQ:2001/05/14(月) 19:11
ざっくり検索してみたら次のようなサイトがでました。

http://www-as.dse.ibaraki.ac.jp/Paper/Master/M_00HS.html
修論のアブスト。日本語だけど詳細はなし。

http://vienna.eas.asu.edu/~wagner/academic/vrml98/dualquat.html
VRMLが重い。数式とVRMLによる利用がかかれていて3Dのスライドパズルが遊べる。
但し英語。私、今はこれを読む気力がありません(藁
278270:2001/05/14(月) 19:36
>>271
平行移動部分はVector成分になるんで、掛け算の場合、
RV^Rが1回、RRが1回発生します。
実数の掛け算の回数を数えると、RR = 16回、RV~R = 24回、計40回。
Matrix同士の掛け算の場合、64回の実数の掛け算が発生するんで、
単純に比較した場合、4割弱有利です。
ただ、ホントに単純になんで、結果的には意味があるほど変わらないと思ってます。
それよりは、任意軸回転の有効性の方が大きいかと。>scaleとのトレードオフだが。

>>272
メモリは確かにちょっと有利かもしれないですね。
少ないメモリしか食わないと言う事は、キャッシュヒットにも有利だろうし。
279デフォルトの名無しさん:2001/05/14(月) 20:26
>>278
行列の4列目は無用なんだから掛け算は実質36回では
280デフォルトの名無しさん:2001/05/14(月) 20:28
36:40と、ほぼ同じですね、PCの場合は要検討ですね。
PS2の私はアウト(笑)
281270:2001/05/14(月) 20:52
>>279
確かに。失敬。
282デフォルトの名無しさん:2001/05/17(木) 13:54
だれか暇な人らじおしちぃの問答やってよぉ。
という私はラジオシティーできない(泣)
283デフォルトの名無しさん:2001/05/19(土) 21:25
284デフォルトの名無しさん:2001/06/05(火) 02:14
age
285デフォルトの名無しさん:2001/06/05(火) 02:14
age
286デフォルトの名無しさん:2001/06/07(木) 22:58
>>282
基本的なものなら簡単だと思いますけど。
むしろ難しいのは、最適なパッチの構築だと思う。
そこを疑問に思っているならすんません。
287デフォルトの名無しさん:2001/06/07(木) 23:16
>>286

Cマガのdevilmanさんの連載が参考になる。

でも、俺には階層パッチ分割がよくわからなかった。
誰か教えてage
288デフォルトの名無しさん:2001/06/07(木) 23:17
なんか3Dっていうとサーフェスレンダリングばっかりなんですけど
ボリュームレンダリングやってる人いませんか?
289286:2001/06/08(金) 00:12
>>286
Cマガのは確かに参考になると思うよ。
階層パッチ分割はどの号だったかちょっと覚えてないんで、
(つまり読んでない)今はよくわからないです。スマソ。

>>288
VolumeRenderingってSurfaceRenderingに比べて
利点が少なすぎるからじゃないですか?例えばデータ量とか拡大縮小の際のエイリアシングとか。
VolumeRenderingやるよりも、nVidiaのサンプルとかにある、
スライスしてSurfaceRenderingを利用するやつとか、
MarchingCube法を使ってやった方が良いと思う。
290デフォルトの名無しさん:2001/06/08(金) 00:12
>>288
RT?
291デフォルトの名無しさん:2001/06/08(金) 00:37
なんか3Dというとハイソでコンサバなんですが、
ステレオグラムやってる人いませんか?
292デフォルトの名無しさん:2001/06/08(金) 01:45
ハイソーデスカ(プ
293288:2001/06/08(金) 01:49
>>286
ゲーム等ではSurfaceRenderingで十分だとは思ってますけど,
VolumeRenderingを必要とする物理や医用の分野があるじゃないですか.
512の3乗ボリュームでも今のPCでも十分メモリ足りるようになってきたけど,
その割にはあまり表に出てくる情報無いなぁ,と思いまして.

>スライスしてSurfaceRendering

これってSGIのOnxy2でも実装されている方法ですよね?
この方法,スライス面の間がアーチファクトとして出てきて
あまり画質良くないんですよね.

>MarchingCube法を使ってやった方が良いと思う

閾値処理の設定の問題と,
アルゴリズムが特許とられてるという問題が・・・

ということで,高速度かつ高品質でやれるようなもの,または
やっている人いないかなぁ.

>>290
RealTime,ってことですか?
294286:2001/06/08(金) 06:21
ちょっと思い出したのでこれだけ。
VolumeRenderingはちょっと調べてみます。

>階層パッチ分割
見てみたけど、パッチとエレメントの事だったのね。
要するに
パッチ:ラジオシティの投光最小単位(基本となるポリゴンを分割した物)
エレメント:ラジオシティの受光最小単位(パッチをさらに分割した物)
と理解してますけど、これじゃわからんですか。
295デフォルトの名無しさん:2001/06/13(水) 13:33
定期上げ
296デフォルトの名無しさん:2001/06/13(水) 14:22
hage
297デフォルトの名無しさん:2001/06/16(土) 11:32
整数演算で幾何計算をやるにはどうしたらよいのでしょう?
298デフォルトの名無しさん:2001/06/16(土) 11:50
>>297
物によって精度足りなくなると思うけど、固定小数点じゃだめ?
64bit intで下48bitを少数にすれば、かなりいける気が。
299デフォルトの名無しさん:2001/06/16(土) 13:37
>>297
全部有理数で計算するとか。線形要素ばっかりならなんとかなるのでは?
300デフォルトの名無しさん:2001/06/16(土) 13:46
浮動小数点は遅いという思い込みをしてるドキュソの方ですか?
301297:2001/06/16(土) 14:01
レスありがとうです。

>>298
あー、固定小数点のこと考えていました。
・・・固定小数点使えば何とかなりますね。

>>299
>全部有理数で計算するとか。線形要素ばっかりならなんとかなるのでは?
線形要素・・・チンプンカンプンです。

>>300
FPUついていないプロセサを使おうと思っていましたので。
それでも浮動小数点を使った方が速いのでしょうか?
302デフォルトの名無しさん:2001/06/16(土) 14:51
FPUついてねーんじゃ余計な計算しないように
場面場面でどっちが速いか確かめなければ駄目。
STGのスレにもでてきたが正規化と媒介変数は鬼門だな。
ちなみに媒介変数とはSinやCosみたいなもの。
大抵これだけだとテーブルを作って逃げてしまうが
まさか媒介変数使うたびにテーブルを作るわけにはいくまい。
303デフォルトの名無しさん:2001/06/16(土) 15:05
FPUがついてないということは・・・。もしや・・・。
304299:2001/06/16(土) 16:24
すまん、わかりにくかったね。

線形要素のみってのは、直線とか平面とか、式で書いたときに線形に書けるもの、
もっと感覚的にいうなら真っ直ぐなもののことのつもりです。
これなら幾何演算が加減乗除で閉じることが多いから、整数の加減乗除で有理数を
表現すればイケるんじゃないかと思ったわけ。

ま、どっちにせよメンドウですよ。
305297:2001/06/16(土) 17:50
>>302
>場面場面でどっちが速いか確かめなければ駄目。
うは。そんななんですか。そりゃ大変そうですね。
わからないのですが、浮動と固定で混ぜるとすると、
固定小数点で使われるよな、整数部と小数部で分けた形式で
浮動小数点を表現するのでしょうか?

>>303
携帯機(PDA)を狙っているのですが、その「もしや」でしたか?

>>304
それだと有理数で何とかいけるんですか。勉強になります。
306デフォルトの名無しさん:2001/06/16(土) 20:11
>>305
コンパイラに浮動小数点のエミュレータついてないの?
よっぽど遅くて使い物にならないんならしょうがないだろうけど。
307デフォルトの名無しさん:2001/06/16(土) 22:50
FPUを持たない環境で
整数演算と浮動小数点演算で
速度的に比較対照になりえるなんて話は
聞いたことも無いし、予想もつかない。
FPU無しで浮動小数点演算をやるなんて
速度を度外視して良い場合でもない限り
自殺行為のはず。
環境によっては容量的にも痛い目を見る。
って言うか、浮動小数点演算に
そこまで固執する必要って無いと思う。
308デフォルトの名無しさん:2001/06/25(月) 11:16
定期age
309デフォルトの名無しさん:2001/06/25(月) 20:24
>>306
やってみれば分かりますが、思わず有り得ない!!
とか叫びそうなほど遅いです。
デバックとかアルゴリズム確認程度にも使えないのが普通です。
310デフォルトの名無しさん:2001/06/25(月) 23:46
>>309
んなこたぁない。
386, 486SXの頃はエミュで動いてた。
バリバリ演算する訳じゃなければ問題ない。
311デフォルトの名無しさん:2001/06/26(火) 18:59
>>310
当時は遅いのが当然でしたからね。
しかし、悲しいかな時代が違いますよ。
312デフォルトの名無しさん:2001/06/26(火) 22:55
あげ
313デフォルトの名無しさん:2001/06/27(水) 06:13
えみゅ自体がヘモくなってるんですかね。
S社の某 math.h は凶悪だった・・・
移植性重視でCで書いてあるとか(笑)
314デフォルトの名無しさん:2001/06/27(水) 14:34
>>304
要素を全部有理数にすると大変です
整数を使った同時座標系ってどうだろうか?
やったこと無いけど、いけそうな気がする。
315デフォルトの名無しさん:2001/06/27(水) 14:36
っと考えてみたけど
オーバーフローしないように時々正規化する必要があるんが面倒かな・・・
316デフォルトの名無しさん:2001/07/11(水) 18:32
書籍にはのっていそうだけれど、よくわからなかったので質問。

BSPによる陰面消去ってのは、
http://reality.sgi.com/cgi-bin/bspfaq/bsp?9.txt
に書いてあるようにfront to back, back to frontの二つあるみたいなんだけれど、
eyeから向いている方向に対してview frustumを分割して、
それぞれ近い方から遠い方、遠い方から近い方に描画していくということですか?

ちょっと、わかりにくい日本語かもしれませんが・・・。
317デフォルトの名無しさん:2001/08/02(木) 14:11
>>297 もしかしてPS1でプログラムしてるんですか?
って激遅レス

しかもage
318316:2001/08/02(木) 15:06
おたすけを
319デフォルトの名無しさん:2001/08/02(木) 15:27
ここの内容を本にしたら売れるかな?w
320デフォルトの名無しさん:2001/08/02(木) 16:01
>>319
ネタとしてなら
321デフォルトの名無しさん:2001/08/02(木) 16:39
>>313
math.hはCで書かれていますがなにか?
322デフォルトの名無しさん:2001/08/02(木) 19:01
>>316=318
いや BSP によらなくてもそうだから、皆何を聞いてるのかナゾだったのでは
ないかと。俺は今初めて見たので。。。

要はその BtoF なリストを作るためにprecalculatedなBSPtreeが有ればO(n)で
いけまっせ。しかも視点方向無視できまっせ。ってことです。
323デフォルトの名無しさん:2001/08/03(金) 12:25
すみませんシャドウイングについて質問なんですが、
DirectXでステンシルバッファを使わないで影を表現する方法について
参考になるページ等がありましたら教えてください。
324デフォルトの名無しさん:2001/08/03(金) 12:39
ページはパッとは浮かばないが、ドロップシャドウでは
ダメなの?
325デフォルトの名無しさん:2001/08/03(金) 15:34
解説HPはないんじゃないかなぁ
ソース公開してるのはあるけど(MS SDKにもあるし)
最近出た本の Game graphics gems(だっけ?)にも説明はあるよ
326デフォルトの名無しさん:2001/08/03(金) 15:35
あぁ、でも、ちゃんと実装するには説明が足りないかもね
大抵サンプルってオブジェクト数少ないもんね
327デフォルトの名無しさん:2001/08/04(土) 13:20
>>323
該当するページが見当たりません。

キーワードを変更するなどして再度検索してみてください。
328323:2001/08/06(月) 16:09
いろいろ調べてみたんですけど、とりあえずPlanar Projected Shadow
(平面投影シャドウ)でやってみます。
いや、なるべく多くの環境で影を見せたいんでステンシル使わない方法を探してました。
それにしても、コンシューマと違ってPCで開発やってると低レベルなマシン環境に
合わせなきゃならないのが鬱です・・・

オプションで切り替えてのシャドウボリュームモードもやりたいんですが
時間があまりないんで楽な方で逝きます。
329デフォルトの名無しさん:2001/08/06(月) 17:44
>>328
低スペックなマシンなんか切って良いと思うが。
3Dやろうってヤツが低スペックマシン使うこと自体が間違ってる。
いくらでもないんだから買い換えろよナー。
330328:2001/08/07(火) 10:39
そうなんですけど、低スペックのわりに普及しているi810とかを
切り捨てる訳には逝かないってところが一番鬱ですね。
インテルのビデオカード逝ってよし!っつーか。
331デフォルトの名無しさん:01/08/30 11:27 ID:h83WzIzM
保全age
332デフォルトの名無しさん:01/08/30 18:46 ID:6/9p5gqo
>>330
アレは3Dカードに入りませんので切ってよいです
333 :01/08/31 02:30 ID:RKpdaxm6
まあ、PCで3Dゲーやりたいヤツは
最低でも1万円出してGeForce2MX買うでしょう。
334 :01/09/04 18:45 ID:59YjTS8Q
CedecでNVidiaのセミナー出たけど
破綻しないシャドーボリュームってムヅイつか、面倒つか、重そう、、、
335デフォルトの名無しさん:01/09/04 20:04 ID:THUfbr9I
http://www.kakaku.com/prdsearch/detail.asp?ItemCD=055028&MakerCD=254&Product=Tornado%20GeForce%202%20MX200%2D64%20%28AGP%2064MB%29
こんなの安いんですが、これでもいいんですか?
ゲームってあんまりやらないもので正直、よく分かりません。
336デフォルトの名無しさん:01/09/04 23:08 ID:QjlESLvE
GeForce2MXってこんなにやすいんかー!!
337 :01/09/04 23:41 ID:59YjTS8Q
MX200はTNT(ULTRA?)並みじゃ無いっけ?
MX400にしとけ
338デフォルトの名無しさん:01/09/05 00:08 ID:64a.ANYA
せこいこと言わずGTSにしとけ
3なら尚良し
339316:01/09/05 17:43 ID:T6V.fmbI
>322
レスどうもです。
>316はなんだか正しいように見えますが、実は間違っていますw
きちんと勉強したらわかりました。

ところで、BSPtreeでsortしたら、どう描画していくべきなんでしょう?
FtoB? BtoF?
でそのどちらかだとして
BtoFだとPainter's Algorithmってことになりますよね。
FtoBだとmaskか何か用意して描画するのでしょうか?

どれが最善なんでしょう?
340316:01/09/05 17:48 ID:T6V.fmbI
flat shadingであればPainter's algorithmで良さそうですけれど、
gourandやphongだとFtoBでmaskが良いのですかねえ?
341 :01/09/05 21:21 ID:WdFN0ts6
おいおい
Painter'sはZバッファ要らずって奴だろ

BSPは無駄なZバッファ&スレームバッファへの描画を減らす為なんだから
FtoBに決まってるだろ
342316:01/09/05 22:15 ID:qwWXFtGY
>>341
レスどうもです。
>スレームバッファ
って検索にかけても出てきませんでしたがフレームバッファのことですよね?
もし違うものであれば教えてください。

ちょっと良くわからないのですが、
FtoBで書くとして、それはmask bufferの用なものを用意して
書くんですよね?
343デフォルトの名無しさん:01/09/06 00:51 ID:oA/OigDs
hage
344デフォルトの名無しさん:01/09/06 01:03 ID:NEgftLkA
>>334
詳細喜望峰
345334:01/09/06 04:12 ID:EGOl8GTs
>>344

いやぁ面倒でちょっと無理。
基本的にはステンシルバッファ&nearClipにフタをする方法なんだけど、

いくつか注意点があるので その辺の確認みたいな内容だった
図がないとちょっと無理っす

PowerPointのデーター後日公開されるのかなぁ?
参加者も紙だし。ファイルもくれよ〜
346 :01/09/06 06:07 ID:IV1cmEtQ
やっぱしシャドウボリュームをカメラの前でちょん切るですか?
うー、面倒そうやなあ。
347330:01/09/07 11:52
http://www.r3.nu/~cass/shadowsandstuff/
これについての日本語解説とかないですか?
英語&OpenGLなんで全然わからん・・・
カラーバッファってなんですか?DX8でも同じことができるのかな?
348デフォルトの名無しさん:01/09/08 12:28
>>325
× Game graphics gems
○ Game Programing Gems

ちなみに2もすでにあるが、栄語が読めん俺は逝ってよし。
>>348
ソースと式と絵を追うべし。
350デフォルトの名無しさん:01/09/08 16:03
モンテカルロ・レイトレーシングとか
フォトンマップとかの話も聞きたいっす。
お願いします。

ちなみにわたしは普通のレイトレースレンダラーすら書いたことがありませんので、
やさしくしてね。
>350
■■■■■■ 終了 ■■■■■■
352デフォルトの名無しさん:01/09/08 21:08
>>351
終了かよっ!!
353デフォルトの名無しさん:01/09/08 21:55
>>352
 ∩_∩
(  ´_ゝ`)←フーン
(  `Д´)←モウコネエヨ
(. ・∀・)←モララー
(. ´∀`)←モナー
(.  .゚Д゚)←ギコ猫
(. -_-)←ヒッキー
(  ´ー`)←シラネーヨ
(. ;TДT)←モカー
(. ´⊇`)←モヒャ
(. ^×^)←モネー
(. ´曲`)←テナー
(. ‘∀‘)←ガナー
(.  ´ω`)←ショボーン
(. ・*・)←アナラー
(. ・≧・)←フェラーチョ
(.  冫、)
(.. `  )←アンソニー
(. つ.  つ
〈. 〈\. \
(.__)(.__)
ところで、
3Dのモデルデーターを扱うのに
一番イイと思われるフォーマットって何よ。

一応、モデルデータと、アニメーションデータは別で持つとして。
夜露死苦
355デフォルトの名無しさん:01/09/16 10:48
356354:01/09/16 22:52
無いのかなぁ
357デフォルトの名無しさん:01/09/16 23:14
>>356

lwo2
358sage:01/09/16 23:32
>356
厨房か?せめて何(ゲーム?レンダラー?)作りたいかぐらいは
書きなよ。
359354:01/09/17 03:06
>358
SPACE SATAN FANTACYというゲームを作っています。
西暦3499年、惑星コルドロンは邪王サタンに支配されていた。
悪逆の限りを尽くすサタン。それを阻止するために、
現代の地球人・アスカが召還された! アスカは機動騎士
タイガードラゴンを駆り、サタンを滅ぼすために立ち上がった!
というストーリーです。
>>359

あなたは良い味を出しているので、この先どんなに
辛いことがあってもその調子で頑張ってほしい。
361デフォルトの名無しさん:01/09/17 06:52
>>359
タイガードラゴンを操作するのですか?
アスカを操作するのですか?
コルドロンはどこにあるのですか?
362デフォルトの名無しさん:01/09/17 07:00
西暦3499年のコルドロン星に召還されたアスカたん、ハァハァ・・・(;Д`)
>>359
がんばれ。ぜひ完成品を見たいので。
364デフォルトの名無しさん:01/09/17 17:36
スペースサタンファンタジー、略して、スペサタ。
大ヒットの予感。。。
365デフォルトの名無しさん:01/09/17 18:02
>>359
なんとなく懐かしい気分にナタヨ
366デフォルトの名無しさん:01/09/17 18:53
アスカ=アムロ
機動騎士タイガードラゴン=ガンダム
>>362
>(;Д`)
的確に表情が伝わってくる
368デフォルトの名無しさん:01/09/18 02:44
なぜアスカタンは召還されたの?
369354:01/09/18 03:46
ああ、偽物が出てる。
まあイイや。

まあ、作りたいのはゲームなんですけど、
とりあえず 六角大王表示したら
内部データに 法線の情報が入ってなかったってんで、
そう、出来ればバイナリーが良いかな?
そう、バイナリー

Xファイルとか、モーションデーターも一緒になってるような
気がするから、何かとかね。

って、俺
厨房やな。

すんません
自分で調べます

鬱だ死のう。
この際、>>369が偽物であって欲しいなぁ、(;´Д`)ガッカーリ
つか何言ってるかワカラン、汎用フォーマットの話じゃないのか?
とりあえずXファイルでいっとけば?別にバイナリにもできるぞ
どんどんどんどんどんどんどんどんレベルが下がってるぞこら。
ぼくげーむつくるよんスレじゃないぞこら。
最後に鬱だしのう言えばいいってもんじゃないぞこら。
372354:01/09/18 07:56
>>370
モデル表示のみに特化したデータ形式のスタンダードが有るかと思い、
質問してみました。
僕の脳みそのレベルが低いのは、確かに認めますが。

ゲームだと言ったのは、
必要な情報が、テクスチャーのUV値とマテリアルの質感
後は座標情報、
それも、トライアングルストリップと、トライアングルリストのみで良いからです。

それと、モデルデータとそのアニメーションデータは別で扱いたいため、
Xファイルを解析して、それを分離すると言う方法よりも、
別々で持てる形式の方が嬉しいと思ったからです。

>>371
ごめんなさい


もう来ません。
373デフォルトの名無しさん:01/09/18 07:57
>>354
>3Dのモデルデーターを扱うのに
>一番イイと思われるフォーマットって何よ。

ゲームなら独自形式でっち上げて好きなようにやればいいよ。
どうせ自前のツールやプラグインで必要になるんだし。
それに、ユーザが困るわけでもないし。

市販ツールの吐くデータの仕様は買えばすぐ分かるから
とりあえずバイトでもして。資料手に入れたら後はperl
とかpythonで適当にコンバータでも作って。

>>369
>とりあえず 六角大王表示したら
>内部データに 法線の情報が入ってなかった

六角は両面描画&フラットシェーディングが前提だから
.rokは法線情報省いてるよ。(少なくともフリー版は)

>そう、出来ればバイナリーが良いかな?
>そう、バイナリー

任せる。
374371:01/09/18 12:34
>>372
あやまるなよこら。
罪悪感感じてしまうじゃないかこら。
375370:01/09/18 23:49
>>354
ようやく>>369理解。漏れもちと後味悪し。みんないい人。

その用途ならとりあえずXファイルで良いと思う。>>372も標準テンプレートで全部賄えるよ。
で、モーションデータだけ別にしておけば良いのでは?モーションデータに
特化したXファイルでも良し、あるいは独自ファイルにしても良し。
DXSDK付属のconvxでバイナリ<>テキスト変換もできる

慣れてきたら>>373さんの言うとおり独自フォーマットに移行するとか。
あと六角の法線は自分で計算して出そう。

ただし市販ソフトでデータ使い回す場合はXファイルではトホホです。
376デフォルトの名無しさん:01/09/20 05:16
>>354のこれはコピペなの?

SPACE SATAN FANTACYというゲームを作っています。
西暦3499年、惑星コルドロンは邪王サタンに支配されていた。
悪逆の限りを尽くすサタン。それを阻止するために、
現代の地球人・アスカが召還された! アスカは機動騎士
タイガードラゴンを駆り、サタンを滅ぼすために立ち上がった!
というストーリーです。
377デフォルトの名無しさん:01/09/20 11:09
モファ ヘファ
((( ⊂⌒~⊃。Д。)⊃ <>>359桜玉吉の「アコンカグア」思い出しちゃったヨ。
378354:01/09/21 02:21
>>375
レス、有り難うございます。
六角のデーターの表裏判定は、なかなか巧くいかなかったので、
メタセコイアLEを使って見る事にしました。
利用しているのがOpenGLだった為に、
Xファイル使いたくないと思ったのですが、
ネットを探してみると、いろいろなモデルからXファイルに
コンバートしてくれる物が多数ありまして、
なるほど、正しかったんだ、と、思い直しております。

それと、今までも多数の3Dゲームが世の中に出ているので
てっきり、ゲームに適したフォーマットがすでに作られていると勘違いして
居ました。

いろいろ済みませんでした....。
レンダラ屋だけど、なんかある?
380デフォルトの名無しさん:01/09/24 17:24
>>379
ねたふってください。
381レンダラ屋:01/09/24 19:06
>>380
守備範囲はソフトウエアレンダラ
何でも聞いて
382 :01/09/24 19:09
レンダラ屋って 具体的にはどんなアプリ作ってるの?
383レンダラ屋:01/09/24 19:18
>>382
レンダラだよ。エンジンだけでGUIはなし。

レイトレ、スキャンライン、ラジオシティ、フォトンマップ、
モンテカルロレイトレ、なんでも一通りOK。
>>383
それでお金稼いでいるの?
385レンダラ屋:01/09/24 19:29
>>384
うん。まあ、今のところ。
GUIもそのうちやるけど。
386デフォルトの名無しさん:01/09/26 11:36
>レンダラ屋さん

>>350の質問に答えてやってよ。
387レンダラ屋:01/09/26 13:00
>>386
ちょっと広すぎるなあ。
具体的な質問にしてくれれば答えられるけど。
388 :01/09/26 13:07
レンダラ屋って儲かる?
389 :01/09/26 13:42
>>386

http://graphics.stanford.edu/courses/cs348b-01/course8.pdf
俺は英語読めないんでパスな。
390レンダラ屋:01/09/26 19:56
>>388
うちはレンダラだけやってる訳じゃないけど、
エンジンだけだと儲かんないね。

>>389
それ、読んでみ。簡単な英語ばっかだから。
391デフォルトの名無しさん:01/09/28 15:33
リアルタイム処理で、
グーローではなく、グロー、
つまり自己発光したいのですが、
さて、どうしたらよいものか?
392デフォルトの名無しさん:01/09/29 18:52
>>391
法線方向に拡大したモデルを半透明で重ねる、とかかな。
面倒だからそういうモデルあらかじめつくっておいた方がいいと思うけど。
394デフォルトの名無しさん:01/09/30 01:50
??
395デフォルトの名無しさん:01/09/30 06:03
>>392
単に拡大したモデルじゃだめ?
396 :01/09/30 06:16
なんで拡大すると光るように見えると思うのか理解に苦しむなり。
397デフォルトの名無しさん:01/09/30 06:17
>>391
光源を物体内部に持ってくるんじゃ駄目?
398デフォルトの名無しさん:01/09/30 06:17
グローってどんな処理でしたっけ?
拡大して輪郭をぼかしたものを合成するのでしょうか?
399デフォルトの名無しさん:01/09/30 06:19
駄目か。テクスチャーをフィルターにして方向によって光源の色を
変えないと・・・。
400デフォルトの名無しさん:01/09/30 06:22
自己発光つうんだから、提灯みたいなものじゃないかな?
401デフォルトの名無しさん:01/09/30 06:23
発光物体の表面が散乱ありか、散乱無しの透過かでも違うし。
402デフォルトの名無しさん:01/09/30 06:37
普通は錯乱ありをグローっていうんじゃないの?
錯乱なしなら問題はないような気がしますが。
>>402
一人で錯乱しててください。
>>398
>>402
ワラタ
405レンダラ屋:01/09/30 12:45
漏れはリアルタイム系に詳しくないけど、>>391はどんな自己発光を
想像してるの?発光してるオブジェクトが他のオブジェクトを照らす
状態?それとも光源を目で見た時のフレアみたいなやつの事?
その両方?
406_:01/09/30 13:03
もうすぐボリュームテクスチャがサボートされた
チップがでるからそれまで待てや。
407デフォルトの名無しさん:01/09/30 13:05
>光源を目で見た時のフレアみたいなやつの事?

これだけならテクスチャー貼り変えるだけだから、他を照らすんでしょうね。
408レンダラ屋:01/09/30 13:42
>>407
??
この場合テクスチャを張る相手は誰?

ちなみにソフトウエアレンダラはこういう場合2次元的に合成しちゃう.
409デフォルトの名無しさん:01/09/30 16:03
グローって物体の周りにぼやっとしたものが
まとわり付いてる状態じゃないの?
410デフォルトの名無しさん:01/09/30 19:44
こんな感じに物体のまわりをぼやっと発光させたいです。
http://travel.nifty.com/fworld/psp/image/grw0106.gif
これは2Dですが、3Dでキャラなどを。
見た目のみで、実際に他を照らす事はしなくていいです。
411 :01/09/30 19:46
>>408
うん二次元のつもりだった。
412デフォルトの名無しさん:01/09/30 19:47
>>410
あべし。
413デフォルトの名無しさん:01/09/30 19:48
3Dなのか?w
>>410

藁田
>>410
え〜(w
その程度のフェイクぐらい創意工夫でやってみそ。
いや、真面目な話ムッチャ簡単な2Dエフェクトだから。
2ちゃん見てないで頑張れよ。オレモナー
416レンダラ屋:01/09/30 20:23
やっぱりね(w
これだと思ったよ。でもさあ、これってリアルタイムでオブジェクトが
スピーディに動いてるときって結構辛いんじゃないの?
今のボードだと平気なの?リアルタイム厨房>漏れ

ソフトウエアレンダなら楽勝だけど。
417デフォルトの名無しさん:01/09/30 23:08
>>410
何度も重ね描きする以外には無理なんじゃないかな?
418インチキ君:01/09/30 23:18
円形の半透明グローテクスチャ作って該当モデルの前に表示。
419デフォルトの名無しさん:01/09/30 23:37
furで似た感じ作れないかな?
420デフォルトの名無しさん:01/09/30 23:48
>>418
あまりにもインチキすぎるYO・・・
421デフォルトの名無しさん:01/09/30 23:49
>>419
リアルタイムでfurってどうやるんだYO!
422デフォルトの名無しさん:01/10/01 00:06
423レンダラ屋:01/10/01 00:18
>>422
へえー、リアルタイムにしては良く出来てるね。
質はソフトウエアに及ばないが。
>>423
ひとこと多い性格だのう...
425レンダラ屋:01/10/01 00:58
>>424
すまん(w
漏れはヤパーリきれいな方が好きなもんで。
ウヒョッ
427デフォルトの名無しさん:01/10/01 14:14
FFXの敵が死ぬときのモワァーってやつってどうやってんのかな?
辛口レンダラ屋萌え(;´Д`)ハァハァ
>>424
技術的な一言が多ければ文句ないんだけどな(笑)
430レンダラ屋:01/10/01 19:05
>>429
なるほど。どんな話がいい?
>>429も一言多いヨ
>>430
422のうさぎのモコモコとか、
ソフトウェアで綺麗に描画するとして、
方法が根本的に違うのか、
それともリアルタイムで描画する方法の延長線上に過ぎないのか、とか
お願いします。ぺこり
433レンダラ屋:01/10/02 00:21
>>432
考え方によると思う。
目的とする用途によって実装の方法が変わる、と言えば良いか。
映画の特殊効果なんかでの毛は、正確なアニメーションをしないと
いけないからほとんどの場合形状を置いている。
で、その形状をサブピクセル単位で幾何学的に評価(つまりそれぞれ
のサブピクセルでシェーディング)するから当然きれいになる。

そんなに正確さが要求されない場合は2次元的に合成してしまう
方法もある。これは多分リアルタイムの方法と似てると思う。
ソフトイメージについていたメンタルレイ用のファープラグインは
この方法。ShadeのMarimoもこれだろうな。
この方法だとセルフシャドウとかが出来ないけど、ピクセル単位で
評価してる分、リアルタイムよりはきれい。
434デフォルトの名無しさん:01/10/02 07:42
CGソフト産業不毛の地 日本でレンダラだけで食ってる人は何人いますか?
レンダラ屋さんは実は外人?
435レンダラ屋:01/10/02 14:28
>>434
自分もそうだけど、レンダラだけで食っているわけではないよ。
そんな人日本にいるんかな?
436デフォルトの名無しさん:01/10/02 23:29
Shadeのレンダラ書いてる人とか?
437レンダラ屋:01/10/03 00:06
>>436
Shadeってレンダラだけ書いている人がいるの?それはすごいな。
なんか技術の話じゃなくなってるぞ(w
みんなお互い詮索せんとこ。
439レンダラ屋:01/10/04 00:28
>>438
同意(w
純粋に技術の話しようぜい
440デフォルトの名無しさん:01/10/04 21:40
age
441デフォルトの名無しさん:01/10/13 12:50
クリフォード代数ってどうよ?
442441:01/10/13 12:52
(・∀・)がいしゅつでした
このスレでクリフォード代数のこと書いたが全然話題が広がらなかった(泣
444441:01/10/13 17:42
ていうかwebでも資料があまりない気が
445デフォルトの名無しさん:01/10/14 15:32
期待age
446デフォルトの名無しさん:01/10/14 15:34
billboardって何ですか?
Computer Graphics: Principles and Practices in C
みても載ってないれす。
>446
 billboard n.
 1 《米》(通例屋外の)掲示板,広告板: a notice on the 〜掲示.
 2 〔海〕錨床(びょうしょう),錨座.
小学館プログレッシブ英和中辞典より。
448デフォルトの名無しさん:01/10/14 19:24
>>446
常にカメラ方向を向く板のことです。
レンダラ屋さんの書籍には載っていない3D技術をききたいのだが
450レンダラ屋:01/10/20 01:12
>>449
正確には書籍に載っていない技術というのは無いかもしれん。
英語の文献にはほとんどの事は載ってるからな。

ちなみにゲーム関係とかリアルタイム系は厨房なのでそこんとこ
よろしく(w
今はレンダラといってもプラグインやシェーダ書いたりすることがほとんどではないですか?
独立したアプリを作ってるのですか?
452デフォルトの名無しさん:01/10/20 15:58
あげ
453レンダラ屋:01/10/20 19:33
>>451
そろそろ詮索は止めてよ(w
ちなみに独立したレンダラを作ってます。
454名無し:01/10/20 19:42
フリーのPOV-Ray使ってる人いますか?

POV-Rayの紹介ページ
http://www.win.ne.jp/~kom/povray.html

こんな画像も作れちゃいます。
http://www.povray.org/hof/index.html
POV-Ray使ってる人はこの板にはいないと思う。
POV-Rayみたいなソフトを作りたいと思ってる人が多い。
メタセコイヤって凄くない?
457c:01/10/20 20:34
当方もレンダラ屋

>>456
それはモデラでわ…
458レンダラ屋:01/10/20 21:52
>>457
GI系のレンダラ?
459デフォルトの名無しさん:01/10/21 00:21
グローバルイルミネーション最高age

モンテカルロレイトレの実験してます。
レンダラ屋さん、細かい注意点とかポイントとかtips教えてー
460レンダラ屋:01/10/21 00:43
>>459
アーキテクチャの種類は?
フォトンマプ?
461デフォルトの名無しさん:01/10/21 00:47
FF映画のフォトンマップひどかったな…
「とりあえず使ってみました」以外の意味がない
462デフォルトの名無しさん:01/10/21 00:51
>>461
FF映画って、レンダーマンだからレイトレは使ってないのでは?
>>462
ハイン将軍が持ってたブランデーグラスが
机に落した影の部分はフォントマップだと
思ったんだが。
464名無しサソ:01/10/21 02:38
>456
 個人であそこまでシステムを作り上げた苦労が凄い
ね。フリー版をありがたく使わせて貰ってるけど、作者
が暇になったら、レジストするつもりだよ。でも、特殊な
技術はほとんど使ってないのではないかなぁ。メタ
ボールとか面白いけどね。
465デフォルトの名無しさん:01/10/21 18:28
クリフォード代数ってどういうものか勉強したいのですが、
日本語で基礎から学べる良書はないでしょうか?
466465:01/10/21 18:45
ちなみに、
理工系数学のキーポイント行列と変換群:ヤン・ソンキル
って本は読んだ事があるのですが、
この本に書かれている事とクリフォード代数って関係はあるのでしょうか?
ない。
日本語良書もない。
ないないずくしです。
470465:01/10/21 22:35
実は今日本屋に行って、
訳のわからない本をいくつも手に取り、
その索引にクリフォード代数という文字を探してたんですよ。
そしたら、ゲージ理論とトポロジーって本にようやくその文字を見つけたんですが、
私なんかにわかるはずもなく…。
機械科の僕にはこの本を読むためにどの分野の基礎を必要にするのかも解らないのです。
で、とりあえずトポロジーとホモロジーって言葉を見かけたんですが、
これの日本語訳を教えて欲しいです。
全く勉強したことはありませんが、トポロジーっていうのは位相幾何学って意味であってますよね?
電子情報の私にもサッパリですので、まあガンバろうやって感じです。
出身学科なんて関係ないよ。
数学科でも教えてないし。
同じクリフォード代数でも、本屋で売ってる数学や素粒子物理の本に載ってる
クリフォード代数とは意味合いが違うので要注意。
遠回りになる。
この人らが再発見したことだから原文に当たるしかない。
http://modelingnts.la.asu.edu/GC_R&D.html
474465
レスありがとうございます。
やはり私にとって今やるべき基礎は英語のようですね。とほほ…
数学にも強くなれるよう、もっと視野を広げなければと思います。