書籍には載っていない3D技術
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG良くぶつかるであろう話題など。
0002デフォルトの名無しさん
NGNG視野座標系に落とした段階で
(a)視野四角錐で奇麗に切り取っているか?
(b)あるいは Z=0.0 平面で切り取るのみか?
ラスタライジングが賢ければ (b) で十分なのですが、
描画領域からはみ出したポリゴンでも左上だとかだと、しっかり
描画時間が食ってしまうタコなハードもあります(PS1とか以外にも)
0003デフォルトの名無しさん
NGNG問題は全てのポリゴンにおいて、分断必要チェックをするわけには行かない
点ですね。(内周なだけに、zチェックだけでも痛い)
分断が必要そうなモデルと必要なさそうなモデルとで、ルーチンを2種類用意しています。
0004デフォルトの名無しさん
NGNG例えばファンタビジョンなど手前に来たポリゴンはポリゴン単位で
がつがつ消えていきます。
ゲームの用途に応じて使い分けるのが主流だと思います。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG包含判定をして、カリング、クリッピングが必要な面のリストアップなんかを
しますね。
クリッピングもTriangle stripを直接クリッピングする技法もあるし。
5氏のいうように日本語に限定せず資料を探すことをお勧めします。
0007デフォルトの名無しさん
NGNG1/z,1/u,1/vを32bit固定小数点で精度を維持する方法はありますか。
私の場合、精度不足に悩まされて
結局1/z,1/u,1/vは浮動小数点で持つことになりました。
00087
NGNG0009デフォルトの名無しさん
NGNG>(b)あるいは Z=0.0 平面で切り取るのみか?
本気すか?
どうやって描画するんですか?
00107
NGNGゼロ除算になっちゃうよね(藁
普通Z=1.0平面辺りで切り取るでしょ。
0011デフォルトの名無しさん
NGNG日本語の書籍きぼん!英語読めないし。
というかなんで国内の書籍って知ってることしか書かれてないんだろう
0012デフォルトの名無しさん
NGNG>包含判定をして、カリング、クリッピングが必要な面のリストアップなんかを
>しますね。
ちなみに、モジュール単位ではなく、面単位の洗い出し?
>(b)あるいは Z=0.0 平面で切り取るのみか?
Z=0.0付近という意味でわ?
でも視錐体によるカリングって実装したことないです。
やっぱおいしーのでしょか?
0013デフォルトの名無しさん
NGNG>>含判定をして、カリング、クリッピングが必要な面のリストアップなんかを
い?ほんとですか?例えば数千ポリゴンからなる人体モデルが画面の端で半分
くらいしか見えてない状態で、カリングが必要なポリゴンだけ奇麗に洗い出せる
ものなんですか?
0014デフォルトの名無しさん
NGNG人体モデルといっても、手や頭など複数のパーツで構成されているでしょ。
パーツごとにバウンディングオブジェでまず交差判定をすれば、
かなり効率は上がるんじゃないの。
0015デフォルトの名無しさん
NGNGとかって、どうやって管理してますか?
最悪時を想定すれば画面に出てるポリゴン数の数倍の枚数に分割されたりしますよねぇ?
0016デフォルトの名無しさん
NGNG>かなり効率は上がるんじゃないの。
それはつまり、ブロック単位でのカリングでは?
そのブロックがカリングされる可能性がある場合、そのブロック内に
含まれている全てのプリミティブがカリングチェックを施すわけですよね?
0017デフォルトの名無しさん
NGNG最悪でなくても結構あるシチュエーションだったりして悩みのタネです。
ところで半透明プリミティブはソートリストに登録せねばなりませんが、
要カリングプリミティブってどこかに保存しなければならないものなのですか?
その場で細切れにしてラスターに送り込む以外、考えられないのですが。
0018デフォルトの名無しさん
NGNG>包含判定をして、
矩形外に対する2Dラスタがそこそこ賢い環境(例えばPS2)の場合、
視錐体との交差でカッティングする必要性ってあるのでしょうか?
でかい2Dプリミティブを送り込んでも、矩形外フィルレートって
無料でしょ?だったらz平面カリングで十分のような気がします。(というか
うちの職場のPGではこのスレを今朝見るまで確信していて ^^;)
カリング演算コストやらカリング結果によるプリミティブ容量が増えてしまう
視錐体との交差カッティングって損するばかりのような気がするのですが。
00196
NGNGこの期に読めるようになりましょう。専門用語はほぼ英語で見聞きしていると思うので、わりと読める
もんですよ。共通日本語の書籍で得られる知識はどうしても限られてしまうと思います。
もちろん良書があれば紹介希望です。
>>12 13 16
16氏の解釈がこちらの意図に一番近いと思います。
極端な話、1ポリゴンに1Bounding geometry(BG)に対応させれば13氏の言うように要クリッピング(視錐体
平面によるポリゴンの切断処理)ポリゴン、カリング(描画処理の省略)ポリゴンのリストアップができます。
が、これは速度 空間ともに良くないでしょう。
普通は14氏の言うようにパーツ単位とか、数10ポリゴンに1BGに対応させたりするようです。
BGによって求めたクリッピング要 不要に基づいて、3氏のように描画ルーチンを切り替えるのが良いようです。
>>18
PS2なんかでは、Z near平面でのクリッピング以外はあまり必要ないと思いますね。測定はしてません。
表示シーンにもよりますが、カリングは大量の幾何演算を省略できるので、有効だと思います。
0020デフォルトの名無しさん
NGNGでもカリングなんてどーでもいーっす。
今、コンシューマ業界のPGの頭を傷めているのはGSのVRAMの少なさでしょ?
さて、どうしましょ?
0021デフォルトの名無しさん
NGNG押し切ろうとしているチームがあるよ。
頭わるそーだけど、これこそが最良の解決手段かもしれない。
いや、本当に頭悪いのはPS2の開発者連中なんですけどねぇ。
彼らに「バランス感覚」ってものがあるんですかねぇ?
0022デフォルトの名無しさん
NGNG16色にすると、Mipmapで困りませんかね?
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGハード任せ?
0025デフォルトの名無しさん
NGNGゲーム業界ではない方ですね?
現状、ハード任せです。
パースペクティブのみであれば、CPUで描画してもなんとかなるのですが、
バイリニア、アンチなども世間が要求していることを考えると、
ピクセル描画はハードにせざるを得ません。
描画処理に関しては
CPUと専用ハードの性能差は常に極端に開いています。
0026デフォルトの名無しさん
NGNG俺の場合、近隣のポリゴンは未だに分割してる・・・。
0027デフォルトの名無しさん
NGNGPS1、サターン時代のなごりですか?
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGいや、ゲーム業界では昔からハードは常に賢かったっす。
用途を絞った専用ハードにはソフトでは絶対に勝てないです。
0030デフォルトの名無しさん
NGNGまじ、GSの容量を16Mだとか32MにしたPS2のリビジョンアップ、真剣に検討した
方がいいっすよ。あんな描画速度いらねーし、そんなVRAMじゃ描画できねーし。
だから、連射できないマシンガン なんて呼ばれちゃうんだよ〜
一度に装填できる弾数が少なすぎ。ドキュソ
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGクリッピングコストは無料だってば。
PS2のテクスチャ容量の少なさを世界中のPS2ソフトメーカは
頭を傷めている。
0034デフォルトの名無しさん
NGNGま、今更言い尽くされた事だしね。今から対応されても
しょうがないよ。完全な設計ミス過去ハード。
やっかいなのはやり様によっては凄いポリゴンが出せたり
する事。Demoっぽいところならリソース制限かけて極限まで
使いこなせるけど、いざゲームパートになるとショボーンな
事しか出来ない。で、ユーザもその落差が理解できずにプロ
グラマの腕が悪いと思い込む。む、おれもドキュソだな。
ま、しかしある程度以上ポリゴンが出せるなら画面の質は
デザイナさんの技量が全てだわな。ちょいツマラン。
0035デフォルトの名無しさん
NGNG現在進行形でPS1の開発ということでは?
0036デフォルトの名無しさん
NGNG今度出るゲーセン用PS2は増えるらしいですねぇ。
PlayStation2SuperGraphics (プ
0037デフォルトの名無しさん
NGNG4本しかソフトでなさそうな名前だな・・・
0038デフォルトの名無しさん
NGNGマジですか? 32MのGSってチップだけで数十万するんじゃ
ないのかな? そんなの出せるメーカーって・・。T社か?
0039デフォルトの名無しさん
NGNG主な違いはサウンド周りとVRAMが2倍になったこと。
けど、あの基盤、いまいちその実力を発揮しなかったね。
VRAMも実は1Mだけ使ってたりするソフトが多かったらしいし。
当然だよね。
アーケードからコンシューマへの移植が困難になるだけだし
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG開発した人あまりいなさそうですけど
0042デフォルトの名無しさん
NGNG現状、PS2をも凌ぐ最強のハードウェア
圧縮した状態でテクスチャを置ける上に、その容量は8Mと、VRAMの
サイズが豊富。
結果的にミップマップも現実的に可能。
また、テレビの解像度は640*240なのだが、640*480でレンダリングし
色補完で640*240を毎VS、生成しても無傷。
これらと同じことをPS2でやろうとすると、VRAMがまるで足りなくなり
痛いどころか致命傷。ミップマップは可能であるものの、VRAMを圧迫
する上にキャッシュシステムを構築しても、CPU<->VRAM のバスをさらに圧迫
してしまう。
現状、PS2でミップマップを使った市販ソフトがほぼ皆無な理由。
ただ、あくまでも現状DC最強なだけ。
PS2も上手な使い方が見つかれば、そのうち逆転すると思う。
あと、テクスチャがVRAMに置ききれるという条件下だと
PS2の初期発表のような画像が生成可能。
0043デフォルトの名無しさん
NGNG16Mバイトですな。
http://www.zdnet.co.jp/gamespot/gsnews/0102/21/news03.html
0044デフォルトの名無しさん
NGNGどんだけ凄いのかと思っちまったよ。
PS2が酷すぎるだけじゃねーか。
テクスチャ圧縮?ミップマップ?640x480?何がどう最強なんだ?
それならまだxboxの方がよっぽど強力じゃん。まだ出てないけどさ。
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNGって、これハード・業界板行きだな。
http://cheese.2ch.net/ghard/index.html
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGテレビゲーム機叩きは他所の板で楽しんでくれな。
0049デフォルトの名無しさん
NGNGそこが素人の陥りやすい罠なんです。
数多くの2D描画プリミティブコマンドをMainRAMから2Dラスターに
送り込むその転送量こそがネックになる時代なんです。
いくらラスター側が強力でも、コマンド転送が遅ければそこでネックになるわけです。
ハードウェアというのはあくまでもトータルな性能でみる必要があり
NV20だのたかがラスター単品で決まるものではありません。
もちろん、最近はビデオカード側にも最近はラスター以外にも
ジオメトリエンジンを搭載するようになってきていますが、CPUから
離れたところにあるぶん、融通も効かなくなります。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGただ、DCはフィードバックやブラー系のエフェクトに弱いよな。
半透明機能も使う分にはお手軽なのだが、パフォーマンスがでない。
PS2は癖ありまくりだけど、使いこなせればポテンシャルは
非常に高いハードだよね。
0052デフォルトの名無しさん
NGNG転送量を減らすためにハードウェア頂点バッファとか
曲面がつかえるようになってんだろ(w
つかねー、コマンドとかの転送がネックになってんなら、
ラスタライズには逆に余裕が出るってことなんだけど。
ミップマップとか高解像度とか、ラスタライズに
負荷をかける処理をしても、他がネックになるなら早さは
変わらないってこと分ってる?
0053デフォルトの名無しさん
NGNG>負荷をかける処理をしても、他がネックになるなら早さは
>変わらないってこと分ってる?
あの〜質問なんですが、ミップマップがなぜ速度的な負荷になるのでしょうか?
DC(PowerVR)にせよPS2にせよ基本的にはノーペナルティです。(ミップマップの定義にもよりますが)
ミップマップして痛いのはVRAM容量を圧迫することくらいでは?
(※nVidia系も本家の資料を見る限りではノーペナルティっぽいが未確認)
>つかねー、コマンドとかの転送がネックになってんなら、
>ラスタライズには逆に余裕が出るってことなんだけど。
ラスタへの大量なコマンド転送がもたらす最も大きな懸念は
MainCPUのバスをも封じ込むことでしょ?
コマンド転送をしている間、CPUは次のFrame作成の処理の
真っ最中なわけです。バスがDMAによってロックされている間に
発生したCPUのR/Wは、全てブロックされるのが、一番の懸念材料。
かといって、ハードウェア頂点バッファでは融通が効かないことが
しばしばなんですよ。UVアニメ、頂点アニメ、環境マッピングなど。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG>しばしばなんですよ。UVアニメ、頂点アニメ、環境マッピングなど。
ハードウェア頂点バッファでできません?
0056デフォルトの名無しさん
NGNGその為の頂点バッファですよねぇ・・・。
8からは頂点シェーダーも付いたし。
転送量がネックにならないように凄く神経を使ってる仕様だと
思うけど>DirectX8
0057デフォルトの名無しさん
NGNG頂点シェーダー使ったら,
アニメーションや環境マップなんてお手の物ですよね.
頂点シェーダー無いなら融通効かないことも多いけど.
# できないって意味じゃなくて融通効かないって意味ね.
0058デフォルトの名無しさん
NGNG・スキニング(頂点のブレンドなど)
・TexGen系(テクスチャ座標のアニメーション、環境マップなど)
・ライティングのカスタマイズ
・タンジェントスペース系セットアップ(PerPixelBumpmapの下準備)
以外になにか面白い使い道あります?いや、これだけでも組み合わせ
によってはいろいろと便利そうではあるんですが…。
0059デフォルトの名無しさん
NGNGアニメってのがミソなんじゃない?
頂点固定な場合は最初にハードウェア頂点バッファに転送しときゃ後々
バス占領せんけど、毎回頂点CPUで計算して頂点バッファに送ったら…
てな事を53は言いたいんじゃないかな…。
>>57
頂点シェーダーってアニメにどの程度使えるのかな…。なんでもかんでも
こなせるとは思えないけど…。詳しく勉強してないから想像なんだけど<ボケ
0060デフォルトの名無しさん
NGNGだからスキニングアニメーションや頂点アニメーション,
UVアニメーションとかをハードウェア頂点バッファで
効率的に実行するために頂点シェーダーを使えるんですよ.
例えばスキニングなら行列(ボーン)だけを,
頂点アニメーションならウェイトだけをCPUでセットすれば済むんです.
頂点単位で固定にできる情報は全部ハードに置いとくんですよ.
そりゃ万能って訳ではないんだけど,これでも相当のことができますよ.
>>58
他には高さを基準にする等のカスタムフォグとか.
自分の好きなデータを好きなように加工できるから,
他にもいろいろ面白いことはできそうですけど.
0061デフォルトの名無しさん
NGNG自分の場合、ペーパー知識でしかない(商品化経験ゼロ)ので
コメントなしな状態。実際に使ってみてメリットもデメリットも
出るものなんで。
どちらにせよ、頂点バッファを使ったソフトってテスト実験デモも
含めて極めて少ないんでよね・・・
0062デフォルトの名無しさん
NGNGバーティクスシェーダなら現段階で大半の環境で動きます
よ?
どちらにしても特に凝った事を考えない場合DirectX8の
頂点シェーダ仕様で事足りるんじゃないかと。
ディスプレートメント系は駄目なのかな?(無知
0063デフォルトの名無しさん
NGNG頂点バッファなら、以前から使えますし、DirectXのソフトなら
今では結構一般的につかわれているような気がしますが…。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNGディスプレースメント系は現在のPixelShaderでは無理だと思います。
Shaderと聞いて私もそういったPRMan的なものを想像していたんです
が、どうやら、テクスチャステージのプログラム的な柔軟性をもたせ
たものと考えてよさげなきがします。
texkillとか、使い方によっては面白いエフェクトを実装できそう
(たとえば、PowerVRのモディファイヤボリュームみたいなやつとか
できそうな気がする)な命令もあるんですけどね…。
0066デフォルトの名無しさん
NGNGVRAMの容量が厳しくなる、というのもひとつの理由だが、
ミップマップによって、GSの描画時間が減る可能性があること
を考えれば、決定的な理由にはならない。ミップマップに
よって得られる品質は、無視できないし。
それよりも、GSがアニソトロピックフィルタをサポート
してないことが大きい。これと同じ効果を出すためには、
VUレベルで処理する必要がある。すると、VUはすぐに悲鳴
をあげてしまう。ポリゴン数も抑えなくてはならないくなる
ので、非常に痛い。
#使えるとするなら、レースゲームくらいじゃないだろうか。
MGS2の体験版。テクスチャの多くは16色。512*512を3枚使って、
テクスチャ領域は1MB。割り切った使い方をしたものだ。
あんな作り方をしたら、お金がかかるだろうに。
MGS2を見た業界関係者は、色々な意味で暗くなってることだろう・・・
0067デフォルトの名無しさん
NGNGほんとの意味でのディスプレースメントじゃありませんけど,
高次サーフェスとかNパッチで生成した頂点を何らかの情報で
いぢくってやれば(VertexShaderで),
ちょっとは似たようなこともできそうです.
別に高次サーフェスじゃなくてもいいですけど.
0068デフォルトの名無しさん
NGNG>を考えれば、決定的な理由にはならない。
逆、逆。
PS1の時もそうだったけど、ミップマップすることによって処理速度が
劇的に向上することもあるんですよ。テクスチャキャッシュヒットの関係で。
PS2のGSのVRAMは混載RAMだから、4M全部がキャッシュだというのは誤解です。
GSにはあの4Mとは別にさらに高速なキャッシュも搭載しています。
ミップマップすることで処理速度が高速化される可能性が十分にあるわけです。
0069デフォルトの名無しさん
NGNG個人的には、ミップマップ使ってGSのキャッシュにヒットしやすく
なるメリットより、ミップマップでテクスチャサイズが増えた事に
よってVRAMへのテクスチャ転送が増えるデメリットのが大きそう
な気がする。
0070デフォルトの名無しさん
NGNG>テクスチャ領域は1MB。割り切った使い方をしたものだ。
↑あ、そうなんですか・・・やっぱ、頭わるいよーで、実は賢いかも。
でも、それって、優秀なドッター職人がいるメーカでないときついよねー。
処理速度を一番稼ぐのはPGではなくドッターなんだよな。
GSのメモリが少ないことが叩かれる原因になっているけど、
混載RAMすら搭載できない NV系ではキャッシュヒットが命だよね。
参照される全てのテクスチャが特定矩形内に納まっていると
フィルレートはGSの1/3にまで達するわけだし。
0071デフォルトの名無しさん
NGNG他のPS2タイトルの利用状況も参考にしたいのでよろしくです
007266
NGNG描画時間が減る=描画が高速化される
という意味だったのだが、書き方がまずかったかな?
それを踏まえた上で、69が書いてあることと同じ
考えを持っている。
実際のゲームでミップマップを利用する場面といえば、
大きなフィールド内を歩き回るようなものが考えられる。
試してみれば分かるのだが、地面と正面の壁で、あきらか
に見栄えに差が出る。ポリゴンが傾くことによって、
サンプリングされるテクスチャの間隔が大きくなるからだ。
私の感覚だと、許せる範囲ではなかった。GSのフィルレート
よりも、むしろVUの処理能力がネックになっているPS2の
現状を考えれば、ミップマップによる品質向上を期待する
ためには、ポリゴン数を減らす、という品質低下を要求される。
品質を向上させるための方法はミップマップだけではない。
PS2の特徴を生かした方法を使えば良い(GSのフィルレート)。
ほとんどのメーカは同じ結論に達しているはず。
>>70
つたない文面から、私の言いたいことを汲み取ってくれて
いることに感謝。私もあなたと同じような感想を持った。
>>71
会社の人に聞きなさい。別に難しいことは何もやっていない。
あなたが想像している通りのことをやっただけ。あなたが
今間で真面目に開発に取り組んでいたなら、それを実行するのに
1時間もかからないはず。結局は自分の会社(開発規模)に
合ったスタイルを見つける必要があるので、それほど参考には
ならないだろう。
参考にするなら、GT、鉄拳TT、MGS2あたりが良い。
鬼武者は見てないので知らない。
0073デフォルトの名無しさん
NGNG71じゃないけど、テクスチャ総量なんかソフト見ただけ
じゃわかんないと思うけどなぁ。一応真面目にGS飼いなら
してるつもりですけど。
640*480*4(32Bit)*2+640*480*2(ZBuf-16Bit)
って計算かな?
0074デフォルトの名無しさん
NGNG総量はわかんないかもしれないけど、一瞬一瞬のVRAMの状況は閲覧
プログラムをちゃちゃって組めば見れるわけだし。
いろんな場面で見てみれば、だいたいのそのゲームでの使い方はわかり
ますよ。
007566
NGNG74が書いてある通り。
MGS2は512*512*4(場合によっては24Bit)を表示レンダ用に2枚。
Zバッファについては512*512*3(上位8Bitはテクスチャ領域)
残りの1MBがテクスチャ領域になっている(厳密に言えば
テンポラリ領域と言った方が良いか)。
全ての場面で当てはまるわけでは無いが、まずキャラクタを
レンダリング。その後背景。そして、半透明を使ったエフェクト。
この3つの処理で構成されていると思われる。
リアルタイムムービーでは、さらにフィルタ系の処理
も行っている。
処理の過程をステージとみなして見ると、テンポラリ領域の
使い方が簡単に推測できる。そのステージの切り替わり時で
ザックリと入れ替えているのだろう。
お金がかかるだろうに、と書いたのは、シーンの作り方に
大量のマンパワーを感じから。16色のテクスチャ
であったり、フィルタ処理のために、一度レンダリング
した結果を、テンポラリ領域にコピーしたり。
しかし、ユーザはそんなことは分からないわけで、
MGS2がやってるのにできないはずがない。企業努力
が足りない、などと言うわけだ。
中小企業に、そんなところまで時間とお金を割く余裕が
あるわけないだろうに。やってることが分かっても、
できるかどうかは別次元の問題なのだから。
#あれを全て自動で最適化されてるなら話は別だが、
#そうはみえない。
これを見て暗くならないなら、その根拠が知りたくなるよ。
(VRAMなんか覗いちゃったよxxx)
0076デフォルトの名無しさん
NGNG>MGS2がやってるのにできないはずがない。企業努力
>が足りない、などと言うわけだ。
実際、できなかったら企業努力が足りないのかも.
16色ゆうてもバイリニアフィルタかかるから、文面ほど
ちゃちくならないんだよな.(ただし職人が書けば)
実作業は実写なり取り込んだものを減色するんだけど、16色とも
なると手修正が絶対必要だし.
こんな状況下で、segaがps2業界に参入となると、さらに脅威
segaの出すプロダクトが世間では標準レベルと認識された瞬間、
逝ってしまう企業続出だろうな
0077デフォルトの名無しさん
NGNG「厨房」だと、モデラーが持っている球面マッピングなどでベタ!と
張って、はい納品。
「職人」であれば、ポリゴン一頂点単位でUV修正。
例えば、帯などの表現も、本当に帯のテクスチャを貼り付けるのではなく、
横幅1Dotのテクスチャを引き伸ばして貼ったり、地の色で済む場合は
テクスチャ貼らずに、カラード生ポリゴンにしてみたり。
0078デフォルトの名無しさん
NGNGうちら零細組はミドルウェア買う金もないんでね。
EEとvu0だけで自力で頑張るのさ。
あ、ついでだから ps2 ごとイッテヨシ っていうのは禁句ね。
ps2がなくなると、もううちらゲーム屋の市場がなくなるのよ。
任天堂の外様は特に。もう、ライセンスのラの字も貰えないんです。
0079デフォルトの名無しさん
NGNG結局はマンパワーの所産らしいのは、ありがたいのかそうでないのか。
0080デフォルトの名無しさん
NGNGマンパワーではない。
0081デフォルトの名無しさん
NGNGさすがにVU1無しでなんとかなるとは思いません。
その考え方あんまりですよ。
0082デフォルトの名無しさん
NGNG職人1人よりDirectXで妥協出来る奴10人の方が良い。
0083デフォルトの名無しさん
NGNG??極めて意味不明なんですが。
DirectXで妥協・・・とは?
これは、PC/ATで妥協という意味ですか?
0084デフォルトの名無しさん
NGNG82ではないけど、PS2のようなVUアセンブラでガリガリとか、DMA
スケジューリングでガリガリとプログラム組むのは、世間一般のプログラム
思想の流れとは逆行してるでしょ。
0085デフォルトの名無しさん
NGNG「だからPS2のソフトは大したことがないのか。」
0086hoge
NGNG「失礼ながら」ってことはそうだよな?
0087デフォルトの名無しさん
NGNG>その考え方あんまりですよ。
今、発売されているかなりの市販ソフトがvu1を一度も叩きません。
あと某社(ミドルウェアライセンス)の発表しているOpenGLも
vu1を一切叩きません。
EE(300MHz)+vu0 の組み合わせで、そこそこ行ける、というより
現状、最強の汎用演算装置だし。やっぱレジスタがあれだけ豊富に
あると、x86陣営では歯が立たないことはx-boxで実感。
だからこそ、融通性を削ってまで、頂点バッファをVRAMに逃がしたわけ
だし。(でもなぜかx-boxではVRAMには逃してないらしい)
ハードウェア頂点バッファ(in MainRAM)演算時にMainBUSがロックされて
いるか否か?なんてDirectXからじゃ絶対に見えないし。
0088デフォルトの名無しさん
NGNGゲームの部分作りこみたいんだよね。いや、最初のうちはパフォ上げるの
にワクワクしたけど、もう飽きた。DirectXでいいよ俺は。
あと、77氏のカキコみて思ったけど、デザイナにリソースポイントが渡っ
てる時点でプログラマの苦労なんて意味なかったりするんだよねぇ。
いや、16色で頑張ってくれてるのは解るけどさ。
0089デフォルトの名無しさん
NGNG>スケジューリングでガリガリとプログラム組むのは、世間一般のプログラム
>思想の流れとは逆行してるでしょ。
DMAのスケジューリングといってもガリガリ、ややこしいことは
ではないですし、PS2固有の問題でもありません。
あとピクセルシェーダなど、最近は再びアセンブラをプログラマーに
さらけ出す傾向があることは確かです。(PS2環境ではないですが)
>世間一般のプログラム思想の流れとは逆行してるでしょ。
3D描画にはプログラム思想のみならずハード思想の多少の理解を
必要とされているから、一見、逆行しているように見えるのだと
思います。
0090デフォルトの名無しさん
NGNGこれは、ゲームのアプリをデザインする前段階の
ブラックボックス作成に時間を賭かりすぎるからだと思う。
0091デフォルトの名無しさん
NGNGゲーム関係の掲示板は、ふざけた悪口ばかりなので開発者は
いたたまれないでしょう。
でも、やはり画像で凄いなぁと思うことが少ないのは買う側
としても辛いです。
ナムコなどの大手と、大手ではない所の差がこれほど大きい
とは愕然としてしまいます。
0092デフォルトの名無しさん
NGNG一番痛いのは画像が凄い事が売上に直結しなくなった事。
作り手としてどこに力を入れるべきか見失いがち何でしょうね。
難しいもんです。
0093デフォルトの名無しさん
NGNGですね。でも直結しなくても、とりあえず画像はそれなりに
凄いことしとかないと、流通がイニシャル渋るんですよね。
で、流通に渋られると雑誌媒体からも足元見られて、露出度も減ってしまって
悪連鎖。
RPGやなんかでデバッグモードでいきなりクライマックスの魔法イフェクトを
敵にぶつけるデモを無理矢理見せたり、それはもう大変です。
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNGこんなの見つけました。
http://www.gamedev.net/reference/articles/article1199.asp
「ホントにQuaternionって必要なの??」で、
「いらないっしょ? つーか数学の歴史的に見ればQuaternionは敗者で、
ベクトルと行列使った代数が勝者っしょ? プログラマーってアタマ悪いね(藁」
って内容だと思います。(英語弱いんで自信ないですが・・・)
この内容ってどうなんでしょ?
やっぱり皆さん使ってるんですよね>Quaternion
がんばって勉強するしかないのかなぁ・・・
0096デフォルトの名無しさん
NGNG009795
NGNGそうはっきり言い切ってもらえると、ちょっと安心です。
でも、やっぱり流行ってるっぽいですからね>Quaternion
流行りモノには弱いからなぁ・・・
0098デフォルトの名無しさん
NGNG数学では知ってて当たり前の概念。
009995
NGNGそうなんですか?
今まで理系一筋だったんですが(情報系ですが)、
クォータニオンは最近知りました。3Dの勉強中に。
「知ってて当たり前」ってのはどうかと思うのですが・・・
しかし、クォータニオンについての日本語の書籍やwebページって
少ないですね・・・お勧めの本やwebページありましたら
教えてください。(日本語がいいです)
010095
NGNGあ、でも、お勧め!ってのがあったらお願いします・・・
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG今忙しいので誰か話題振っといて。
0104デフォルトの名無しさん
NGNGだれも読んでないのか正しい答えを書かないのも異常だが・・
0105デフォルトの名無しさん
NGNGQuaternionを使わずに、
ジンバルロックを回避する方法を教えてくれ。
ついでにslerpも。
0106デフォルトの名無しさん
NGNG任意の回転軸周りの回転行列を活用しませう
0107デフォルトの名無しさん
NGNGよく知らないから、ネタだと思ってしまうのだけれど、
それは本当なの?
0108105
NGNGそれ、既にQuaternionの概念が入っていると思うんだがどうよ?
0109デフォルトの名無しさん
NGNG使わないでいいものなら使いたくないにゃー(苦笑)
0110デフォルトの名無しさん
NGNG安心せい、それはほとんどのヤツが思っていることだ。
0111デフォルトの名無しさん
NGNG本当。
>>108
入ってるがQuaternionを意識しなくてよい。
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG文系のオイラには 2乗でマイナスになる虚数ってなによ って感じ
0115デフォルトの名無しさん
NGNG英語だと imaginary number だべ。
0116デフォルトの名無しさん
NGNGQuaternionだって理解してなく立って使えばいいんじゃないの?
0117デフォルトの名無しさん
NGNG>どうせ座標系の概念も完全に理解して使ってるわけじゃないんだろうから、
それはマズい。概念くらいは完璧に理解した方がよい。っつーか理解出来る。
とか言いながらQuaternionに関しては理解しないで使ってるけど・・。
0118デフォルトの名無しさん
NGNGiをかけると90度回転する直交した座標系って考え方でもだめ?
しかし、虚数とか考えた人は偉いな〜と思う。
0119デフォルトの名無しさん
NGNG破綻するので、クォータニオンによる姿勢表現は必須になるのでしょうか?
0121デフォルトの名無しさん
NGNGギャワワーー! 誰やねん「虚数」とか日本語訳したバカは!
ちょっと殺意を覚えたぞ。
0122>121
NGNGcomplexだって一般化しすぎ。
0123デフォルトの名無しさん
NGNGじゃ夢数にでもするかい?
実数の対局として虚数とするのはものすごくわかりやすいと思うが。
0124名無しさん
NGNG0125デフォルトの名無しさん
NGNGこの場合のidealは「観念的」が適当
ってスレ違いだね。
要は訳語は変なのがいっぱいあるぞって言いたいだけデシ
0126デフォルトの名無しさん
NGNGどうやってるのでしょうか?
いろいろな問題が、クォータニオンなら楽に(何もしなくても)
解決できるからかえって簡単だと思うのですが。
0127デフォルトの名無しさん
NGNGMatrix補完など。
ツールによっては「間接->間接」はPLY角で出力する
ものがあります。さすがにキーフレーム間をPLYだけで補完すると
破綻するので、PLYからMatrixへコンバートしたもMatrix同士を
補完させる手法。
もちろん、キーフレームの取り方次第で妙な補完がかかることがあります。
0128デフォルトの名無しさん
NGNG線形補間したものを正規直行化するんですか?
012995
NGNGそのへんも >>95 のリンク先に書いてありました。
結局クォータニオンって必要なんでしょうか?
なんか、海の向こうのプログラマーの方々も>>95の意見には
反論してるみたいだし・・・
>>120
リンク先、簡潔に書かれていて分かりやすそうだけど、
実際考えると、「むむむ!?」となってしまう私はまだ修行がたんないのかなぁ・・・
0130デフォルトの名無しさん
NGNGまさかとは思うが行列の4x4のそれぞれの要素を補完するとか・・・そんな事は無いか。
他の方法では、回転行列から抽出したxyz軸を補完して最後に単位化するって
方法がある。あまりメリットは感じられない。
説明が無茶苦茶で分からなかったらすまん。
0131デフォルトの名無しさん
NGNGクォータニオンの方が処理が簡単な時もあるということですな。
0132デフォルトの名無しさん
NGNGジオメトリブレンドって、
「行列の4x4のそれぞれの要素を補完」そのものだよ。
0133デフォルトの名無しさん
NGNGして使っちゃえばいいんじゃないかなー?使う分には難しくも
ないと思うけど。
行列なりベクトルの方が楽ならそっち使えばいいと思うし。
0134デフォルトの名無しさん
NGNG分かったので安心(?)
0135デフォルトの名無しさん
NGNGその方法だと、ジンバルロックの問題はやっぱり起こりそうな気がしますね。
>>132
ジオメトリブレンド(=Matrix補完?)って正規直交性も失われちゃう(=軸が
互いに直交しない || 軸の長さが1ではない)ってことですか?
うーん、結果の予測が難しそうだなぁ。
オレは>>133に同意だな。Quaternionも、他の技法も使うことにするよ。
0136デフォルトの名無しさん
NGNGこれはもう、情報量も多いですし、直行座標以外も表現できるという
点で絶大なのです。(メモリ消費量が激しくても気になりません)
では Quaternion がなぜ登場したかというと、
二つの姿勢の間を表現する段階では Matrix->Quaternion へと
コンバートして、Quaternionレベルで補完した方が、奇麗に
補完がかかるからです。(奇麗にというかどんな状態でも補完可能)
つまり、単純に姿勢だけを表現したければ Matrix、
複数のMatrix間を表現したければ 一度 Quaternionへコンバート。
という感じになります。
虚数が登場するのは、Quaternionへのコンバート段階での証明する
際のツールとしてです。所詮、係数同士の掛け算をどのようにするか?
と考える段階で虚数を用いて考えるというだけであり、Quaternionへの
コンバート、(或いは逆コンバート)を考えるだけならば完全に
ブラックボックス化しても構いませんし、実際、そのまんま商品化して
しまったプロジェクトも見たことあります。
0137デフォルトの名無しさん
NGNGその補間はQuaternion使わなくてもできるって話では?
0138デフォルトの名無しさん
NGNGある角度方向に回転させても得ることができます。
(右手系か左手系かは決めておく)
これは行列をクォータニオンに変換するときと同じ処理です。
同様に任意の3x3正規直交行列と3x3正規直交行列との間には、
回転軸と回転角度が存在しこれを求めることができます。
ですので、これを求めて後は回転角度を線形補完することで
クォータニオンを用いずともSlerpできますがクォータニオンで
処理するのと比べてメリットがありません。
0139デフォルトの名無しさん
NGNG今の時代、どっち使っても全体の速度には影響しない。
好みで選ぼう。
0140デフォルトの名無しさん
NGNG任意軸回転するだけなのに、なんでクォータニオンが出回ったのでしょうか?
ちょっとした疑問です。
0141デフォルトの名無しさん
NGNGいや、任意軸回転がとても重要だからでしょ。
IKの計算なんかもクォータニオンだと楽だよね。
0142デフォルトの名無しさん
NGNG違ったかな?
0143デフォルトの名無しさん
NGNGDirectXに巨大な三角形ポリゴンを与えたりした時などで
透視変換直前の時点のz座標が負なものがある場合、
どのような振る舞いしてくれるんでしょうか?(ハードウェア頂点バッファ使用時)
xyはもちろんのこと、rgbだとか、tu,tv なども切断面で奇麗に
分離してくれるものなのでしょうか?
0144>>141
NGNG0145デフォルトの名無しさん
NGNG二つの行列があって、その両者を補完するその任意軸そのものって
どうやって求めるのでしょうか?
ネットで調べたり、書籍でも調べたのですが、この知りたい情報がどこにも
なくて困ってます。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG回転行列から、回転軸と回転角度を取得する
ってところがポイントでいいのかな?
回転行列から座標系のx軸、y軸、z軸がわかるから、
その3つのベクトルを足したベクトルが、
(1,0,0)、(0,1,0)、(0,0,1)の3つを足したベクトルから
どのように任意軸回転されているかを調べればよさそうな気がする。
自信ないけど、どうでしょ?
詳しい方、よろしく。
0149148
NGNGぜんぜんダメだ・・・
まじで鬱だ・・・スマン・・・
0150>>145
NGNG0151デフォルトの名無しさん
NGNG触ったことすらないけど、実際に動いてる画面見ると
「PS2の最低ラインって当初はこんな予定だったよな」って感じ。
>VooDoo とかのWバッファって何ビットなんですか?
ニセ浮動少数で、16Bitです。内訳は4Bitの指数部と12Bitの仮数部。
どこでコンバートしているかは不明。
ソフト(ドライバ)かもしれないし、ハードかもしれない。
0152デフォルトの名無しさん
NGNG外積で一発ちゃうの?
0153クォータニオンage
NGNGすみません、やり方教えてください。。。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG自分で調べろ
0156行列age
NGNGだから線形補間なんて、それぞれのベクトルごとに線形補間すりゃーいじゃん。
正規化が必要かな?。
0157
NGNG外積で求めた軸回りの回転と同じ軌跡を書くの?
同じだったらQuaternionの存在価値ないような、、、
外積の場合は比較する2軸の選び方の問題があるか、、、
(一度やってみようとおもいつつ、実験してないよ)
0158デフォルトの名無しさん
NGNG任意の回転量の間を任意軸周り回転1回で現すことはできません
0159154
NGNGいや、別人なんだけど、このスレなくなって欲しくなかったからあげてみただけ
0160デフォルトの名無しさん
NGNGそのやり方だと、球面上での線形補間にならないと思うんですけど。
0161156
NGNGなんか、話の流れがよくわかっていなかったようです。
これだと行列>行列間のLERPですね・・・
だけどSLERPって一体なにに使うの?
quaternionのスプライン補間のときつかうぐらいしか思いつかないんだけど。
だけど、これも行列で計算したほうが早いような気もする。
0162デフォルトの名無しさん
NGNGQuaternionだとQuaternion同士の合成は高速にできる。
姿勢情報を取り出すのにいちいち行列からxyz軸抽出して正規化
なんてしてたら遅いでしょ?
まあキーフレームアニメーションに対してはそんな無理して使う
必要はないかと。それでもxyz正規化x2よりはQuaternionの方が速い
んじゃないかなあ。
0163156
NGNG>quaternionのスプライン補間のときつかうぐらいしか思いつかないんだけど。
>だけど、これも行列で計算したほうが早いような気もする。
のレスとして受け取っていいのかな?
quaternionの補間ってsinとかacosとか使うと思うんだけど、
この辺のコストってどれくらいなのかな?
確かに行列でやると掛け算だけで200こえるけど・・・・
0164デフォルトの名無しさん
NGNGacosとsinは確かにコストが高いけど、行列間の場合、
補間前の正規化でxyz軸に対して正規化(sqrt)、補間後の正規化
でまたxyz軸に正規化、計6回のsqrtが必要だからこれに比べたら
幾らか速いでしょう。
補間前の正規化は、各軸が単位化されているという前提なら必要無し
だけど、そんな回転のためだけに行列を用意するのはいささか冗長
な気が。
それに、Quaternionを使うと逆回転の計算が凄く簡単なのも利点かも。
回転行列からだと逆行列を求めないといけないし。
0165デフォルトの名無しさん
NGNG回転行列の逆行列は、転置するだけだが…
0166デフォルトの名無しさん
NGNGオレは「Quaternionなど要らん」派だけど
最短コースの算出は行列では難しいぞ
最短=最適ってわけでもないし、無制約&最短コースが必要な
場面なんてほとんどないから特に困ることも無いが
0168
NGNGえ、Quaternion同士の合成なんてするんだ
quaternionをMatrixに変換して、Translation情報を乗っけた4*4MATRIX
同士を掛けてるんだけど、それって馬鹿?
つか、4*4Matrixって、あんまり使わないの? PS1は3*3Matrixだったよね?
0169DQN
NGNGスマソ。逆回転なんて何に使うの?
0170デフォルトの名無しさん
NGNGキーフレームアニメでキーとキーの間の補完はQuaternion同士でやるといいよ。
と言うかそれがQuaternionの真骨頂・・・。
4*4は標準的だよ。
PSは3*3+平行移動だったっけ?あれはいい加減だった。
>>169
ピッキングとかIKとか結構用途は限られてるけどね。
0171DQN
NGNGQuaternion→行列に角度に戻して、、、しかないんでしょうか?
0172デフォルトの名無しさん
NGNG行列のところでストッパー仕込んだら?
0173156
NGNGそっかー補間前にも正規化が必要なのを忘れてたよ。
じゃーキーフレームにはquaternion+locということで・・・・・
0174デフォルトの名無しさん
NGNG他のモーションに滑らかに繋ぐ、なんてのをやると、
やっぱquaternionマンセーですな。
試しにXYZでやってみたりすると、めちゃくちゃ面白い
アクションが見れたりもしますが。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG>試しにXYZでやってみたりすると、めちゃくちゃ面白い
>アクションが見れたりもしますが。
最初と最後は合ってるんだけど、途中で回り道をすると言う事でしょうか。
0177デフォルトの名無しさん
NGNGそのたうり
0178デフォルトの名無しさん
NGNGそりはバグ
0179デフォルトの名無しさん
NGNGまわり道なんてレベルではない事も多々あります。
角度制限も付けなかったりすると、もう人外の動きです。
>>177
バグではなくXYZで補間するという事は、そもそも
そういうものなのです。
0181178
NGNGXYZって角度のこと?
それなら納得
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG補間とか使ってる?
ただのアニメーションの補間だけなら、デザイナーさんが
破綻しないようなキーを打ってくれてるのかもね。
アニメ間補間すればすぐに問題出てくるよ。スロー再生でも
出てくる場合あり。
0184デフォルトの名無しさん
NGNGたいした仕事をしてないと思われ
0185デフォルトの名無しさん
NGNG最近クオータニオン使っていろいろ、ライブラリマクロ作ってたのですが。
クオータニオンでできたアルゴリズムがすぐにそれより高速な行列の計算になってしまう。
どうにも原因は、
1.回転角度1/2問題
クオータニオンは回転角度を1/2で設定する必要がある、これがクセモノ。
倍角公式とか使って駆使しないとどうにも高速化しない。
直感的でもなくなって、式が下品になる。
2.並列計算できると最速アルゴリズムが変化してくる
VUみたいに大量に並列計算できると、それを有効に使ったほうが効果的。
というところですかね。
クオータニオンがどこまで速くなるか、いろいろやってみたところ・・・
外積+内積+スケーリングで13クロック、これ以上はならんって感じでした。
まあ、回転だけを連続計算するならクオータニオンがちょっと有利って感じを受けます。
平行移動まで考えたら、私は素直に行列つかってます。
回転軸割り出しとか、こちらからの方でもできますし。
場所によって分かりやすい方使うのが理想的とおもう。
#やっぱり外積と内積は数学の歴史がたどったとおり、バラバラの方が使いやすいと思った。
0186185
NGNG0187デフォルトの名無しさん
NGNG同じく激しく同意
最終的に行列に帰結するのは必然のような気も・・・
適材適所も必然
オイラー角 --> プログラマ以外がデータを打つ時
クォータニオン --> 回転情報のみで済む時
行列 --> 平行移動&スケーリングとかも持たせたい時
って感じかなー
0188デフォルトの名無しさん
NGNG>1.回転角度1/2問題
????どう言うインターフェイスで扱ってるの?
あるベクトルからあるベクトルに向けるQuaternion?
任意軸回転行列で表わそうとすると余計に計算が大変じゃ無いかな。
0189185
NGNGあくまでPS2の話なんですが。
1.任意軸回転行列を作った後に回転+平行移動する。
2.クオータニオンで回転+その後平行移動する。
3.クオータニオンで回転その後行列になおして計算する。
の三つで試してみたのですが、回転ばかり連続計算しなければ1が最速でした。
さすがにインターフェイスは普通の角度です(そうでないとやってられません(^^;)、内部の式がそうなのです。
0190185
NGNG回転するだけらは 0.5 かければすむ話です。
0191185
NGNGひっとして直角方向が分かっているケースでしょうか、もしそうなら異論ないです。
0192デフォルトの名無しさん
NGNGこんだけやる気の出ないアーキテクチャも大したものだ
スループット2、水平演算不可、2オペランド、レジスタ8本
梗塞パイプ、貧弱デコーダ、これらを補って余りないクロック
鬱だ
0193188
NGNGなるほど。simdで処理すると行列の演算は高速ですからね。
まあ私の場合あくまで利便性でQuaternionを使っているんで
速度に対してはあまり期待してません。
最終的に行列にして座標変換するんで最初から座標にしておくのが
一番なのかも知れないけど、姿勢情報なんかはスケールが付いた
行列から一々抽出するのはなんかイヤなんですよ。
>ひっとして直角方向が分かっているケースでしょうか、もしそうなら異論ないです。
直覚方向はベクトル同士の外積です。で、角度は内積。
実際はバンクを付けたく無いから多少複雑になるけど、それなりに
すっきり組めます。
0194デフォルトの名無しさん
NGNGそれが普通の人の感性なんで、気にしないことにしよう。
少数派でいいなら、PowerPCのAltivecなんかは好きです。
0195デフォルトの名無しさん
NGNG俺のこと?
0196デフォルトの名無しさん
NGNG多くの人は数値演算系のライブラリをどうやって作っていますか?
1. 自作
2. D3DXライブラリ
3. 誰かが作った強力なライブラリ
自作が一番勉強になるとは思いますが、使い物になるものが何時できるのやら…。
いつまでたってもゲームが完成しないことになりそうで恐いです。
0197デフォルトの名無しさん
NGNGpentium4はスループット1だよ
gf3でvertex shader,pixel shaderした方が楽しいか
0198デフォルトの名無しさん
NGNGゲームを作るのが目的ならば、素晴らしいlibをネットで検索して
使うのがいいと思います。
ゲーム作りそのもの、lib構築そのものを楽しみたいのならば
その手の演算系libは自作するのがいいかと。
ゲーム用のlibなんて一人でもなんとか構築できる範囲内です。
もちろんlib構築そのものに楽しみを感じれる人ならばの話だけど
0199デフォルトの名無しさん
NGNG> 最近Direct3D8をはじめた者ですが、
> 多くの人は数値演算系のライブラリをどうやって作っていますか?
演算系 lib は、環境に依存しないものを一つ持っておくと、
作業環境の引越しをするときはラクチンでいいですよ。
私は自作のモノを一つ用意してあります。
0200デフォルトの名無しさん
NGNGDirectXのソースを参考にして自分で組むべし
ライブラリに自分の欲しい関数があると思ってはいけない
ベクトルの回転だけは自力でこなせ
0201デフォルトの名無しさん
NGNGその辺り、もうちょっと詳しく知りたいです。
0202デフォルトの名無しさん
NGNGDirectX使ってマターリ組んでたら、自分でワールド座標をスクリーン座標に直すことができません。どなたか助けてください。
0203デフォルトの名無しさん
NGNGそれは書籍に載ってる3D技術だから
0204デフォルトの名無しさん
NGNGワールド座標に直した座標を視点座標に直して、スクリーン座標に直して
うにょうにょってやりますよね?
ここまではワールド座標にカメラの行列を掛けてやって、射影変換行列
っていうのを掛けてやればできますが、問題はその後なんですが、
ここからのビューポートの変換ってどうやるのですか?
っていうかですね。射影変換のところからさっぱりわかっていません。
射影変換については一応本で解説されていて
要はカメラ座標からスクリーン座標に直すものって書いてありましたが、
入ってくる値を見るとどうもそれらしい値ではない感じです。
別に使っても使わなくても大して変わらないような値が入ります。
ちょっとした誤差のような感じです。
スクリーン上の座標にはなってくれないのですが。
それで射影変換とビューポート変換ってなんだ?ということなんですが。
ビューポート変換については何者かすらわかりません。
DirectXに設定したものはスクリーンの幅とか高さとかいれたような
気がしててそのときはただクリッピングでもしてくれるだけかと思ったんですが。
違うみたいですね。
0205リハビリ中
NGNG線形代数の教科書を読もう。
0206デフォルトの名無しさん
NGNGDirectX(&OpenGL)使っている人って
ブラックボックスのまんまプログラミングして人多いの?
0207aa
NGNGゲーム制作に興味があって2Dや3Dの絵のことを色々調べてたり、
ちまちまと勉強プログラムを書いたりしているのですが、
VoodooのAPIだった「Glide」の開発キットはもう手に入らないのでしょうか。
Direct3D8がやたらと難しくて困っていまして、webで読んだGlideの
シンプルさに惹かれてます。2Dの表示にも便利そうですし。
>>204
DirectXのヘルプに詳しく書いてあると思います。
0208デフォルトの名無しさん
NGNG書いてあるのは射影変換までだったと思います。しかも行列だけ。
ここのところの解説ってありましたっけ?
0209デフォルトの名無しさん
NGNG付録CDのサンプルソースにあるような気がする。
少し古いDirectXSDKのサンプルにもあるんじゃ?
0210デフォルトの名無しさん
NGNGちゃんと探せよな。
クリッピングで検索すれば見つかる。
0211デフォルトの名無しさん
NGNGどう考えてもWorld*View*Projection行列で一旦
クリップボリュームに変換してクリッピングしてから、
Viewport行列でスクリーン座標系に変換することになるよね。
2回座標変換が必要になるんだけど、これでいいんだろか。
0212211
NGNGクリップ平面をWorld*View*Projectionの逆行列で変換して、
オブジェクト座標系でクリッピングを行ってから、
World*View*Projection*Viewport行列で座標変換するのか。
0213デフォルトの名無しさん
NGNGOpenGLの赤本とか、Mesaのソースとか眺めると良いかもよ。
DirectX8のヘルプにものってた筈。
0214デフォルトの名無しさん
NGNGGoogleでg3sdk.exeとでも検索してみ。
0215デフォルトの名無しさん
NGNG絶対載ってる
書籍にもよるが
載ってない本ならヤバイ本だと思う
http://www.realtimerendering.com/
でも読んどけ
たまには英語の書籍もイイゾ
0216215
NGNGそれが影響されるベクトルのどの要素にどう関わってくるか
整理して考えろ
0217デフォルトの名無しさん
NGNGMatrixを2倍に拡大するように設定して、
SetTransform( D3DTRANSFORMSTATE_WORLD, mat );
みたいにしてるんですが、法線情報にまでスケーリングが影響するらしく、
拡大すると物体が暗くなってしまいます。
現象自体が通常考えられる逆なので、なにか致命的なミスを犯してると
思うのですが・・・よろしくお願いします。
0218デフォルトの名無しさん
NGNG頂点が2倍遠くに行く事になって、フォグで暗くなるってこと?
0219217
NGNGいえ、フォグかけて無いので、単純に法線の長さに影響がでてしまっているみたいです。
0220デフォルトの名無しさん
NGNG自分が考えていたものより変なものだったりして。
Bio100の過去ログでも見つけましたり。
hヌイときました。別にどうでもよさそうだけど。
ttp://www.bio100.co.jp/cgi-bin2/3df/flashviw.cgi?mode=set&no=3636
付き合ってくれた皆さんありがとうございました。
0221デフォルトの名無しさん
NGNGLightWaveのAtlas展開+LWBakerを利用できたらお手軽だけど実用になる?
0222デフォルトの名無しさん
NGNGほとんどのゲームは頂点カラー焼付けな気がする。
QUAKE系だと複数枚のライトマップを一枚のテクスチャに入れ込んでるけど、
あれのフィッティング(?うまく収める)アルゴリズムってどうやるの?
0223aa
NGNGおかげさまで見つかりました。
ありがとうございます。
0224221
NGNGATLAS展開の場合はこうだね
0225デフォルトの名無しさん
NGNG実用性とかはやっぱり不明。
0226Hemoguro
NGNGラジオシティまで言いませんから
0227数学赤点野郎
NGNGclass 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してあるんですけども。
0229数学赤点野郎
NGNGよくわかんないや(ぉ
0230デフォルトの名無しさん
NGNG間違っては無いと思うけど、あまり適切ではないと思う
幾何学でスカラって言うと、>>228のリンク先の説明よりも
方向を持たない量を表す意味合いが強いと思うし
0231数学赤点野郎
NGNGサクッと全部floatに置換しちゃいます。どうもありがとー。
0232デフォルトの名無しさん
NGNG>クオータニオンって、外積+内積なんですか?
外積+内積+ベクトルスカラー倍×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> 内積
* はただの掛け算
詳しく知りたいならベクトル線型代数やらの数学史関係の本が面白いよ線型代数の生い立ち良く分かるし。
ただし暇なら。(^^;
0233デフォルトの名無しさん
NGNG> 線型代数の生い立ち良く分かるし。
本の名前とか知りたいっす。
良かったら教えて〜。
0234デフォルトの名無しさん
NGNGで、ちょっと手元を探したのですが、超複素数という本がありました。
これは、数学史については余りかかれていませんが、かわりに
複素数からハミルトン四元数(いわゆるクオータニオン)さらに
ケーリー八元数さらに多元環へと順次拡張する過程がかかれています。
外積とかにちょっと難しいがなどというコメントなぞ入っていますが
3Dゲーム作ったことある人ならぜんぜん平気です、むしろそれ以外の部分が
難しかったりする(といっても、他の本と比べればかなり噛み砕いた説明になってます)。
面白い本ではありますが、3D処理で参考になるようなところは無いかも(^^;
回転方法くらいは書いてありますが・・・
この種の代数の全体像を理解するにはちょうどいいかも、説明はこの種の本では
とてもやさしいです。
もし、実戦で役立てたいなら群・環・体論(これは大きい本屋にいけば大量に
あると思うので合いそうなので適当にどうぞ)
の本でハミルトン四元数とかいう項目が入っているのをどうぞ、
ただしちょっと抽象的な数学なので難しいかもしれません。
実戦であればCG関係の本でなんか直接的な説明のある本も
あった記憶がありますが、ちょっとなんだったか忘れました。
確かOpenGLの本で、そこのサンプルでかかれていたような気が・・・
実戦なら、ウエブ上のこってり屋のとことかもいいですよね。
リンク忘れた、どこだっけ?
0235sage
NGNG良く考えたら 群・環・体はクソ理屈だけだ、ごめん。
やっはCGやら物理やらの本でクオータニオン取り扱う本がいいですかね?
物理なら慣性主軸とかっといったキーワードで探してみてはどうでしょう?
0236デフォルトの名無しさん
NGNG超複素数良いよね。
4元数の計算式が一通り乗ってるから、ソース起しやすいし。
秋葉の書泉数学コーナーにたまに置いてる。
0238Hestenes
NGNG六十年代から使用されています。慣性誘導・航法及び姿勢制御の
分野です。四元数とは要するに三次元ユークリッド空間上に於ける
八次元クリフォード代数のeven partのスピノル表現に他なりません。
これが四次元時空上ですと、十六次元のスピノル表現になり、
Dirac代数sedenionともよばれます。しかし、スピノルとして
統一的に理解した法が良いでしょう。クリフォード代数をよく勉強
して下さい。
0239デフォルトの名無しさん
NGNG超複素数検索したけど、微妙にタイトル違うけどこれでいいの?
アマゾンは今送料ただらしい〜
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGそこまでやるっ(^^;
0242デフォルトの名無しさん
NGNGクリフォード代数のやさしい本紹介してもらえませんか?
当方、群論とかが一通り使える程度、いまリー代数で悪戦苦闘中というところです。
0243Hesteness
NGNGhttp://modelingnts.la.asu.edu/html/NFCM.html
価格(税別): ¥33,015
0244デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGクリフォード代数>>>>>>>>>>>>>quaternion
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.
0248Tim Sweeney
NGNGhttp://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.
0249デフォルトの名無しさん
NGNGsageてる辺り、手馴れてる外人さんだな(藁
っつーか、既に数学板の内容っぽい。>http://cheese.2ch.net/math/index2.html
0250デフォルトの名無しさん
NGNGいつも行き着くところは英語の壁です。
0251デフォルトの名無しさん
NGNGこってり屋
http://village.infoweb.ne.jp/~tsuyozou/index.htm
ってゆうかどうなってんだよこのスレ
鬱だ死のう。
0252デフォルトの名無しさん
NGNG我々は16次元のクリフォード代数の中で踊っているにすぎない。
(書籍には載っていない3D技術)
0253242
NGNGああなるほど、そういう多元環な訳ですね。
なんとなく構造が想像できてしまいました。
0254デフォルトの名無しさん
NGNG>>240 本の名前の件さんきゅ〜。早速オーダーします
0255デフォルトの名無しさん
NGNGどっかのコピペだよね?
じゃなかったら…あわわわ。
0256小学生
NGNG0257242
NGNGそりゃそうでしょう、こんなとこに来る外人なんかいないって。
テンソル目がチカチカしてて嫌だったんでちょっと便利かも。
>>248 このリンクいいね。
クオータニオン反対派だったけど宗派変えしようかな。
まあ、微積がかかわななきゃどうでもいいか。
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGおれも〜
0260DQ
NGNG以前Dual Quaternionなるものを使ったことがあります。
通常のQuaternionは回転しか扱えませんが、
こいつは並進・回転を同時に扱えます(拡大は出来ない)。
確かパラメータは8つ(よってDualらしい)です。
もう2年くらい前なので中身はほとんど覚えていませんが、
探せばPerlとJavaのソースがまだあるかもしれません。
それ以降は行列とQuaternionで生きたので数学的な中身もサッパリです。
ただ計算コストがかかるなぁ〜と当時は思いました。
以上、まだ行列をまともに扱えるように前の思い出です。
0261デフォルトの名無しさん
NGNGそんなのもあるんだ、それは
RV^R
の形式でしたか?
#^R <- これ嫌い。
0262デフォルトの名無しさん
NGNGQuaternionでもスケーリング出来ます。
w, x, y, z 全てにに sqrt( scale ) 掛けるだけ。
各成分ごとの拡大は出来ないみたいだけど。
>>261
QuaternionとVectorの掛け算はコストが大きいので、
QuaternionからMatrixに変換してからの方が良いです。
Quaternion同士の掛け算は高速なので、多関節の演算だけQuaternionとかにしてます。
0263DQ
NGNGゴメンなさい。不勉強なためRV^Rが何を表すのかわかりません。
>>262
説明不足ですいません。拡大、といったのは行列でできる成分ごとの拡大を意図していました。
一応DQのPerlソースがあったんですけど、古い作なので恥ずかしい表記ばかり。
希望があれば多少リファインして挙げますけど…ココは流石に(^_^;
0265DQ
NGNGコマだしスマソ。補足です。DQでV・Rになってて
DQ・DQだとV・R・V・Rと等価になります。
で^DQは^R・^V…となったハズ。
# でないと当時、使わなかったので
0266デフォルトの名無しさん
NGNGに頂点Vをかけて、さらに1/Rで割ります。
この 1/R のことを言いたかったのです。
ちゃんと説明しなくてすみません。
なんですが、どうでしょう?
#移動してから、回転という事ですか?
#なるほど。
0267265
NGNG0268デフォルトの名無しさん
NGNG書くとこ間違えた。スマソ
0269DQ
NGNG以降私は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の補間とかあったのかなぁ?
0270デフォルトの名無しさん
NGNGQuaternionとVectorを一緒に持ってるクラスなり構造体なりを使えば良いんじゃないの?
クラスなら演算子オーバーロードすれば済む訳だし。
演算コストもそうたいしたもんでも無いだろうし。
数学的な価値は失われるが、ライブラリ的な価値は十分にあると思われ。
0271デフォルトの名無しさん
NGNGそうか?(^^;
平行移動成分ではまりそうな気がするのは私の気のせいか?
0272DQ
NGNG当時やりたかったことと同じこと(階層構造の組替え)をするなら行列があれば充分です。
敢えて言えば「拡大」をしない分、行列に比べメモリが半分で済むくらいかも。
# それでも3Dに使うということで行列をダイエットさせるならせいぜい3分の2
確実に演算コストとのトレードオフがあるので要検証です。
一応、本に載っていないかな?と思ったので紹介してみました。
# って、実際にソースを紹介したほうが良いのかな?
0273デフォルトの名無しさん
NGNG演算結果が再び D ですか、かっこいいですね。
ひょっとして、DQって、ケーリー八元数か、八次元クリフォード環か
のどちらかも知れないと思うんです。
どのように演算すればそうなるのかちょっと考えてみたいですね。
#それとも行列の固有・固有ベクトル値並べ立ててあるのかなぁ?
0274デフォルトの名無しさん
NGNGあらら違うんだ・・・残念。
0275DQ
NGNG# 詳しかったらDQなど見つけて来ずに行列で解決する方法を喋ってくれたハズ(藁
私も決して数学は得意でないですがその後の精進の甲斐あって、
Quaternionはホボ(←強調)理解できました。が、DQまでは勉強する気になれず。
>>273, >>270
いまちょっとDQ掛け算部分を眺めてみると、どうやらQuaternionはそのまま持っている模様。
Vector部に細工をしているようです。どんな細工かまでは理解できませんが(^_^;
0277DQ
NGNGhttp://www-as.dse.ibaraki.ac.jp/Paper/Master/M_00HS.html
修論のアブスト。日本語だけど詳細はなし。
http://vienna.eas.asu.edu/~wagner/academic/vrml98/dualquat.html
VRMLが重い。数式とVRMLによる利用がかかれていて3Dのスライドパズルが遊べる。
但し英語。私、今はこれを読む気力がありません(藁
0278270
NGNG平行移動部分はVector成分になるんで、掛け算の場合、
RV^Rが1回、RRが1回発生します。
実数の掛け算の回数を数えると、RR = 16回、RV~R = 24回、計40回。
Matrix同士の掛け算の場合、64回の実数の掛け算が発生するんで、
単純に比較した場合、4割弱有利です。
ただ、ホントに単純になんで、結果的には意味があるほど変わらないと思ってます。
それよりは、任意軸回転の有効性の方が大きいかと。>scaleとのトレードオフだが。
>>272
メモリは確かにちょっと有利かもしれないですね。
少ないメモリしか食わないと言う事は、キャッシュヒットにも有利だろうし。
0279デフォルトの名無しさん
NGNG行列の4列目は無用なんだから掛け算は実質36回では
0280デフォルトの名無しさん
NGNGPS2の私はアウト(笑)
0282デフォルトの名無しさん
NGNGという私はラジオシティーできない(泣)
0283デフォルトの名無しさん
NGNGついでにLightWave6.0Loaderソース
http://www.flipcode.com/cgi-bin/msg.cgi?showThread=COTD-LW6Loader&forum=cotd&id=-1
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG基本的なものなら簡単だと思いますけど。
むしろ難しいのは、最適なパッチの構築だと思う。
そこを疑問に思っているならすんません。
0287デフォルトの名無しさん
NGNGCマガのdevilmanさんの連載が参考になる。
でも、俺には階層パッチ分割がよくわからなかった。
誰か教えてage
0288デフォルトの名無しさん
NGNGボリュームレンダリングやってる人いませんか?
0289286
NGNGCマガのは確かに参考になると思うよ。
階層パッチ分割はどの号だったかちょっと覚えてないんで、
(つまり読んでない)今はよくわからないです。スマソ。
>>288
VolumeRenderingってSurfaceRenderingに比べて
利点が少なすぎるからじゃないですか?例えばデータ量とか拡大縮小の際のエイリアシングとか。
VolumeRenderingやるよりも、nVidiaのサンプルとかにある、
スライスしてSurfaceRenderingを利用するやつとか、
MarchingCube法を使ってやった方が良いと思う。
0290デフォルトの名無しさん
NGNGRT?
0291デフォルトの名無しさん
NGNGステレオグラムやってる人いませんか?
0292デフォルトの名無しさん
NGNG0293288
NGNGゲーム等ではSurfaceRenderingで十分だとは思ってますけど,
VolumeRenderingを必要とする物理や医用の分野があるじゃないですか.
512の3乗ボリュームでも今のPCでも十分メモリ足りるようになってきたけど,
その割にはあまり表に出てくる情報無いなぁ,と思いまして.
>スライスしてSurfaceRendering
これってSGIのOnxy2でも実装されている方法ですよね?
この方法,スライス面の間がアーチファクトとして出てきて
あまり画質良くないんですよね.
>MarchingCube法を使ってやった方が良いと思う
閾値処理の設定の問題と,
アルゴリズムが特許とられてるという問題が・・・
ということで,高速度かつ高品質でやれるようなもの,または
やっている人いないかなぁ.
>>290
RealTime,ってことですか?
0294286
NGNGVolumeRenderingはちょっと調べてみます。
>階層パッチ分割
見てみたけど、パッチとエレメントの事だったのね。
要するに
パッチ:ラジオシティの投光最小単位(基本となるポリゴンを分割した物)
エレメント:ラジオシティの受光最小単位(パッチをさらに分割した物)
と理解してますけど、これじゃわからんですか。
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG物によって精度足りなくなると思うけど、固定小数点じゃだめ?
64bit intで下48bitを少数にすれば、かなりいける気が。
0299デフォルトの名無しさん
NGNG全部有理数で計算するとか。線形要素ばっかりならなんとかなるのでは?
0300デフォルトの名無しさん
NGNG0301297
NGNG>>298
あー、固定小数点のこと考えていました。
・・・固定小数点使えば何とかなりますね。
>>299
>全部有理数で計算するとか。線形要素ばっかりならなんとかなるのでは?
線形要素・・・チンプンカンプンです。
>>300
FPUついていないプロセサを使おうと思っていましたので。
それでも浮動小数点を使った方が速いのでしょうか?
0302デフォルトの名無しさん
NGNG場面場面でどっちが速いか確かめなければ駄目。
STGのスレにもでてきたが正規化と媒介変数は鬼門だな。
ちなみに媒介変数とはSinやCosみたいなもの。
大抵これだけだとテーブルを作って逃げてしまうが
まさか媒介変数使うたびにテーブルを作るわけにはいくまい。
0303デフォルトの名無しさん
NGNG0304299
NGNG線形要素のみってのは、直線とか平面とか、式で書いたときに線形に書けるもの、
もっと感覚的にいうなら真っ直ぐなもののことのつもりです。
これなら幾何演算が加減乗除で閉じることが多いから、整数の加減乗除で有理数を
表現すればイケるんじゃないかと思ったわけ。
ま、どっちにせよメンドウですよ。
0305297
NGNG>場面場面でどっちが速いか確かめなければ駄目。
うは。そんななんですか。そりゃ大変そうですね。
わからないのですが、浮動と固定で混ぜるとすると、
固定小数点で使われるよな、整数部と小数部で分けた形式で
浮動小数点を表現するのでしょうか?
>>303
携帯機(PDA)を狙っているのですが、その「もしや」でしたか?
>>304
それだと有理数で何とかいけるんですか。勉強になります。
0306デフォルトの名無しさん
NGNGコンパイラに浮動小数点のエミュレータついてないの?
よっぽど遅くて使い物にならないんならしょうがないだろうけど。
0307デフォルトの名無しさん
NGNG整数演算と浮動小数点演算で
速度的に比較対照になりえるなんて話は
聞いたことも無いし、予想もつかない。
FPU無しで浮動小数点演算をやるなんて
速度を度外視して良い場合でもない限り
自殺行為のはず。
環境によっては容量的にも痛い目を見る。
って言うか、浮動小数点演算に
そこまで固執する必要って無いと思う。
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGやってみれば分かりますが、思わず有り得ない!!
とか叫びそうなほど遅いです。
デバックとかアルゴリズム確認程度にも使えないのが普通です。
0310デフォルトの名無しさん
NGNGんなこたぁない。
386, 486SXの頃はエミュで動いてた。
バリバリ演算する訳じゃなければ問題ない。
0311デフォルトの名無しさん
NGNG当時は遅いのが当然でしたからね。
しかし、悲しいかな時代が違いますよ。
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGS社の某 math.h は凶悪だった・・・
移植性重視でCで書いてあるとか(笑)
0314デフォルトの名無しさん
NGNG要素を全部有理数にすると大変です
整数を使った同時座標系ってどうだろうか?
やったこと無いけど、いけそうな気がする。
0315デフォルトの名無しさん
NGNGオーバーフローしないように時々正規化する必要があるんが面倒かな・・・
0316デフォルトの名無しさん
NGNGBSPによる陰面消去ってのは、
http://reality.sgi.com/cgi-bin/bspfaq/bsp?9.txt
に書いてあるようにfront to back, back to frontの二つあるみたいなんだけれど、
eyeから向いている方向に対してview frustumを分割して、
それぞれ近い方から遠い方、遠い方から近い方に描画していくということですか?
ちょっと、わかりにくい日本語かもしれませんが・・・。
0317デフォルトの名無しさん
NGNGって激遅レス
しかもage
0318316
NGNG0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGネタとしてなら
0321デフォルトの名無しさん
NGNGmath.hはCで書かれていますがなにか?
0322デフォルトの名無しさん
NGNGいや BSP によらなくてもそうだから、皆何を聞いてるのかナゾだったのでは
ないかと。俺は今初めて見たので。。。
要はその BtoF なリストを作るためにprecalculatedなBSPtreeが有ればO(n)で
いけまっせ。しかも視点方向無視できまっせ。ってことです。
0323デフォルトの名無しさん
NGNGDirectXでステンシルバッファを使わないで影を表現する方法について
参考になるページ等がありましたら教えてください。
0324デフォルトの名無しさん
NGNGダメなの?
0325デフォルトの名無しさん
NGNGソース公開してるのはあるけど(MS SDKにもあるし)
最近出た本の Game graphics gems(だっけ?)にも説明はあるよ
0326デフォルトの名無しさん
NGNG大抵サンプルってオブジェクト数少ないもんね
0327デフォルトの名無しさん
NGNG該当するページが見当たりません。
キーワードを変更するなどして再度検索してみてください。
0328323
NGNG(平面投影シャドウ)でやってみます。
いや、なるべく多くの環境で影を見せたいんでステンシル使わない方法を探してました。
それにしても、コンシューマと違ってPCで開発やってると低レベルなマシン環境に
合わせなきゃならないのが鬱です・・・
オプションで切り替えてのシャドウボリュームモードもやりたいんですが
時間があまりないんで楽な方で逝きます。
0329デフォルトの名無しさん
NGNG低スペックなマシンなんか切って良いと思うが。
3Dやろうってヤツが低スペックマシン使うこと自体が間違ってる。
いくらでもないんだから買い換えろよナー。
0330328
NGNG切り捨てる訳には逝かないってところが一番鬱ですね。
インテルのビデオカード逝ってよし!っつーか。
0331デフォルトの名無しさん
01/08/30 11:27ID:h83WzIzM0332デフォルトの名無しさん
01/08/30 18:46ID:6/9p5gqoアレは3Dカードに入りませんので切ってよいです
0333
01/08/31 02:30ID:RKpdaxm6最低でも1万円出してGeForce2MX買うでしょう。
0334
01/09/04 18:45ID:59YjTS8Q破綻しないシャドーボリュームってムヅイつか、面倒つか、重そう、、、
0335デフォルトの名無しさん
01/09/04 20:04ID:THUfbr9Iこんなの安いんですが、これでもいいんですか?
ゲームってあんまりやらないもので正直、よく分かりません。
0336デフォルトの名無しさん
01/09/04 23:08ID:QjlESLvE0337
01/09/04 23:41ID:59YjTS8QMX400にしとけ
0338デフォルトの名無しさん
01/09/05 00:08ID:64a.ANYA3なら尚良し
0339316
01/09/05 17:43ID:T6V.fmbIレスどうもです。
>316はなんだか正しいように見えますが、実は間違っていますw
きちんと勉強したらわかりました。
ところで、BSPtreeでsortしたら、どう描画していくべきなんでしょう?
FtoB? BtoF?
でそのどちらかだとして
BtoFだとPainter's Algorithmってことになりますよね。
FtoBだとmaskか何か用意して描画するのでしょうか?
どれが最善なんでしょう?
0340316
01/09/05 17:48ID:T6V.fmbIgourandやphongだとFtoBでmaskが良いのですかねえ?
0341
01/09/05 21:21ID:WdFN0ts6Painter'sはZバッファ要らずって奴だろ
BSPは無駄なZバッファ&スレームバッファへの描画を減らす為なんだから
FtoBに決まってるだろ
0342316
01/09/05 22:15ID:qwWXFtGYレスどうもです。
>スレームバッファ
って検索にかけても出てきませんでしたがフレームバッファのことですよね?
もし違うものであれば教えてください。
ちょっと良くわからないのですが、
FtoBで書くとして、それはmask bufferの用なものを用意して
書くんですよね?
0343デフォルトの名無しさん
01/09/06 00:51ID:oA/OigDs0344デフォルトの名無しさん
01/09/06 01:03ID:NEgftLkA詳細喜望峰
0345334
01/09/06 04:12ID:EGOl8GTsいやぁ面倒でちょっと無理。
基本的にはステンシルバッファ&nearClipにフタをする方法なんだけど、
いくつか注意点があるので その辺の確認みたいな内容だった
図がないとちょっと無理っす
PowerPointのデーター後日公開されるのかなぁ?
参加者も紙だし。ファイルもくれよ〜
0347330
NGNGこれについての日本語解説とかないですか?
英語&OpenGLなんで全然わからん・・・
カラーバッファってなんですか?DX8でも同じことができるのかな?
0348デフォルトの名無しさん
NGNG× Game graphics gems
○ Game Programing Gems
ちなみに2もすでにあるが、栄語が読めん俺は逝ってよし。
0349デフォルトの名無しさん
NGNGソースと式と絵を追うべし。
0350デフォルトの名無しさん
NGNGフォトンマップとかの話も聞きたいっす。
お願いします。
ちなみにわたしは普通のレイトレースレンダラーすら書いたことがありませんので、
やさしくしてね。
0351デフォルトの名無しさん
NGNG■■■■■■ 終了 ■■■■■■
0352デフォルトの名無しさん
NGNG終了かよっ!!
0353デフォルトの名無しさん
NGNG∩_∩
( ´_ゝ`)←フーン
( `Д´)←モウコネエヨ
(. ・∀・)←モララー
(. ´∀`)←モナー
(. .゚Д゚)←ギコ猫
(. -_-)←ヒッキー
( ´ー`)←シラネーヨ
(. ;TДT)←モカー
(. ´⊇`)←モヒャ
(. ^×^)←モネー
(. ´曲`)←テナー
(. ‘∀‘)←ガナー
(. ´ω`)←ショボーン
(. ・*・)←アナラー
(. ・≧・)←フェラーチョ
(. 冫、)
(.. ` )←アンソニー
(. つ. つ
〈. 〈\. \
(.__)(.__)
0354デフォルトの名無しさん
NGNG3Dのモデルデーターを扱うのに
一番イイと思われるフォーマットって何よ。
一応、モデルデータと、アニメーションデータは別で持つとして。
夜露死苦
0355デフォルトの名無しさん
NGNGhttp://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
0356354
NGNG0357デフォルトの名無しさん
NGNGlwo2
0358sage
NGNG厨房か?せめて何(ゲーム?レンダラー?)作りたいかぐらいは
書きなよ。
0359354
NGNGSPACE SATAN FANTACYというゲームを作っています。
西暦3499年、惑星コルドロンは邪王サタンに支配されていた。
悪逆の限りを尽くすサタン。それを阻止するために、
現代の地球人・アスカが召還された! アスカは機動騎士
タイガードラゴンを駆り、サタンを滅ぼすために立ち上がった!
というストーリーです。
0360デフォルトの名無しさん
NGNGあなたは良い味を出しているので、この先どんなに
辛いことがあってもその調子で頑張ってほしい。
0361デフォルトの名無しさん
NGNGタイガードラゴンを操作するのですか?
アスカを操作するのですか?
コルドロンはどこにあるのですか?
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNGがんばれ。ぜひ完成品を見たいので。
0364デフォルトの名無しさん
NGNG大ヒットの予感。。。
0365デフォルトの名無しさん
NGNGなんとなく懐かしい気分にナタヨ
0366デフォルトの名無しさん
NGNG機動騎士タイガードラゴン=ガンダム
0367デフォルトの名無しさん
NGNG>(;Д`)
的確に表情が伝わってくる
0368デフォルトの名無しさん
NGNG0369354
NGNGまあイイや。
まあ、作りたいのはゲームなんですけど、
とりあえず 六角大王表示したら
内部データに 法線の情報が入ってなかったってんで、
そう、出来ればバイナリーが良いかな?
そう、バイナリー
Xファイルとか、モーションデーターも一緒になってるような
気がするから、何かとかね。
って、俺
厨房やな。
すんません
自分で調べます
鬱だ死のう。
0370デフォルトの名無しさん
NGNGつか何言ってるかワカラン、汎用フォーマットの話じゃないのか?
とりあえずXファイルでいっとけば?別にバイナリにもできるぞ
0371デフォルトの名無しさん
NGNGぼくげーむつくるよんスレじゃないぞこら。
最後に鬱だしのう言えばいいってもんじゃないぞこら。
0372354
NGNGモデル表示のみに特化したデータ形式のスタンダードが有るかと思い、
質問してみました。
僕の脳みそのレベルが低いのは、確かに認めますが。
ゲームだと言ったのは、
必要な情報が、テクスチャーのUV値とマテリアルの質感
後は座標情報、
それも、トライアングルストリップと、トライアングルリストのみで良いからです。
それと、モデルデータとそのアニメーションデータは別で扱いたいため、
Xファイルを解析して、それを分離すると言う方法よりも、
別々で持てる形式の方が嬉しいと思ったからです。
>>371
ごめんなさい
もう来ません。
0373デフォルトの名無しさん
NGNG>3Dのモデルデーターを扱うのに
>一番イイと思われるフォーマットって何よ。
ゲームなら独自形式でっち上げて好きなようにやればいいよ。
どうせ自前のツールやプラグインで必要になるんだし。
それに、ユーザが困るわけでもないし。
市販ツールの吐くデータの仕様は買えばすぐ分かるから
とりあえずバイトでもして。資料手に入れたら後はperl
とかpythonで適当にコンバータでも作って。
>>369
>とりあえず 六角大王表示したら
>内部データに 法線の情報が入ってなかった
六角は両面描画&フラットシェーディングが前提だから
.rokは法線情報省いてるよ。(少なくともフリー版は)
>そう、出来ればバイナリーが良いかな?
>そう、バイナリー
任せる。
0375370
NGNGようやく>>369理解。漏れもちと後味悪し。みんないい人。
その用途ならとりあえずXファイルで良いと思う。>>372も標準テンプレートで全部賄えるよ。
で、モーションデータだけ別にしておけば良いのでは?モーションデータに
特化したXファイルでも良し、あるいは独自ファイルにしても良し。
DXSDK付属のconvxでバイナリ<>テキスト変換もできる
慣れてきたら>>373さんの言うとおり独自フォーマットに移行するとか。
あと六角の法線は自分で計算して出そう。
ただし市販ソフトでデータ使い回す場合はXファイルではトホホです。
0376デフォルトの名無しさん
NGNGSPACE SATAN FANTACYというゲームを作っています。
西暦3499年、惑星コルドロンは邪王サタンに支配されていた。
悪逆の限りを尽くすサタン。それを阻止するために、
現代の地球人・アスカが召還された! アスカは機動騎士
タイガードラゴンを駆り、サタンを滅ぼすために立ち上がった!
というストーリーです。
0377デフォルトの名無しさん
NGNG((( ⊂⌒~⊃。Д。)⊃ <>>359桜玉吉の「アコンカグア」思い出しちゃったヨ。
0378354
NGNGレス、有り難うございます。
六角のデーターの表裏判定は、なかなか巧くいかなかったので、
メタセコイアLEを使って見る事にしました。
利用しているのがOpenGLだった為に、
Xファイル使いたくないと思ったのですが、
ネットを探してみると、いろいろなモデルからXファイルに
コンバートしてくれる物が多数ありまして、
なるほど、正しかったんだ、と、思い直しております。
それと、今までも多数の3Dゲームが世の中に出ているので
てっきり、ゲームに適したフォーマットがすでに作られていると勘違いして
居ました。
いろいろ済みませんでした....。
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGねたふってください。
0382
NGNG0383レンダラ屋
NGNGレンダラだよ。エンジンだけでGUIはなし。
レイトレ、スキャンライン、ラジオシティ、フォトンマップ、
モンテカルロレイトレ、なんでも一通りOK。
0384デフォルトの名無しさん
NGNGそれでお金稼いでいるの?
0385レンダラ屋
NGNGうん。まあ、今のところ。
GUIもそのうちやるけど。
0386デフォルトの名無しさん
NGNG>>350の質問に答えてやってよ。
0387レンダラ屋
NGNGちょっと広すぎるなあ。
具体的な質問にしてくれれば答えられるけど。
0388
NGNG0389
NGNGhttp://graphics.stanford.edu/courses/cs348b-01/course8.pdf
俺は英語読めないんでパスな。
0391デフォルトの名無しさん
NGNGグーローではなく、グロー、
つまり自己発光したいのですが、
さて、どうしたらよいものか?
0392デフォルトの名無しさん
NGNG法線方向に拡大したモデルを半透明で重ねる、とかかな。
面倒だからそういうモデルあらかじめつくっておいた方がいいと思うけど。
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNG単に拡大したモデルじゃだめ?
0396
NGNG0397デフォルトの名無しさん
NGNG光源を物体内部に持ってくるんじゃ駄目?
0398デフォルトの名無しさん
NGNG拡大して輪郭をぼかしたものを合成するのでしょうか?
0399デフォルトの名無しさん
NGNG変えないと・・・。
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNG錯乱なしなら問題はないような気がしますが。
0403デフォルトの名無しさん
NGNG一人で錯乱しててください。
0404デフォルトの名無しさん
NGNG>>402
ワラタ
0405レンダラ屋
NGNG想像してるの?発光してるオブジェクトが他のオブジェクトを照らす
状態?それとも光源を目で見た時のフレアみたいなやつの事?
その両方?
0406_
NGNGチップがでるからそれまで待てや。
0407デフォルトの名無しさん
NGNGこれだけならテクスチャー貼り変えるだけだから、他を照らすんでしょうね。
0408レンダラ屋
NGNG??
この場合テクスチャを張る相手は誰?
ちなみにソフトウエアレンダラはこういう場合2次元的に合成しちゃう.
0409デフォルトの名無しさん
NGNGまとわり付いてる状態じゃないの?
0410デフォルトの名無しさん
NGNGhttp://travel.nifty.com/fworld/psp/image/grw0106.gif
これは2Dですが、3Dでキャラなどを。
見た目のみで、実際に他を照らす事はしなくていいです。
0411
NGNGうん二次元のつもりだった。
0412デフォルトの名無しさん
NGNGあべし。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG藁田
0415デフォルトの名無しさん
NGNGえ〜(w
その程度のフェイクぐらい創意工夫でやってみそ。
いや、真面目な話ムッチャ簡単な2Dエフェクトだから。
2ちゃん見てないで頑張れよ。オレモナー
0416レンダラ屋
NGNGこれだと思ったよ。でもさあ、これってリアルタイムでオブジェクトが
スピーディに動いてるときって結構辛いんじゃないの?
今のボードだと平気なの?リアルタイム厨房>漏れ
ソフトウエアレンダなら楽勝だけど。
0417デフォルトの名無しさん
NGNG何度も重ね描きする以外には無理なんじゃないかな?
0418インチキ君
NGNG0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGあまりにもインチキすぎるYO・・・
0421デフォルトの名無しさん
NGNGリアルタイムでfurってどうやるんだYO!
0422デフォルトの名無しさん
NGNGはなげさん資料がわかりやすいNE!
http://www.geocities.co.jp/HeartLand/8281/journal.html#20010820
直毛ウサギ
http://www.geocities.co.jp/HeartLand/8281/chokumou.jpg
もじゃもじゃウサギ
http://www.geocities.co.jp/HeartLand/8281/moja.jpg
0424デフォルトの名無しさん
NGNGひとこと多い性格だのう...
0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG技術的な一言が多ければ文句ないんだけどな(笑)
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG422のうさぎのモコモコとか、
ソフトウェアで綺麗に描画するとして、
方法が根本的に違うのか、
それともリアルタイムで描画する方法の延長線上に過ぎないのか、とか
お願いします。ぺこり
0433レンダラ屋
NGNG考え方によると思う。
目的とする用途によって実装の方法が変わる、と言えば良いか。
映画の特殊効果なんかでの毛は、正確なアニメーションをしないと
いけないからほとんどの場合形状を置いている。
で、その形状をサブピクセル単位で幾何学的に評価(つまりそれぞれ
のサブピクセルでシェーディング)するから当然きれいになる。
そんなに正確さが要求されない場合は2次元的に合成してしまう
方法もある。これは多分リアルタイムの方法と似てると思う。
ソフトイメージについていたメンタルレイ用のファープラグインは
この方法。ShadeのMarimoもこれだろうな。
この方法だとセルフシャドウとかが出来ないけど、ピクセル単位で
評価してる分、リアルタイムよりはきれい。
0434デフォルトの名無しさん
NGNGレンダラ屋さんは実は外人?
0436デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG0442441
NGNG0443デフォルトの名無しさん
NGNG0444441
NGNG0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNGComputer Graphics: Principles and Practices in C
みても載ってないれす。
0447デフォルトの名無しさん
NGNGbillboard n.
1 《米》(通例屋外の)掲示板,広告板: a notice on the 〜掲示.
2 〔海〕錨床(びょうしょう),錨座.
小学館プログレッシブ英和中辞典より。
0448デフォルトの名無しさん
NGNG常にカメラ方向を向く板のことです。
0449デフォルトの名無しさん
NGNG0450レンダラ屋
NGNG正確には書籍に載っていない技術というのは無いかもしれん。
英語の文献にはほとんどの事は載ってるからな。
ちなみにゲーム関係とかリアルタイム系は厨房なのでそこんとこ
よろしく(w
0451デフォルトの名無しさん
NGNG独立したアプリを作ってるのですか?
0452デフォルトの名無しさん
NGNG0454名無し
NGNGPOV-Rayの紹介ページ
http://www.win.ne.jp/~kom/povray.html
こんな画像も作れちゃいます。
http://www.povray.org/hof/index.html
0455デフォルトの名無しさん
NGNGPOV-Rayみたいなソフトを作りたいと思ってる人が多い。
0456デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNGモンテカルロレイトレの実験してます。
レンダラ屋さん、細かい注意点とかポイントとかtips教えてー
0460レンダラ屋
NGNGアーキテクチャの種類は?
フォトンマプ?
0461デフォルトの名無しさん
NGNG「とりあえず使ってみました」以外の意味がない
0462デフォルトの名無しさん
NGNGFF映画って、レンダーマンだからレイトレは使ってないのでは?
0463デフォルトの名無しさん
NGNGハイン将軍が持ってたブランデーグラスが
机に落した影の部分はフォントマップだと
思ったんだが。
0464名無しサソ
NGNG個人であそこまでシステムを作り上げた苦労が凄い
ね。フリー版をありがたく使わせて貰ってるけど、作者
が暇になったら、レジストするつもりだよ。でも、特殊な
技術はほとんど使ってないのではないかなぁ。メタ
ボールとか面白いけどね。
0465デフォルトの名無しさん
NGNG日本語で基礎から学べる良書はないでしょうか?
0466465
NGNG理工系数学のキーポイント行列と変換群:ヤン・ソンキル
って本は読んだ事があるのですが、
この本に書かれている事とクリフォード代数って関係はあるのでしょうか?
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG0470465
NGNG訳のわからない本をいくつも手に取り、
その索引にクリフォード代数という文字を探してたんですよ。
そしたら、ゲージ理論とトポロジーって本にようやくその文字を見つけたんですが、
私なんかにわかるはずもなく…。
機械科の僕にはこの本を読むためにどの分野の基礎を必要にするのかも解らないのです。
で、とりあえずトポロジーとホモロジーって言葉を見かけたんですが、
これの日本語訳を教えて欲しいです。
全く勉強したことはありませんが、トポロジーっていうのは位相幾何学って意味であってますよね?
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG数学科でも教えてないし。
0473デフォルトの名無しさん
NGNGクリフォード代数とは意味合いが違うので要注意。
遠回りになる。
この人らが再発見したことだから原文に当たるしかない。
http://modelingnts.la.asu.edu/GC_R&D.html
0474465
NGNGやはり私にとって今やるべき基礎は英語のようですね。とほほ…
数学にも強くなれるよう、もっと視野を広げなければと思います。
■ このスレッドは過去ログ倉庫に格納されています