DirectX総合スレ (Part5)
レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。
2006/09/08(金) 23:56:42ID:0F5D1JWX他の言語使ってる奴はいますぐ消えろ
0002名前は開発中のものです。
2006/09/09(土) 00:06:48ID:6lJw3mIyDirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
0003名前は開発中のものです。
2006/09/09(土) 00:07:48ID:nFDLIMd1鬱だ氏のうスレ
Part 1: http://piza2.2ch.net/tech/kako/966/966655286.html
Part 2: http://pc5.2ch.net/tech/kako/997/997101556.html
Part 3: http://game.2ch.net/gamedev/kako/1005/10051/1005119775.html
Part 4: http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html
Part 5: http://pc5.2ch.net/gamedev/kako/1027/10273/1027351925.html
Part 6: http://pc5.2ch.net/gamedev/kako/1033/10339/1033920036.html
Part 7: http://pc5.2ch.net/gamedev/kako/1039/10395/1039509250.html
Part 8: http://pc5.2ch.net/gamedev/kako/1046/10466/1046676308.html
0004名前は開発中のものです。
2006/09/09(土) 00:10:23ID:EhG70IxRマネージドC++なボクはどうすればいいですか!!!1
0005名前は開発中のものです。
2006/09/09(土) 00:19:41ID:nFDLIMd1鬱だ氏のうスレ
Part 9: http://pc5.2ch.net/tech/kako/1054/10545/1054553472.html
Part9.5:http://bbs.gamdev.org/test/read.cgi/gamedev/1054109966/
Part10: http://pc5.2ch.net/tech/kako/1061/10614/1061420660.html
Part11: http://pc5.2ch.net/test/read.cgi/tech/1069376986/ ※
Part12: http://pc5.2ch.net/test/read.cgi/tech/1076651336/
Part13: http://pc5.2ch.net/test/read.cgi/tech/1083313796/
Part14: http://pc5.2ch.net/test/read.cgi/tech/1088594869/
Part15: http://pc8.2ch.net/test/read.cgi/tech/1096649788/
※「いや〜、ごめんなさい」により紛失っぽ
0006名前は開発中のものです。
2006/09/09(土) 00:22:27ID:nFDLIMd1【C++】 DirectX初心者質問スレ Part10 【C】
http://pc8.2ch.net/test/read.cgi/tech/1153831096/
C#でDirectX9 初心者の館 2頂点目
http://pc8.2ch.net/test/read.cgi/tech/1103998649/
Managed DirectX vol.2
http://pc8.2ch.net/test/read.cgi/tech/1061285378/
くだすれDirectX(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1132965206/
■関連サイト
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.aspx
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx
- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://bbx.hp.infoseek.co.jp/
0007名前は開発中のものです。
2006/09/09(土) 00:23:33ID:hLoIs0pL0008名前は開発中のものです。
2006/09/09(土) 00:24:12ID:nFDLIMd1スレ立てもまともに出来ないお前がまず消えろ
0009名前は開発中のものです。
2006/09/09(土) 01:40:37ID:oopB0u/uSRPGを作っているので、
DirectXでなんとか平行投影で射影変換が実現
できないか模索しているのですが、どなたかご存知ありませんか。
斜め上後方からの見下ろし視点で、高低差のある立体的な四角形マスのマップ。
言語はVisualC++。DirectX9を使います。
自力で探していますが、もしアドバイス等いただけるとありがたいです。
よろしくお願いします。
0010名前は開発中のものです。
2006/09/09(土) 02:32:48ID:sE0M1v20よくわかんないけど、画面の平面にすべての頂点をペタンと貼りつけて、
画面枠に入った頂点が最終描画になるわけだよね?
じゃあ、計算式ってカメラ?画面?のローカルに移してZ値を全て無視したものが変換後の頂点じゃね?
ってか、そういう式を作ればいいんじゃね?
0011名前は開発中のものです。
2006/09/09(土) 08:00:17ID:0HGMyLQc0012名前は開発中のものです。
2006/09/09(土) 09:27:23ID:sE0M1v20そんなことしなくても平行投影だからカメラからみて単純にZ方向を抜いた奴だってば。
0013名前は開発中のものです。
2006/09/09(土) 10:06:41ID:wJiQZPcDD3DXMatrixOrtho*H
じゃ駄目なのか
0014名前は開発中のものです。
2006/09/09(土) 10:56:42ID:aA5FvX7Qありがとうございます。参考になりました。
>>13
調べて検討してみます。
0015名前は開発中のものです。
2006/09/09(土) 11:04:12ID:aA5FvX7Q生成できるらしいということが分かりました!
本当にありがとうございます。助かりました。
0016名前は開発中のものです。
2006/09/09(土) 13:34:55ID:wJiQZPcDまぁ君のクソゲーについてはともかくとして
>>11みたいな奇天烈な発想ってどうやりゃ出てくんのかな
やっぱ頭空っぽじゃないと夢詰め込めないんだろうな
0017名前は開発中のものです。
2006/09/09(土) 13:49:00ID:aA5FvX7Qクソゲにならないよう、気をつけさせていただきますね^^
では、失礼。
0018名前は開発中のものです。
2006/09/09(土) 14:25:28ID:MLAHt6Xk昔は3Dグラフィックソフトで平行投影できないものとかあって
その手法を使ったから、奇天烈な発想というわけではないと思うが。
写真だって似たような事をする場合もあるしね。
0019名前は開発中のものです。
2006/09/09(土) 15:01:53ID:HNgrCKi90020名前は開発中のものです。
2006/09/09(土) 22:24:55ID:CACnMXXaこういうやつに限ってAPIとかで用意されてないと
「この環境ではできません」とか抜かすんだろうな。
0021名前は開発中のものです。
2006/09/09(土) 22:58:31ID:o0Vq96gA0022名前は開発中のものです。
2006/09/09(土) 23:31:13ID:lF2w3Y560023名前は開発中のものです。
2006/09/10(日) 00:21:44ID:7oN2Z5LmいくらSRPGだって正射影って使うんか?
ふつうに描画したほうが普通に見た目いいと思うんだけどw
0024名前は開発中のものです。
2006/09/10(日) 01:56:22ID:ndTCJOXf日本一とか、フライトプランとかを真似てるだけ。
SRPGで正射影使ってないほうが珍しいんじゃないか?
斜め上からの視点だと、マスの高さが一定でもカメラから遠くなるほど小さく表示されるんじゃ、
奥のほうのマップが見難いんじゃないか、と。高低差有りだから余計に。
キャラやエフェクトは2Dドットだから、奥側の敵に攻撃したときの見え方とかも不安。
0025名前は開発中のものです。
2006/09/10(日) 03:45:56ID:Ni9A6K9O3Dとしてリアルならば見た目がいい、というものでもないだろう。
ゲームなのだから、分かりやすさも重要。
そのゲームや場面に適した表現方法ならばなんでもありだろう。
0026名前は開発中のものです。
2006/09/10(日) 08:54:13ID:5QPW+vii0027名前は開発中のものです。
2006/09/10(日) 12:05:28ID:3ovxvACHせっかくヒントをもらったのに検討もせずに無下にしては
新しい表現は生まれてこないよ。少しくらい想像してみなよ。
0028名前は開発中のものです。
2006/09/10(日) 16:36:14ID:OW1/CPbWそれを実現するための質問なんだから>>27の案は受け入れがたいんじゃない?
>>22
OpenGLでもglOrthoとかあるし、ライブラリとしてまとめるなら
用意しておくのが普通のような気がする。俺のような低脳にも使いやすいように。
0029976氏の展開
2006/09/10(日) 17:41:37ID:+2D4JAPB3Dサルみたいに、リアルならウホウホって低脳だけじゃねーんだよ世の中は。
サルは、ゲーム内容はなんか何でもよくリアル3Dなら満足なんだから、いいカモなんだおw。
0030名前は開発中のものです。
2006/09/10(日) 17:44:20ID:+2D4JAPB0031名前は開発中のものです。
2006/09/10(日) 18:28:13ID:/HqP+7XA0032名前は開発中のものです。
2006/09/10(日) 19:46:10ID:7oN2Z5Lmいや、SRPGってさ、なんで全体見渡す必要があるのかさっぱりわからん。
ああいうシステムなのに、ああいう視点のゲームなのもぶっちゃけ理解できない。
戦闘前準備がすべてで目の前の敵を殺せるなら殺したほうがいいよな。
つか、目の前の敵殺さないとこっちがヤバイよね?
だいたいどのゲームでそうでしょ?
FEにしてもSFにしてもFFTでもSNでもどれもいっしょじゃん。
プレイしてる奴、頭弱いだろw
あのゲームで戦略がどうとか言ってるのはよっぽどどうかしてる人でしょ?
ゲームの見所としては移動して行動決定したら後は演出勝負っしょ?
だったら3D視点のが面白いし可能性は広がってくと思うんだけどなぁ・・・。
ああ、何がいいたいかっていうと今のSRPG作り続けてる奴は
脳みそ化石状態だからあんなんしか作れないだけで
別に考え付いた末の結論ってわけじゃないと思うよ。
0033名前は開発中のものです。
2006/09/10(日) 19:53:24ID:bsqmGzR20034名前は開発中のものです。
2006/09/10(日) 20:00:47ID:ppKNThgl0035名前は開発中のものです。
2006/09/10(日) 20:05:40ID:/HqP+7XA>>29は何も考えてないし、多分もうこのスレに沸く度胸も無いので、
話のネタとしてはいいけど、本気でツッコミ入れる事も無いと思うぞ。
0036名前は開発中のものです。
2006/09/10(日) 20:31:38ID:Ni9A6K9OSRPGに何を求めてるかは人それぞれだろ。
そもそもSRPGというジャンルが何を指すかも曖昧だけど。
32が戦闘時の演出を重視するのは勝手だが、
そんな部分に興味がない奴も多いぞ。(DirectXスレで言うのもなんだが。)
グラフィックは世界観や戦闘時の状況を把握するための助けにはなるが、
それ自体のせいでテンポが悪くなったり見づらくなるくらいならいらん、とか。
演出を重視するにしても、ゲーム的、漫画的な表現や
記号化したシンプルなものなど、その方向性は様々で、
必ずしもリアルなものではなくていい。
昔ながらのSRPGが作り続けられているのは、そういうのが好きな人がいるからで、
別にそれに興味ない人が横槍を入れるものではないよ。
演出重視のSRPGがしたければ自分で買うなり作るなりすればよろし。
別にリアルな3Dを否定しているのではないよ。そういう方向の技術が進歩すること自体は歓迎。
でも別に皆がそっちを向く必要はない。
DirectXを使って3Dをやるにしても、何もリアルな絵にする方向ではなくて、
ゲームならでは表現なり使用方法なりがあると思う。
0037名前は開発中のものです。
2006/09/10(日) 20:40:17ID:7oN2Z5Lm俺はこのままだと普通にSTGの後を辿ると思うけどね。
それに俺が言ってるのは演出重視だけじゃなくて
SRPGが3Dにならんと進化でない類のゲームだからだ。
0038名前は開発中のものです。
2006/09/10(日) 20:52:27ID:7oN2Z5Lm作りたいものを作る、それは勝手だけど。
それをやっていると死んでしまうジャンルが確かに存在する。
要はゲームを進化させない開発者ってのは、昔の開発者の築いた蓄えを食い潰してるだけだと俺は思うけどね。
0039名前は開発中のものです。
2006/09/10(日) 20:58:45ID:5QPW+vii0040名前は開発中のものです。
2006/09/10(日) 21:04:35ID:9rYyE7u/0041名前は開発中のものです。
2006/09/10(日) 21:08:52ID:xUi4Ofrs0042名前は開発中のものです。
2006/09/10(日) 21:14:15ID:7oN2Z5Lmまず、単純にゲームに関わってくる情報の量を増やすこと。
これを上手くゲームに取り入れて行くこと。
2D→3Dはこれが一番難しい。
0043名前は開発中のものです。
2006/09/10(日) 21:18:12ID:Ni9A6K9O>ああいうシステムなのに、ああいう視点のゲームなのもぶっちゃけ理解できない。
>戦闘前準備がすべてで目の前の敵を殺せるなら殺したほうがいいよな。
>つか、目の前の敵殺さないとこっちがヤバイよね?
>だいたいどのゲームでそうでしょ?
この文章から察するに、
「頭を使うややこしいゲームなんてできないよ。
僕にも楽しめるように、単純に目の前の敵をやっつける派手なゲームにしてください。」
0044名前は開発中のものです。
2006/09/10(日) 21:24:15ID:3ovxvACH>既に透視投影と平行投影を比較検討した上で平行を選んだんだろうし、
アホかw
昔はBG面(マップチップ方式)しかないから
苦肉の策でクォータービューやってたんだよ。
完全に自由に3D表現できる今こそ
新しい表現を開拓してやるぜ!っつー気持ちで頑張れよ!!
0045名前は開発中のものです。
2006/09/10(日) 21:32:56ID:6dtSS5eHそれこそ似たようなものばかりになる
0046名前は開発中のものです。
2006/09/10(日) 21:38:47ID:vPeJWa9v0047名前は開発中のものです。
2006/09/10(日) 21:40:34ID:3ovxvACHだけどさ、「常に新しい」どころか昔から何も変わってないことに
危機感とか抱かないのか?もしかして開発者じゃない??
俺は >>23 の素朴な疑問から、新しい可能性を見出したよ。
0048名前は開発中のものです。
2006/09/10(日) 21:46:40ID:3ovxvACHhttp://www.watch.impress.co.jp/game/docs/20050310/age311.htm
けしてリアルなのを薦める訳じゃないんだが、
こっちの視点の方が「さあ行くぜ!!」って気分にならないか?
0049名前は開発中のものです。
2006/09/10(日) 21:51:56ID:6dtSS5eHだったら最初から口出しするなと…
平行投影ならではの表現ってのもあるでしょ。
陳腐な発想だが、たとえばエッシャーの滝みたいな不整合を含むマップとか。
リアルな方向"だけ"に進まなくてもいいじゃん。
0050名前は開発中のものです。
2006/09/10(日) 21:55:39ID:ppKNThglそんなのが趣味で作れるわけないだろう・・・
0051名前は開発中のものです。
2006/09/10(日) 21:58:47ID:7JZG++3mで、リアルがゆえに情報量が多くなり、操作仕切れなくなった。
結果、大雑把な操作(自動補正つき)のゲームばかりになった。
今はむしろ、リアルさが本当にゲームとしての面白さに繋がるのかについて、考える時期だろ。
0052名前は開発中のものです。
2006/09/10(日) 22:09:29ID:Ni9A6K9O個人的な感想をいってしまえば、「ならない」かなぁ。
おれもリアルなのを否定するわけじゃないから、リアルな表現が進化するのも見てみたい。
それに、ただ見た目が良くなるだけなら進化と呼べるほどのものではないと思うけど、
3Dであることを活かした、従来にない画期的なシステムやルールのゲームが出るなら大歓迎。
>>51
システム的に空間を3次元で扱っても、煩わしさが増えただけっていうのが多いよね。
コンピュータは進化するほど扱える情報が増えていくけど、
受け取る側の人間にはどうしても限界がある。
リアルになったことにより直感的に把握できるようになった部分もあるだろうけど、
むしろ分かりにくい部分も増えたと思う。
2Dであるからこそ、あと1マスが届くか届かないかの葛藤があったり、
たくさんのユニットをまずあーしてこーして次にそーしてとか把握しやすかったり。
将棋や碁なんて見た目はリアルの対極にあるけど、
単純化したゆえの楽しさ、奥の深さはあるからね。
0053名前は開発中のものです。
2006/09/10(日) 22:20:54ID:9rYyE7u/0054名前は開発中のものです。
2006/09/10(日) 22:23:31ID:3ovxvACH誰もコレを読んでないから、もうどうでもいいや。
スレ違いスマン。
0055名前は開発中のものです。
2006/09/10(日) 22:24:20ID:wZK1vegR9ですが、やはりマスをいじるタイプのSRPGの場合は、
ちょっと見難いかなぁ……という気がしましたけど、
このゲームはRTSなのでこれはこれでイイと思います。
てゆか、やってみてー!
>>51-52
同感です。詰め将棋のような面白さのある
一風変わったSRPGを目指して開発中です。
0056名前は開発中のものです。
2006/09/10(日) 22:25:56ID:LcveiUYj0057名前は開発中のものです。
2006/09/10(日) 23:16:36ID:Uo5RLZ/Uくぼみに質感を出さなければならない。 もちろん影も。
盤自体も高級感溢れるグラフィックでないといけないな。
0058名前は開発中のものです。
2006/09/10(日) 23:56:21ID:Gh+JFtjs0059名前は開発中のものです。
2006/09/11(月) 00:12:50ID:tyKTM/Cv0060名前は開発中のものです。
2006/09/11(月) 00:19:45ID:ljPU9jqB0061名前は開発中のものです。
2006/09/11(月) 01:59:28ID:vxGXDMh2昨今のトレンドは物理演算だよ。
0062名前は開発中のものです。
2006/09/11(月) 03:03:56ID:8YY9owEl気にしてくれた親切な方がまた御光臨されたのか…
0063名前は開発中のものです。
2006/09/11(月) 10:03:12ID:buAXBqZi技術を語れない妄想厨はお帰りください。
0064名前は開発中のものです。
2006/09/11(月) 19:28:57ID:NTcklCQT0065名前は開発中のものです。
2006/09/11(月) 20:19:25ID:NPh7G86RそのスレッドからDirect3Dを初期化するためにDeviceのコンストラクタで
フォームの参照かハンドルが必要なわけですが
そのまま渡すとお止まりになられます。
どうすればいいですか?
0066名前は開発中のものです。
2006/09/11(月) 21:48:25ID:uDY7T58a>システム的に空間を3次元で扱っても、煩わしさが増えただけっていうのが多いよね。
それは作り手がちゃんと詰める部分なんだよ。
じゃあ、聞くけど、それは3Dゲーム全般に言えることで全てのゲームにおいて
2Dの方がわかりやすくて面白かった?
で、SRPGに関しては3Dにしておもしろくなる可能性は0だと言い切りたいの?
ここまで言えるなら君のいうこともわかるんだけど。
あくまでも「そんな気がする」程度なんでしょ?
>2Dであるからこそ、あと1マスが届くか届かないかの葛藤があったり
え?3Dにするとそれってなくなっちゃうの?
0067名前は開発中のものです。
2006/09/11(月) 21:49:23ID:SzRE5oyo0068名前は開発中のものです。
2006/09/11(月) 21:57:23ID:uDY7T58a気に入らないならこなくてもいいんですよw
0069名前は開発中のものです。
2006/09/11(月) 22:04:11ID:fODc5yBf0070名前は開発中のものです。
2006/09/11(月) 22:05:22ID:uDY7T58aアンカーも付けられないクズに言われたく無いなw
0071名前は開発中のものです。
2006/09/11(月) 22:06:00ID:fODc5yBfおや、誰も君とは言ってないよw
0072名前は開発中のものです。
2006/09/11(月) 22:07:54ID:uDY7T58aおっwアンカーつけられるんじゃんw
柔軟性があるのはいいことだよ。
0073名前は開発中のものです。
2006/09/11(月) 22:09:17ID:fODc5yBfだから君に言ったんじゃないって。何故アンカー付けなきゃなのよw
それとも何かご自覚でも?
0074名前は開発中のものです。
2006/09/11(月) 22:11:49ID:uDY7T58aお、でも、アンカーつけてんじゃんw
アンカーの何がいいのよw
0075名前は開発中のものです。
2006/09/11(月) 22:14:10ID:fODc5yBfなんだよ「アンカーの何がいいのよ」って
何がよいって言われてもw
0076名前は開発中のものです。
2006/09/11(月) 22:16:58ID:uDY7T58aアンカーも付けられないクズに言われたく無いなw
0077名前は開発中のものです。
2006/09/11(月) 22:18:01ID:fODc5yBfアンカーの何がいいのよw
0078名前は開発中のものです。
2006/09/11(月) 22:35:37ID:uDY7T58a0079名前は開発中のものです。
2006/09/11(月) 22:39:54ID:fODc5yBfしかもこんなレスかよ、がっかりだ
20分近く考えてこれかよ、お前アフォだろ!
0080名前は開発中のものです。
2006/09/11(月) 22:51:09ID:QS09L3WT0081名前は開発中のものです。
2006/09/11(月) 23:41:07ID:CSTnIdUN0082名前は開発中のものです。
2006/09/11(月) 23:58:30ID:8YY9owEl0083名前は開発中のものです。
2006/09/12(火) 00:34:24ID:FahvW97U0084名前は開発中のものです。
2006/09/12(火) 00:51:15ID:xJzpylpk0085名前は開発中のものです。
2006/09/12(火) 00:57:19ID:FaiBXBLMトレンドだとか流行だとかコストがどうとか政治がどうとか
納期が云々、人件費があーだこーだは仕事だけでいい。
0086名前は開発中のものです。
2006/09/12(火) 01:28:13ID:2yKCqHR4そもそもDirect Graphicsがフォームとは別のスレッドでDeviceを初期化できるように設計されてない。
どうしてもスレッドを分けたいなら初期化はフォームと同じスレッドでやって、
できたDeviceのインスタンスをメインループに渡すしかない。
ただし、Device.Resetとかもフォームと別スレッドでは実行できないので
フォームのメッセージ処理でデバイスの状態を監視するなど注意深く設計する必要がある。
ちなみに別スレッドから呼んじゃいけないメソッドはヘルプに書いてある。
(プログラミングガイド>プログラミングのヒント>マルチスレッド処理の問題)
0087名前は開発中のものです。
2006/09/12(火) 06:59:37ID:lWcblcs9>>66-80のようなネタとマジのギリギリのラインでヤり合う流れも大好きです
あとDirectXも大嫌いです
0088名前は開発中のものです。
2006/09/12(火) 10:34:31ID:kEfRVLLO0089名前は開発中のものです。
2006/09/12(火) 13:19:37ID:bJAlhOwc0090名前は開発中のものです。
2006/09/13(水) 03:09:54ID:ZA9WaHkU0091名前は開発中のものです。
2006/09/13(水) 17:11:09ID:l7pK8U19「動けばいいってレベルでいいなら、動かなくてもいい」
0092名前は開発中のものです。
2006/09/13(水) 20:48:14ID:XgUJHN5F自分で考えたところ、
地面をマス目で区切って、そのマス目に対応する配列を作って、
その配列に地面の高さを保持させて処理するという方法しか思いつきません。
DirectXでゲームを組んでいる場合、これくらいしか方法はないのでしょうか?
0093名前は開発中のものです。
2006/09/13(水) 21:12:01ID:MZEQSGxt0095名前は開発中のものです。
2006/09/13(水) 23:28:07ID:UjlUEnmr0096名前は開発中のものです。
2006/09/14(木) 00:03:40ID:v5pi7Ixfデータ量が恐ろしいことになりそうだけど。
0097名前は開発中のものです。
2006/09/14(木) 00:49:03ID:Ff9nq8u9地面だけじゃなくて、立体的にさ。
基本的に、フィールド用ポリゴンと、小障害物オブジェクトと、
キャラクターオブジェクトがあって、
フィールド用は、3次元配列の判定メモリを使用し、
その他のは、キャラクタとの距離から、判定し、
その後に、ポリゴンとの接点を判定する。
キャラクタの場合は、点との判定で、剣とかも点で、
0098名前は開発中のものです。
2006/09/14(木) 02:58:37ID:18nXvM/Nなにそれ。3D格子(3Dグリッド)のこと?
どれぐらいの詳細度で扱うのか知らんが
トキオカ風の地形を1[m^3]で区切って
それを人間の手で作るのはかなり手間なんだけど。
0099名前は開発中のものです。
2006/09/14(木) 03:06:07ID:18nXvM/Nハイトフィールドで十分じゃん。
0100名前は開発中のものです。
2006/09/14(木) 07:02:01ID:vKnmoDkw俺はそんなことやらんでもほとんどハイトフィールドの応用で足りると思うんだがな。
っていうかアルゴリズムの違う足場ってバグり易いから作らないほうがいいぞ。
0101名前は開発中のものです。
2006/09/14(木) 08:24:47ID:IA3nRmrP衝突判定しないで動作はキー操作によるシーケンスで。
ってのはどう?
0102名前は開発中のものです。
2006/09/14(木) 21:56:26ID:Ff9nq8u9だからそれだと、螺旋階段とか立体ダンジョンとか、できないだろ。
0103名前は開発中のものです。
2006/09/14(木) 22:22:49ID:4HfKE9vQマップの判定ってちょっと悩むよな
俺はもう諦めて平面で作ることにしたけど
まぁ地道に勉強してればいつか解説本を読んでストンと腑に落ちることもあるさ
多分
0104名前は開発中のものです。
2006/09/14(木) 22:33:39ID:9eIOr1K40105名前は開発中のものです。
2006/09/14(木) 23:22:52ID:vKnmoDkw現在アクティブな(そのキャラにとって)ハイトフィールドを決めて「つなぎ」の部分だけ
処理すんのが一番楽だろうが。
螺旋っていったって局所でみれば普通の足場だろが。
階段なんかオブジェクトにしちまうと「抜け」で無駄に悩むぞ。
この辺、ゲームのたびにぶち当たるけど、足場はハイトフィールドの応用が一番強固でいいと思う。
やっぱなにより抜けないし、マス目細かくすることで応用が効くし。
0106名前は開発中のものです。
2006/09/14(木) 23:25:09ID:UH4wYhXWしかるべき場所(高さで判定とか)でそいつらを切り替えればいいんじゃん?
0107名前は開発中のものです。
2006/09/14(木) 23:32:08ID:Ff9nq8u9螺旋階段の下に潜った場合、上の螺旋階段との壁の判定はどーやるわけ??
0108名前は開発中のものです。
2006/09/15(金) 00:19:59ID:GAaooVvp影といっても、オブジェクトの下に黒い●が出るだけでいいです
地面が平面ならオブジェクトの真下に●のテクスチャはった面を表示するだけだったんですが
凸凹だとバレバレです
0109名前は開発中のものです。
2006/09/15(金) 00:21:39ID:ckWHetJAプレイヤーの腰当たりからレイ飛ばして、一番Yの高い位置で判断すればいいし、
隣接ポリゴンのリスト持っておいて自分の周囲ある程度のポリゴンしか判定しなければいいし。
XZへの移動に関してはどっちみち別途コリジョンをもっておかないと柵とか対応できない。
法線方向見て片方からは通れるようにすれば崖とか階段の下とかも問題なす。
0110名前は開発中のものです。
2006/09/15(金) 00:26:20ID:jCDKRfUj普通に浮かせたり、傾けたり・・・
それ以上やるとゲームに影響がでるぐらい凝らなきゃならんけど?やる?w
しかし、影の処理ってどれもアホかってほど重いな。
やんねーよ。こんなの。ってのでデザイナさんとも一致した。
0111名前は開発中のものです。
2006/09/15(金) 00:29:03ID:T4MgT/q6>隣接ポリゴンのリスト持っておいて自分の周囲ある程度のポリゴンしか判定しなければいいし。
だからその時点で、ハイトフィールドじゃないじゃん
011298
2006/09/15(金) 00:35:02ID:BE5Xhsow>>107
ん?螺旋階段(建造物)もフィールド(地形)と同じ扱いなのか?
俺がレスした>>97は
「フィールド用ポリゴンと、小障害物オブジェクトがあって」
と区別してたから、螺旋階段は後者(オブジェクト)だとばかり。
0113名前は開発中のものです。
2006/09/15(金) 00:38:39ID:ckWHetJAん?そうか?
単に判定するポリゴンを刈る為の処理のつもりなんだが。
いくらなんでも広大なフィールドの全ポリゴンを毎回判定するわけでもあるまい。
0114名前は開発中のものです。
2006/09/15(金) 00:40:15ID:BE5Xhsowそれは「ハイトフィールド」じゃなくて
「ハイトフィールド上にオブジェクト置いてる」状態と桃割れ。
0115名前は開発中のものです。
2006/09/15(金) 00:41:36ID:jCDKRfUjいや、普通に、ハイトフィールドじゃん。
0116名前は開発中のものです。
2006/09/15(金) 00:53:55ID:+fPG+udD011798
2006/09/15(金) 00:56:09ID:BE5Xhsowん?ハイトフィールドの定義から確認していいかな?
2D格子の標高データということで宜しいかな?
で、どういう螺旋階段をイメージしてるのか知らんけど
例えば円筒状構造物内にぐるぐる階段を設けたものでいいかな?
こういう建造物を無理矢理ハイトフィールドでやんのか?
0118名前は開発中のものです。
2006/09/15(金) 00:57:18ID:jCDKRfUj駆使して螺旋階段も立体交差も作れるし、これが一番安全だし、
これ以外でやるとそれなりに大変になると言っておく。
ただ、FZEROとかソニックは難しいかもしんないな。
0119名前は開発中のものです。
2006/09/15(金) 00:59:55ID:9nX1gLbgそれはまた別の方法を考えるべき屋根
0120名前は開発中のものです。
2006/09/15(金) 00:59:55ID:jCDKRfUjそうそう。
できるじゃん。
よく考えてよ。
螺旋階段を辿るようにぐるっとつないでいけばいいだけじゃん。
0121名前は開発中のものです。
2006/09/15(金) 01:05:44ID:9nX1gLbg何の事だかわからなかったのはオジサンだけの秘密だ。
012298
2006/09/15(金) 01:24:39ID:BE5Xhsowまさか、1[cm]単位みたいな高密度の標高データを
複数レイヤーで持てとか言うんじゃねーだろうなー。
格子状に配置された標高データだと表現力に自由度ないから
無理矢理密度を上げて対応してんのか?
俺は螺旋階段みたいな変な形状の建造物は衝突判定用モデルを用意してるよ。
この場合なら直立した中空シリンダーの中に階段のOOBBを敷き詰めて終わり。
0123名前は開発中のものです。
2006/09/15(金) 01:39:26ID:BE5Xhsow○1[cm^2]単位みたいな高密度の格子を
0124名前は開発中のものです。
2006/09/15(金) 02:07:22ID:tWOUPt7eなんでそんな脅してまでハイトフィールドを奨める…何かに取りつかれてるのか
0125名前は開発中のものです。
2006/09/15(金) 06:09:31ID:W8QvwaGaトンネル掘るのもめんどくせぇし、建造物はStaticMeshで当たり前。
UnrealEngineはハイトマップの使い方上手いけどな。
0126名前は開発中のものです。
2006/09/15(金) 06:19:06ID:jCDKRfUjはぁ?なんでそんなことになるの?
マジで頭悪いの?
0127名前は開発中のものです。
2006/09/15(金) 06:27:31ID:jCDKRfUj螺旋階段を辿るようにつないでいくって言ってるだろ。
脳みそ腐ってんのか?
つか、お前、人の話聞かないし、馬鹿だから余計なことばっかりやることになるんだぞw
0128名前は開発中のものです。
2006/09/15(金) 08:30:34ID:nV4yrdwW法線方向はリミットつければいい
0129名前は開発中のものです。
2006/09/15(金) 12:28:13ID:nr8K/tjpつべこべ言わずにハイトフィールド使えっつってんだろうが。
俺の言うことが聞けねぇってのか?
0130名前は開発中のものです。
2006/09/15(金) 14:17:30ID:T4MgT/q60131名前は開発中のものです。
2006/09/15(金) 16:44:30ID:tWOUPt7eほとんどの3Dのゲームは壁に当たってなお直進すると壁にそって微妙に横にすべるような動きをしますよね
あれって業界内で統一されたデザインとしてわざわざあのような動きをするようにしているんでしょうか
それとも典型的な壁との衝突時の処理の副作用としてあのようになっているんでしょうか
DOOMは壁をこすりながら走って加速できるバグがありました
MMORPGとかでは進めなくなった時点で歩行をやめちゃう駄目仕様なものも結構あります
そこらへんみなさんどうしてますか?
0132名前は開発中のものです。
2006/09/15(金) 17:10:01ID:fW5L3y+Qわざわざそういう風に作ってあるんだろう
当たり判定 壁ずり で検索すると解説してるサイトもある
0133名前は開発中のものです。
2006/09/15(金) 17:49:16ID:W8QvwaGaめり込んだ分(球の半径-中心から壁平面への距離)戻してるから
勝手に壁ずりする。
0134名前は開発中のものです。
2006/09/15(金) 20:38:46ID:tWOUPt7eぐぐってでてくる壁ずり講座のが色々とあまり美しくない工夫をしてるのに対して
それだとすごい自然だなぁ
やっぱり見た目のメッシュとは別に当たり判定用のバウンディングボックスを設定するんですか
0135名前は開発中のものです。
2006/09/15(金) 20:44:11ID:ghhBc9kZ0136名前は開発中のものです。
2006/09/15(金) 21:46:10ID:jCDKRfUj俺は検索かけたら真っ先に>>133の方法が出てきたが・・・
0137名前は開発中のものです。
2006/09/15(金) 22:45:06ID:T4MgT/q6コリジョンっていう言葉のイメージは、
まるまるとしてて、つっかかりが無いが、ゲドゲドしたもの。
という感じである。
これを表している物は、丁度、キウイフルーツである。
あの、丸々としてるくせに、表面がジョリジョリと気持ち悪いそれである。
また、親父のジョリジョリした髭がそれである。
あの、短い髭によって摩擦が減少してるのに、ジョリジョリされると痛いあれである。
つまり、コリジョンとは、ジョリジョリが痛い親父の髭。という意味なのである。
0138名前は開発中のものです。
2006/09/15(金) 22:50:28ID:lVw+0F2q0139名前は開発中のものです。
2006/09/15(金) 23:01:55ID:fW5L3y+Q0140名前は開発中のものです。
2006/09/15(金) 23:05:30ID:zpKEoHaz適度にブレーキがかかって具合がいいんだよな( ´∀`)
0141名前は開発中のものです。
2006/09/15(金) 23:42:45ID:694NBURy女子大生拉致監禁事件!?12くらい
http://ex16.2ch.net/test/read.cgi/news4vip/1158323954/
「どう見ても釣りだろ」
というと顔を真っ赤にしてレスしてくるので注意!!!
014298
2006/09/16(土) 00:24:55ID:ybUsKN1Jなんで火病ってるの?
でさ、お前の使ってるのって本当にハイトフィールドなの?
俺、>>117でハイトフィールドの定義を確認したよな?
これに対して君は>>118で「まあ、定義はどうでもいいけど」とか
はぐらかしてたけど、なんでかな?違うなら違うって言えよな。
0143名前は開発中のものです。
2006/09/16(土) 00:29:49ID:ybUsKN1J「XZ平面の格子点上でY(高さ)データをサンプリングした2D配列」
この定義で螺旋階段を表現しようとすると無理があると>>122-123で言っている。
層状の地形であるから多段でハイトマップ用意することになる。
階段は放射状に配置されている格子点サンプリングでは
うまく再現できない。高密度でサンプリングしてガタガタを減らすしかない。
例外的に、極座標系でサンプリングするなら高密度でなくて済むが
螺旋階段だけのためにわざわざ特例的な座標変換かますってどうよ。
0144名前は開発中のものです。
2006/09/16(土) 00:30:35ID:ybUsKN1J○階段は放射状に配置されているから
0145名前は開発中のものです。
2006/09/16(土) 00:33:23ID:ybUsKN1J洋物FPSのそれと相違点は少ないだろ。この手のレベルエディタなら
エンドユーザでも触れるし、レベルデータも見放題。
螺旋階段は厚みのある板を折り重ねて階段を作ってたりする。
0146名前は開発中のものです。
2006/09/16(土) 00:40:15ID:+w/URioFハイトフィールド使えねーってのは短絡すぎね?
そういう制限があるけど、実装が簡単だからって薦めて終わりにしねえ?
0147名前は開発中のものです。
2006/09/16(土) 00:43:32ID:ybUsKN1J0148名前は開発中のものです。
2006/09/16(土) 00:47:30ID:kI4OWMBCなるほど、高低差が表現できてるな。ってのは当たり前なんだし、
バカっぽい印象があったな。灰とフィールド。
0149名前は開発中のものです。
2006/09/16(土) 00:56:03ID:LjBp93/T無理じゃないよ。
自分の常識に勝手にとらわれてるだけじゃん。
定義はそれでいいよ。
「XZ平面の格子点上でY(高さ)データをサンプリングした2D配列」
普通に四角形つないでいくだけで螺旋できるだろ
いや、螺旋なんていうからよけいややこしくなるのか?
じゃ、上からみて円状の道が表現できればそれの連続で螺旋は表現できるよな?OK?
□□□
□ □
□ □←Start
□ □←End
□ □
□□□
例えば↑こんなんでどうだ?(ずれないかな?w)
ちなみにこの□の1つ1つがハイトフィールド。
(格子の大きさはそれぞれで調節できる。でも、大抵は一定。XZで矩形のヒットを確認した後でYの計算に移る)
イメージわいた?w
まあ、これは俺の方法だけど。(他の方法もあるかもしれんけど)
0150名前は開発中のものです。
2006/09/16(土) 01:08:20ID:kI4OWMBCそれは螺旋階段じゃなくて、リングみ見えるお
0151名前は開発中のものです。
2006/09/16(土) 01:11:27ID:LjBp93/T上からみた図って言ってるだろ。
標高データはあんだからXZ上でつながりゃOKでしょ。
0152名前は開発中のものです。
2006/09/16(土) 01:31:05ID:7TFzm0380153名前は開発中のものです。
2006/09/16(土) 01:37:00ID:LjBp93/T俺が専門行ってた頃のまわりもアフォはアフォだったけど、
ここまで頭固いのか馬鹿なのか知らんけど、そういうのいなかったし。
会社入ってからはアフォなのいなかったからね。ストレス溜まるよw
0154名前は開発中のものです。
2006/09/16(土) 01:51:12ID:ybUsKN1J螺旋階段ごときでこんなに細かくハイトフィールドを分割・配置すんのか。
これ、階段の一段につきディスプレースメントマップ一枚の間違いじゃね?w
0155名前は開発中のものです。
2006/09/16(土) 02:00:00ID:LjBp93/T細かくってそんな情報どこにもないけど?
別に格子の大きさなんて大雑把に配置してもいいんじゃね?
>これ、階段の一段につきディスプレースメントマップ一枚の間違いじゃね?w
何言ってるのかさっぱりわからない。
0156名前は開発中のものです。
2006/09/16(土) 02:08:54ID:ybUsKN1Jいや、細かくってのは「□」の個数。
一回りするのに14個のハイトフィールドが要るんだろ?
各ハイトフィールドの解像度はどれぐらいなんだ?
それで何段ぐらいの階段を表現してる?
0157名前は開発中のものです。
2006/09/16(土) 02:10:06ID:+w/URioF> ちなみにこの□の1つ1つがハイトフィールド。
1つ1つがハイト情報ってことだろ?
それの「1つ1つがハイトフィールド」って言ってるんだから
細かく分割するって解釈されても文句言えねーよな。
っつーか、>>149 の言う螺旋階段って、1周しかできてないだろ?
それなら誰だってできること知ってるよ。
ハイトフィールドでは何周もする螺旋階段ができないって話なんだが。
0158名前は開発中のものです。
2006/09/16(土) 02:15:14ID:ybUsKN1Jいや、それは一週分のハイトフィールドの実体さえ用意すれば
あとは繰り返し実体を参照でしかないわけで。
例えば「□」はAABBで、ハイトフィールドへの参照を内包みたいな。
0159名前は開発中のものです。
2006/09/16(土) 02:15:45ID:+w/URioF>>97 >>102 >>107
またスレ違いなので、そろそろ本気で止めとけ。
0160名前は開発中のものです。
2006/09/16(土) 02:20:36ID:LjBp93/Tはぁ?マジでアフォなの?
細かさなんてそんなの作る奴が勝手に決めりゃいいじゃん。
ていうか、作る奴が決めるしかないじゃん。
自分の質問がそういうことをいってることがわからないほど頭悪いの?
>っつーか、>>149 の言う螺旋階段って、1周しかできてないだろ?
お前に関しては、死ね。
応用力なさすぎ。ゲームPGなんて辞めちまえよ。
0161名前は開発中のものです。
2006/09/16(土) 02:30:25ID:x7V8Yxct地面をハイトマップで作って建造物をメッシュで表現するのが最も一般的。
バカとハサミは使いようというか、適材適所。
スレの流れ通りの実装をするならメッシュより超絶メモリ喰うし、
モデラーにさくっとメッシュ作ってもらった方が断然良い。
応用力とか言いながら無駄な努力。
ゲームに限らずPG向いてないよ。
0162名前は開発中のものです。
2006/09/16(土) 02:30:43ID:ybUsKN1Jあぁ、そうだ。主観の相違だよ。
ハイトフィールドの数だけ空間分割してるわけで、一周に14分割なんて
データ作る奴が可哀想だよ。描画用の螺旋階段の静的メッシュ一個作って
それに対応する衝突判定はハイトフィールドだよ。しかも超分割。
「螺旋階段ごとき、階段一段につきボックス積み重ねれば終わりだろがよ。」
0163名前は開発中のものです。
2006/09/16(土) 02:32:05ID:+w/URioF一般的なハイトフィールドで螺旋階段できないって話してる時に
応用とかあり得ねえ。そんなこと言ったらなんでもアリだろw
オメーは書き込みを止めろ。全然伝えられてないしスレ違い。
0164名前は開発中のものです。
2006/09/16(土) 02:32:14ID:hvflG0jIハイトフィールドで苦手な螺旋階段をどうしても使いたいなら、
素直にハイトフィールド以外で妥当なアルゴリズムを使えばい。
( ゚Д゚)マンドクセーから俺はだいたいオクトツリー+コリジョン用モデルで済ませちまうけど。
そして>160の必死さに乾杯。
0165名前は開発中のものです。
2006/09/16(土) 03:28:26ID:kI4OWMBCソケット7用ママンで、ソケット370CPUを使うという話だ。
その為には、PCIに拡張ボードのせてできるぞ!って言ってるんだ。
何でもありということなんだ。
0166名前は開発中のものです。
2006/09/16(土) 04:17:31ID:fgX/VehA標準的なキャラクタの大きさ(身長)って
(ゼルダとかのアクションタイプの場合)
どのくらいがいいんでしょうか?
0167名前は開発中のものです。
2006/09/16(土) 06:33:25ID:x7V8Yxctそんなもんどのくらいのスケールで処理したいのかによって変わるだろ。
座標単位÷仮想距離が小さくなるほど桁落ち誤差が酷くなってく。
座標の精度がfloatでマップの広さが数百メートルくらいなら
1.0=10cmくらいでいんじゃね?
あとはモデリングツールで扱いやすいサイズを考えるとかな。
まあどのみちデータ吐き出す時にスケールかけりゃいいだけの話なんで
作りやすいように作って問題が出たら変えりゃいいとおも。
0168名前は開発中のものです。
2006/09/16(土) 10:22:52ID:LjBp93/Tはぁ?どこまで想像力ないの?
今回のレスにしたってちょっと突けば矛盾がボロボロ出てきそうな
糞レス返しやがってアフォにもほどがある。
だいたい、メッシュなんてどんだけ無駄な手間かけてんだ?wアフォw
デザイナが作ったメッシュってことは抜けの処理全部手作業で確認すんだぞw
しかもメッシュなんて判定が遅い。小粒なオブジェクトを散りばめたら速度的に不安が残る。
レスがみえないけど、あんまり馬鹿過ぎて話しにならないID:ybUsKN1Jはすでに
NGワードなのでレス書いても無駄だからw
0169名前は開発中のものです。
2006/09/16(土) 10:30:40ID:TjFd2Nn1もー少し冷静になれないものかなあ。
大人気無さ過ぎるよ。
0170名前は開発中のものです。
2006/09/16(土) 10:46:53ID:u5V7+KW30171名前は開発中のものです。
2006/09/16(土) 10:59:39ID:YbNpH6OY「俺の方が正しいのに何で止めるんだ!」ってさらにヒートアップしそうなタイプですか?
別にどういう結論を出しても構わないけど、
周囲がドン引きなのでできればこの辺で止めて頂けるとありがたいです
0172名前は開発中のものです。
2006/09/16(土) 11:39:58ID:HePrFJJe0173名前は開発中のものです。
2006/09/16(土) 11:55:43ID:C7x/sWme0174名前は開発中のものです。
2006/09/16(土) 12:02:24ID:0yBawA0+0175名前は開発中のものです。
2006/09/16(土) 12:33:37ID:ZeKYkttp0176名前は開発中のものです。
2006/09/16(土) 13:40:21ID:W9eJQBmZ0177名前は開発中のものです。
2006/09/16(土) 14:04:54ID:7TFzm038XZ情報からYを取り出すに変わりない
0178名前は開発中のものです。
2006/09/16(土) 15:11:15ID:x7V8Yxct>ちょっと突けば矛盾がボロボロ出てきそうな
どうぞ突いてみてください。きそうなだけで出てこないでしょ?
>メッシュなんてどんだけ無駄な手間
の具体例が
>抜けの処理全部手作業で確認すんだぞ
とありますが、ハイトフィールドを使ってもデータに不備がないかを
確かめる作業は必要ですよね。
ハイトフィールドは自分で作るから絶対間違ってないというスタンスですか?
しかもゲーム中の見た目と実際のデータに視覚的な関連性がないので
ぱっと見て間違いに気づきにくいでしょうね。
>しかもメッシュなんて判定が遅い
ご自分の技術力がないのを自慢されなくても結構ですよ。
>小粒なオブジェクトを散りばめたら速度的に不安が残る
ハイトフィールドだって細かく分割して解像度上げていけば
速度的な問題はでてきますよね。メッシュだから起きる問題じゃありません。
ちなみにしつこく食い下がってるのはLjBp93/Tを改心させたいわけじゃなくて
何も知らない初心者がLjBp93/Tみたいなロートルに騙されないように
LjBp93/Tがどれだけ無茶苦茶な事を言ってるか指摘しているだけですので。
0179名前は開発中のものです。
2006/09/16(土) 15:25:14ID:LjBp93/T作って無いのバレバレ。
ハイトフィールドは普通にポリで出せるし、
何より格子状だから範囲さえあっていれば完璧に抜けがない。
それに対して、デザイナにメッシュこさえてもらったものは
そもそも抜けを確実に無くすのはほぼ不可能。実際に抜けないことをプログラムを実行させて確かめるしか無い。
範囲がちょっと広くなるだけで抜けを探すだけで膨大な時間が必要となる。
実現できるにしても数をこなすことを考えるとあまり実作業には向いていない。
1ステージチェックするだけでかなりの時間が必要になる。
ま、そうやって作ってるプロジェクトもあったから、駄目というわけではないんだろうけど。俺は奨めない。
>ハイトフィールドだって細かく分割して解像度上げていけば速度的な問題はでてきますよね。
はぁ?
メッシュを散りばめて判定するのと、複数あるハイトフィールドのどれとヒットしてるか探す処理を比較してそんなこと言ってるの?
アフォ過ぎ。比較にならない。
0180名前は開発中のものです。
2006/09/16(土) 15:46:25ID:mhwk2PCU問題は既にハイトフィールド云々という次元を遥かに凌駕している。
こ れ は ど ち ら が 最 後 に 書 き 込 み を す る かっ!!!
という超超高次元な問題に遷移しているのだ。
この場合書き込みの内容は無視して構わない。
あくまでどちらが最後に書き込みをするか。この一点で勝負は決まる!
0181名前は開発中のものです。
2006/09/16(土) 15:50:38ID:j5vuvrOR0182名前は開発中のものです。
2006/09/16(土) 16:08:04ID:NbVPi73vまぁなんだ、ツールの段階でポリゴンに隙間がなければ
コリジョンが抜けるなんて事はないんだよ。
抜けるとしたらそれはそれで興味あるアルゴリズムだな・・・
0183名前は開発中のものです。
2006/09/16(土) 16:11:17ID:z4sCHZfBいったいどんな馬鹿なモデルデータを使ってるんだ?
0184名前は開発中のものです。
2006/09/16(土) 16:49:39ID:LjBp93/Tデータの問題もあるけどチェックの仕方にもよると思うね。
隣接する多角形をちゃんとくっついてるものと保障する構造を作るのが面倒だと思うけどな。
例えば、三角形Aとそのとなりに三角形Bがあるんだけど、
判定してみたら誤差の問題かアルゴリズムに抜けがあるかでその両方の三角形に偶然ヒットしなかったと。
でも、モデル的にはその2つはくっついてて、境界でも必ずそのどちらかにヒットするはずなんだけど
どっかで抜けが発生してしまう。と。
俺がデザイナの作ったメッシュデータで判定をしてたときに面倒だと思ったのはこんなところだね。
しょうがないから隣接情報を三角形ごとにもたせたけど、手間だし、無駄だと思うな。
それに対してハイトフィールドは別に隣接情報を持たなくていいから楽だし、
なによりXZから確実にYが決定できる安心感がいいね。
0185名前は開発中のものです。
2006/09/16(土) 17:04:12ID:QxqZsR+w0186名前は開発中のものです。
2006/09/16(土) 17:12:38ID:7x6J3Hmc0187名前は開発中のものです。
2006/09/16(土) 17:33:58ID:NCgixR60旧来の擬似3Dマップで使われるような判定を別に行うか、
大きくはこの2通りがある。
旧来の擬似3Dマップ方式でも、3D空間を格子状に分解して個々の
立方体領域全てについて地形が存在するか否かをもつ方式もあれば、
2D平面を格子状に分解して、ここの正方形領域に高さ情報を持たせたものを
複数層重ねることによって地形の当たり判定を管理する方式もある。
蒸し返されてる螺旋階段の例において、螺旋階段状でジャンプしたときに
上の階段とぶつかることについて考える。
3Dオブジェクトを利用した判定や3D空間を格子状に分解する方式では、
下の段に接地することと上の段に頭をぶつけることは、まあだいたい等価
に考えられる。特に特別扱いしなくてもいい。
高さ情報をもつ2D格子を複数層重ねる方式では、その層を場所ごと(螺旋階段
一周の端とか)で切り替えるようにしていると、上の階段に接触しない可能性が
出てくる。高さ依存で層を切り替えるとか、そういう配慮が必要だ。
何の方式にしろ、理屈の上ではたいていのことが工夫すれば(あるいはしなくても)可能だ。
ただ、世界の単純化の度合いが進めば進むほど、複雑なことをするためには世界のモデルを
拡張する必要がでてくる。
あとでシステムが拡張に次ぐ拡張に見舞われるようなことにならないためには、自分の作る
ゲームでやることに対して、どの程度の世界(今回の例では地形)の単純さが適切か考えることが
大切だな。
今回の言い合いでは、たぶんお互いが頭に思い描いているゲームの複雑さの基準がかなり異なっている。
それが単なる一時の思い違いによるものならいいんだが、この様子では、どちらの側も、話の中である程度
具体的に想定できるゲームのバリエーションが貧困なんだと思う。もっといろんなゲームをプレイするといいよ。
0188名前は開発中のものです。
2006/09/16(土) 17:38:28ID:+w/URioFこの書き込みを見てやっとLjBp93/Tが思っていたよりはマトモなんだと分かったw
だからこそ、普通の(←これ重要)ハイトフィールドで螺旋階段とかが
そのまま(←これが重要)判定できないっていうのに異論を唱えるのが不思議。
>>187
> 今回の言い合いでは、たぶんお互いが頭に思い描いているゲームの複雑さの基準がかなり異なっている。
みんな「時オカ」を例にして話を進めてますよ。
あれくらいの規模(ポリゴンの単純さ)からすると、ハイトフィールドよりも
メッシュ判定の方が断然楽。確かに確認作業は大変なものになるけど、
それこそ「工夫」すれば楽にできるよ、な。
0189名前は開発中のものです。
2006/09/16(土) 17:48:21ID:LjBp93/TゼルダなんてSFCの頃やったきりだしw
0190名前は開発中のものです。
2006/09/16(土) 18:19:37ID:E6j+Euzf数値計算もロクに知らないのが露呈しただけじゃん。
0191名前は開発中のものです。
2006/09/16(土) 18:29:38ID:LjBp93/Tはぁ?
0192名前は開発中のものです。
2006/09/16(土) 18:38:20ID:mhwk2PCU「楽だし、安心感がいいから、ハイトフィールド最高!!」
さぁみなさんご一緒に!!
0193名前は開発中のものです。
2006/09/16(土) 18:41:42ID:LjBp93/T無駄に苦労して抜けに苦しむ意味がわからない。
隣接情報は作るのも大変だが、それ以上に確認が大変だぞ。
0194名前は開発中のものです。
2006/09/16(土) 18:41:45ID:XwJAVNiB0195名前は開発中のものです。
2006/09/16(土) 18:56:20ID:mhwk2PCUお前の糞スタッフが糞地形データをよこすのはわかったが、
糞スタッフまみれなのはお前だけらしいから、
全世界のPGが「ハイトフィールド最高」と唱えるまで粘着するなと言ってるわけだが…
0196名前は開発中のものです。
2006/09/16(土) 19:04:21ID:NCgixR60隙間にオブジェクトがつっこんだ事それ自体とか、そのときに取得する
「それまで正常に取れてた高さ」とかが正確ならいいんだが、単に行き当たり
ばったりな対策なら余計ひどいことになるから思いとどまったほうがいいと思う。
商用ゲームのリリースとかの社会的な影響が大きいものでもない限り、
共同制作なら締め切りの延期を頼むなりして、まじめに原因と正確な
解決法の模索をしたほうがいいと思う。
0197名前は開発中のものです。
2006/09/16(土) 19:09:42ID:u5V7+KW30198名前は開発中のものです。
2006/09/16(土) 19:10:41ID:XwJAVNiB>粘着するなと言ってるわけだが
せっかくもりあげてくれてるのに…なんでそういうこというかな
彼にはDirectΧMVPをあげていい
0199名前は開発中のものです。
2006/09/16(土) 19:14:39ID:LjBp93/Tそもそもどうやって正常か異常か判断するのかと問いたいw
俺のそのときやった解決策は隣接情報を持つことだな。
これ以外の解決策があるかもわからんが・・・。
0200名前は開発中のものです。
2006/09/16(土) 19:15:01ID:W9eJQBmZ0201名前は開発中のものです。
2006/09/16(土) 19:40:30ID:XwJAVNiBメッシュの隙間をちょうど通ってなにもヒットしなかったら異常
>>194はメッシュを事前にチェックする手法じゃなくて実際にゲーム内で歩行するときにやる
次のフレームでキャラを描くY座標を求める漸次処理での話だよ
0202名前は開発中のものです。
2006/09/16(土) 19:47:35ID:LjBp93/T>メッシュの隙間をちょうど通ってなにもヒットしなかったら
だから、隣接情報がいるだろ?w
0203名前は開発中のものです。
2006/09/16(土) 20:25:41ID:q7N2QBcJ0204名前は開発中のものです。
2006/09/16(土) 20:31:20ID:x7V8Yxct隙間を抜けるとか隣接情報がどうのこうのとか言ってるってことは
キャラの接地判定を点座標かそこからの垂線かなんかで処理してるんだな?
それなら議論が噛み合わないのもわかる。漏れはマップとの当たり判定も
球コリジョンでやってるからな。その方が壁とか天井とか他キャラとの押し合い
とかも全部同じコリジョンで判定できるんで楽なんだよ。
三次元の世界で未だにマップチップ敷き詰めた二次元マップと変わらない
実装してる時点で、ロートルという指摘は間違っていなかったようだ。
0205名前は開発中のものです。
2006/09/16(土) 20:37:34ID:LjBp93/T球判定は解決になってねぇ気がする。
俺もヒットの範囲をでかくもつってのは対策としてやったことがあるけど
結局、ヒット後の戻す位置が不安定になるからキャラがガクガクする箇所がでたからその方法はボツった。
0206名前は開発中のものです。
2006/09/16(土) 20:44:04ID:NCgixR600207名前は開発中のものです。
2006/09/16(土) 20:51:36ID:mR0GXmuR処理負荷が高いだけで何の利点もない。やるだけ無駄。
0208名前は開発中のものです。
2006/09/16(土) 21:00:25ID:XwJAVNiBほんといろんなやり方があるもんだね
0209名前は開発中のものです。
2006/09/16(土) 21:07:57ID:x7V8Yxctおまえはハイト厨の仲間かw
>>205も>ヒット後の戻す位置が不安定になるからキャラがガクガクする
とか言ってるけど、球と平面の交差判定と最近接点の求め方も知らないのか?
ttp://www.amazon.co.jp/exec/obidos/ASIN/493900791X
これでも読んどけハゲども。
>>206
まさかバカ正直に表示用モデルのメッシュのポリゴン1つ1つと判定するとでも?
たしかにモデラーにメッシュ作ってもらえとは言ったが、そのぐらい想像しる。
0210名前は開発中のものです。
2006/09/16(土) 21:12:18ID:LjBp93/Tいや、普通に↓の状態のどっちの平面を優先するか?って方法が難しいだろ・・・
\○/
0211名前は開発中のものです。
2006/09/16(土) 21:21:07ID:NCgixR60> 平面
平面?
> 表示用モデルの
バウンディングボックスとか球コリジョンとか言ってるのに
どこから表示用モデルの話が?
0212名前は開発中のものです。
2006/09/16(土) 21:46:28ID:XwJAVNiB全部本に書いてあるだけの知識なんだったらなんでそんなに人を見下した態度になれるのか
よくわからn
0213名前は開発中のものです。
2006/09/16(土) 22:09:09ID:x7V8Yxct>>210
あれか、ヒット検出するたびにオブジェクトの位置更新する方法なのか。
漏れはヒット検出だけ先にがーっとやって良い位置を見つけてから動かしてる。
まさか更に後ろから追突されてる場合どうすんだ?とか聞くんじゃないだろうな?
これはもう>>187の言うとおり、想定してる実装が大幅に違うので
これ以上議論する必要はないな。ずっと平行線だろう。
>>212
説明すんのめんどくせーから良書と言われてる本提示しただけだよw
0214名前は開発中のものです。
2006/09/16(土) 22:13:30ID:+w/URioF今はオマエの方が痛いやつだな・・
処理が重くて実装が面倒(初心者向けじゃない)な方法を出してきて
優越感に浸ってるんだからな・・・
初心者へのアドバイスとしてはハイトフィールドは正解だよ。
LjBp93/T が言ってる抜けとかガクガクのことは、心配しない方がおかしい。
どんな優れた判定でも厳密な実装をしたとしても、抜けの心配ってのは尽きない。
それを「球コリジョンの判定だから大丈夫」ってのはPGとして問題ありだぞ。
0215名前は開発中のものです。
2006/09/16(土) 22:43:30ID:EvPmSf1c【Collision Detection】
ttp://pc8.2ch.net/test/read.cgi/gamedev/1015484028/
0216名前は開発中のものです。
2006/09/16(土) 23:32:15ID:mhwk2PCU地形が無表情になると感じたので、眼中になかった。
メッシュに関しては隙間があるなんて論外だ。
そもそもそんなメッシュは生成しないか、
どうしても生成する可能性があるなら、
事前にチェックする処理を実装すべきじゃないだろうか。
メッシュの範囲内で抜ける可能性があるのは、
三角形の辺や頂点付近で、計算誤差の関係で、
どの三角形の範囲内とも判定されない場合だろう。
現状、俺の場合は地面にめり込むと即破壊なんで、
(流れに沿えなくて申し訳無いが)無視しても問題なさげだが、
いずれ地面を這いずる処理もする予定なんで、
判定のときに決定されるパラメータを基準に、
高度を決めるに相応しい三角形を決定するかな。。。
正直、19時くらいから友人に拉致られていた。
亀レスでも一向に反省しない。
0217名前は開発中のものです。
2006/09/16(土) 23:49:35ID:XwJAVNiB面倒くさいくらいで自暴自棄なってたらこの先生きのこれない
021898
2006/09/17(日) 00:56:16ID:95SApkAm土曜日がお休みの奴らだけで話を進めてさ!
0219名前は開発中のものです。
2006/09/17(日) 02:17:56ID:kab63KmG>>98
3D格子を立方体見立てて、地形と判定して自動生成汁
0220名前は開発中のものです。
2006/09/17(日) 04:11:16ID:xi1qMqr5モーションキャプチャで作成されたBVHフォーマットのデータ集があります。
これを読み込んでスキンメッシュに適用したいのですが、キャプチャされた人の体型と、
キャラクターの体型が違うと、あちこちで破綻しますよね(歩きで足がめり込む、剣を
持つ手がズレる等)。こういうデータの問題は、3DCGのソフトとかで編集して何とかする
モノなのでしょうか。キャラの形を演技者に合わせるのでしょうか。それとも心配する
ほど誤差は出ないのでしょうか・・・
どうするのが一般的なのか教えて下さい。
0221名前は開発中のものです。
2006/09/17(日) 08:55:25ID:DxO0onxt0222名前は開発中のものです。
2006/09/17(日) 13:15:12ID:VB8rm0m6最近の3Dソフトは、体型やボーン構造が違うモデルに
モーションデータを破綻せずに転写する機能があるものがあるから、
それを使うといいかも。
といっても万能ではなくて、ある程度は微調整が必要だけど。
0223名前は開発中のものです。
2006/09/17(日) 14:12:34ID:xi1qMqr5Poserが安くてそんな機能を持ってるように見えますね・・・
人体のボーン以外のデータ(擬似カメラマン等)がどう処理されるのか謎ですが。
ちょっとCG板でも質問してみます。
ありがとうございました。
0224名前は開発中のものです。
2006/09/17(日) 14:33:11ID:cEnlpKqK0225名前は開発中のものです。
2006/09/17(日) 16:23:16ID:UIgbxGdy切り替えるようにすればいいのかいろいろ試しているんですがいまいち綺麗になりません。
今やっている方法としてはモデルの描画タイプなるものを変数でもってそこにenumで
定義したライト有とか無とかを入れて。それに応じた関数を1つずつ作ってその中で
設定して描画という流れをとっています。ほかに何かいい方法ありませんでしょうか?
0226名前は開発中のものです。
2006/09/17(日) 17:31:19ID:l4eSGZ3aそれで問題ないんじゃん?
要は描画タイプをもっとスマートに設定したいってことだと思うんだけど、
俺はモデルのファイル名とかテクスチャのファイル名で区別するようにして
ロードする所で自動的に描画タイプ(に相当するもの)を設定してるよ。
あとは、モデルデータの中に情報を埋めこめられたらそれがベストだろうし、
あまり使われない emissiveColor とかに判断するための情報入れても良いし。
0227名前は開発中のものです。
2006/09/17(日) 21:02:11ID:kVaTVo9Q綺麗に実装したいということであれば、シーングラフとうい単語について調べてみるといいかも。
簡単に言えば、描画のための属性情報をデータに埋め込むための方法のひとつ。
ただ、一般的に極端に柔軟な構造になっていて(属性一つ一つが別オブジェクトとか)逆に
わかりにくくなってたりするので、その辺は差っ引いて考えたほうが良い。
0228名前は開発中のものです。
2006/09/18(月) 16:38:09ID:nebAij1Lどこかにありませんか?
0229名前は開発中のものです。
2006/09/18(月) 16:53:16ID:hPW3CvLZオマイは初期化だけすれば満足なのか?
サンプル見れば初期化だけじゃなく色々処理してて楽しいぞ!
0230名前は開発中のものです。
2006/09/18(月) 16:56:42ID:3J7XaVedそれ欲しい気持ち分かるかも。
サンプルは短いほど良い。
初期化なら初期化のみのサンプルが欲しくなるけど何故か無いんだよね。
0231名前は開発中のものです。
2006/09/18(月) 17:01:59ID:hPW3CvLZホラヨ↓
static LPDIRECT3D9 d3d = NULL;
static LPDIRECT3DDEVICE9 d3dDevice = NULL;
// Direct3D生成
if ((d3d = Direct3DCreate9(D3D_SDK_VERSION)) == NULL) {
return E_FAIL;
}
// デバイス生成
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
if (FAILED( d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &d3dDevice) )) {
return E_FAIL;
}
0232名前は開発中のものです。
2006/09/18(月) 17:02:02ID:YGVTfy8v0233名前は開発中のものです。
2006/09/18(月) 17:23:00ID:hyOjYwNqエラーでたような
0234名前は開発中のものです。
2006/09/18(月) 17:25:42ID:hPW3CvLZなぜか開発できてる。XPだと良かったとかあるんだっけ?
0235228
2006/09/18(月) 17:34:23ID:nebAij1L今のDirectXは、VC++6.0 見捨てたって本当ですかwwwwwwwwww
2年ぶりぐらいにゲーム作り再会しようと思ったけど
昔VC6で書いたコードがどっか行ったからまた一から書き直そうと思ってたんですけどwwwwwwwwww
0236名前は開発中のものです。
2006/09/18(月) 17:48:58ID:hPW3CvLZせっかく再開しようと思ったんだから、とりあえずSDK入れてみなよw
ちなみにサンプルコードは、昔みたいにサンプルとして用意されてるんじゃなくて
Sample Browserっつーやつで欲しいやつをコピーして使うんだよ。
コピーされたやつは.NET的なプロジェクトなんでVC6.0ではそのままでは使えなくて
自前でプロジェクト作成して追加するか、中身だけコピペして使う。
0237名前は開発中のものです。
2006/09/18(月) 18:11:28ID:nebAij1Lとりあえずこれに移行しようwwwwwwwwwwwww
version2002って書いてあるけどこれでいいのかなwwwwwwww
とりあえず>>231ありがとうwwwwwwwwwww
>>236もwwwwwwww
0238名前は開発中のものです。
2006/09/18(月) 18:20:33ID:hPW3CvLZちょwwwwww
VC#じゃ俺がさらしたコード意味なくね?w
それに、>>231 も >>236 も俺だwwww
0239名前は開発中のものです。
2006/09/18(月) 18:37:41ID:u18krs0Fversion2002って、それも古いよw
ttp://www.microsoft.com/japan/msdn/vstudio/express/
↑で「Visual C++ 2005 Express Edition」が(C# 2005も)
タダで配布されているから、これを使え。
ちなみに、MFCとかいくつか機能は削られてるけどね。
0240名前は開発中のものです。
2006/09/18(月) 19:37:28ID:hx4aXYl50241名前は開発中のものです。
2006/09/18(月) 20:02:41ID:nebAij1Lありがとう
無料wwwwwwwwwwwww
>>240
ありがとう
英語わかんねwwwwwwwwwww
0242名前は開発中のものです。
2006/09/18(月) 21:00:23ID:hqDoqF8gwindows.hが無いって言われてPSDK入れようとしたら解凍時にエラーが・・・orz
0243名前は開発中のものです。
2006/09/18(月) 22:05:45ID:wQqaLVvp簡単に触れるようにしておいたら結構アドバイスとかもらいやすいですか?
0244名前は開発中のものです。
2006/09/18(月) 22:08:41ID:CKwMW6d10245名前は開発中のものです。
2006/09/18(月) 22:11:16ID:TsNNBYba0246名前は開発中のものです。
2006/09/18(月) 23:09:43ID:hyOjYwNqpd3dDevice->Resetをかけて
pd3dDevice->Presentするとエラー出るんですが
回避方法あります?
Reset前にレンダリングターゲットReleaseしてもエラーでます;;
0247名前は開発中のものです。
2006/09/18(月) 23:22:59ID:cmynSM1C→CreateVertexBuffer/CreateTexture
→BeginScene
→EndScene
→Present
の順でもエラーがでるん?
0248名前は開発中のものです。
2006/09/19(火) 00:20:26ID:U6KIFbrr0249名前は開発中のものです。
2006/09/19(火) 00:40:10ID:t7b8fFIa0250名前は開発中のものです。
2006/09/19(火) 00:56:56ID:SaZdkbYWそもそもどんなライブラリを作るの?
単なるラッパーなら誰も相手にしないと思うよ。
0251名前は開発中のものです。
2006/09/19(火) 00:57:12ID:1N/W0sXJ目指さないと使ってくれる人居なさそうだねぇ。
使ってくれる人居ないと結局csvで触ってくれる人もアドバイスやら
要望やらも来なくなるし・・・
0252名前は開発中のものです。
2006/09/19(火) 01:06:07ID:t7b8fFIaどんな機能が必要でどうまとめたら上手くいくかスレ立てて考えろよ。
でも、どういうライブラリが欲しいのか方針はお前が決めろ。
みんな勝手な要望ぎしぎし詰め込んでも実際作れないだろ?
XFileが読み込めて、バンプ、環境、スキンメッシュ、フォグ、・・・対応しろとか言われても
これ、対応するだけで1年はかかりそうな勢いだぞ。
通常描画のスキンメッシュ
パンプ描画のスキンメッシュ
環境マップ使った描画のスキンメッシュ
・
・
・
ってやること同じくせに量だけは多いんだ。
会社で作ったときもかなり時間使ったし、まず、仕様を絞らんとどうにもならんぞ。
逆にライブラリなんて作らないで、仕様だけまとめておいて公開しておくってのも手だ。
もちろん、どんな経緯でそういう仕様に決まったのか書いてあると改善案も出しやすい。
結構、ライブラリの仕様を決めるのも一苦労だろ?
0253名前は開発中のものです。
2006/09/19(火) 01:24:36ID:BOyyTazNSetRenderTargetを使っているなら、それを元に戻した?
0254名前は開発中のものです。
2006/09/19(火) 01:27:01ID:1N/W0sXJ互換を考えてもDx9フル対応くらいの勢いがほしいねぇ。
0255名前は開発中のものです。
2006/09/19(火) 01:36:21ID:oOnCYiGcDirectXラッパー…自前鯖…オナニー…
>>252
>上手くいくかスレ立てて考えろよ
SourceForgeにプロジェクト立てる。これが正解。
オナニーが頓挫したら墓標のごとく未来永劫残す。カッコイー(・∀・)
0256名前は開発中のものです。
2006/09/19(火) 01:45:48ID:KfiG372I0257名前は開発中のものです。
2006/09/19(火) 01:55:02ID:t7b8fFIa0258名前は開発中のものです。
2006/09/19(火) 01:55:43ID:oOnCYiGc最高に厨臭いDirectXラッパーを作るスレ
がいいな。潔くて好感度急上昇だな。
0259名前は開発中のものです。
2006/09/19(火) 01:59:05ID:t7b8fFIa0260名前は開発中のものです。
2006/09/19(火) 02:16:05ID:gf5/DDGm例えば
0261名前は開発中のものです。
2006/09/19(火) 02:30:20ID:E+vk7FJ40262名前は開発中のものです。
2006/09/19(火) 07:30:08ID:t7b8fFIaそんな想像力もない奴と話なんぞできん。
0263名前は開発中のものです。
2006/09/19(火) 08:59:22ID:1N/W0sXJLunaは自宅鯖でSubversion管理されてなかったか?w
0264名前は開発中のものです。
2006/09/19(火) 17:33:32ID:9n1QZKMPHLSLで描画前にテクスチャ数を指定してシェーダが切り替わるようにしたいんだけど、
上手く切り替わらず、毎回テクスチャONの状態になってしまいます……。
エフェクトファイルは↓なんですが、合ってるかどうか見てくれませんか?
http://gamdev.org/up/img/7619.zip
0265名前は開発中のものです。
2006/09/19(火) 18:35:40ID:n+W5xQneちゃんと切り替わるじゃんYO
UseTexCntの値を入力してないんじゃね?
0266名前は開発中のものです。
2006/09/19(火) 18:50:23ID:n+W5xQne値を入力しないとテクスチャONにならないし、UseTexCntが1のままとかかな?
0267名前は開発中のものです。
2006/09/19(火) 19:47:47ID:9n1QZKMPさっきGetInt()で確認したらUseTexCntの値はちゃんと描画前に0・1が切り替わっていました。
んー、何が原因なのかさっぱり分からない。orz ソースの方をもっっとよくトレースしてみます。
0268名前は開発中のものです。
2006/09/19(火) 21:37:36ID:/6g1Cemc第1弾 ライブラリ機能を上げさせていただきます。
・テクスチャマネージャ
・シェーダマネージャ
・ファイルシステム
・インプットシステム
・オーディオシステム
・Xファイル(スキン)
・描画系はできる限りシェーダで行う
・算術関数
・フォント
・スクリプト
・カメラ
・視垂体による描画判定
・メモリマネージャ
・2Dスプライト
・パーティクル
・プロファイラ
・LOD
・カメラ位置からの距離によるミップマップ
・オーダリングテーブル(オブジェクトのソート)
0269名前は開発中のものです。
2006/09/19(火) 22:56:41ID:t7b8fFIa乙。
じゃあ、次は優先度を・・・。
0270名前は開発中のものです。
2006/09/19(火) 23:18:58ID:PUi+Z24tもう済んでるかもしれないけど、描画直前(BeginPass()後)に
パラメータいじった場合は、CommitChanges()呼ばないとだめよ。
0271名前は開発中のものです。
2006/09/19(火) 23:47:57ID:SaZdkbYW力になれなくて残念なんだが・・・
VertexShader/PixelShaderの配列を定義して
変数で切り替えられるのを初めて知った!!
ありがとう!! そして、頑張れ!
0272名前は開発中のものです。
2006/09/20(水) 00:18:57ID:vxl0rQet第2弾 優先決めました。
・1.テクスチャマネージャ
・6.シェーダマネージャ
・17.ファイルシステム
・10.インプットシステム
・11.オーディオシステム
・5.Xファイル(スキン)
・9.描画系はできる限りシェーダで行う
・2.算術関数
・3.フォント
・18.スクリプト
・4.カメラ
・12.視垂体による描画判定
・16.メモリマネージャ
・8.2Dスプライト
・7.パーティクル
・19.プロファイラ
・13.LOD
・15.カメラ位置からの距離によるミップマップ
・14.オーダリングテーブル(オブジェクトのソート)
0273名前は開発中のものです。
2006/09/20(水) 00:25:00ID:37EIjtZt見辛い・・(´Д`)
メモリマネージャとかファイルシステムを後回しして大丈夫か?w
「描画系はできる限りシェーダで行う」なのにシェーダマネージャが
Xファイルよりも後だし・・パーティクルとか妙にハエーしw
一応確認しておくが、DirectX使ったゲーム作ったことある?
0274264
2006/09/20(水) 00:25:09ID:sFU/X0hE別のエフェクトのパラメータに書き込んでましたorz
ハンドルで指定していたらエラーが出ないのね……。
0275名前は開発中のものです。
2006/09/20(水) 00:26:16ID:8TG2Ez5s・2.算術関数
・3.フォント
・4.カメラ
・5.Xファイル(スキン)
・6.シェーダマネージャ
・7.パーティクル
・8.2Dスプライト
・9.描画系はできる限りシェーダで行う
・10.インプットシステム
・11.オーディオシステム
・12.視垂体による描画判定
・13.LOD
・14.オーダリングテーブル(オブジェクトのソート)
・15.カメラ位置からの距離によるミップマップ
・16.メモリマネージャ
・17.ファイルシステム
・18.スクリプト
・19.プロファイラ
ソートしてやった
0276名前は開発中のものです。
2006/09/20(水) 00:31:44ID:37EIjtZt> さっきGetInt()で確認したらUseTexCntの値はちゃんと描画前に0・1が切り替わっていました。
これを信じて、そのオチはないと信じてました・・・(;´д`)
0277名前は開発中のものです。
2006/09/20(水) 00:38:20ID:sFU/X0hESetInt()をコピペしてGetInt()に変えて試してました・・・。
こんな単純なミスだと思わなかった。orz
0278名前は開発中のものです。
2006/09/20(水) 00:45:56ID:37EIjtZt・フォント // デバッグが楽になる
・メモリマネージャ // まずコレ
・ファイルシステム // テクスチャ読むため(早くも飽きてくる)
・テクスチャマネージャ
・2Dスプライト // テクスチャ確認用(もう完成した気分)
・シェーダマネージャ // モチベーション維持のため
・描画系はできる限りシェーダで行う
・Xファイル(スキン)
・算術関数 // (惰性で開発を続け始めるころ)
・カメラ
・インプットシステム // カメラを移動してみたい(もう限界)
※ここで開発終了の可能性高し※
・プロファイラ // 以降のパフォーマンス確認のため
・LOD
・視垂体による描画判定
・オーダリングテーブル(オブジェクトのソート)
・カメラ位置からの距離によるミップマップ
・パーティクル
・スクリプト
・オーディオシステム
0279名前は開発中のものです。
2006/09/20(水) 00:59:57ID:JLgKEs2/なんか完成予想図がいつもどおりのラッパーだな。
完成してもゲーム作るの程遠いっつか夢がもてないw
これじゃ作ってもあんまり意味ないと思うんだけど・・・。
逆に考えてみね?
どんなゲームが作りたいか?
ってのをまず出して、そのためのライブラリを考えてみね?
0280名前は開発中のものです。
2006/09/20(水) 01:03:24ID:8TG2Ez5sNTや95でも動くエロゲ
0281名前は開発中のものです。
2006/09/20(水) 01:06:03ID:JLgKEs2/そしたら迷わずGDI+を奨める。
0282名前は開発中のものです。
2006/09/20(水) 01:07:13ID:JLgKEs2/0283名前は開発中のものです。
2006/09/20(水) 01:08:33ID:JLgKEs2/0284名前は開発中のものです。
2006/09/20(水) 01:09:08ID:a1eP4hFR95やNTでも動いたっけ?
0285名前は開発中のものです。
2006/09/20(水) 01:11:59ID:JLgKEs2/>GDI+ はWindowsXPから使えるようになった2DグラフィックAPIである。
>XP以前でも、gdiplus.dllを入れれば利用可能である。(98以降か、NT4.0sp6以降)
95は駄目っぽい。
0286名前は開発中のものです。
2006/09/20(水) 01:12:42ID:8TG2Ez5s多分動かない
XPか2000か忘れたけど、デフォルトのDLLにバグがあって
修正版同梱しなきゃいけないというか
GDI+は、あんまりいいうわさを聞かない。
というか95とかは、全部ソフトウエアレンダリングで。
0287名前は開発中のものです。
2006/09/20(水) 01:19:58ID:vxl0rQet正直、上であげた機能+αあれば2Dのゲームはまぁ2Dエフェクト用のエフェクトファイル
みたいなものを作らなければいけないだろうけど大丈夫だと思ってます。
3DでもRPGとかアクションとかを考えていったらLODとかは必須だし、シェーダもほしいし、みたいな
ことを考えていくと結構いろいろあるに越したことはないし。DX10のことを考えればDX9バージョンで
ある程度しっかりしたものがあれば移行も楽になるし、当分の間はDX10バージョンとDX9バージョン
の両方のバージョンが必要みたいなことも考えられますのであえてこういったゲームが作りたいから
この機能が必要っていう流れよりある程度のどのジャンルでも必要なものは全部入れたい(願わくば)。
実は今もちょこっと作ってて結構いろいろ修正しなくちゃいけないもののソースはあります。
0288名前は開発中のものです。
2006/09/20(水) 01:30:55ID:JLgKEs2/ちがうわボケ。
具体的なゲーム名が欲しいね。
つまりさ
枝葉の部分に熱心で全然ゲーム作れそうにないじゃん。このライブラリ。
って言いたいのよ。
0289名前は開発中のものです。
2006/09/20(水) 01:31:26ID:SMchqepXついでにメモも。
・1.メモリマネージャ :メモリ管理はWindowsに任せたほうがよくないか?
・2.ファイルシステム :できればソース変更無しにパックしたファイルからの読み込みも対応して欲しい
・3.テクスチャマネージャ :何をマネージするん?
・4.2Dスプライト :がんばれ
・5.フォント :D3DXFontは使うなよ
・6.インプットシステム :がんばれ
・7.オーディオシステム :Oggの対応はしてないと結局外部のサウンドドライバ使う事になりそう
・8.描画系はできる限りシェーダで行う :がんばれ
・9.シェーダマネージャ :がんばれ
・10.算術関数 :Sin/Cosのテーブルでも作るん?コリジョン関係?
・11.カメラ :がんばれ
・12.Xファイル(スキン) :がんばれ
・13.パーティクル :がんばれ
・14.視垂体による描画判定 :がんばれ
・15.LOD :がんばれ
・16.オーダリングテーブル(オブジェクトのソート) :シーングラフとか最低でもオクトツリーくらいは欲しい
・17.カメラ位置からの距離によるミップマップ :Direct3Dが自動的にやってる気がする。Mipmap使うより異方性フィルタの方が綺麗だけどね
・18.プロファイラ :がんばれ
・19.スクリプト :Luaでよくね?
言っちゃなんだが列挙された機能だけ見るとLunaと大して変わらないな。
0290名前は開発中のものです。
2006/09/20(水) 01:45:23ID:37EIjtZtつJavaアプレット
>>287
DirectXそのまま使えよw
0291名前は開発中のものです。
2006/09/20(水) 02:25:42ID:9pKZ8pjkDrawPrimitive 使って、128x128ぐらいのポリゴンを50枚ぐらい描画してます。
1回のDrawPrimitive で、1枚だけなので、50回DrawPrimitive を実行してます。
すると、ポリゴンがときどき変な形になるんです。
頂点がずれたように、斜めになったりとか。
そこで、一回DrawPrimitive を実行した後に、Sleep(3); を入れてやってみたんです。
すると、速度は落ちましたが、ポリゴンが変になることは無くなった。
てことは、前回の描画が済んでいない間に描画してる?
そこで、DrawPrimitive の最後の引数に、D3DDP_WAIT とかやってみたけどダメでした。
何が原因でどーやれば直りますか?
って書いた者ですが、Win32APIで頂点用メモリ確保したたのを、
D3Dの頂点バッファ使ったものにしたけど、結果は同じでした。
0292名前は開発中のものです。
2006/09/20(水) 03:01:32ID:8TG2Ez5sD3DXFontってやっぱ駄目なん?
0293名前は開発中のものです。
2006/09/20(水) 03:36:56ID:8TG2Ez5sDirect3D描画とOpenGL描画を比べたけど
OpenGLのほうが細かく綺麗
OpenGLってええのん?
0294名前は開発中のものです。
2006/09/20(水) 09:00:43ID:SMchqepXそのそもユーザーがインストールしてないフォントは出せないし、
影、グラデーション、縁、とかをつけようしたら結局画像で持たなきゃでしょ。
あとFF11やPSUのキャラの名前みたいに3D空間に文字を表示するのは
D3DXFontなんかじゃやってられないべ。
0295名前は開発中のものです。
2006/09/20(水) 12:07:45ID:ymA1aj6Xタイムラインとかあってテクスチャの位置とか透明度とか大きさのアニメをクニクニいじれるの
仕様を決めたら誰か勉強がてらつくってくれる?
0296名前は開発中のものです。
2006/09/20(水) 12:30:13ID:Xs5BryGeエスパーを待てないならソースを晒せ。
0297名前は開発中のものです。
2006/09/20(水) 12:40:17ID:evuW5ro90298名前は開発中のものです。
2006/09/20(水) 14:44:46ID:+KfsWgDshttp://portal.nifty.com/2006/09/18/b/
0299名前は開発中のものです。
2006/09/20(水) 15:19:51ID:fb5XSQACドライバ
0300名前は開発中のものです。
2006/09/20(水) 15:46:47ID:+KfsWgDsデバッグ用、エロゲっぽいメッセージ用にD3DXFont版も持ってていいと思う
0301名前は開発中のものです。
2006/09/20(水) 15:47:25ID:37EIjtZt> って書いた者ですが、Win32APIで頂点用メモリ確保したたのを、
> D3Dの頂点バッファ使ったものにしたけど、結果は同じでした。
当然ポリゴン50枚分のバッファを用意して試したんだよな?
0302名前は開発中のものです。
2006/09/20(水) 21:35:46ID:i8H7IqgDttp://gamdev.org/up/upload.php
7623.ziplib
0303名前は開発中のものです。
2006/09/20(水) 21:54:30ID:jot8TQ3t0304名前は開発中のものです。
2006/09/20(水) 22:23:15ID:SMchqepXDirectXのバージョンはどれ?
DirectX9だけでも10以上のバージョン違いあるねん。
0305名前は開発中のものです。
2006/09/20(水) 23:29:38ID:Eb3Bq3HLkwsk
0306名前は開発中のものです。
2006/09/20(水) 23:31:01ID:oucXxDtX0307名前は開発中のものです。
2006/09/20(水) 23:32:10ID:SMchqepXDOS窓にprintfでデバッグ情報表示してるなぁ。
0308名前は開発中のものです。
2006/09/20(水) 23:32:22ID:8TG2Ez5s0309名前は開発中のものです。
2006/09/20(水) 23:32:52ID:8TG2Ez5s0310名前は開発中のものです。
2006/09/20(水) 23:33:20ID:SMchqepXVS2005EE使ってないか?
EEはMFCやリソース関係が使えないぞ。
0311名前は開発中のものです。
2006/09/20(水) 23:35:18ID:8TG2Ez5s0312名前は開発中のものです。
2006/09/20(水) 23:44:23ID:8TG2Ez5s0313名前は開発中のものです。
2006/09/20(水) 23:47:03ID:oucXxDtX0314名前は開発中のものです。
2006/09/20(水) 23:57:15ID:jpdNbZbvあれ?俺のは普通に出来るけど・・・
includeディレクトリに
C:\Program Files\Microsoft Platform SDK\Include\mfc
とか入ってないんじゃね?
0315名前は開発中のものです。
2006/09/21(木) 00:02:41ID:4FMuFct9いけた。dクス
0316名前は開発中のものです。
2006/09/21(木) 00:11:58ID:HvKhVd8Xここからいろいろ修正しなくてはいけないものの実装していけば
いくぶん楽になるのかなと思ってます。皆様どうでしょう?
0317名前は開発中のものです。
2006/09/21(木) 00:13:35ID:8drzSPV5なんか丁寧に作られてて好印象だけど、いきなりボリュームあるなあw
実行するとエラーで止まるし(´Д`)
ざっとしか見てないんだが、単なるラッパーよりはマシだけど
DirectXとか3Dの知識がないと使えない感じがして
ライブラリーにする意味があるのか疑問。
もっと抽象化して感覚的に使えるようにしたいところだなあ。
DirectXよりも使うの大変、ってことになったら本当に意味ないし。
0318名前は開発中のものです。
2006/09/21(木) 00:20:37ID:fqy8SQk80319名前は開発中のものです。
2006/09/21(木) 00:35:12ID:eEpWsKHVラッパー舐めるなYo!!
0320名前は開発中のものです。
2006/09/21(木) 00:41:50ID:NXk6nMX2Open、Close、LoadTexture、LoadVertex、DrawPolygon、DrawSprite
の6つしか関数がなかったぜ
0321名前は開発中のものです。
2006/09/21(木) 00:42:14ID:QgzW8n2H・キャラ基本動作
・地形との当たり判定
・瞬間弾
・榴弾
・弾道弾
・誘導弾
・自動車
・キャタピラー車
・飛行機
・ヘリ
もうDirectXの範疇じゃないがw
0322名前は開発中のものです。
2006/09/21(木) 00:49:51ID:HLxN0OV5とりあえずココまで出来てるなら次はシェーダー対応したらどう?
固定機能からシェーダー対応って意外と手間だし、固定機能で作りこめば作りこむほど面倒になる。
基本的な部分は一通り出来てるんだしシェーダー周りを充実させたほうがいいと思われ。
0323名前は開発中のものです。
2006/09/21(木) 00:55:35ID:GOD3d2R33D初心者が最初に深い挫折を味わうシーングラフの最適化とか、
良く知られた方法(BSPツリー等)をライブラリで提供してくれるといいかも。
欲を言えば同じツリーで当たり判定の絞込みとか、環境音の遮蔽とか
一括してできるように設計してあれば間違いなく人気ライブラリになるだろう。
0324名前は開発中のものです。
2006/09/21(木) 00:56:43ID:+j1lUXReホビープログラマーとかでも買えるの?
0325名前は開発中のものです。
2006/09/21(木) 01:04:24ID:8drzSPV53DソフトのShadeか何かと勘違いしてる?
シェーダってプログラムの中の話ですよ。
0326名前は開発中のものです。
2006/09/21(木) 01:07:03ID:GOD3d2R3ウィンドウサイズとかdefineしてる時点でかなりガックリ来た。
今時のライブラリなら設定管理クラスで動的に管理してくれよぅ。
0327名前は開発中のものです。
2006/09/21(木) 01:11:17ID:HvKhVd8X317さんのご意見もっともですね、DirectX知らないとわからない部分が多いと自分でも思います。
シェーダ周りを中心に充実させていく流れで作っていこうと思います。
ちなみにサイトでも公開していますのでそちらに最新版をおいているのでいつでもどうぞ。(URLは秘密)
0328名前は開発中のものです。
2006/09/21(木) 01:17:33ID:HLxN0OV5見た感じ一番のライバルになりそうなのはLampでないかな?
0329名前は開発中のものです。
2006/09/21(木) 01:19:41ID:8drzSPV5DOS窓にprintfで文字出すのも悪いとは言わないけど
フルスクリーン時に全然見えないっていう欠点も忘れずに・・
後でLOG的に見るだけだったら、それこそLOGファイル見ればいいことだし。
0330名前は開発中のものです。
2006/09/21(木) 01:31:55ID:8drzSPV5Lampっつーの初めてみたけど、コレ使われてるの?
他の DXだかいうライブラリも同じ感じ??
だったら、>>327 のやつもイイ線いってるってことなのかな。
なんでもっとシンプルに仕上げられないのか疑問だぜ・・(´Д`) ボソリ
>>320 はシンプルすぎだがw
0331名前は開発中のものです。
2006/09/21(木) 02:00:52ID:4FMuFct9ドキュメント自動生成してくれるので楽よ。
0332291
2006/09/21(木) 06:16:52ID:NSl3TVGiかなり改善されました。
しかし、完全には無くなりません。
D3Dによる頂点バッファは、50あるポリゴンごとに確保してます。
この世代のグラボでこーなるのは、仕様であったりバグであったりするものでしょーか?
0333名前は開発中のものです。
2006/09/21(木) 06:20:00ID:5ruKmJ4xやっぱ、実装だけはVistaまで待ったほうがいいよ。
絶対、不必要なもんばっかりだから。
0334291
2006/09/21(木) 06:20:02ID:NSl3TVGi0335291
2006/09/21(木) 06:45:04ID:NSl3TVGi頂点バッファをかえてもダメってことは、あと考えられるのは
テクスチャもポリゴンごとに確保することぐらいしか
0336名前は開発中のものです。
2006/09/21(木) 06:57:59ID:G9WJnnc70337名前は開発中のものです。
2006/09/21(木) 08:44:26ID:HLxN0OV5だからお前さんさ、
DrawPrimitiveしたあと描画完了待たないで書き換えてるんじゃねーの?
0338名前は開発中のものです。
2006/09/21(木) 09:14:46ID:HLxN0OV5DX10はVista専用だからそれにあわせて作るのもどうかと思う。
DX9で作っておけばWin98,ME,2000,XP,Vistaでの動作がサポートされるわけだし。
Vistaが普及なんて2,3年はかかるってM$の人間すら言ってるのだから
サポート環境や性能的に見てもしばらくはDX9対応のものがいいと思う。
>>329
もう1台マシン用意してリモートデバッグって手もあるぜ。
まぁprintfデバッグはライブラリよりゲームの時に使ってる。
イベント発生とかのタイミングで表示させたりと結構便利。
0339名前は開発中のものです。
2006/09/21(木) 15:24:12ID:Gz5/V+Ov何となく見てみたが、
最初に見たMemoryManagerとやらの腐った実装に、突っ込まずには居られない。
0340名前は開発中のものです。
2006/09/21(木) 18:50:24ID:w/U4pxaF何となく見てみたが、
Program'm'ed だよ
0341名前は開発中のものです。
2006/09/21(木) 21:45:59ID:HLxN0OV5Windowsなのにわざわざメモリ管理を自作する所からするとコンシューマーの人のような気がするけど。
あと自分でメモリ管理すると当然その分のメモリは確保しておく必要があるわけだけど、
現状だと>>302のライブラリは起動するだけで最低でも10MBのメモリを消費するという事は理解してる?
あとWindowsの場合new/deleteやmalloc/freeで確保したメモリを解放しないで
アプリケーションを終了させた場合でも、OSが全部勝手に解放してくれるし、
解放してないメモリの確保時のファイル名と行番号を教えてくれたりする。
最低でもコレ以上の機能はないと自分で実装する意味はないってことになるな。
0342名前は開発中のものです。
2006/09/21(木) 21:58:21ID:HvKhVd8XMemoryManagerに関して何が目的で作ったかというとnewやdeleteなどのメモリ確保
などをゲーム中、あるシーンに入る前にジオメトリやらテクスチャやらを読み込む時に
毎回行うのと既に確保しているのから割り当てて使うのではスピードが早いので作りました。
0343名前は開発中のものです。
2006/09/21(木) 22:30:29ID:/4EhidU10344名前は開発中のものです。
2006/09/21(木) 22:47:15ID:5ruKmJ4xネタ提供してくれんのはありがたいと思うけど、こういうライブラリって役にたたねぇよ。
普通にLuna(既存)の方がいいじゃねぇか。
しかも、どうみてもラッパーの域をでねぇ。
>>341
>解放してないメモリの確保時のファイル名と行番号を教えてくれたりする。
え?これどうやってわかんの?
たまーに出てくるときもあるけど99.5%は????みたいなのが出てくるんだけど?
0345名前は開発中のものです。
2006/09/21(木) 23:11:50ID:lwyY0NN2あるに決まってるだろ。
C++のメモリ取得開放は遅いから(GCの方が早い)、独自メモリ管理は
やっている所もあるじゃないか。
0346291
2006/09/21(木) 23:13:21ID:NSl3TVGi描画完了を待つにはどうやるの?全裸で。じゃなくてDX7で。
0347名前は開発中のものです。
2006/09/21(木) 23:16:30ID:HLxN0OV5普通は待たないですむように作る。
同じバッファの使い回しとかDX8以降は出来るが7はしらね。
0348名前は開発中のものです。
2006/09/21(木) 23:32:56ID:HLxN0OV5とりあえずここらへんを参考に
ttp://gamdev.org/w/?%5B%5B%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%5D%5D
0349291
2006/09/21(木) 23:57:31ID:NSl3TVGiなんかダメポです。解決不能。ってか、スリープ入れると直るってことはあれですね。描画未完了?
DX8に移るしかないようです。
0350名前は開発中のものです。
2006/09/22(金) 00:04:13ID:ZBffE3Vt素直に9に行きなさいナ。
0351291
2006/09/22(金) 00:12:27ID:FzUiG/+dビデオメモリ32M世代の。
0352名前は開発中のものです。
2006/09/22(金) 00:12:35ID:AFaA2CK2いや、それをあえてここでやる意味がわからん。
みんなで新しいライブラリを考えようってのならわかるが、
現時点で既存より劣ってるものについて語る意味ないと思うんだけど?
ああ、別に>>302の人が駄目っていうんじゃなくて、
俺等にとってLunaと>>302のLibと違いがあるかっていうとないでしょ?
この状況ならLunaのリンク貼ってLunaについて考えるところからはじめたほうがよっぽど先へ進むじゃん。
>>302ってLunaと作りが違うわけでも新世代(?)ライブラリでもなく、あくまで既存のラッパーの域を
でてないじゃん。ちなみにLanaがいいというわけではなくてあくまで既存の代表という意味で名前は使った。
ここでの例は別にソースが公開されているなら他のライブラリでも一向に構わないと思う。
0353名前は開発中のものです。
2006/09/22(金) 00:16:04ID:mkbMBLxGえ、普通に対応してるでしょ。
0354291
2006/09/22(金) 00:17:00ID:FzUiG/+dそれによってCPUの消費時間が減るとあるけど、
頂点情報を描画用頂点バッファに入れなきゃならないから、
その頂点を入れる作業と、いきなりDrawPrimiを実行するのとでは、
CPUが消費する時間は同じ以下だと思う
0355名前は開発中のものです。
2006/09/22(金) 00:17:49ID:ZhhHldQ9DEBUG_NEW でぐぐれ。
0356名前は開発中のものです。
2006/09/22(金) 00:52:07ID:AFaA2CK2ありがとう!
ところで非MFCの場合ってどうやるの?
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);
これ↑でやると肝心の場所がさっぱりわからないんだけど・・・。
0357名前は開発中のものです。
2006/09/22(金) 00:56:34ID:AFaA2CK2リンクとサイトが消滅したときのために引用。
リンク
http://daybreaks.exblog.jp/m2006-04-01/#3421733
以下引用・・・・・・・・・・・・・・・・・・
CrtSetDbgFlagの力でメモリリークを撲滅!
使い方は簡単。
まず
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
その後Main関数の最初に
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
を記述するだけで、デバッグ終了時に、何番目のnewで得たメモリがリークしているか出力してくれます。
後は
_CrtSetBreakAlloc( n );
でn番目のメモリ確保にブレークポイントをセットして、それが何なのか確認してやればオッケー。
もっと早く知ってれば楽できたのにー
0358名前は開発中のものです。
2006/09/22(金) 03:24:51ID:hMj4THWPなんで突然そんなこと言い出すのか分からんが、そんなネタは散々既出で
NVIDIAなんかが計測したデータも公表している。
っていうか、頂点バッファに書き込む処理なんて無視できるほど小さい。
それよりDrawPrimitiveのオーバーヘッドが物凄くでかい。
0359名前は開発中のものです。
2006/09/22(金) 03:33:55ID:bWdUmn2S手を入れていくって……
現時点でバグってるって言いたいんだが。
FILOで使わないとまともに動かない。
この設計の拙さ、コンシューマーの人というかもっと若い、中とか高ぐらいに感じる、
0360名前は開発中のものです。
2006/09/22(金) 06:33:42ID:AFaA2CK2まあ、どっちにしてもシェーダごとテクスチャごとに切り替えるしかないんだけどな。
1回でやれも糞もシェーダが違うんだから、DrawPrimitive呼ぶしかないって状況のほうが多いな。
0361291
2006/09/22(金) 07:03:57ID:FzUiG/+dGPUにレンダリングをやらせてる間は、CPUは次の処理がされるんじゃないの?
並列に処理されるんじゃないの?
0362名前は開発中のものです。
2006/09/22(金) 07:52:19ID:ttaHMyE5PCI-Expressならともかく AGPx4とかAGPx8の時代だとかなり遅くなるお
0363名前は開発中のものです。
2006/09/22(金) 08:03:13ID:n5kn1hns書き込み処理のアクセス速度はメインメモリと変わらない。
遅いとか言っている奴はVRAMにいちいち送信していたりと、
使い方が分かっていない>>362のようなアホだけ。
0364名前は開発中のものです。
2006/09/22(金) 08:10:08ID:ttaHMyE5すまん、VRAMを経由しない方法教えてくさい…FPSが出なくてこまってた
0365名前は開発中のものです。
2006/09/22(金) 08:15:02ID:Lw2G2Q/B0366名前は開発中のものです。
2006/09/22(金) 08:41:37ID:ZBffE3Vt0367名前は開発中のものです。
2006/09/22(金) 08:45:04ID:ZBffE3Vtだから既存のWindowsのゲームもポリゴン数を
増やすことはたやすいがオブジェクト数を増やすことは非常に難しい。
0368名前は開発中のものです。
2006/09/22(金) 08:48:16ID:Lw2G2Q/Bそういう処理をやってる日本製のライブラリを(現場以外で)見たことがないのだが
0369名前は開発中のものです。
2006/09/22(金) 09:07:11ID:ZBffE3Vtシェーダーが変わるときはやっぱりだめじゃね?
データ作る段階で1キャラ1テクスチャで作ったほうが早いような。
1024x1024とかのテクスチャも余裕でいけるんだし。
0370名前は開発中のものです。
2006/09/22(金) 09:30:58ID:ZaJMS9tTマテリアルまとめて大量のオブジェクトを一つの頂点バッファにブチ込んだりするワケよ。
ちゅーかこの話題は最適化すべきシーンを明確にしないと荒れるから
DP呼び出しは少ない方がいいですハイそーですかで終わって欲しいんだけど…。
0371名前は開発中のものです。
2006/09/22(金) 09:34:03ID:Lw2G2Q/B揚げ足とってるみたいになっちゃうけどシェーダでソートしないとは言ってない。
つかシェーダで完全ソートすりゃテクスチャ切り替えは出てくるし
その辺何が最も高速かなんてのは状況次第で幾らでも変わる
0372名前は開発中のものです。
2006/09/22(金) 09:52:09ID:FzUiG/+d状況次第で幾らでも変わる
 ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧
( ',:`_´:) ∧_∧
/ \ (´∀` ) ハハハ
.__| | .| |_ / ヽ
||\  ̄ ̄ ̄ ̄ / .| | |
||\..∧_∧ (⌒\|__./ ./
||. ( ) ~\_____ノ| ∧_∧
/ ヽアホか \| ( ´_ゝ`) じゃ出てくんなよ
| ヽ \/ ヽ.
| |ヽ、二⌒) / .| | |
.| ヽ \∧_∧ (⌒\|__./ /
0373名前は開発中のものです。
2006/09/22(金) 10:05:27ID:ZBffE3Vtそもそもボーン使うときはソートも何もねーしな
>>302
とりあえず現状ではまだ未完成なんだし、
なるべく早い段階でEL/DX/Lunaと並べるくらいまで作ったうえで、
独自の利点を考えていくくらいでいーんでない?
上記3つのライブラリでまともに3DサポートしてるのはLunaだけだが、
LunaにはBSPは実装されてないし、シーングラフもないから
オブジェクトのソートみたいなこともおまけ程度にしかついてないし。
ビューフラスタムでのカリングとオクトツリーのフィールド描画はあったけど。
0374名前は開発中のものです。
2006/09/22(金) 11:49:56ID:DORsqBmhhttp://chinkame.ath.cx/uploader/src/up0014.jpg
http://chinkame.ath.cx/uploader/src/up0014.wmv
0376名前は開発中のものです。
2006/09/22(金) 13:08:43ID:nltIXCgA0377名前は開発中のものです。
2006/09/22(金) 15:01:31ID:Tw50U/1F以下の手順でやれば、無料でお金稼ぎができます。
企業も広告の宣伝になるから、お金をくれるわけです。
最初の1日目で 2000 円〜3000 円 は確実に稼げます。
実際の作業は数十分程度、1時間はかかりません。
@ http://www.gendama.jp/invitation.php?frid=470908
↑このアドレスからサイトに行く。
Aそこのサイトで無料会員登録(応募)します。
(その時点で 500 ポイントが貰えます。)
※事前に新規でヤフーなどのフリーメールアドレス
を取っておくといいですね。
Bポイントを稼ぎます。
懸賞の応募や無料会員登録などをする事によって
1日目で約 20000 ポイントは GET できます。
C 3000 ポイントから、現金や WEB マネーに交換できます。
Dトップの右上に「交換」という所がありますので、
そこから交換をしましょう。
その月に初めてポイントバンクにポイントを移行した時、
さらに別途として 1000 ポイント貰えます。
これで現金や WEB マネーを稼ぐといいですよ!!!
0378名前は開発中のものです。
2006/09/22(金) 16:02:59ID:TfYxVfg6無駄になるってことですか?
0379名前は開発中のものです。
2006/09/22(金) 16:09:30ID:iijsCJm6無駄にはならない
関数消えたり引数変わるのはいつものこと
固定機能の関数は消えるけどシェーダとして引き継がれる
基本は変わらないよ
0380名前は開発中のものです。
2006/09/22(金) 16:11:29ID:TfYxVfg6ありがとうございます
安心しました
0381名前は開発中のものです。
2006/09/22(金) 21:23:26ID:ZBffE3Vt0382名前は開発中のものです。
2006/09/22(金) 21:31:47ID:UO4OwrjN0383名前は開発中のものです。
2006/09/22(金) 21:33:11ID:UO4OwrjN低レベルなのはお前の頭だろwww
0384名前は開発中のものです。
2006/09/22(金) 21:36:52ID:+bp4fGt20385名前は開発中のものです。
2006/09/22(金) 21:45:25ID:AFaA2CK2だったら、Lunaを使えといいたい。
0386名前は開発中のものです。
2006/09/22(金) 21:50:49ID:AFaA2CK2さすがにそれはデザイナが作りこんだクオリティがすべて無駄になってしまうからやらないと思う。
カメラを下に向ける(あんまり広い範囲を描かない)とかそんな対応になると思う。
ちょっと近づくとキャラに関しては髪の毛、肌、服(鎧)ぐらいはシェーダが切り替わってるから
マテリアルソートは俺のところはやってない。(無駄っしょ。α物関連のソートも含めるとやる意味なさげ)
そもそもデータ出してみたら同じシェーダを設定してること事態少ない。
0387名前は開発中のものです。
2006/09/22(金) 23:44:07ID:9ULI2Lw/これは酷い
0388名前は開発中のものです。
2006/09/22(金) 23:52:23ID:aND7GHApわろすw
とりあえず市ねw
0389名前は開発中のものです。
2006/09/23(土) 00:28:35ID:GYfaIXhj0390名前は開発中のものです。
2006/09/23(土) 00:53:34ID:lErZFtkUよりハードよりのAPIって言ったほうがいいんでない?
低級=アセンブラ
高級=JAVA
くらいの感じで。
0391名前は開発中のものです。
2006/09/23(土) 02:13:15ID:6PuG3s8Fそれだと彼にはただのjava信者にしか見えないだろうw
0392名前は開発中のものです。
2006/09/23(土) 02:28:49ID:uPOLW/0Mいっぺんソースさらしてみ?
0393名前は開発中のものです。
2006/09/23(土) 03:06:56ID:2edMqpIzタスクシステムって将来的に必要ですかね?個人的にはソース追いにくく感じるので
実装どうしようかまよってるんですが皆様どうでしょう?
0394名前は開発中のものです。
2006/09/23(土) 03:15:25ID:MnwVaaoohttp://pc8.2ch.net/test/read.cgi/gamedev/1155209226/
0395名前は開発中のものです。
2006/09/23(土) 03:22:58ID:vLFfZIn0>>302〜>>342
0396名前は開発中のものです。
2006/09/23(土) 03:54:59ID:MnwVaaooって固くるしいのは俺もあまり好きじゃないので俺的意見を書くよ
N氏の意図しているタスクシステムは必要ではなさそうに見える。
ソース追いにくく感じるような場面で使われるタスクシステムならば使う必要がない。
そのタスクシステムは、どういう設計で、どういうことに対して使うことを想定してるの?
0397名前は開発中のものです。
2006/09/23(土) 04:50:19ID:As545zCTだからシーングラフ実装しれって。ゲーム上のオブジェクトをイテレーション
できる仕組みがあればいわゆるタスクシステムなぞいらん。
まあノンプリエンプティブな擬似マルチスレッド(Fiberみたいな)が使えると
スクリプト周りとかは何かと楽だが。
0398名前は開発中のものです。
2006/09/23(土) 08:35:20ID:6PuG3s8Fっていうかタスクシステム自体何のために必要なのかいまいち理解できない。
ソースに記述しなくて、共通パラメーターを使うことでフィールドに追加するのが楽ってのはわかるけど
そのおかげでそれ以上にすさまじい数のバグを産むことになると思う。
例えば、アクションゲームでフィールドに「移動する足場壁付きの砲台」と「キャラ」があったとして、
ワンフレームの処理や判定は足場と壁の判定をもってる「移動する足場付きの砲台」の方からやらにゃならんよね?
この順序って確定してるし、必ずその順序でなきゃバグるよね?
移動する足場壁付き砲台の処理
キャラの処理
ね。これが
キャラの処理
移動する足場壁付き砲台の処理
になると普通にバグる。
ここで優先度とか設けるんだろうけど、ここが確定してるなら面倒でもソースに書いたほうがいいと思うんだけど?
なにより圧倒的にデバッグが楽。
なんだけど、妙なタスクシステムを作る奴って何故か減らないんだよなぁ・・・。
仕事で火消しに入ってやることの80%はまずこれのシステムを止めさせることになってるんだけどw
てか、経験上、火消しが必要になるほどバグを出すのって原因のほとんどがこれ。
このシステム、死んだキャラの相互の関連をすべて無くして(まずこれをチェックするのがそもそも至難の業)
タスクからとりはずすのって結構難しいんだよな。
0399名前は開発中のものです。
2006/09/23(土) 08:40:50ID:vLFfZIn0これらの書き込みから、このスレでDirectX以上の議論をするのは、
時期尚早であることが証明されました。
0400名前は開発中のものです。
2006/09/23(土) 08:54:05ID:2luzFxgZシーングラフについての実装についてですが、ほとんど理解がなかったのでいろいろを
調べましたがこんな感じでいいでしょうか?
まず木構造で行われる。例えば
描画物
|
------------------
| |
2D 3D
|
----------------
| |
ライト有 ライト無
| |
----------------
|
----------------
| |
モーション有 モーション有
みたいなことでしょうか?
0401名前は開発中のものです。
2006/09/23(土) 13:26:16ID:CX441kPl2Dの描画はレイヤーを分離して描画したい気もする。
0402名前は開発中のものです。
2006/09/23(土) 15:05:16ID:LShRrPtb大昔のBASICのように上か順に描画命令を並べたほうがわかりやすいのは自明で
なんでそういうモデルを使わずに一度データ構造として表すのか。オブジェクト指向
ならオブジェクトにdraw関数を付けるんじゃなかったのかよ?とかそういうところ。
それはそのデータ構造を多目的に使うためなんだと思う。
衝突判定であったり、影のためにNパスのアルゴリズムを使うためだったり、
シリアライズのためであったり。(デザパタのvisitorパターンと同じ考え方)
DirectXは過去Retained ModeとかFahrenheiteとかその部分を作っては
放棄ということを繰り返してるわけだけども、今度のXNAはどうするのだろうね。
0403名前は開発中のものです。
2006/09/23(土) 16:08:53ID:6PuG3s8F何をツリーにするか?ってのは作る奴次第?
描画順は色々な要素が絡んで順番が決定するし、
座標計算は親から辿ってく必要があるし、
内部処理はその物体の持つ意味によって処理順が変わるし、
ゲームで生成、消滅するインスタンスはそもそもツリーにする意味がないしで
全くわからんですな。
0404名前は開発中のものです。
2006/09/23(土) 16:20:20ID:vLFfZIn0余計な事まで手を出し始めたってとこだな。
やるのは勝手だと思うが、
そろそろDirectXと離れてきrたので、
別スレでやった方がいい希ガス。
0405名前は開発中のものです。
2006/09/23(土) 16:45:08ID:CX441kPl単純に半透明のソートだけしてくれる機能があるならそれでいいと思う。
普通にゲーム作るとして基本的には、
1.背景(地形や天球など
2.キャラ(不透明
3.キャラ(半透明+ソート
4.パーティクルなどの加算エフェクト
5.ウィンドウとか(2D
これから大きく外れることってないと思う。
どっちみち半透明のポリゴンを完全にソートは出来ないしねぇ。
せいぜいマテリアル単位でソートするのが限界でしょ。
0406名前は開発中のものです。
2006/09/23(土) 17:15:05ID:uPOLW/0MDirectXとは直接関係ないし、描画まで行うライブラリの中で実装
しなくても良いいんだよね。
このスレで議論するんであれば、DirectXの情報をシーングラフで管理するとか。
LPD3DXMESH とか LPDIRECT3DTEXTURE9 とかを管理してて、描画とか必要な時に
自由に使えるようにする、管理するためだけのライブラリ。
0407名前は開発中のものです。
2006/09/23(土) 17:53:02ID:F7d6H2tvハイトマップで視錐台に収まっている部分だけ描画するのに使う程度じゃねいの
0408名前は開発中のものです。
2006/09/23(土) 18:10:16ID:LShRrPtbつ http://en.wikipedia.org/wiki/Scene_graph
要約すると、シーングラフの実装はアプリによって千差万別。何か決まったルールが
あるわけじゃない。例えば、半透明ソートのためにオブジェクトを配列に入れれば
それはすでに単純なシーングラフだ。だから、シーングラフが必要かどうかというなら、
お前はもうシーングラフを作っている、と言えるだろうね。
0409名前は開発中のものです。
2006/09/23(土) 18:19:35ID:6PuG3s8Fオクトツリーはオクトツリーで別にもってるよ。俺は。
座標計算は座標計算用のツリーでもつし、
敵セットは敵セットリスト。
味方セットは味方セットリスト。
・
・
・
って感じでもって
実体は線形のリストでもってIDでアクセスってしてる。
ツリーももちろん実体にアクセスするIDが入ってるだけ。
って感じ。
0410名前は開発中のものです。
2006/09/23(土) 18:39:57ID:hn0c+x2R0411名前は開発中のものです。
2006/09/23(土) 18:47:04ID:6PuG3s8Fな。
「どうもつといい。」とかいう話じゃなくて
必要なときに必要なもんを手早くかき集めてこれるようにしておくのがベストだよね。
0412名前は開発中のものです。
2006/09/23(土) 18:55:18ID:5JWF+Hio髪の毛を一本一本制御する必要は無くて、ロングヘアーに関節が2箇所ほどあるボーンが1本
通っていて、これを重力と慣性と空気抵抗を加味して、走ったときに勝手になびいたり首を
かしげた時に勝手に横方向に垂れたりするようにしたいのです。
せめて背中には勝手に髪がめり込まないように、それなりに辻褄の合った動きしたいのですが、
どういうやり方がありますか。
ポリゴン単位で当たり判定とか凄いことでなくても、だいたいでいいのですが・・・。
0413名前は開発中のものです。
2006/09/23(土) 20:22:45ID:CX441kPl髪の毛の間接に適当な大きさの球を入れる。
この球と体のバウンディングを判定すればおおむねOK。
ロングヘアで腕を貫通とかの問題はあるけどな
0414名前は開発中のものです。
2006/09/23(土) 22:21:19ID:5JWF+Hio体も球にして大丈夫でしょうか。
体側は体のX方向にも複数球を設定するべき?でしょうか?
DCのジャスティス学園の委員長の髪程度の動きで良いのですが。
0415名前は開発中のものです。
2006/09/23(土) 22:28:51ID:aqvKAN9/0416名前は開発中のものです。
2006/09/23(土) 22:31:47ID:CX441kPlダレソレ
0417名前は開発中のものです。
2006/09/23(土) 23:32:20ID:hn0c+x2R0418名前は開発中のものです。
2006/09/23(土) 23:36:07ID:YgY24rUzヲタのヲタ叩きワロス
0419名前は開発中のものです。
2006/09/23(土) 23:43:53ID:GYfaIXhj0420名前は開発中のものです。
2006/09/23(土) 23:59:59ID:5JWF+Hio別に何でもいいです、スターオーシャン3とかでも。
0421名前は開発中のものです。
2006/09/24(日) 00:38:40ID:6Si9nPYMhttp://watch.impress.co.jp/game%2Fdocs/20060911/vp2.htm
0422名前は開発中のものです。
2006/09/24(日) 00:53:33ID:WXa9HNUrそんなの薦めてどうするんだw
>>412
とりあえず、めり込むとか摩擦とか抜きにして動きだけ実装してみ?
あとは角度に制限つけるだけで、それなりに見えるようになるから。
0423名前は開発中のものです。
2006/09/24(日) 02:18:41ID:lOmzOYmwう〜む、角度で制限ですか・・・単にウロウロ歩き回るだけでなくて、かなり色んなポーズを取る
ので、もうちょっと何とかしたいです。
>>421のは良いですね〜〜、これのサンプルなんかがあれば最高なんですが。
背骨のボーンに対して焼き鳥状にカプセルを配置、髪は髪でボーンに沿うようにカプセルを配置、
お互いにめり込まないように調整、くらいが妥当ですけね・・・
0424名前は開発中のものです。
2006/09/24(日) 02:34:39ID:WXa9HNUr関節2つしかないのに大層な処理をしようとしてるな・・
っつーか、>>413 のアドバイスと同じ方法だろソレ。
0425名前は開発中のものです。
2006/09/24(日) 03:01:58ID:lOmzOYmw関節の数ってこの場合あんまり関係なく無いですか。
0426名前は開発中のものです。
2006/09/24(日) 18:42:02ID:WXa9HNUr角度で制限つけても結果はあまり変わらんって話なんだけどね。
角度で制限つける方法って想像できてないでしょ?
0427名前は開発中のものです。
2006/09/24(日) 19:37:48ID:D7IayF5Tこの記事の後半が参考になると思う
0428名前は開発中のものです。
2006/09/24(日) 19:40:17ID:WXa9HNUr0429名前は開発中のものです。
2006/09/24(日) 20:24:48ID:lOmzOYmw角度で制限って言っても・・・それなりに複雑になりませんか。
背中に背負ったコーン(を半分に切った奴)の中しかボーンが動けないようにするとか?
いい方法があるのなら教えて欲しいのですが・・・。
カプセル同士で髪が体にめり込まないようにする方法をチラっと考えていたんですが、
一方の端を固定したカプセル(頭から延びる髪の一つ目のボーン)と、動かないカプセル
(体に仕込んだカプセル)が接触した場合、髪の方のカプセルをどっち方向にどれだけ
回せば(押し返し処理)良いのかって言うのを求めるのはなかなか難しいですねぇ・・・
0430名前は開発中のものです。
2006/09/24(日) 20:30:44ID:EjtbSy3J0431名前は開発中のものです。
2006/09/24(日) 20:38:13ID:WXa9HNUrもちろんソレは完成してるって前提で話をしてたつもりだが・・まさか?!
0432名前は開発中のものです。
2006/09/24(日) 20:53:54ID:jk8oFInI0433名前は開発中のものです。
2006/09/24(日) 22:15:12ID:lOmzOYmw髪の動きが決め打ちなのが気になったので。
というか、逆にこういうのって先に検討するモノでは無いんですかね・・・
0434名前は開発中のものです。
2006/09/24(日) 22:28:25ID:EjtbSy3J俺はオマケ部分は完成してから作りこむようにしてる。
仕事の場合は最初から仕様に存在する事ももちろんあるが、
趣味でやるときはまず一通り動くものが出来てから考えてる。
とりあえずねじれを考えないのであれば基本的には重力の方向に移動だろう、
途中なんらかの対象にぶつかったときには衝突面の法線をみて、
移動ベクトルと法線の内積の結果と摩擦を考慮して移動させりゃいーんでないかね。
0435名前は開発中のものです。
2006/09/24(日) 23:28:32ID:n7XSrkEJ0436名前は開発中のものです。
2006/09/25(月) 00:06:39ID:NrvaX8S3とりあえず服を着て育毛剤を塗れ
0437名前は開発中のものです。
2006/09/25(月) 01:06:19ID:NHljW9VBデザイナにアニメーション作ってもらう。
スカートにもボーン入れる。
ちょっとした風でなびくようなのも基本的にはアニメーションをいくつか使ってランダムで再生、
大きく方向が決まるところだけはプログラムで方向だけ決めてやればいい。
基本的にデザイナにアニメーションをつけてもらうようにしたほうがそれっぽく(リアルではない)みえるようになると思う。
0438名前は開発中のものです。
2006/09/25(月) 03:07:33ID:nEbV4eUB0439名前は開発中のものです。
2006/09/25(月) 23:26:42ID:QYE7zOPA今流行りのImage Based Lightingみたいな志向ですね
まぁそんなもんなんでしょうね
0440名前は開発中のものです。
2006/09/26(火) 00:26:53ID:t5GR+RIUデザイナーにモーションつけてもらうのは、どちらかというと古典的ですよね?
0441名前は開発中のものです。
2006/09/26(火) 00:44:58ID:rsRPRd4nPlayStation時代からの超古典的な方法です。
0442名前は開発中のものです。
2006/09/26(火) 01:12:46ID:F/nKPMBk変形するメッシュの面単位で当たり判定っていうのは、自分の能力と学力を超えてます。ごめんなさい。
ttp://www.watch.impress.co.jp/game/docs/20060911/vp2.htm
なんだかコレが現実的な手段のように思えてきました・・・
重力の影響を受けるカプセル同士をバネで繋いで、体のカプセルにめり込んだらペナルティ法で押し返す。
というのでどうでしょう。コレが作れたらもっと髪のボーン増やしたくなる・・・服もこれで・・・
0443名前は開発中のものです。
2006/09/26(火) 01:22:40ID:t5GR+RIU好きな方法でやればいいじゃん。
VP2のやつは実際に製品になってるし安心してマネできるだろうよ。
間違ってもモゾモゾと動き続けるような実装にはしないように注意しなね。
0444名前は開発中のものです。
2006/09/26(火) 01:35:48ID:F/nKPMBkまあ適当にバネの力を減衰させれば良いんですよね・・・
0445名前は開発中のものです。
2006/09/26(火) 01:46:11ID:rsRPRd4n0446名前は開発中のものです。
2006/09/26(火) 02:04:14ID:Kf2gYv6b技術畑での流行なんてヨーヨーみたいなもんです たぶん
0447名前は開発中のものです。
2006/09/26(火) 02:08:15ID:t5GR+RIU好意的に読んでみたが、それでも意味が分からなかった('c_`;)
流行ってのは、どうでもいいのもあれば、本当に良くて流行ってるのもある。
そこは自分でちゃんと見極めないと損をするよ。
0448名前は開発中のものです。
2006/09/26(火) 09:59:06ID:WPbuQpBx0449名前は開発中のものです。
2006/09/26(火) 10:51:27ID:RUAaJjPGなめてるんdねすか?
0450名前は開発中のものです。
2006/09/26(火) 16:05:04ID:t5GR+RIUまあそう嘆くな。俺のうぃnXPでも使えナインdあ。
0451名前は開発中のものです。
2006/09/26(火) 19:47:51ID:CLCy2jAZヨーヨーとかミニ四駆って忘れた頃に流行りだすでしょ
0452名前は開発中のものです。
2006/09/26(火) 20:35:05ID:8Apje/tA延々と新規のネタを考え続けながら食っていけるわけねーでし
0453名前は開発中のものです。
2006/09/26(火) 20:57:47ID:st98Ykji0454名前は開発中のものです。
2006/09/27(水) 00:43:41ID:oPt0tdFd今シェーダープログラムを勉強しています。
本を読みながら幾つかサンプルを見てみたのですが・・・
プログラマブル頂点シェーダーって、頂点に対するライティングも自分で実装しないといけないんですよね。
今まで見たサンプルは全部ライトの位置や色を定数で設定しておいて、シェーダー内でトランスフォームする時に
色も計算、みたいな事をやっているのですが・・・
これだと、固定機能パイプラインの時に使えていた、オブジェクトのマテリアルやライトの細かいプロパティが全部
無視されますよね・・・
SetMaterialやSetLightで出来ていた事を自作の頂点シェーダーで実現するのって、物凄く難しいんでしょうか?
スポットライトやポイントライト、それらが複数あった場合等、どうすればいいのかさっぱり判らないのですが・・・
vs1.1で、デフォルトのシェーダーと同じ動きをするサンプルって無いでしょうか。
0455名前は開発中のものです。
2006/09/27(水) 00:48:47ID:JG2xorwT普通にDirectXのサンプルをコピーすればOKじゃん。
とかなんでそういう頭がないんだろか?
0456名前は開発中のものです。
2006/09/27(水) 01:03:18ID:oPt0tdFdどのサンプルがそれに該当するんでしょうか。
LightingVSはvs2.0ですし、他の奴はちゃんとライティングをしてないようなのですが・・・
あ、ちなみに環境はDX9.0です。
出来ればアセンブラで書かれたやつが欲しいです。
0457名前は開発中のものです。
2006/09/27(水) 01:28:16ID:JG2xorwTBasicHLSLがいいんじゃない?
とりあえずこれを書き写してみるだけでどんなことやってるかわかるよ。
ちょっと足りないけど、何をやればいいかすぐにわかるよ。
まずはシェーダを読んで何やってるかわからないのがまずいと思うんだ。
一度わかればこっちのもの。
0458名前は開発中のものです。
2006/09/27(水) 01:31:11ID:kQKFU2wr0459名前は開発中のものです。
2006/09/27(水) 01:36:14ID:0+9eDEBaDX10では廃止されるのになぜアセンブラのコードを求めるのか。
別に悪くはないけど気になった。
アセンブラで書いたからって別に処理速度が速くなったりはしないぞ。
0460名前は開発中のものです。
2006/09/27(水) 01:39:14ID:JG2xorwTめんどくせーよな。
何枚もにたようなもんつくらなにゃならんしポカミスバグ増えるし。
HLSLがいいよね。
0461名前は開発中のものです。
2006/09/27(水) 01:51:27ID:oPt0tdFdありがとうございます、BasicHLSLですか・・・まずはHLSLの勉強からですかね・・・
それにしても 覚えなくちゃいけないことは次から次へとやってきますね・・・
>>459
VS1.1に拘るのは、GeForce3あたりも動作対象にしたかったからで、アセンブラが良いと思ったのは
ネットで拾ったサンプル(アセンブラで書かれてる)に、ちゃんとしたライティングをくっつけたい
と思ったからです
0462名前は開発中のものです。
2006/09/27(水) 02:10:24ID:8Db4Us8Mサンプルも見ない人がアセンブラのシェーダなんか覚えられる訳ない。
誰もハッキリくちには出さないけど、結局はそういうことだ。
HLSLはだいぶ楽にできるし一応アセンブラもできるから
これから勉強するならHLSLが妥当。もちろんVS1.1でも問題ない。
0463名前は開発中のものです。
2006/09/27(水) 04:48:56ID:xvP1WVFa0464名前は開発中のものです。
2006/09/27(水) 09:08:48ID:0+9eDEBaつーかさ流れ的にはVS1.1のアセンブラ>HLSLって時代は流れてるんだから
VS1.1でアセンブラ使って作るってんなら素直にDx8のSDK使いなさいよ。
GeForce3で対応してるからとか一件いろいろなハードウェアをターゲットに
考えて作っています的な思考のやつ結構多いけど、そもそもGeForce3は何年前の
ビデオカードだと思ってるのか。すでに売ってないから入手するのも至難だろ。
世代的にも4世代も前のものだし。
どの程度のゲームを作るのかしらないが3Dがきっちりとしたもの作るなら
面倒な縛りもないDx9世代のグラフィックカード対応でいいだろ。
VS/PS2.0対応のグラボなんて2年前のノートPCにすら積んであるし、
対応ってだけなら1万円札1枚で買える程度のグラボだぞ。
あとDx8は定数レジスタが致命的に少ないから、
ポイントライトが入れられても3つ、その場合ボーン処理が出来ない、
つまり固定機能に比べても汎用面以外圧倒的に劣るって考えたほうがいいよ。
0465名前は開発中のものです。
2006/09/27(水) 09:22:22ID:fX43VNtG0466名前は開発中のものです。
2006/09/27(水) 09:39:55ID:xvP1WVFa0467名前は開発中のものです。
2006/09/27(水) 12:25:42ID:oPt0tdFdいや、その通りかもしれませんねえ
1.1しか動かないボードは切っても良いかもしれませんな
0468名前は開発中のものです。
2006/09/27(水) 13:01:36ID:8Db4Us8Mいやいや俺がまだVS1.1の環境なんで簡単に切られては困る(;´д`)
でも、アセンブラじゃなくてHLSLにはしたほうがいいよ。
0469名前は開発中のものです。
2006/09/27(水) 13:15:14ID:9N9aAOOuリファレンスが充実してきたら大丈夫なのかもしれないが
0470名前は開発中のものです。
2006/09/27(水) 13:46:59ID:8Db4Us8Mシェーダのバージョンが低いほどコンパイルが完全じゃないことがあるね。
0471名前は開発中のものです。
2006/09/27(水) 21:15:09ID:kQKFU2wrCg言語なんてのもあるくらいだしHLSLでいい。
0472名前は開発中のものです。
2006/09/27(水) 23:56:47ID:0+9eDEBa簡単に読める程度にしか命令数がそもそもないだろ。
これがPS2のVUとかなら死ねるが。
0473名前は開発中のものです。
2006/09/28(木) 01:09:42ID:Qut+4z4Rここはサンプルも見れないような初心者が集うところです。
少しは理解してあげてください。マニュアルなんか見ません。
いや、それは嫌味だとしても 初心者にはHLSLだって怪しいのに
VSアセンブラは無理でしょ。変にそそのかさないでください。
0474名前は開発中のものです。
2006/09/28(木) 01:40:40ID:EmxvHeW00475名前は開発中のものです。
2006/09/28(木) 02:20:44ID:43BrdYybとか言われるんだけど、DXUtil.hって昔のヘッダか何か?
0476名前は開発中のものです。
2006/09/28(木) 02:26:06ID:pbZl2D+nそもそも何をビルドしようとしたの?そこらのWebに落ちてるサンプル?
0477名前は開発中のものです。
2006/09/28(木) 02:38:12ID:43BrdYyb0478名前は開発中のものです。
2006/09/28(木) 02:50:11ID:43BrdYybこいつだったわ
0479名前は開発中のものです。
2006/09/28(木) 04:13:38ID:Ks4kfiVt0480名前は開発中のものです。
2006/09/28(木) 12:31:29ID:r3bgliNM複数箇所の回答から一番有用なものを吟味するなんて今や当たり前なのに。
頭が堅くなって時代についていけなくなったんだろうね。
0481名前は開発中のものです。
2006/09/28(木) 12:59:07ID:E+G8+8X8マルチポストするやつは、どこか一カ所にしか返事をかないとか
返事も結果も書かないやつが多いから。
マルチポストであっても、その故を明記していれば俺は許す。
0482名前は開発中のものです。
2006/09/28(木) 13:09:22ID:YQu14luC0483名前は開発中のものです。
2006/09/28(木) 18:42:47ID:nERzszfM確かにマルチポスト推奨はイマドキと言えるかも知れないw
0484名前は開発中のものです。
2006/09/28(木) 19:03:49ID:7exZtWv40485名前は開発中のものです。
2006/09/28(木) 20:08:12ID:4xoDGQZbしかし、2ch内でマルチポストしても、似たようなスレは
見てる人も同じだから意味ないよな。
0486名前は開発中のものです。
2006/09/28(木) 20:21:31ID:oMbAyOJr結局は答えてもらえない確率を高くするだけ。
0487名前は開発中のものです。
2006/09/28(木) 20:31:19ID:7exZtWv40488名前は開発中のものです。
2006/09/28(木) 22:39:14ID:Nlv1qsey0489名前は開発中のものです。
2006/09/28(木) 22:44:09ID:MNRQMggg昔はみるところ決まってた(BBX、BIO100、2ちゃん)から貼る必要が無かっただけで
今は俺、2ちゃんしかみてないからここはここの意見でいいんじゃない?
結局さ、難しい・マイナーな問題って本にも載らないし
載ってたとしてもわからない奴にはその情報がどこに載ってるかわからないし、
技術の伝承は掲示板でしかできないしで色んなところでログ残していくのが一番だと思うよ。
よくでる質問だからっていって話題にしないとしないままどこ探しても見つけられなくなっちゃうじゃん。
0490名前は開発中のものです。
2006/09/28(木) 22:48:56ID:baBONFMD嫌がられてもやるというのなら、好きにすればいいだろう。
0491名前は開発中のものです。
2006/09/28(木) 23:33:48ID:Dk3RCCMg半透明ウィンドウがあるとプログラムがスローダウンしちゃうんだけどなんかうまい方法ない?
0492名前は開発中のものです。
2006/09/28(木) 23:37:43ID:cM5JOSMPマシン買い替え
0493名前は開発中のものです。
2006/09/28(木) 23:41:24ID:anfWJ5Tf「もう一方で回答が出たなら、こっちで答えなくてもいいよな?」って拗ねてんのか?
まぁ今更言ったところで、マルチポストを許さない土壌ができあがってしまっているんだけど。
ちなみに俺はマルチポストしたことないしするつもりもないよ。いろんなところで口をすっぱくして「マルチポストはいけません」って言われてたから。
自分もレスしておいてなんだけど、ゲームプログラマってこういう煽りで流され話が脱線しやすいよね。議論好きだからですか?
0494名前は開発中のものです。
2006/09/28(木) 23:58:14ID:Dk3RCCMgパワーは全然有り余ってる。60fps出てるのが3fpsとかになっちゃう。
DXUT使ってるサンプルは平気なんでソースを見てるんだが、ちょっと挫折気味。
そういえば大航海オンラインも同じ症状出てたかも。
0495名前は開発中のものです。
2006/09/29(金) 00:00:35ID:oMbAyOJr0496名前は開発中のものです。
2006/09/29(金) 00:01:58ID:N5SjyFNE0497名前は開発中のものです。
2006/09/29(金) 00:06:19ID:ueQhqgX3スペック書かずにこう書く奴に限って(ry
0498名前は開発中のものです。
2006/09/29(金) 00:10:47ID:paU00bjAたぶん電源ユニットが500W以上。
0499名前は開発中のものです。
2006/09/29(金) 00:15:11ID:+I5I2Dah0500名前は開発中のものです。
2006/09/29(金) 00:19:34ID:3ckC2oiRやってるのは800x600の画面クリアとfps表示の文字列数個のみだよ。
ちなみに、500Wの電源は持ってないし界王拳も使えない。
>496
なんで別スレッドにするんだ?
0501名前は開発中のものです。
2006/09/29(金) 00:24:29ID:gYSr6WhV0502名前は開発中のものです。
2006/09/29(金) 00:27:16ID:N5SjyFNE昔からの定番みたいなもんなんだよ。
DXUTのサンプルがそうならないってほうが意外だった。
0503名前は開発中のものです。
2006/09/29(金) 00:30:27ID:3ckC2oiRバッファのフォーマットのせいでコピーが発生してるような気がするけど、正直わからん。
>501
すまん、一応配布予定なのでAero限定は無理だ。
0504名前は開発中のものです。
2006/09/29(金) 22:25:53ID:N5SjyFNE0505名前は開発中のものです。
2006/09/29(金) 22:55:00ID:+W9NI1Pp0506名前は開発中のものです。
2006/09/29(金) 23:00:27ID:bQHZkLAr0507名前は開発中のものです。
2006/09/29(金) 23:22:29ID:+I2r6/3e0508名前は開発中のものです。
2006/09/30(土) 00:19:21ID:DBE05lgj0509名前は開発中のものです。
2006/09/30(土) 00:34:44ID:sEeiZqED0510名前は開発中のものです。
2006/09/30(土) 06:08:14ID:5xvehRtzどうもMikotoでの変形結果と同じにならない
調べたらMikotoのボーン変形は、関節部を潰さないようにかなり特殊な計算をしているみたいっすね
これってどうやってるのかな。シェーダーじゃ無理っすかね
0511名前は開発中のものです。
2006/09/30(土) 08:48:50ID:QdcbVNXKクオータニオンの補間がおかしいし、その他問題が沢山あるので使い物にならない。
0512510
2006/09/30(土) 10:27:47ID:5xvehRtzレスどうもっす
申し訳ないっすが、姿勢行列の補間は関係なさそうっす。シェーダーなんで頂点補間の部分は当然自前です
スキニングなんて誰がやっても同じ計算(ボーンごとに変形した頂点座標を、ウェイト値に基づいて再調整)に
なるわけっすが、どうやら他の算出方法もあるらしい。それをお尋ねしたい次第っす
それとも、あまり有名じゃないんすかね。検索しても全く出てこないっすし・・・
Mikotoオリジナルっぽい気がしてきましたわ。一体どうやってるんすかね
0513名前は開発中のものです。
2006/09/30(土) 11:13:00ID:f6Ng8zSYちゃんとやるならそれなりに面倒なコトになるだろうけど、
線形補間でもちゃんと見えるようにデータを作るほうがいいと思う。
0514名前は開発中のものです。
2006/09/30(土) 12:41:48ID:LWd9FNUhこのへんはCG屋さんに聞いてみるのも良いんじゃない?
0515名前は開発中のものです。
2006/09/30(土) 12:58:03ID:ZLzDkOO3間接部の回転角度の補間はクォータニオンで扱って初めてやれる処理なんで
行列の方(つまりxファイル形式)に落とし込んじゃうともう事実上不可能だと思う
実際にはミクロマンのひざ間接みたいな二つの骨の間を埋める小さい骨を何個かつくってる
…はず
0516名前は開発中のものです。
2006/09/30(土) 17:01:55ID:1o8uqwbg以前、mikotoの掲示板で「bdefアンカーによる影響ってどういう計算式?」
っていう質問があって、それに対してゆーり氏が
『秘密です。
っていうのは嘘ですが、
詳しく説明するのもアレなので、ヒントを。
2個以上のアンカーに影響される頂点に対して、
その頂点と互いのアンカーの面との距離で影響力を決定しています。
アンカーの面は最低でも6つありますが、
どの面との距離をとればいいかは想像つきますね?』
って答えてた。
結局、正確な計算式は不明。
0517名前は開発中のものです。
2006/09/30(土) 17:21:25ID:ZLzDkOO3すごくいいことを聞いた
横からd
0518510
2006/09/30(土) 18:15:01ID:5xvehRtz線形補間を詰めた方がイイって事っすね。ゲームですし、線形補間の方が速そうっすしね
ただあの綺麗な曲げは捨てがたく・・・
>>516
引用感謝っす。補間方法では無さそうっすが、ウェイトを決める方法っすね
>>515
なるほど、検索結果と合わせて何となく分かってきたっす
ボーンの回転中心を、頂点が結果的に円を動くような位置へと補間していけばいいんすね
おかげでなんとか出来そうです。皆さんレスありがとうございました
0519名前は開発中のものです。
2006/09/30(土) 19:34:59ID:3Lp8oI6E確かにMatrixの線形補間の方がはやいけど、Quaternionで補間しても
誤差程度しか差は出ないよ。
肘、ひざ、肩とか必要な箇所だけ頂点の補間法変えればよし。
0520名前は開発中のものです。
2006/09/30(土) 21:05:20ID:f6Ng8zSYシェーダーでやるってことを考えるなら色々と最適化を考えても場所ごとに分岐はやめたほうがいい気がする。
ツール系は全部CPUで計算しちまっても問題ないがリアルタイムなゲームだと色々面倒だぞ。
0521名前は開発中のものです。
2006/09/30(土) 21:44:59ID:3Lp8oI6E「やってダメだった」じゃなくて「気がする」って事は
試してないって事でOK?
0522名前は開発中のものです。
2006/10/01(日) 01:15:18ID:ogT2TFR+クォータニオンをマトリクスへ落とすだけでほとんど命令数を使い切っちゃう感じで駄目ですた
なにか最適化する方法があるのかもしれないんだけど頭が悪いのでわかりません
そんなわけなんで骨と骨の間にそれらを半々の割合で球面線形補間した骨をあらかじめ
用意しておいて使うことにしたんだけど、そうすると今度はシェーダーへ渡すマトリクスの
数が2倍近く増えるんでレジスタ数の限界を考えてモデルの方で使えるの骨の数に
かなりきわどい制限がでてきてしまう始末
0523名前は開発中のものです。
2006/10/01(日) 01:24:03ID:oVrgML5A2度も線形補間のコードをシェーダで通すくらいなら
CPUでやったほうがよくね?
ぶっちゃけ簡単だし
0524名前は開発中のものです。
2006/10/01(日) 01:49:58ID:ogT2TFR+最初から用意しておいたほうが速くなる場合もあるね
そういうどーしょもない話がDirectX10だと解消されてくるわけだ
0525名前は開発中のものです。
2006/10/01(日) 01:52:50ID:oVrgML5Aシャドウバッファとかやるときはどうすんだ?
0526名前は開発中のものです。
2006/10/01(日) 03:27:09ID:JJz6bZ2w0527名前は開発中のものです。
2006/10/01(日) 12:46:08ID:dPbmkgF9CPUとGPUを比べた場合現状はGPUの特に頂点シェーダーは
よほどのことがない限り遊んでるから頂点シェーダー側で命令が増えるのは
そんなにペナルティにならないことが多い。
一般的にゲームを作っていて処理がきつくなるのはCPU負荷とピクセルシェーダー部分。
とくにDrawPrimitiveはGPUコマンド発行するだけだがこれがべらぼうにCPU負荷食う。
ここはDirectX10で緩和されると言われてるね。
>>522
確かにボーンが増えてそれを全部定数レジスタに入れようとすると結構厳しくなるね。
とくにVS1.1だとボーンなんて10本くらいがいいとこだから現実的じゃないね。
最低でもVS2.0くらいのレジスタ数は欲しいねぇ。
できればVS3.0にしてボーンのマトリックスをfp16/fp32のテクスチャにいれて、
頂点シェーダー内でボーンのマトリックスをテクスチャからサンプリングするという方法もある。
これなら3テクセルに1ボーン入るからかなりの量のボーンが使える、ハズ。
0528名前は開発中のものです。
2006/10/01(日) 12:54:03ID:iXDGlJTF0529名前は開発中のものです。
2006/10/01(日) 12:57:10ID:PqisUcByすでにDirectXで作ったゲームがあるんですが、
これをネトゲにしようかと思ってます。
そこで気になったことが1つあります。
うっかりウィンドウキーを押してしまうと最小化されてしまい、
その間にやられて死んでしまう可能性です。
人間同士の駆け引きを楽しむネトゲにしたいんで、
こういった部分は全て排除していきたいんです。
一応ウィンドウキーを無視するようにはできたんですが、
これはマナー違反みたいな意見もあるかと思いまして、
ちょっと迷っているところです。
つまり、
A.ウィンドウキーを無効にしてゲームの快適さを優先
B.うっかりウィンドウキーを押して死んでしまってもWINのマナーを優先
どちらにすべきか・・・ということです。
個人的にはA.と思うんですが・・・。
よろしくおねがいします。
0530名前は開発中のものです。
2006/10/01(日) 13:02:43ID:iXDGlJTF世に言うところの、小さな親切大きなお世話。
どうしてもやるんだったら、後から設定するオプション扱い。
0531名前は開発中のものです。
2006/10/01(日) 13:05:39ID:PqisUcByなるほどオプションですか。
これならばウィンドウキーの有効・無効が自由にできますね。
そうするとデフォは普通にウィンドウキーが有効になっていて、
ネトゲに熱中しちゃう人はオプションで無効にできるから、
うっかり押しちゃって死ぬなんてことはない・・・と。
とてもいいアドバイスありがとうございました。
0532名前は開発中のものです。
2006/10/01(日) 13:09:47ID:dPbmkgF9だがやっているゲームも存在する。
そもそもの問題としてキーフックはWindows2000以降でなければできない。
・ALT+TABをブロックするのはかなり嫌われるコトになるけどそっちをどうするのか?
・ALTキーを押したときに動作が停止しないか?
・タイトルバーをクリックしてウィンドウを移動させるときにゲームが停止しないか?
動作に関して気になるならこの辺も全部確認しとき。
ちなみに個人的にはWindowsキーやALT+TABは自己責任で
デバイスロスト状態からの復帰をきちんとサポートってのが好み。
普通はWindowsキーってそうそう押さないし。
0533名前は開発中のものです。
2006/10/01(日) 13:15:22ID:bcMO92DK頑張れば2テクセルでいけるな。
姿勢だけなら自由度6だから、6つのパラメータ有れば十分。
VSからテクスチャ参照するコストと、VS内で行列を生成するコストを
天秤にかけることになるが。
>>529
キーフックとかで無効にしてるのならやめよう。
DISCL_NOWINKEYでググるべし。
0534名前は開発中のものです。
2006/10/01(日) 13:18:22ID:dPbmkgF9姿勢で持つにしても別途移動と親からのオフセットは必要にならない?
0535名前は開発中のものです。
2006/10/01(日) 13:19:36ID:PqisUcBy>・ALT+TABをブロックするのはかなり嫌われるコトになるけどそっちをどうするのか?
これにつきましては何もしないつもりです。
ウィンドウキーは1つ押しただけでスタートメニューが出てしまうので、
こういった操作ミスによるキャラ死亡だけは避けたかったんです。
ALT+TABは2つ押すんで操作ミスはありえないと思ってます。
>・ALTキーを押したときに動作が停止しないか?
>・タイトルバーをクリックしてウィンドウを移動させるときにゲームが停止しないか?
これについては後で考えますが、
現在はフルスクリーンのみで動くようになってます。
>>533
現在はキーフックでやってますが、
これはいいのを教えてもらいました。 →DISCL_NOWINKEY
早速取り込んでみたいと思います。
ありがとうございました。
0536名前は開発中のものです。
2006/10/01(日) 17:20:55ID:ogT2TFR+DirectX10だと頂点シェーダー通った頂点をまたビデオメモリへ書き戻せるんだってさ
だから結構重たい変形処理を頂点シェーダーにやらせても次のパスではその結果を再利用できる
てか俺vs1.1で動かないといやなのにDirectX10とか何いってるんだろうね
0537名前は開発中のものです。
2006/10/01(日) 17:26:08ID:iXDGlJTF0538名前は開発中のものです。
2006/10/01(日) 17:36:19ID:dPbmkgF9vs1.1を前提にするならそもそもレジスタが全く足りないので
ボーン処理は不可能と考えたほうがいい。
全部CPUでやるか固定機能でやるのが定番だな。
VS1.1ってGeForce3あたりだっけ?GeForce4も含まれるのかな。
どっちにしろそんな今となっては屑みたいなビデオカードをサポートすることで
クオリティを落とすというのはどうかと思うが趣味でやる分には別にいいのか。
GeForce3とかをHALでサポートするっていう前提の場合、
CPUも世代を合わせるとPen3の1000Hzあたりがターゲットってコトだよな。
日本は2D信仰が病的な程あるが、その強い影響で低スペックマシンを
前提として考える傾向が抜けないよなぁ・・・
低スペックマシンはオプションでギリギリ動くんじゃない?程度にしといて、
標準機能をは現行スペックにあわせて作ればいいのに。
0539名前は開発中のものです。
2006/10/01(日) 17:37:00ID:dPbmkgF90540名前は開発中のものです。
2006/10/01(日) 17:41:36ID:y/oaRnBb↓で説教してきてください。
エロゲメーカーはいい加減低スペックPCを切り捨てろ
http://pie.bbspink.com/test/read.cgi/erog/1114845529/
0541名前は開発中のものです。
2006/10/01(日) 17:54:14ID:7roD0klY>>515
行列に落としても出来るっしょ
逆にXファイルにクォータニオンで持たせることも(標準テンプレ範囲で)可能
0542名前は開発中のものです。
2006/10/01(日) 18:02:29ID:dPbmkgF9最終的には低スペックのマシンでも「表示がされなかったり動かなかったりはしない」
っていうレベルにしとけばいいわけだし。
切り捨てるっていうか基準を上にシフトさせるってコト。
そもそもvs1.1で作ったってGeForce2じゃHardwareTnLで動かんのだし。
MatroxG400じゃvsなくてもHardwareTnLで動かんわけだし、
作るときはこの辺でも全部「表示はされてゲームは動く」レベルには合わせるだろ。
まぁゲームのソースはビデオカードのサポート具合に合わせて
大量に機能毎の分岐やらシェーダー切り替えが出てくるケドナー。
0543名前は開発中のものです。
2006/10/01(日) 18:03:29ID:iXDGlJTF足りないというのは、一頂点辺りいくつのボーンを前提にして足りないといってるんだ?
固定で出来る数なら1.1で十分に対応できるんだが、いったい何の話をしているんだ?
0544名前は開発中のものです。
2006/10/01(日) 19:17:28ID:dPbmkgF9それはボーン数というかウェイト数だろう。
1回のDrawPrimitiveに使えるボーンの数が少なすぎるという話。
定数レジスタが96しかないんだからすべてをボーンに使ったって32本しか使えない。
だが実際には透視変換・ライティング・フォグ・テクスチャアニメーションなどの頂点処理で
レジスタを使わないといけないのだから1回のDrawPrimitiveで使えるボーンはせいぜい20本がいいトコだろ。
vsで凝ったことをするほど1回のDrawで使えるボーンの数が減っていくんだよ。
逆に凝ったことをやらないなら固定機能で十分なわけだ。
0545名前は開発中のものです。
2006/10/01(日) 19:29:57ID:iXDGlJTF0546名前は開発中のものです。
2006/10/01(日) 19:37:58ID:6J1M+7utといいな
0547名前は開発中のものです。
2006/10/01(日) 19:55:43ID:LpXzSsQ4と不安です。
0548名前は開発中のものです。
2006/10/01(日) 20:06:55ID:4Fg07nio0549名前は開発中のものです。
2006/10/01(日) 20:13:34ID:dPbmkgF9とりあえずGeForce6600
固定機能ライト数 : 8
ブレンドマトリックス数 : 4 ← MaxVertexBlendMatrices
ブレンドマトリックスインデックス数 : 0 ← MaxVertexBlendMatrixIndex
頂点シェーダー定数数 : 256
頂点シェーダーバージョン : 3.0
ピクセルシェーダーバージョン : 3.0
動的フロー制御命令のネスティング : 24
静的フロー制御命令のネスティング : 4
DirectX9世代のビデオカードでは固定機能はもうサポートされてないね。
メーカーの言うとおり全部シェーダーでやれっていうことなのだろう。
DirectX8世代はサポートしてるらしいけどねぇ。
そういうメーカーやAPI側の問題も踏まえたうえでDirectX8=vs1.1は使い物にならんと言ってわけだが。
ちょっと言い方に問題あったな。
固定機能は除外してくれ。
VS2.0ベースで作って対応してなきゃD3DCREATE_MIXED_VERTEXPROCESSINGと
SetSoftwareVertexProcessing()で分岐って感じがいいと思うけどが一般的じゃないのかねぇ。
0550WindowsVista
2006/10/01(日) 20:14:59ID:QL6n0Hv/0551名前は開発中のものです。
2006/10/01(日) 20:41:42ID:ogT2TFR+>>541
>行列に落としても出来るっしょ
どうやるか教えてください!
0552名前は開発中のものです。
2006/10/01(日) 21:10:25ID:9AU5rKoEプレビューもできるようなソフトない?
0553名前は開発中のものです。
2006/10/01(日) 21:29:58ID:oVrgML5Aあー、なるほど。そういう仕組みなのか。
最近新しいことについていけねーよ・・・悪い傾向だなぁ
0554名前は開発中のものです。
2006/10/01(日) 22:32:09ID:IrowYbpc底上げとかないだろ
0555名前は開発中のものです。
2006/10/01(日) 22:56:16ID:lU6LhM6k後はまぁ、規格が合うか調べる能力とか
コンピュータの蓋を外して中を弄ることについての多少の努力とか
0556名前は開発中のものです。
2006/10/02(月) 00:53:03ID:OdW/jKpGUnreal Editor
半分マジレス
0557名前は開発中のものです。
2006/10/02(月) 01:31:38ID:kV9hqfDm今出回ってるUE2はシェーダー関係一切使えない
マトモにUE3使ってエディタ外さないタイトルはUT2k7
すなわち来年
FarCryのエディタで代用できそうだけどメンドイ
誰か作れ
0558名前は開発中のものです。
2006/10/02(月) 02:38:01ID:7H4MMFEr効果が出るのですが、無限遠光源の表現に改造しようとしています
とりあえずg_mShadowProj(光源から見た場合の射影行列)を正射影で作るようにしてみた
のですが、細かいシマシマが出るようになってしまいました。
何となくShadowMap.fx内のsourcevalsをいじっているあたりが怪しいと思っているのですが、
よくわかりません。
一応シャドウマップの原理は理解したつもりなんですが、ここは何だか難しい事をやってるようで。。。
どう直したら良いのか教えて下さい。
0559名前は開発中のものです。
2006/10/02(月) 08:59:30ID:OdW/jKpGをいをい…「シェーダー関係」ってHDRとか法線マップ使えないと
「一切使えない」ってことになるのか?
UEDのマテリアルエディタ触った事ある?
描画パスの勉強するには必要充分なシェーディング機能だぞ。
0560名前は開発中のものです。
2006/10/02(月) 09:14:15ID:aFY/cqAR簡単にいうと、遠近射影と正射影とでは誤差の乗り方が違うのよ。
とりあえず SHADOW_EPSILON を 100倍にしときなさい。
0561名前は開発中のものです。
2006/10/02(月) 10:11:45ID:CTih6+Zy0562名前は開発中のものです。
2006/10/02(月) 10:36:11ID:aFY/cqAR正射影の場合 w は常に1だから、深度値は常に線形になる。
遠近射影の場合は、wで割ると深度値が非線形になる。(一応線形で求めることもできる。)
非線形だと、遠くの方ほど深度の変化が緩やかになるから、
そのサンプルだとたまたま、極少のバイアスでもうまくいってるんだと思う。
一方で線形は、深度値を頂点シェーダの方で求めても正しく補完されるメリットがあるみたい。
とりあえず正射影なら線形一択ね。
0563名前は開発中のものです。
2006/10/02(月) 10:55:48ID:CTih6+Zythx!
だけどホントはwで割る理屈が勘でしかわかってないから、線形と非線形について調べます。m(_ _)m
0564名前は開発中のものです。
2006/10/02(月) 11:20:01ID:IdJRfXBfありがとうございます!
もっと大きな値(0.01とか)で上手く行きました。
このサンプルではライティングをピクセルシェーダーでやってるのですが、これは何か意味があるんでしょうか?
仕組み上こうするしかないんですか?
0565名前は開発中のものです。
2006/10/02(月) 12:52:14ID:aFY/cqAR0566名前は開発中のものです。
2006/10/02(月) 13:07:48ID:IdJRfXBfなるほど。。。
ありがとうございました。すっきりしました。
0567名前は開発中のものです。
2006/10/02(月) 21:44:16ID:CTih6+Zy遠近射影の場合のwの導出式はあるのでしょうか?
何となく
w=kZ (kは定数)
みたいな気がしているのですが、これから
Z=w/k
になってしまうので、変な気がするのですが…
0568名前は開発中のものです。
2006/10/02(月) 22:25:57ID:aFY/cqAR詳しくは下を見てね。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/graphics/reference/d3dx/functions/math/d3dxmatrixperspectivefovlh.asp
Zp = (Zv - near) / (far - near) * far, Wp = Zv ね。
Zv = near〜far を遠近射影で変換すると
Zp = 0〜far, Wp = Zv になって、
depth = Zp / Wp で、(非線形の)0.0〜1.0になるわけね。
ちなみに depth = (Zv - near) / (far - near) だと(線形の)0.0〜1.0ね。
シャドウマップの深度値を非線形で求めるメリットってあまりないと思うから、
後者の方でいいと思うけどね。
(PSMとかの場合はどうしても非線形になるけど)
0569名前は開発中のものです。
2006/10/02(月) 22:46:34ID:CTih6+Zyサンクス!分かるようにがんばってみます。
>depth = Zp / Wp で、(非線形の)0.0〜1.0になるわけね。
の「非線形」というのは、Zp と Wp の2変数の関数になっているから
「非線形」なのですか?
>ちなみに depth = (Zv - near) / (far - near) だと(線形の)0.0〜1.0ね。
こちらは Zv の1変数だけの関数だから「線形」なのですか?
0570名前は開発中のものです。
2006/10/02(月) 23:38:14ID:aFY/cqARグラフにしたときに
y=ax みたいに直線になる(均等に変化する)のがそこで言う線形で
y=1/x みたいに曲線になるのがそこで言う非線形ね。
深度値が線形変化だと、頂点間のパラメータ補間も線形補完だからそりがあうのね。
後は自力で頑張ってねw
0571名前は開発中のものです。
2006/10/02(月) 23:42:29ID:CTih6+Zyがんばります
0572名前は開発中のものです。
2006/10/03(火) 00:59:45ID:DSdGAOLrここを読んでクロスシミュレーションを勉強しています。
基本的な理屈は分かったのですが、これだけだと、例えば棒の上に布を被せた
場合、最終的には布が棒に完全にフィットしてしまう事になります。
もうちょっと末広がりのスカートにクロスシミュを適用させたいと思っている
のですが、広がった状態を保つのに何か良い方法はないでしょうか。
0573名前は開発中のものです。
2006/10/03(火) 01:18:57ID:7Ux3dkLn0574名前は開発中のものです。
2006/10/03(火) 01:42:04ID:DSdGAOLr0575名前は開発中のものです。
2006/10/03(火) 01:45:32ID:7Ux3dkLn>>572 の方法を見てないんだが、ベースとなるモデルでスカート広げといて
それである程度制限つけて何とかならないものかなあ?
0576名前は開発中のものです。
2006/10/03(火) 02:19:05ID:vWVbEwXE0577名前は開発中のものです。
2006/10/03(火) 02:23:39ID:DSdGAOLr上の方法は、隣り合う頂点同士がばねで結合してあって、各頂点が重力や風の影響を
受けて動きつつ、お互いに引っ張り合う というような簡単な実装なんですが、
これをどう発展させれば良いのか・・・
単純に「各頂点は元居た位置に戻ろうとする」みたいなルールにすると、想像しただけで
変な動きになりそうな・・・。
0578名前は開発中のものです。
2006/10/03(火) 02:27:28ID:vWVbEwXE巨乳やめてひんぬーにすれば乳揺れ演算の手間が省けるし萌えもアップする
0579名前は開発中のものです。
2006/10/03(火) 02:28:45ID:DSdGAOLr0580名前は開発中のものです。
2006/10/03(火) 02:50:14ID:aoBC2TiSスカートのシミュレーションはDirectXとは直接の関係はない。
かろうじて3Dというキーワードで関連性があるだけだ。
いい加減ここで論じてもネタになるだけだと気づけ。
真に技術的な話をしたければオマエにピッタリのスレがあるから、
↓↓↓↓↓↓↓↓↓紹介してやる↓↓↓↓↓↓↓↓↓
【おっぱい】エログラミング Ver.0【まん○】
ttp://pc8.2ch.net/test/read.cgi/gamedev/1159714969/
(本当に真面目にやってるから困るw
0581名前は開発中のものです。
2006/10/03(火) 05:15:00ID:y9F7IyNg>各頂点は元居た位置に戻ろうとする
これでOKだよ。ペナルティ法みたく力を加算してやればいい。
けど結局重力との兼ね合いがあるからなかなか思ったようにはいかないんだよね
…と思ったけど戻ろうとする位置を重力の強さから計算して少し上にすると
そういう心配がいらないのか今思いついた
0582名前は開発中のものです。
2006/10/03(火) 06:57:20ID:vgAfYw3GDirectX9でプログラム組んだら、
実行ファイルといっしょにd3dx9d_27.dllもつけてくばれよ。
どうやってdll取得すりゃいいんだよ。
0583名前は開発中のものです。
2006/10/03(火) 07:07:35ID:YfYGNZyI0584名前は開発中のものです。
2006/10/03(火) 07:11:05ID:vgAfYw3G0585名前は開発中のものです。
2006/10/03(火) 07:22:48ID:vgAfYw3Gもう、死ねw
デバッグビルドで配るのかよ。
これじゃ、dllどうしようもねぇよ。
ってか、製品かよwこれw
担当者首吊っていいぞw
0586名前は開発中のものです。
2006/10/03(火) 07:27:40ID:YfYGNZyI0587名前は開発中のものです。
2006/10/03(火) 08:35:12ID:P7VMQaAC0588名前は開発中のものです。
2006/10/03(火) 11:21:37ID:XIIuodg50589名前は開発中のものです。
2006/10/03(火) 13:14:44ID:M3DXFH7Vドラえもんのセリフだったのか。
0590名前は開発中のものです。
2006/10/03(火) 23:09:52ID:4Fizvc7m>デバッグビルドで配るのかよ。
これって配布しちゃダメなんじゃないっけ?
(d.dllは配布NGだよな・・・)
0591名前は開発中のものです。
2006/10/04(水) 03:39:54ID:4wzn7ySyちゃんとランタイム入れさせたら問題ないよ。
0592571
2006/10/04(水) 03:41:52ID:DSlHTxnP度々すいません。やっと計算が合いました。
Pv = ( Xv , Yv , Zv , 1 ) で、Pp、Pv を列ベクトルとすると
Pp = ( DirectXのパースペクティブ射影行列 ) * Pv
と計算をしていたから、計算が合いませんでした。。
DirectXの行列の場合は、Pp、Pv を行ベクトルとし、Pp = ( Xp , Yp , Zp , Wp ) とすると
Pp = Pv * ( DirectXのパースペクティブ射影行列 )
が正しいですよね。
普通の数学の行列とDirectXの行列の掛ける順番が、逆だった事を忘れてました。。
>ちなみに depth = (Zv - near) / (far - near) だと(線形の)0.0〜1.0ね
これは 「 depth = Zp / Wp 」 の式で
Wp = far ( Wp は far で常に一定 )
とした時の結果だと思うのですが、どういうときに Wp = far で
「 Wp = 一定 」 となるのですか?
度々ですが、よろしくお願いいたします。
0593571
2006/10/04(水) 03:59:49ID:DSlHTxnP( DirectXのパースペクティブ射影行列 )
を
( DirectXの左手座標系正射影行列 )
にすれば、上の疑問が解決しそうな気がしてきました。。
0595名前は開発中のものです。
2006/10/04(水) 06:15:19ID:Ktl66vb4リリースならいーんじゃなかったっけ?
0596名前は開発中のものです。
2006/10/04(水) 08:51:54ID:XNeWH2d00597名前は開発中のものです。
2006/10/04(水) 11:20:48ID:OxntC239DLLをアプリに付けるのはアウト。
しかし、DirectX 9.0c End-User Runtimes (February 2006)とかわかりにくすぎるよな。
DirectX 9.1とか9.2にしないのはなんでなんだ?
0598名前は開発中のものです。
2006/10/04(水) 12:14:36ID:2xOQlnLJ0599名前は開発中のものです。
2006/10/04(水) 14:54:41ID:4wzn7ySy>>597 でFAです。
バージョンは 9.0「c」の時点で怪しいよね。
内部処理の変更だけっていうなら納得もでくるけど、そうでもないし・・
0600名前は開発中のものです。
2006/10/04(水) 15:44:34ID:MKHuD+QXDX9は場繋ぎだからな
DX8のあと手をかけたのはDX10のほうで
DX9はこの間を埋めるために作られただけ
だからDLLとか変な形で配布するようになってる
9.1とか9.2とか気軽にバージョン刻んじゃうと
Vistaが遅れたらエライ目にあってしまう
0601名前は開発中のものです。
2006/10/04(水) 20:36:35ID:SU/1cxSP0602名前は開発中のものです。
2006/10/04(水) 21:21:29ID:OxntC2390603名前は開発中のものです。
2006/10/05(木) 21:30:05ID:nihkvWc+>繋ぎのDirectX9が当分主流になる悪寒。
内心そうであって欲しいと思ってる俺は悪い子です。
0604名前は開発中のものです。
2006/10/05(木) 21:50:19ID:SqDbZcnZマイナーチェンジのたびに配布DLL増やすのは辞めろといいたい。
0605名前は開発中のものです。
2006/10/05(木) 21:52:16ID:UDop+ZrD0606名前は開発中のものです。
2006/10/05(木) 22:20:45ID:CyAerv/DMS Update通せって書いとくだけだろ
0607名前は開発中のものです。
2006/10/05(木) 22:22:09ID:PrJx0YGz0608名前は開発中のものです。
2006/10/05(木) 22:28:34ID:ekRcqY1k0609名前は開発中のものです。
2006/10/05(木) 22:51:12ID:/NLAzQcl0610名前は開発中のものです。
2006/10/06(金) 00:02:54ID:sTGhBtZC今日付けでMDX2.0ベータは使えなくなったから、MDX1.1で。
0611名前は開発中のものです。
2006/10/06(金) 00:21:12ID:zAgFoh352年も前のSDKとか使うなよ・・
0612名前は開発中のものです。
2006/10/06(金) 01:25:50ID:fUtYCWOE0613名前は開発中のものです。
2006/10/06(金) 01:29:38ID:zAgFoh350614名前は開発中のものです。
2006/10/06(金) 02:25:18ID:5tz0fyrT0615名前は開発中のものです。
2006/10/06(金) 07:45:44ID:POFlOsAD0616名前は開発中のものです。
2006/10/06(金) 07:52:39ID:GYdEeNvtMSはしばらくの間はDX9も新機能に対応させると言ってるが
どう考えても新機能が20あったら2か3しかDX9では対応しなそう
0617名前は開発中のものです。
2006/10/06(金) 08:43:50ID:TKIe5Gjx0618名前は開発中のものです。
2006/10/06(金) 08:47:03ID:fUtYCWOEネット上での公開が激しく面倒。
0619名前は開発中のものです。
2006/10/06(金) 12:19:54ID:o6y9NZtR0620名前は開発中のものです。
2006/10/06(金) 13:04:39ID:BGqaNsol坊や、Aeroって何か知ってる?
0621名前は開発中のものです。
2006/10/06(金) 14:28:41ID:0Zp/+Eilhttp://aero-land.jp/top
やっべ、ブーンしてる
0622名前は開発中のものです。
2006/10/06(金) 17:41:22ID:xMPGWF4iVistaがそれだろ
廉価版はGDI系列だけど
0623名前は開発中のものです。
2006/10/07(土) 10:35:36ID:Lg8HECqTDirectX使うにはAvalonで書く必要がある
0624名前は開発中のものです。
2006/10/08(日) 16:58:14ID:u5wlUUpD無駄にDirectXの話はしない
無駄に煽る
無駄に釣られる
無駄に俺語りをする
素晴らしいスレだとおもいまちた
0625名前は開発中のものです。
2006/10/08(日) 17:36:38ID:J/lw30NR0626名前は開発中のものです。
2006/10/08(日) 18:08:12ID:t4f9uuWmそれともネットで配布されているキャプチャデータの話を
聞きたいのかどっちなんだ?
0627名前は開発中のものです。
2006/10/08(日) 21:41:40ID:J/lw30NR話を伺いたいです。経験おありですか?
0628名前は開発中のものです。
2006/10/08(日) 23:16:37ID:YNWehYqoオペレータとかに修正を依頼するのが普通だったね。
その時に、出力形式とか決めたり、適用するモデルのスケルトンを渡したり。
出来上がったデータは普通に使ったらいいじゃん。
何より、モーションキャプチャーしてる会社に聞いてみたほうが早いよ。
0629名前は開発中のものです。
2006/10/08(日) 23:24:43ID:HYvBv04Fそれ以前に人体のモデリングとかリグを組んだりとか、
キャプチャー以前に至る経験はあるのか?
0630名前は開発中のものです。
2006/10/08(日) 23:55:49ID:J/lw30NR修正作業はデザイナーにやってもらったんですか。実は一番知りたいのがそこだったり・・・
ノイズも問題になるでしょうけど・・・・
・100fpsで記録されてる生データを重要なキーフレームだけ取り出したい
・歩くキャラのつま先が地面にめり込んだり、デブキャラの腹に自分の腕が
めり込むのを修正したい(可能なら自動で)
といった作業は、何て言うアプリで編集すれば良いですかね。
どのアプリもモーキャプデータの編集なんて全然考えてない・プラグインも
無いみたいなんですが・・・どうやって間引き&ポーズ修正したか分かりませんか。
>>629
デザイナーがやるので、そういう経験は無いです(花瓶くらいなら作れるでしょうが・・・)
0631名前は開発中のものです。
2006/10/08(日) 23:57:10ID:57ON1ch90632名前は開発中のものです。
2006/10/09(月) 00:02:29ID:FuiQQBprモーキャプファイルで、スリムな主人公から相当デブなキャラまで、それなりに
辻褄が合うように動かしてます。
モーキャプデータから抽出したキーフレームが充分に少なければ、手作業で修正
する事も出来るでしょうが、スペチャンのキーフレームはかなり密度が高い上に、
殆ど全編踊りですから時間も長いです。
何か効率的に修正出来る有名な製品でもあるのかなと思いまして・・・
0633名前は開発中のものです。
2006/10/09(月) 00:03:08ID:J/lw30NRMotionBuilderですか!ありがとうございます、調べてきます。
0634名前は開発中のものです。
2006/10/09(月) 00:26:10ID:g6Zja+3Mデザイナーじゃないよ。
モーションキャプチャースタジオのオペレーターさんに
キャプチャーからデータ加工までを一括でお願いする感じ。
古い話だから今は知らんよ。
0635名前は開発中のものです。
2006/10/09(月) 00:33:24ID:NQHfVOFRStandard無くなっちゃたしね。
0636名前は開発中のものです。
2006/10/09(月) 00:59:43ID:3eM7knO2これってビデオボードの問題ですかね
0637名前は開発中のものです。
2006/10/09(月) 01:02:54ID:ERqi5yh10638名前は開発中のものです。
2006/10/09(月) 01:06:05ID:FuiQQBprざっくりとした加工はまとめてやってもらっても、細々したのはこっちでやりたいんですわ
運用してみて問題が出るたびに修正に出す、ていうのも大変ですし。
>>635
まあ、自分の財布から出るわけじゃないからね。
0639名前は開発中のものです。
2006/10/09(月) 02:05:01ID:g6Zja+3Mそこまで決まってるんなら、なぜココで質問したのか?
0640名前は開発中のものです。
2006/10/09(月) 13:09:14ID:rZ6e1XGZデフォルトの設定でフィルタかかってるビデオボードも結構多い
0641名前は開発中のものです。
2006/10/09(月) 14:25:05ID:btmawUgC0642636
2006/10/09(月) 14:43:29ID:3eM7knO2>>637
今のところそうです
文字とかはくっきり表示されてます
>>640
そうなんですか…
GDIだったらちゃんと表示されるからそっちにしようかな
>>641
えっ液晶だとだめなの?(汗
ノーパソなんですけど…
やっぱ古いノーパソでDirectX使ったゲーム作るのは間違ってたかな・・
0643名前は開発中のものです。
2006/10/09(月) 15:02:44ID:rCZTHJGt液晶はWindowed modeは別としてフルスクリーンにすると
標準の解像度以外だとぼやけるでしょ?
ってそういう話じゃなくって?
0644名前は開発中のものです。
2006/10/09(月) 15:34:42ID:t31lpLSa0645名前は開発中のものです。
2006/10/09(月) 15:41:25ID:SdlywCzM自分でボケないようにフィルタ設定すればいいだけだよ
0646名前は開発中のものです。
2006/10/09(月) 16:35:44ID:ERqi5yh1平面(じゃなくてもいいけど)ブラウン管ディスプレイを一台買え
ゲーム用に中古で
0647名前は開発中のものです。
2006/10/09(月) 19:36:43ID:g6Zja+3Mそういう問題なのか??
ノートとか液晶だと固定解像度だから、嫌でも引き伸ばされるはず。
まあ、液晶の解像度に合わせれば大丈夫って話なんだが。
0648名前は開発中のものです。
2006/10/09(月) 20:33:37ID:L1UKMrZX左から右に行くほどどんどん透明になるテクスチャを表示したいんですけど
どうやるかわかりません。
スプライト->draw(〜,D3DCOLOR(r,g,b,a))でaの部分をいじるとテクスチャ全体
のアルファ値が変わるのでどうすればいいんでしょうか?
0649名前は開発中のものです。
2006/10/09(月) 20:53:12ID:FuiQQBpr0650名前は開発中のものです。
2006/10/09(月) 20:57:08ID:AkqysJFvあるいはサーフェスをロックして書き換えるとか
0651名前は開発中のものです。
2006/10/09(月) 20:59:21ID:AkqysJFvあと用意するのマンドクセーけど、DDS使うとか
0652名前は開発中のものです。
2006/10/09(月) 21:07:05ID:2wqecqNXそんな物に頼っているから、その程度の簡単な処理すら出来ない。
0653648
2006/10/09(月) 21:48:49ID:L1UKMrZXありがとうございました。
0654名前は開発中のものです。
2006/10/09(月) 23:00:48ID:ujCaQUcv無知は罪ですか?
0655名前は開発中のものです。
2006/10/09(月) 23:05:49ID:EKjsv0Kz仕組みの理解をしておくことは後々役に立つかも知れ無い。
0656名前は開発中のものです。
2006/10/09(月) 23:15:43ID:vhVClLX60657名前は開発中のものです。
2006/10/09(月) 23:20:09ID:EKjsv0Kz0658名前は開発中のものです。
2006/10/09(月) 23:26:17ID:btmawUgCてゆうかDirectXに頼らないなら来なくていいよ>656
0659名前は開発中のものです。
2006/10/09(月) 23:32:49ID:FuiQQBpr0660名前は開発中のものです。
2006/10/10(火) 04:07:10ID:VJTBF9e50661名前は開発中のものです。
2006/10/10(火) 05:51:58ID:xblaH6lZ0662名前は開発中のものです。
2006/10/10(火) 08:00:49ID:j0PxGh8Fでも確かにD3DXに関してはもう頼れなくなったなぁ。
Oct2004まではD3DXに頼ってても何の不便も無かったのに・・・。
0663名前は開発中のものです。
2006/10/10(火) 11:15:17ID:2TluMEZsそこに気づけなかった俺ヘボいぜ
調べたらD3DXCreate*Texture*()以外使ってないし、ddsのロードは別環境用に用意してあるし
面倒が一つ減ったぜヤッホイ
0664名前は開発中のものです。
2006/10/10(火) 11:18:19ID:znCtx2eHここら辺が手放せないから、D3DX捨てるのは俺は無理だ。
どれも自分で書けないわけじゃないが、趣味プロだと他にやることが多すぎる。
0665名前は開発中のものです。
2006/10/10(火) 14:31:39ID:2KxtSwlF0666名前は開発中のものです。
2006/10/10(火) 15:40:47ID:VJTBF9e5アニメーション付きのX Fileを読み込んで、複数アニメーションを切り替えて表示できる
ビューワってありますか?
DirectX Viewerではできないようなのですが!
0667名前は開発中のものです。
2006/10/10(火) 15:42:57ID:0+hhpTt+0668名前は開発中のものです。
2006/10/10(火) 15:44:45ID:obWAIVxpそれともDirectX Viewerってのは、mviewとは違うのか
mviewは少なくとも2004 Summerには入っているな
0669名前は開発中のものです。
2006/10/10(火) 17:17:31ID:VJTBF9e52004 summerをダウンロードしてみます。ありがとう。
早とちり氏ねよ。
0670名前は開発中のものです。
2006/10/10(火) 17:53:26ID:KlJC55XH(自分で組んだプログラムでは動く)
0671名前は開発中のものです。
2006/10/10(火) 18:31:07ID:VJTBF9e5DirectXを使わせたら右に出る者はいない良かったね
0672名前は開発中のものです。
2006/10/10(火) 18:42:02ID:VJTBF9e50673名前は開発中のものです。
2006/10/10(火) 18:54:10ID:2TluMEZs0674名前は開発中のものです。
2006/10/10(火) 18:56:03ID:4sC3iTHG0675名前は開発中のものです。
2006/10/10(火) 19:15:44ID:RntNEutj0676名前は開発中のものです。
2006/10/10(火) 19:16:34ID:RntNEutjおまえ正真正銘のバカだろwww
0677名前は開発中のものです。
2006/10/10(火) 20:17:10ID:2KxtSwlF0678名前は開発中のものです。
2006/10/10(火) 21:08:13ID:VJTBF9e50679名前は開発中のものです。
2006/10/11(水) 00:17:10ID:UlzNoGLX行列Aに対して行列Cをかけて、行列Aが行列Bと同じになるようにしたいです。
その場合、行列Aに対してかけるべき行列Cはどうやったら求められますか。
0680名前は開発中のものです。
2006/10/11(水) 00:19:37ID:trFIvV+bムリ
0681名前は開発中のものです。
2006/10/11(水) 00:19:54ID:UlzNoGLXそのものが欲しいのです。
よろしくおねがいします
0682名前は開発中のものです。
2006/10/11(水) 00:21:06ID:UlzNoGLX浮動小数点の計算誤差なんかは気にしないのですが
それでもムリですか?
0683名前は開発中のものです。
2006/10/11(水) 00:24:19ID:rDqWvzjU0684名前は開発中のものです。
2006/10/11(水) 00:25:36ID:UlzNoGLX0685名前は開発中のものです。
2006/10/11(水) 00:59:15ID:xBMfHgNK→Inv(A)・A・C=Inv(A)・B
∴C=Inv(A)・B
でおk?
ようわからんけど・・・
0686名前は開発中のものです。
2006/10/11(水) 01:01:45ID:1sECxPrk逆行列は関係ない気がする。
そもそも行列で差分って何につかうんだ?
0687名前は開発中のものです。
2006/10/11(水) 01:02:05ID:xBMfHgNKA・C=B=A にしたいってことか。
難しいな・・・
0688名前は開発中のものです。
2006/10/11(水) 01:23:10ID:U5zzbWGT0689名前は開発中のものです。
2006/10/11(水) 01:36:32ID:RAcYP2kE>>685で正解。
あとは、かける順序に注意。
それから、Aの逆行列が求まらない場合はCは一意とならない。
0690名前は開発中のものです。
2006/10/11(水) 02:41:06ID:UlzNoGLXありがトン!
>Aの逆行列が求まらない場合はCは一意とならない。
はい、それはもう・・・
いや〜たすかりました
0691名前は開発中のものです。
2006/10/11(水) 03:42:19ID:1ONjsgnr「よつんばいになれば免許を返して頂けるですね」の改変に見えた俺はとっとと寝ろ
0692名前は開発中のものです。
2006/10/11(水) 10:18:27ID:v2mXemUL0693名前は開発中のものです。
2006/10/14(土) 01:39:42ID:pah3fq2Sアニメーションの全長(時間)はどうやったら取得できるんでしょうか?
それから、アニメーションを構成するキーフレームがそれぞれ何秒のところにあるのか
を取得したいのですが、そういう手段はあるんでしょうか?
0694名前は開発中のものです。
2006/10/14(土) 07:14:00ID:uIeEv6ahヒント:xファイルに書かれてる
0695名前は開発中のものです。
2006/10/14(土) 13:23:21ID:sQHed/jL0696名前は開発中のものです。
2006/10/14(土) 14:05:43ID:E4qGi0KRメタセコで出来る?
0697名前は開発中のものです。
2006/10/14(土) 15:14:09ID:urG12ahb0698名前は開発中のものです。
2006/10/14(土) 18:08:41ID:y7B7XSErガンダムのビームとかの棒
どうやって描画してるの?
円柱モデルじゃないでそ
ビルボードは、点を中心のやつじゃないとダメだし
ぬう
0699名前は開発中のものです。
2006/10/14(土) 18:41:11ID:urG12ahb0700名前は開発中のものです。
2006/10/14(土) 18:47:28ID:rEq95AFn0701名前は開発中のものです。
2006/10/14(土) 19:46:32ID:5CSzso0u六角柱だけをライトなしの真っ白でレンダしてぼかすんだよ
0702名前は開発中のものです。
2006/10/15(日) 00:49:28ID:5NiZDasq>ビルボードは、点を中心のやつじゃないとダメだし
んなわけない。
0703名前は開発中のものです。
2006/10/15(日) 06:01:12ID:T/ORfnUdGems3に載ってるやつは?
長方形のポリゴンの端に三角形がついてるやつ
0704名前は開発中のものです。
2006/10/15(日) 11:47:05ID:QPC2ckl/「ビームの始点から終点までを結んだベクトル(以下、ビーム・ベクトル)」と
「カメラの位置からビームの端の点1つを結んだベクトル」の外積から
この2つベクトルに直角なベクトルを求める。
そのベクトルとビーム・ベクトルの外積からこの2つベクトルに直角なベクトルを求める。
このベクトルを法線ベクトルとする板ポリを描画するばOK
ただ、カメラの視線ベクトルとビーム・ベクトルが平行に近いと板ポリであることが
はっきりと分かってしまうので、それの対処方法は以下の2つがある。
1つは板ポリの両端に普通のビルボードをくっつける方法(>>703が言っている方法)と、
もう1つはカメラの視線ベクトルとビーム・ベクトルが平行に近いときには普通の
ビルボードに切り替える方法がある。
0705名前は開発中のものです。
2006/10/15(日) 15:50:40ID:ncIQLCOH0706名前は開発中のものです。
2006/10/15(日) 17:38:15ID:lHeBAk5nDirectInputでやる場合やっぱりバッファリングでやった方がいいんですかね?
0707名前は開発中のものです。
2006/10/15(日) 19:20:54ID:nExnDBy10708名前は開発中のものです。
2006/10/15(日) 19:41:13ID:1awBMXDQPollを呼んだときしかデータ取得してないよ。
0709名前は開発中のものです。
2006/10/15(日) 21:18:43ID:lHeBAk5nとりあえず直接取得でやってみます
0710名前は開発中のものです。
2006/10/16(月) 03:58:38ID:4O9ZIClz0711名前は開発中のものです。
2006/10/16(月) 11:47:04ID:akp78//40712名前は開発中のものです。
2006/10/16(月) 11:47:31ID:1DRIsy8R連打は無理だろうが、1/60フレーム風神拳とか入力できる変態はいるよなー
>>706
アクションとか格げーだとバッファリングしたほうが楽なような気がするが。
あとで、リプレイとかつけたくなるかもしれんし。
0713名前は開発中のものです。
2006/10/16(月) 11:55:28ID:idfGKmvCK+G→1フレーム後にG離す
だったな
個人的には最風よりむずい
0714名前は開発中のものです。
2006/10/16(月) 12:33:55ID:dJZ5IjFPVF2でバグでそのコマンドで膝が出てたけど。
>>712
バッファリングだろうと直接データだろうと、入力の履歴は
アプリケーションに組み込むもの。
リプレイ等にDirectInputの設定は関係ないと思うが。
0715名前は開発中のものです。
2006/10/16(月) 12:47:06ID:uxehlBoP十代だろうな
0716名前は開発中のものです。
2006/10/16(月) 14:17:08ID:idfGKmvC今、VF5やってるからVF5って書いてしまっただけ
0717名前は開発中のものです。
2006/10/16(月) 16:54:09ID:cOg4Ko/j入力の履歴を保持する場合って、ボタン毎に数回分の入力時間を保持してればだいたいOKかな?
0718名前は開発中のものです。
2006/10/17(火) 00:01:47ID:Pi/yMn9O最低でも、コマンド受付可能時間×FPS数だけは記憶させないとだめだろ。
すなわち、ファイナルターンパンチ(溜め60秒)×60FPSで記憶域3600個w
0719名前は開発中のものです。
2006/10/17(火) 00:03:50ID:WKs3wEDmちんぽが十代だろうな
0720名前は開発中のものです。
2006/10/17(火) 00:11:33ID:xez2dOmh元気そうでうらやましい… orz
0721名前は開発中のものです。
2006/10/17(火) 00:40:46ID:MdWVn9/c正直な話、ボタンのため分をカウントしていれば、開始から発動までのバッファは要らない
「60秒押していたボタンを離した」と判定する、1フレーム分あればいい
波動拳コマンドの最長受付フレーム数が60フレームの場合なら バッファは60ほしい
これはバッファに入力を保存して、後からコマンドを検査する場合ね
0722名前は開発中のものです。
2006/10/17(火) 01:41:52ID:b/Pd8rNN>>721の実装は利点がよく分からんな。
>>721
> 「60秒押していたボタンを離した」と判定する、1フレーム分あればいい
その考えを押し進めると、
「押下したこと、離したこと、これらの時間間隔を記録すれば十分」ということになる。
だから、タメ時間を保持するためには、バッファの長さは60も要らなくて、2で済む。
最初に押下したときに、記録開始時刻からの時間を記録して、
次に離したときには、押下したときからの時間を記録して、
二度目に押下したときには、前に離したときからの時間を記録して、
……というように記録すればいい。
0723名前は開発中のものです。
2006/10/17(火) 02:35:27ID:39vQ4qdS毎フレーム入力が変化していた場合に、結局は入力受付時間分の
バッファが必要になるという事実。
0724名前は開発中のものです。
2006/10/17(火) 03:45:09ID:b/Pd8rNN0725名前は開発中のものです。
2006/10/17(火) 05:27:56ID:q1fUJa/G0726名前は開発中のものです。
2006/10/17(火) 09:47:10ID:WApPQYbcSNKは、省略コマンドがある 21416→246
0727名前は開発中のものです。
2006/10/17(火) 11:19:02ID:39vQ4qdSそれは省略コマンドじゃなくて、最初から246しか判定してないだけだよ。
むしろ発表されているコマンドが冗長なだけ。
ちなみにスト2のスクリューも斜め入力は必要なくて、4方向だけでいい。
0728名前は開発中のものです。
2006/10/17(火) 12:48:13ID:PzA+Fa3w基本的な常識も知らないでゲームを作りたいとか論外なんだが。
0729名前は開発中のものです。
2006/10/17(火) 12:59:54ID:Un2Q1nYv0730名前は開発中のものです。
2006/10/17(火) 15:35:29ID:ZPE2JhJ0だが、実はCO2が地球温暖化の原因だという証拠は無いんだよ
0731名前は開発中のものです。
2006/10/17(火) 15:55:16ID:HnFFLO9Eメッシュを描画しているのですが
scale=1.0f な時 白→黒な球体が描画されるのですが
scale=10.0fな時 灰色になるんです
何の影響なんでしょうか?
0732名前は開発中のものです。
2006/10/17(火) 16:36:26ID:g8mAqjlUもしくは法線非正規化の影響
0733名前は開発中のものです。
2006/10/17(火) 19:01:46ID:HnFFLO9E拡大の温暖化を防ぐには
SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
すればいいのね
0734名前は開発中のものです。
2006/10/17(火) 20:02:50ID:pnwQy0ugが正解
0735名前は開発中のものです。
2006/10/19(木) 11:57:34ID:KYn/6wBSおっぱいをデフォメーションさせてたゆんたゆん揺らせるには
メッシュオブジェクトの乳の部分だけを属性バッファで指定して、さらにその頂点バッファにアクセスして
頂点を動かせばいいの?
↑でいいとしても、乳の部分だけの属性バッファを作る方法が分かんない。
ヒント、この辺読め、カス!だけでもいいので教えてください。
0736名前は開発中のものです。
2006/10/19(木) 12:57:59ID:ux0Pyl4uだったら判定するためのデータ埋め込めばいいじゃない
0737名前は開発中のものです。
2006/10/19(木) 14:02:37ID:Rx5m3XDA0738名前は開発中のものです。
2006/10/19(木) 23:40:34ID:jUoY2I1o0739名前は開発中のものです。
2006/10/19(木) 23:53:22ID:5SYTgZVc0740名前は開発中のものです。
2006/10/19(木) 23:59:01ID:6/7GAxoT0741名前は開発中のものです。
2006/10/20(金) 00:03:50ID:CFUBASIq0742名前は開発中のものです。
2006/10/20(金) 03:24:19ID:L3hW3qR30743名前は開発中のものです。
2006/10/20(金) 10:23:26ID:ax2q1ay6座標とか全部メモリにいれて
DrawIndexPrimitiveとかやればいいじゃん。
制限とか違うの?
0744名前は開発中のものです。
2006/10/20(金) 14:14:11ID:/RdCkbLO>DrawIndexPrimitiveとかやればいいじゃん。
それでいいんだよ。
ちょうてんばっふぁとか
いちいちつくるのめんどうだもんね!
0745名前は開発中のものです。
2006/10/20(金) 16:04:45ID:YHKhyEQt次は自分の人生に意味を求めて自殺だレッツゴー
0746名前は開発中のものです。
2006/10/20(金) 22:38:41ID:pRFrOnQiいくらなんでもそれはひどい・・・
もっと上手く釣れ。
0747名前は開発中のものです。
2006/10/21(土) 00:15:28ID:HWb3gyzX0748名前は開発中のものです。
2006/10/21(土) 00:54:06ID:0t6G1cyRHDRフォーマット(D3DFMT_A16B16G16R16)のテクスチャをレンダリングターゲットにした場合,
D3DFMT_X8R8G8B8のターゲットに使用していた固定パイプラインの機能を
そのまま使用しても正しく描画できるのでしょうか?
描画前に一時的なターゲットとしてHDRテクスチャを咬ませただけで
アルファブレンディングが上手くできなくなってしまったのですが…….orz
0749名前は開発中のものです。
2006/10/21(土) 01:05:12ID:0t6G1cyR× D3DFMT_A16B16G16R16
○ D3DFMT_A16B16G16R16F
0750名前は開発中のものです。
2006/10/21(土) 01:12:03ID:h4fJ9Plfもっとも意味があるとは思えんが。
0751名前は開発中のものです。
2006/10/21(土) 01:12:46ID:h4fJ9Plf浮動小数点バッファもそもそもフィルタとアルファが使えない。
0752名前は開発中のものです。
2006/10/21(土) 01:35:28ID:uPaMWthYHDRレンダリングするんだったらピクセルシェーダ使うだろ?
だったら問題なしだ。自分で実装したまえ。
0753名前は開発中のものです。
2006/10/21(土) 01:36:21ID:0t6G1cyRスプライト関係のルーチンを書き換えてきます……('A`;)
0754名前は開発中のものです。
2006/10/21(土) 01:40:02ID:uPaMWthYD3DFMT_A16B16G16R16F を使わない、って選択肢はないのか?
そもそも、何のために使おうとしてるんだ??
0755名前は開発中のものです。
2006/10/21(土) 01:53:02ID:0t6G1cyRあとHDR対応だと,いろいろ表現力が広がるみたいだし,
後々のことを考えると,今のうちに使えるようにしておいた方がいいかなと.
0756名前は開発中のものです。
2006/10/21(土) 02:05:17ID:uPaMWthYFLOATバッファ使ったHDRレンダリングは早いと思うよ。
やりたいトーン調整やブルームは、擬似的に再現した方が絶対に楽。
0757名前は開発中のものです。
2006/10/21(土) 02:21:36ID:h4fJ9Plf0758名前は開発中のものです。
2006/10/21(土) 02:24:26ID:0t6G1cyR現在自分のライブラリは3年間改造・増築を繰り返した結果,
モデルの描画がHLSL,2D・3Dスプライト(ビルボード?)が固定機能とばらばらになっていて,
おまけにライトの管理とかビューポートの管理とか,機能を細分化しすぎて,
作った本人にも詳細構造が意味不明な状態になっているので,
とりあえず固定機能の消去とかの機構削減・統合に関しては積極的に行いたいのでつ.
自分もスプライト関係は大昔に書いたコード&機能追加しすぎて超長いので触りたくないのですが…….
0759名前は開発中のものです。
2006/10/21(土) 02:53:50ID:m+1yDL9S答えてもらう側の苦労は自分が苦労するわけじゃないからどうでもいいよねー
0760名前は開発中のものです。
2006/10/21(土) 02:54:07ID:uPaMWthYHLSLに対応した時点でスプライト関連をまとめるべきだったね。
それは、今からでも全然遅くない。作り直すべき。
0761名前は開発中のものです。
2006/10/21(土) 03:04:52ID:h4fJ9Plf0762名前は開発中のものです。
2006/10/21(土) 03:12:17ID:0t6G1cyRムキー(#`皿´)
書き込み内容が長いと言われるのを恐れただけです.(´・ω・`)
>>760
そうそう,そう思っていま大改装中なのです.
その一環でHDRにも対応させようぜ,と.
>>761
いえ,すごく自分用です.
そのうちネット公開できればいいなとも
0763名前は開発中のものです。
2006/10/21(土) 03:18:21ID:uPaMWthY良いキャラしてるねー面倒みたくなるよ( ´∀`)
HDR対応にするなら、現状ではスプライト処理を廃止(ポリゴンに移行)するか、
簡単なところではスプライトはHDRレンダリング対象外ってことにするとか。
トーンマップ後のバッファに描いたらいいじゃん的な。
0764名前は開発中のものです。
2006/10/21(土) 04:25:01ID:/8+zda2iずっと前から疑問なんですが
デバイスにFVFを設定するのとVERTEXDECLARATIONを設定するのとでは
どういう違いがあってどういう意味があるんでしょうか
0765名前は開発中のものです。
2006/10/21(土) 04:47:59ID:rSfE5baiそれだけ。
0766名前は開発中のものです。
2006/10/21(土) 04:52:13ID:/8+zda2iうっ
0767名前は開発中のものです。
2006/10/21(土) 18:54:08ID:uj+Vqk1i釣りじゃないです><
わからないんです><
違いは、
・Lock/Unlockできるぐらいしかわからん
描画制限があるとか
演算をハードに任せるとかあるんですか?
0768名前は開発中のものです。
2006/10/21(土) 18:56:19ID:uj+Vqk1iうp系ってウンコ?
0769名前は開発中のものです。
2006/10/21(土) 19:03:43ID:h4fJ9Plf初心者スレじゃないんだしリファレンスくらい読もうぜ。
0770名前は開発中のものです。
2006/10/21(土) 19:08:21ID:h4fJ9PlfIDirect3DDevice9::DrawPrimitive メソッド
現在のデータ入力ストリーム セットから、指定されたタイプのインデックスなしジオメトリ プリミティブのシーケンスをレンダリングします。
--------------------------------------------------------------------------------
IDirect3DDevice9::DrawPrimitiveUP メソッド
ユーザー メモリ ポインタで指定されたデータを、指定されたタイプのジオメトリ プリミティブのシーケンスとしてレンダリングします。
IDirect3DDevice9::DrawPrimitiveUP に渡す頂点データは、呼び出しの後も保持する必要はありません。
Microsoft Direct3D は、呼び出しから戻る前に、そのデータへのアクセスを完了します。
0771名前は開発中のものです。
2006/10/21(土) 19:17:21ID:uj+Vqk1iサンクス
>呼び出しから戻る前に、そのデータへのアクセスを完了します。
つまり、Up系は、ユーザメモリをVRAMに完全にコピーしてから処理を返すから、ちょっと反応が遅いってわけなのか
ttp://twin-tail.jp/contents/vsdx8/d3d/020/index.htm
2Dは、うpれと
ぬああ
よくわからん
じっくりマニュアル読んでくる
0772名前は開発中のものです。
2006/10/21(土) 20:13:47ID:3iLjIQCs大して変わらないとか聞いたような
0773名前は開発中のものです。
2006/10/21(土) 20:27:22ID:h4fJ9Plf> Microsoft Direct3D は、呼び出しから戻る前に、そのデータへのアクセスを完了します。
ようするにDrawPrimitive呼ぶ度に内部で頂点バッファにコピーしてるって事だ。
2D/3Dのスプライトのような頻繁に書き換えるものならD3DPOOL_DEFAULTにD3DUSAGE_DYNAMICとD3DUSAGE_WRITEONLYをつけて頂点バッファを作れ。
そうするとAGPメモリに展開されてVRAMデータと同じ速度でレンダリングが行われつつシステムメモリと同じ速度で書き込みできる。
ロック時にD3DLOCK_DISCARDを指定すると、ドライバ内で自動的に新しいバッファを返してくるので、
更新>描画>更新>描画とやっても頂点バッファロック時に描画待ちとか発生せずにアクセスできる。
0774名前は開発中のものです。
2006/10/21(土) 21:52:37ID:eZHe5LjKなにでやってもそんなに速度に差なんてでないと予想。
2Dなんか
「お前、それで3Dモデル作れるぐらいだすつもりなのかと?
何言ってるのか?わかるか?
普通の3Dゲームで3Dモデルのポリ数をワンフレームをこさえたとしても
問題ない速度がでるのに、たかだか2Dゲームで何糞みたいなこと気にしてるのかと?」
問い詰めたくなる。
これが3Dゲームの2D部分だったとしても2Dのポリ数なんぞ
ほとんど影響でないと予想。
ピクセルフィルレートならわかるけどね。
0775名前は開発中のものです。
2006/10/21(土) 22:53:28ID:h4fJ9Plf1,2回程度のDrawPrimitiveで処理するときは数千頂点とかにはなるぞ。
まぁ変換済み頂点だからそもそもバーテックスシェーダーは経由しないけど。
あとDirectX8世代だとUP系の関数は描画完了までブロックしてたってのがある。
DirectX9で内部にバッファ作ってコピーするようになったとかならんかったとか。
まぁ今のDirectXで一番重いのはDrawPrimitive系の関数のコールだから
可能な限りDrawPrimitiveの数は減らせるように作っておいた方がいい。
0776名前は開発中のものです。
2006/10/21(土) 23:16:50ID:NV8LshdxDrawPrimitiveは処理リストに詰めているだけで、実際にそこで処理をされるわけでは無い。
一番重くなるのはPresentをした時。
0777名前は開発中のものです。
2006/10/21(土) 23:22:46ID:h4fJ9Plf確かにDrawPrimitiveはGPUコマンドを作成するだけだが、
Presentをしないという選択肢はありえないんだから
DirectDrawのBltみたいな気軽さでDrawPrimitive系の呼び出しは
やるもんじゃないだろ。
0778名前は開発中のものです。
2006/10/21(土) 23:24:21ID:NV8Lshdx0779名前は開発中のものです。
2006/10/21(土) 23:38:33ID:ayJ9KzQY0780名前は開発中のものです。
2006/10/21(土) 23:46:13ID:ayJ9KzQY0781名前は開発中のものです。
2006/10/21(土) 23:48:22ID:m+1yDL9S少なくともバッチ数によるCPU負荷のコストが尋常でないのは周知の事実だし、
commandBuffer(pushBuffer)のkick開始がPresentのタイミングと決まっているわけではない
(というか、一般的なドライバでは描画コールの度にkickは発生している)。
そもそも負荷のタイミングがどうこういう話ではなく、バッチにはコスト掛かるよってだけの話だし
見当違いも甚だしい
あと、反論があるなら>>778みたいな間抜けな勝利宣言ではない方法がお勧め
0782名前は開発中のものです。
2006/10/22(日) 00:13:37ID:EaoxUskKPresentコールしてから描画してるような言い方は止めてくれ
0783名前は開発中のものです。
2006/10/22(日) 00:47:09ID:6qnIWxGeなんか意地になってどうしなきゃならない的なこという奴いるけど
DrawPrimitiveのコストなんて気にしないほうがいい。
これはDrawPrimitiveのコストがどうのこうのって問題じゃなくて、
まず、「仕様」ありきでしょ?って話。
で、作ってきゃわかるけど、ホントに描画が重くなってるときってこの辺最適化したって
重い動作が快適に変わることってほとんどない。
ぶっちゃけXファイルのポリゴンのオプティマイズ関数ぐらい無駄。
テスト環境だと数字だけ上がって華やかに見えるけど、実際のゲームだとデザイナの作る物が分かれすぎてて
最適化なんてほとんどきかねーから。
これは凝ってるモデルほど最適化が効かなくのはもはや宿命。
で、快適に動くシーンってのは誰がどんな描画方法でやったって大抵はいい速度で動いちまうもんだ。
変なことしないで普通にやりやすい方法で描画しろ。
0784名前は開発中のものです。
2006/10/22(日) 00:50:25ID:68ueZeB5>そうするとAGPメモリに展開されてVRAMデータと同じ速度でレンダリングが行われつつシステムメモリと同じ速度で書き込みできる。
大嘘もいい加減にしろ。
AGPメモリはメインメモリをビデオカード側から見えるようにマッピングするだけで、VRAMと同じ速度なんて持っていない。
ビデオカード側で頂点処理が出来るだけで、データはバスを超えて取りに行かなければならない。
頻繁に書き替えると言っても、その頻度が毎フレームとかいう状態でない限り、逆に遅くなる可能性すらある。
いつからAGPメモリがVRAMと同じ速度を持つようになったんだ?
0785名前は開発中のものです。
2006/10/22(日) 01:09:37ID:5tDaX/OnDrawPrimitiveのコールで足ひっぱりのはGPUじゃなくてCPUなんだが・・・
基本的にGPUで足をひっぱるのはピクセルシェーダーだしな。
>>784
毎フレームデータ更新しないポイントスプライトがあるのかと・・・
何のためのD3DUSAGE_WRITEONLYなのかと。
実際のどこのメモリに配置されるからは完全にドライバ依存だし、
システムへの下りがない前提ならDMAでシステム>VRAMだけですむ様にも最適化されるだろ。
0786名前は開発中のものです。
2006/10/22(日) 01:25:06ID:l86FuBMq最近のビデオカードだと、Presentですらブロックは発生しないよ。
Presentもキューに入れるだけ。
そのせいで描画に遅延が発生するという別の問題が発生している。
アクション性の高いゲームだと、その遅延が問題になるから
わざわざブロックが発生するようにLock入れたりしている。
(その方法はMSは推奨していないが)
0787名前は開発中のものです。
2006/10/22(日) 01:38:56ID:EaoxUskKGeForceが表示しなくて
RADEONが無理やり実行するって聞いた。
だいたいあってる?
0788名前は開発中のものです。
2006/10/22(日) 02:40:09ID:rK8QctmW>確かにDrawPrimitiveはGPUコマンドを作成するだけだが、
>Presentをしないという選択肢はありえないんだから
バックバッファではなくテクスチャに描画するときはDrawPrimitiveの後でPresentしないで良いんじゃない?
0789名前は開発中のものです。
2006/10/22(日) 04:40:10ID:EcAvnWP5アルファブレンディングがサポートされていない環境で,
ps_2_0くらいまでのHLSLでHDRへのアルファブレンドを実現する方法はないでしょうか?
HLSLでHDRのアルファブレンディングを実装するために,
ピクセルシェーダでソースカラーとレンダリングターゲットのピクセルカラーを混ぜる方法をとろうとしたのですが,
描画先のピクセル座標はps_3_0で無いと取得できないようで…….
ちょっとps_3_0は今の時期のゲームに使うのは環境的に難しそうなので,他の方法がほしいのですが.
(おまけに自分のグラボでは古くて動いてくれない('A`;; エフェクトエディタではSuccessになったのですが)
>>763
爆発エフェクトとかに対してごちゃごちゃやってみたいので,
なんとか3Dスプライト?も使いたいのです.
0790名前は開発中のものです。
2006/10/22(日) 04:56:12ID:ic1Mev2+頑張ってますね〜
HDRバッファもテクスチャとしてHLSLに渡したら参照可能かな?
0791名前は開発中のものです。
2006/10/22(日) 05:21:33ID:EcAvnWP5自分もその方法でやってみたんですけど最終的にカラー合成するとき,
HDRターゲットテクスチャ側のピクセルカラーを取ってくるのにtex2D()を使ったのですが,
座標指定が必要になるので,ピクセルシェーダの入力にVPOSを入れたのですが,
このVPOSというセマンティックはps_3_0以降でないとサポートされないようなのです.
0792名前は開発中のものです。
2006/10/22(日) 07:31:43ID:l86FuBMq普通にテクスチャ座標で指定するだけでは?
Direct3D使って2Dエフェクト実装したことないの?
0793名前は開発中のものです。
2006/10/22(日) 08:32:51ID:5tDaX/Onいやいや、結局その後どこかでPresent()はするわけじゃん。
>>789
1.HDRーRT
モデルなどをHDRでレンダリング
2.トーンマップなどのHDR処理
3.HDR-RTからLDR-RTへのフォーマット変換転送
StretchRect()
4.半透明を使用したエフェクト描画&2D描画
5.LDR-RTからバックバッファへのフォーマット変換転送
StretchRec t()
6.Present()
ようはHDR-RTだけで処理を関係させようと思わなければいい。
パーティクル関係がHDR処理をされる必要はないんだし。
0794名前は開発中のものです。
2006/10/22(日) 08:47:57ID:l86FuBMqPresentを一切実行しないDirect3Dプログラムというのも有り得る。
EndSceneの間違いなら分かるが。
0795名前は開発中のものです。
2006/10/22(日) 09:01:21ID:5tDaX/OnそもそもDrawPrimitiveしないならBegin-Endもいらんか。
>>776ので勘違いしてた。
Present()が重いのは基本的にそこで全描画を待つからであって、
別にPresent()でkickしてるからではないって話だったな。
まぁこのへんも全部ドライバ依存だから一律決まってるわけでもないが・・・。
0796名前は開発中のものです。
2006/10/22(日) 09:37:22ID:EcAvnWP5HLSLは正直あんまり使ったことないです.(´・ω・`)
どういう風に実装するものなんでしょ?
>>793
ふむむ,やっぱりエフェクト類は分離させた方が早いですか.
とりあえず動く状態にしたいのでそれでいってみます.
0797名前は開発中のものです。
2006/10/22(日) 12:54:52ID:ic1Mev2+描画座標をテクスチャ座標に変換してピクセルシェーダに渡すだけだよー
(テクスチャサイズか変換マトリクスをHLSLに渡す必要がある)
頂点シェーダの入力はテクスチャ座標1つでも、ピクセルシェーダは2つとか可能だからね。
基本的に、頂点シェーダが持つ特殊なデータを渡したい時はテクスチャ座標を使います。
0798名前は開発中のものです。
2006/10/22(日) 13:11:03ID:ic1Mev2+> 3.HDR-RTからLDR-RTへのフォーマット変換転送
> StretchRect()
トーンマップってHDR→LDRを含むよね。
っつーか、その案はすでに出してるんだけど。
0799名前は開発中のものです。
2006/10/22(日) 13:40:07ID:l86FuBMq0800名前は開発中のものです。
2006/10/22(日) 13:54:46ID:hF59/NZXそれとも既にいるなら名乗ってくれよー
0801名前は開発中のものです。
2006/10/22(日) 13:57:03ID:76l0BiyEバックバッファをD3DXSaveSurfaceToFileで取り出してAVIにエクスポートするだけだったんで。
0802名前は開発中のものです。
2006/10/22(日) 14:09:11ID:hF59/NZXつまりPresentが要らない分、超爆速ってことだね!
なんてったって「一番重たくなる」Presentが要らないんだもんね!
という戯言はともかくとして
処理は別スレッドで行って、なんか適当に「エクスポート中です」とかアニメーションさせた
画面出しておいた方がツール使う人の不安ちょっと解消されるかもね
使う人がプログラマだったらそんなんむしろ邪魔だろうけどデザイナプランナが使うんならって話ね
0803名前は開発中のものです。
2006/10/22(日) 19:57:45ID:l86FuBMq801のツールが何も画面に表示してないとは書いてないし、
その表示にPresentいらないし。GDIで十分。
0804名前は開発中のものです。
2006/10/22(日) 22:07:46ID:EaoxUskK0805名前は開発中のものです。
2006/10/23(月) 00:01:56ID:qi743vUp0806名前は開発中のものです。
2006/10/23(月) 13:14:35ID:6CPwqHL/いろんなブレンドが面倒だろ
0807名前は開発中のものです。
2006/10/23(月) 13:55:20ID:XYoLA6BQ0808名前は開発中のものです。
2006/10/23(月) 14:03:27ID:6CPwqHL/0809名前は開発中のものです。
2006/10/23(月) 14:20:12ID:AlorIxAyで、Presentはいらない場合もあるね、ってことだろう。
もはやなんの話だったかおぼえてないけど。
0810名前は開発中のものです。
2006/10/23(月) 14:24:28ID:XYoLA6BQ0811名前は開発中のものです。
2006/10/23(月) 16:24:59ID:Z6chIrR/それを、Present使わない稀な例を挙げて騒いでるのはなんで??
0812名前は開発中のものです。
2006/10/23(月) 17:15:55ID:XYoLA6BQ最初にPresentが重いといった人がどういう意図でいったのか分からんが、
描画待ちをしてるからではなく、状況に依存せずに重いと言ったんじゃなかろうか。
そもそも描画が完了してる状況ならさして重くないんだし。
0813名前は開発中のものです。
2006/10/23(月) 17:28:47ID:6CPwqHL/0814名前は開発中のものです。
2006/10/23(月) 17:54:32ID:6CPwqHL/0815名前は開発中のものです。
2006/10/23(月) 19:25:37ID:jKlaZ7Jmほっとけ。
相手にしてもしょうがない。
0816名前は開発中のものです。
2006/10/23(月) 19:37:27ID:6CPwqHL/GeForceとRADEONの違いについて語って
0817名前は開発中のものです。
2006/10/23(月) 21:30:48ID:ciin62acお前さんはとんでもない勘違いをしている。
Presentをしないプログラムも有り得るという話は、Presentが
重いという話の流れではなく>>777に対するレス。
0818名前は開発中のものです。
2006/10/23(月) 22:21:08ID:Z6chIrR/UP系と非UP系+Presentとを比較した発言をしてるよね?
それに対して「Presentしない例もある」って言ってる人は
話の根本を理解してない上に、内部処理を理解してない人まで混じってる。
「Presentしないこともあるけどね」程度で終わればいいが
そっちの話にばかり移ってるのがおかしいんだよ。
0819名前は開発中のものです。
2006/10/23(月) 23:31:10ID:uPBAMZ42俺はゲームボーイアドバンス
0820名前は開発中のものです。
2006/10/23(月) 23:48:22ID:9Lc6zUn40821名前は開発中のものです。
2006/10/24(火) 00:39:22ID:XXqaDRKI0822名前は開発中のものです。
2006/10/24(火) 00:44:01ID:29CX4dpv話の本筋が一段落したところで
脇道にそれてわいわいやってただけなので
文脈読んでください。
おかしいのはお前の会話能力です。
0823名前は開発中のものです。
2006/10/24(火) 01:01:12ID:XXqaDRKI0824名前は開発中のものです。
2006/10/24(火) 01:19:20ID:1zYYZAzr0825名前は開発中のものです。
2006/10/24(火) 02:59:13ID:TWYQ8KiQ誰だって天才だよw
0826名前は開発中のものです。
2006/10/24(火) 14:20:05ID:8Vuprf8Er
e
s
e
n
t
0827名前は開発中のものです。
2006/10/24(火) 19:59:24ID:sJcOwBty0828名前は開発中のものです。
2006/10/25(水) 02:10:07ID:KTdU/3F00829名前は開発中のものです。
2006/10/25(水) 02:57:23ID:EYzF8ef70830名前は開発中のものです。
2006/10/25(水) 04:08:53ID:LLqUJYx8キーフレームには各ボーンに対応するクオータニオンが設定されていて、そのキーフレーム
間のクオータニオン同士をなめらかに補間しようと考えています。
とりあえずD3DXQuaternionSquadSetupとD3DXQuaternionSquadを使って補間してみたの
ですが、この問題
http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=40&vew=58
と同じ問題が出て困っています。このスレッドではGemsのサンプルを使うと良い、といった
事が書かれていますが、Gemsの方はGemsの方で、クオータニオンを360度一回転させると
おかしくなる等問題があります。
クオータニオンをD3DXVECTOR4にキャストしてCatmullRomで補間してみたりもしたのですが、
やっぱり一回転できない等問題が出てしまいます。
クオータニオン同士を滑らかに補間したい時は普通どうやるんでしょうか。
あんまりキーフレーム同士の角度が離れすぎないようにしてD3DXQuaternionSquadで補間する
しか無いんでしょうか?
それなりに滑らかに見えればOKで、あんまり厳密さとかは求めてないんですが・・・。
0831名前は開発中のものです。
2006/10/25(水) 12:15:51ID:SFxxjz98反転なしのslerpでsquadを実装、でだめなの?
その360度一回転ってのがよくわからないんだけど、まさか一区間で
一回転じゃないわよね。とりあえず例が無いとわからないわ。
0832名前は開発中のものです。
2006/10/25(水) 12:47:20ID:5VGIVB7phttp://news20.2ch.net/test/read.cgi/news/1161654591/
0833名前は開発中のものです。
2006/10/25(水) 13:37:44ID:LLqUJYx8ギャー!全然関係無いうっかりミスが原因でした。
仰る通り、反転無しのslerpで正しく動きます。
上の質問は忘れてください、お騒がせしました。
0834名前は開発中のものです。
2006/10/27(金) 17:51:49ID:HiN9NZ193D技術使いまくり系で
めがっさキレイなゲームって何があります?
0835名前は開発中のものです。
2006/10/27(金) 18:54:51ID:eZSZuVfp0836名前は開発中のものです。
2006/10/27(金) 19:35:30ID:HiN9NZ190837名前は開発中のものです。
2006/10/28(土) 00:40:05ID:lejTk6wo0838名前は開発中のものです。
2006/10/28(土) 02:52:28ID:YtJcGF1Q今なら間違いなくCrysis
ttp://www.xasis-game.com/title/crysis/movie.shtml
既に発売してるものならProject Gotham Racing 3
0839名前は開発中のものです。
2006/10/28(土) 13:18:04ID:csTaW2+P新版DL→旧バージョンアンインストール→インストールの方がたぶんイカす
0840名前は開発中のものです。
2006/10/29(日) 21:53:43ID:rzQT+t6VDrawPrimitive、DrawPrimitiveUP、DrawIndexedPrimitive、DrawIndexedPrimitiveUP
のどれを、どう使うのが一般的なの?
kickとかよくわからない素人なのですが、識者の方、どうかまとめてくれないでしょうか
0841名前は開発中のものです。
2006/10/29(日) 22:38:31ID:K8O/95s8てめぇで考えろよ。
正解なんてねぇよ。
0842名前は開発中のものです。
2006/10/29(日) 23:20:08ID:GlgZOmB4あ?けんかう
0843名前は開発中のものです。
2006/10/29(日) 23:27:52ID:PaY4YJF2けんかう。
0844名前は開発中のものです。
2006/10/29(日) 23:45:05ID:K8O/95s80845名前は開発中のものです。
2006/10/29(日) 23:54:45ID:swLW9KaN時と場合による。
どのような時に何がもっとも有効かはリファレンスを熟読しましょう。
その後の検証も忘れずにな。
0846名前は開発中のものです。
2006/10/30(月) 00:35:12ID:o7aFQX0n>どのような時に何がもっとも有効か
なんてリファレンスを見るまでもなく、そのパターンが少しは出てくるはずだが、1つも出てこないから
0847名前は開発中のものです。
2006/10/30(月) 01:21:58ID:C0/Sv58N少なくとも俺の今のプログラムの中ではUP系関数を使う箇所はない。
DrawPrimitive系どうこうよりも、頂点バッファの作り方と使い方のほうが重要だし。
0848名前は開発中のものです。
2006/10/30(月) 02:28:31ID:DnQfbB/1UPだと0番しか使えないぞ。
0で座標、1でUV、2で法線、3で・・・
って使うと汎用的に使えて便利だぞ。
UPだとこういうもの作るのに向いてない。
0849名前は開発中のものです。
2006/10/30(月) 02:31:28ID:d4X25+aF頂点ストリーム使ってたり知ってたりするはずがない。
0850名前は開発中のものです。
2006/10/30(月) 04:38:50ID:HYgOtsajよく分からない奴はUP系を使うのがベスト。
VertexBufferはよく分からないで使っていると、パフォーマンスを
悪化する可能性がある。
0851名前は開発中のものです。
2006/10/30(月) 09:58:40ID:qTkdSgLVGPUの中身知ってると、そんな非効率的な実装する気にはならなくなるけどねぇ
preであれpostであれ頂点キャッシュ無駄にし過ぎ
0852名前は開発中のものです。
2006/10/30(月) 11:34:36ID:auNg4VTgどういうふうに非効率なの?
GPU Gemsでも848みたいな例が載ってた気がするけど真似しちゃまずいのか?
0853名前は開発中のものです。
2006/10/30(月) 12:32:10ID:Kb3dfOrGパフォーマンスの大幅な低下の原因になる。
つーかこれは普通にドキュメントに書いてあることなんだが。
この程度の日本語も理解できないのか?
0854名前は開発中のものです。
2006/10/30(月) 21:28:08ID:C0/Sv58N0855名前は開発中のものです。
2006/10/31(火) 00:29:57ID:Gz2/in6Uパイプラインにステート変更コマンドが流されるだけ
つうか851の本文に答え書いてあるのになんで疑問系で返ってくるんだろう
これ以上は書かないので後は自分で頑張れ
0856名前は開発中のものです。
2006/10/31(火) 00:32:58ID:6ezWOrLE0857名前は開発中のものです。
2006/10/31(火) 01:54:05ID:3fmEp8uoあw逃げてやんのw
わかるんだw俺w
0858名前は開発中のものです。
2006/10/31(火) 22:52:52ID:XDYbMhDw0859名前は開発中のものです。
2006/10/31(火) 22:56:27ID:6ezWOrLEだが複数ストリームを使ったら1頂点処理するごとにキャッシュミスが発生なんて
阿呆な実装がまずありえないだろ・・・。
0860名前は開発中のものです。
2006/10/31(火) 23:00:46ID:mCqyMb0n複数の描画方法を実装して、
ゲーム中に切り替えて比較して、
描画対象によって結果集計して、
リアルタイムに切り替えていけばいいわけですね!!!
0861名前は開発中のものです。
2006/11/01(水) 00:14:46ID:o/Y9sipLボケなんだか微妙なラインすぎて困ってるだろw
実際に、実行時にテストしてから開始するソフトあったような・・
もちろん構成が変わってなければパフォーマンス一緒だから最初の一回だけだと思うが。
0862名前は開発中のものです。
2006/11/01(水) 02:06:17ID:0Q6qMURg0863名前は開発中のものです。
2006/11/01(水) 02:09:32ID:hxk+oCO70864名前は開発中のものです。
2006/11/02(木) 16:59:51ID:diKduz130865864
2006/11/02(木) 17:00:23ID:diKduz130866名前は開発中のものです。
2006/11/02(木) 17:29:34ID:sljvqe490867名前は開発中のものです。
2006/11/02(木) 17:32:43ID:diKduz13作り方、もしくは作り方を書いているところ教えて。
DirectXのHPとか、PG全般の解説とかは却下w
0868名前は開発中のものです。
2006/11/02(木) 18:26:23ID:MbI5+NQIミドルウェアあたりに隠蔽されてるとか?
0869名前は開発中のものです。
2006/11/02(木) 19:13:06ID:j7Di0j5Zゲーム作ってるわけじゃないし、
ツール作ってくれというわけですら無い(作んねーけどw。
板違いだシネwwwww
0870名前は開発中のものです。
2006/11/02(木) 19:27:12ID:sljvqe49ジョイスティックは、フックできないんだったな
ぬう
0871名前は開発中のものです。
2006/11/02(木) 19:29:35ID:Qouz5BcI0872名前は開発中のものです。
2006/11/02(木) 19:34:50ID:l6NE8mv1作れるけど、そんなの記録・再生してもリプレイにはならんよ。
操作情報だけでリプレイを再生するには、最初からゲームの方を
そういう風に作ってないと駄目。
0873名前は開発中のものです。
2006/11/02(木) 19:39:05ID:fFdnY76s0874名前は開発中のものです。
2006/11/02(木) 19:48:31ID:pOKzl3XB0875名前は開発中のものです。
2006/11/02(木) 19:56:53ID:YdcE35F8結局のところ質問に対して煽りレスしかできない低能君が
一番偉そうにしていてうざいんだよw
0876名前は開発中のものです。
2006/11/02(木) 20:01:55ID:Qouz5BcIキミが>>864に
「DirectInput対応のゲーム等の操作を記録して、後で再生してくれるプログラム」
を紹介すれば済む話だよ
コードじゃなくてバイナリが欲しそうな気がするから、できれば
ソフト板かどこかに誘導してから教えてあげるといいんだが
0877名前は開発中のものです。
2006/11/02(木) 20:35:05ID:pOKzl3XB回答が無くても問題解決しなくても、
文句いうのはお門違いどころか図々しいだけなんだけどな。
極端に言えば対価も無しに何かを得ようなど、乞食に等しい。
0878名前は開発中のものです。
2006/11/02(木) 20:54:53ID:j7Di0j5Z「うはww釣堀wwwwwらっきーwwwwwwww」
ってだけだから、相手するのも程々になw
0879名前は開発中のものです。
2006/11/02(木) 20:55:48ID:83ucivUk0880名前は開発中のものです。
2006/11/02(木) 22:32:09ID:px5hsvCI質問者=自分より低レベル っていう意識g
このやり取りあと何回見るんだろ・・・
0881名前は開発中のものです。
2006/11/02(木) 23:08:30ID:7kYH3ckO自力で文献なりwebなりあたって試行錯誤すれば解決するからな。
実際質問者のレベルが高いことあったか?
0882名前は開発中のものです。
2006/11/03(金) 00:01:39ID:px5hsvCIもう来んな
0883名前は開発中のものです。
2006/11/03(金) 00:26:49ID:1gPBctES回答者にどれだけ知識があろうと必要な情報がなければ判断不能だ。
どういう状況で、お前さんはなにを試して(あるいは知っていて)、どういう結果を期待してるのか、
最低このセットは書かないと、あいまいなレスしかつけようがない。
0884名前は開発中のものです。
2006/11/03(金) 00:40:28ID:/1nzuXOf見てるこっちが恥ずかしくなるじゃないか
それじゃ釣られてるのと変わらねーよ
そこまで馬鹿にする奴に説教なんて時間の無駄じゃねーのか
低俗な奴に関わらないと気が済まないのはやっぱり低俗な奴だなwwwwwwww
0885名前は開発中のものです。
2006/11/03(金) 16:22:50ID:ivhE0hMW↑
何様?
0886名前は開発中のものです。
2006/11/03(金) 17:08:44ID:AZI7KT4b作り方、もしくは作り方を書いているところ教えて。
DirectXのHPとか、PG全般の解説とかは却下w
0887名前は開発中のものです。
2006/11/03(金) 17:11:48ID:ivhE0hMWフックしろ
>書いてるところ教えて
http://www.google.co.jp/
ここのどこかにあった
0888名前は開発中のものです。
2006/11/06(月) 09:19:16ID:hPi0h3GZするとなぜかGetCursorPosでとれるマウスの座標に目立って遅延がでてくるようになってしまった
DI使っても改善しないしどうなってるんだろうかこれは
マビノギでも同じような現象が起こってるけど
HL2とかでは遅れなく視点を動かせるのでメインループの書き方次第なんではないかと思うんだけど…
0889864
2006/11/06(月) 11:44:40ID:hv30gwX2答える義務がないとか言うなら無視するか、知らないでいいだろ
結局ソフトでは無理ということですな
0890名前は開発中のものです。
2006/11/06(月) 12:27:48ID:oOcp7ViM0891名前は開発中のものです。
2006/11/06(月) 12:29:39ID:clenw2Y61フレーム描画する間にメッセージ処理を1回しかしてないとか。
メッセージループはキューが空になるまで回さないと駄目だよ。
0892名前は開発中のものです。
2006/11/06(月) 17:08:24ID:+lyukF9sメインループが問題だと思うなら君のメインループを晒したほうがいいんじゃね?
関係ないが俺が会社で支給されたキーボードはゲームで使うと明らかに遅延してる
糞キーボードだったりする。
0893名前は開発中のものです。
2006/11/06(月) 18:02:51ID:rMszPwdCネットゲームばっかりやってないで
仕事探せよ
0894名前は開発中のものです。
2006/11/06(月) 18:31:26ID:clenw2Y6記録しておけば、大抵のゲームはリプレイ撮れそうだなーと考えている
俺ガイル。
0895名前は開発中のものです。
2006/11/06(月) 18:39:32ID:hPi0h3GZ>>892
for(;;)
{
while(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) DispatchMessage(&msg);
render();
d->Present(NULL,NULL,NULL,NULL);
Sleep(0);
}
だいたいこんなかんじです
無意味にSleepを挟んで30FPSくらいにまで落した方が60FPSでてるときよりも
マウスの動きへの追従に関しては良かったり
0896名前は開発中のものです。
2006/11/06(月) 19:04:42ID:7IobZSRQそれが原因とは思えないが・・
0897名前は開発中のものです。
2006/11/06(月) 19:06:31ID:PBBf0u6Dキューにあった場合、そのループだとマウスを拾うのが
3フレーム後ということになる
0898名前は開発中のものです。
2006/11/06(月) 19:08:19ID:PBBf0u6D0899名前は開発中のものです。
2006/11/06(月) 19:40:52ID:kJNIWXZq反応しちゃってごめん、このレスも無視してくれw
0900名前は開発中のものです。
2006/11/06(月) 19:49:21ID:7IobZSRQwhile や for を中括弧で括らないのは
見辛さという面でもメンテナンス面でも問題ありだよな。
0901名前は開発中のものです。
2006/11/06(月) 20:45:44ID:YCZtqO2rPM_REMOVE
0902名前は開発中のものです。
2006/11/06(月) 20:59:15ID:PBBf0u6Dメッセージループとゲームのメインループは
スレッドを分けた方が良いかもしれないと。
0903名前は開発中のものです。
2006/11/06(月) 21:14:37ID:YF9A2o7Cまさかとは思うけどメインスレッドのプライオリティを高くとかしてたりはしないよね?
あと通常ループでもSleepでOSにCPUリソースは回してやるほうがいい
でもSleep(0)で十分なはずなのでそれでうまくいかないのはちょっと分からん
0904名前は開発中のものです。
2006/11/06(月) 22:06:31ID:M5YGVbkM処理落ちもコマ落ちも乱数列も全部再現できるならな。
0905名前は開発中のものです。
2006/11/06(月) 23:18:23ID:+lyukF9s俺の勘違いならいいんだが・・・IDirect3DDevice9::SetCursorPositionとか使ってる?
自力でマウスの座標にスプライト描いてたりするとフレームレートに比例して遅延するわけだが・・・。
0906名前は開発中のものです。
2006/11/07(火) 01:29:54ID:NTlv/duM乱数の仕組み知らなそうだな…
0907名前は開発中のものです。
2006/11/07(火) 03:01:33ID:+YjGlCmW>>906は乱数列の初期化の仕組みを知らなそうに見えるのだが
0908名前は開発中のものです。
2006/11/07(火) 06:03:52ID:NTlv/duMむしろ別の乱数列を生成する方が難しいと思うが。
0909名前は開発中のものです。
2006/11/07(火) 10:48:06ID:6WoLvZ3vタイマをフックしてただけで乱数の初期化関数に適切なシードを渡せるんだ?
すごいね。
それとも>>894は自作ゲームの話をしてるのかな?
だったら漏れが文盲だ。
0910名前は開発中のものです。
2006/11/07(火) 12:30:39ID:injs5fnt馬鹿か?何もわかってないのはお前等の方。
乱数からその系列のシードが割り出せるとでも思ってんのか?
勘違いも甚だしいぞ。
0911名前は開発中のものです。
2006/11/07(火) 12:36:51ID:T6X3CPc6タイマーフックして、シードを固定化するって話じゃないの?
0912名前は開発中のものです。
2006/11/07(火) 12:46:36ID:fxAXrr+V0913名前は開発中のものです。
2006/11/07(火) 13:54:36ID:WJeQGxZV>>895
マウスを管理するにもCPUパワーは必要だし、その辺のプロセスに実行権を
確実に与えるためにもSleepの引数は1以上にするといいのでは?
特にUSBのマウスやパッドはアプリケーションのCPU使用率が高くなると
遅延が起きやすいとかいう噂があるし(未確認)。
0914名前は開発中のものです。
2006/11/07(火) 14:03:41ID:uDTnp1xL3GHzなオレのマシンでも
CPU使用率ふえまくりんぐ
0915名前は開発中のものです。
2006/11/07(火) 22:02:56ID:6WoLvZ3v皮肉もわからないなら2chなんかに書き込まないほうがいいよw
>乱数からその系列のシードが割り出せる
↑誰もこんな話はしていない。>>864からの流れは完全無視ですか?
DirectInputで入力処理してるらしいプロセスに
外部からフックをかけてリプレイ再現できないかって話だろ。
だとしたら例えば乱数のシードがわかったところで
それをどうやって初期化関数に渡すんだい?
逆アセしてジャンプ先を書き換えるかね?
タイマ関係をフックするのとは全く関係ない話になってくるよな。
0916名前は開発中のものです。
2006/11/07(火) 23:10:00ID:0/eivshj普通はこういうのはWinMainより前の段階でフックを仕込むものだから、
シングルスレッドならあまり心配ないと思うが。
マルチスレッドだと簡単に破綻しそうだけどね。
0917名前は開発中のものです。
2006/11/07(火) 23:49:29ID:LeIp7IEUメインループの話は、マウス処理とかのフックとは別でしょ?
しかも、>>864 は別アプリのマウス処理をフックしたいって話だから
>>916 はそもそも間違えてる。
0918名前は開発中のものです。
2006/11/08(水) 00:04:21ID:PzBEheVj一応自分でぐぐってみたんだけど見つかりません。
0919名前は開発中のものです。
2006/11/08(水) 00:14:05ID:pix4d+V7みんなの心の中にありますヽ(´ー`)ノ
けんか腰の人はプログラムできない中坊とみなします。
0920名前は開発中のものです。
2006/11/08(水) 00:15:41ID:Ez0+ULCi教えて君氏ねよ
0921名前は開発中のものです。
2006/11/08(水) 00:29:44ID:lruYnhtq別アプリのフックの話だよ。
俺はDirectInputはやったことないが、D3Dのフックはいつもやってる。
っていうか、乱数のシードが云々言ってる人は、ゲームの実行中に
いつでも記録/再生ができるような万能リプレイを想像してるんじゃない?
起動する段階から入力を全て記録しておいて再生できるようにするってのは、
俺は自分のプログラムにはデバッグ用に組み込むことが多いよ。
記録/再生モードでは乱数のシード固定、fpsも固定してる。
乱数はタイトル画面の入力待ちのときに回してる。
0922名前は開発中のものです。
2006/11/08(水) 00:57:06ID:Cl3R/oTnデバイスの入力データは
IDirectInputDevice8::GetDeviceData又は
IDirectInputDevice8::GetDeviceStateから
得られる配列だろ。
フック云々やろうが、横取りするのは無理じゃね?
あ、イベント使用オンリー?
0923名前は開発中のものです。
2006/11/08(水) 01:06:22ID:CiKq08vx内部がマルチスレッドで動いていて
複数のスレッドが乱数生成機を共有して使っていたら(←これ自体どうかと思うが)
どうにもならないって話
0924名前は開発中のものです。
2006/11/08(水) 01:14:10ID:lruYnhtqAPIだろうがCOMだろうが、好きな関数にフックを仕込めるよ。
やり方は自分で勉強してくれ。OSが標準で用意してるわけじゃないから。
>>923
乱数を共有していなくても、ファイル読み込み等を別スレッドでやっていて
メインスレッドが待っている間に画面の更新をしていたりするだけで
厳しいと思う。
0925名前は開発中のものです。
2006/11/08(水) 01:42:30ID:Cl3R/oTnラッパーか、なるほど忘れてた
0926名前は開発中のものです。
2006/11/08(水) 01:54:34ID:4HOV88nB一回で済むため高速になる。
っていう理解でOKですか?
0927名前は開発中のものです。
2006/11/08(水) 02:06:40ID:Cl3R/oTnそれはドライバ以下実装依存だと思う。
その最適化を行う為には、VertexShader後頂点データを
どっかに保存しとかなきゃならない。
実際のチップは毎度毎度計算の方が速いから、そんなことしないよってパターンじゃないかな?
ってことでIndexBufferのメリットは、重複頂点が無くなってVertexBufferのサイズが減ってウマーの方か
0928名前は開発中のものです。
2006/11/08(水) 05:15:49ID:4HOV88nB0929名前は開発中のものです。
2006/11/08(水) 10:27:55ID:paxGIPEB>GPUはVertexShader後の頂点データを保存しなきゃならない
それが頂点キャッシュだろ。いくらGPUがパイプライン化しやすいからって、
ボーンやら照明計算を含んだ複雑な処理を、キャッシュから拾ってくるより
毎回計算する方が速いってこたぁない。
0930名前は開発中のものです。
2006/11/08(水) 11:20:58ID:Ez0+ULCi滅茶苦茶を断言で書くなよw
0931名前は開発中のものです。
2006/11/08(水) 12:28:30ID:lruYnhtq頂点の順番を並べ替えないと、ほとんど恩恵ないよ。
GeForce6で24頂点のFIFOだね。たぶん7も一緒。
0932名前は開発中のものです。
2006/11/08(水) 14:46:09ID:jIjbRi6u0933名前は開発中のものです。
2006/11/08(水) 22:06:45ID:RvQZC3kp実際Zバッファやバックバッファは毎フレーム破棄するように作れるし。
0934名前は開発中のものです。
2006/11/09(木) 06:28:09ID:dA8KH0sb何回もLock/Unlcokするのはいかにも遅そうな気がするんですけども。
0935名前は開発中のものです。
2006/11/09(木) 06:37:42ID:EoL+7LTgDrawPrimitiveを呼んで描画を開始させた方が速いと思う。
もちろんLockで処理がブロックしないように、NOOVERWRITEや
DISCARDを適切に使って。
0936名前は開発中のものです。
2006/11/09(木) 16:17:05ID:pnXhdXXRこんなところで質問してねーで実測しろよ。
0937名前は開発中のものです。
2006/11/09(木) 17:55:45ID:X56FVTntあるモデラからDirectX用に独自形式でデータ(モデルとスキンアニメーション)をエクスポートしているのですが、
そのモデラのZ軸は手前側がプラスなので、奥がプラスになるDirectXで表示すると変になってしまいました。
正常に表示するには、どうすれば良いのでしょう?
0938名前は開発中のものです。
2006/11/09(木) 19:00:04ID:lRUVCD7xアニメーションまで含んでるなら変換はそれなりに面倒。
長くなりすぎるのでキーワードだけ置いとく。[右手 左手 擬ベクトル]
0939名前は開発中のものです。
2006/11/09(木) 20:16:11ID:MOSFB80B0940名前は開発中のものです。
2006/11/10(金) 01:06:39ID:BfaFVTZm0941名前は開発中のものです。
2006/11/10(金) 20:06:55ID:hiaIqhZLポリゴンごとに一枚ずつ用意するのとどっちが良いんでしょうか?
0942名前は開発中のものです。
2006/11/10(金) 20:13:56ID:VWQOMstKだがDirectXで重いからやるなハゲといわれている事を
考えるなら答えは分かっているはずだ。
0943名前は開発中のものです。
2006/11/12(日) 07:25:35ID:dfs286Zp0944名前は開発中のものです。
2006/11/12(日) 08:01:52ID:pffADuxKサンプルを手コピーして動いたのを「DirectXが使えた」と言うならね。
0945名前は開発中のものです。
2006/11/12(日) 08:33:25ID:dfs286Zp0946名前は開発中のものです。
2006/11/12(日) 08:52:14ID:5TS195Vt0947名前は開発中のものです。
2006/11/12(日) 09:40:04ID:dfs286Zp0948名前は開発中のものです。
2006/11/12(日) 09:40:55ID:dfs286Zp0949名前は開発中のものです。
2006/11/12(日) 09:48:34ID:p2LxhttU0950名前は開発中のものです。
2006/11/12(日) 18:14:36ID:SJJfaFn1それぞれの処理を表面的かつ自分なりに解釈し、
然るべきタイミングに処理が行われるように再配置し、
足りない処理を色々と付け加えて、
完成したゲームを某所にコッソリ登録したりしているが、
とてもじゃないが恥ずかしくてDirectXを理解しているなんて言えない…
で、サンプルなりチュートリアル見てわからない事があったら書籍買うといいよ。
書籍のほうが判りやすいとは限らないが、
同じ事でも違う方向から見ると、簡単に理解できる事もたまには在る。
0951名前は開発中のものです。
2006/11/12(日) 19:11:41ID:CQikaQFF本買え
時間を買ってると思えば安い
0952名前は開発中のものです。
2006/11/12(日) 22:42:19ID:6dWQ+52Sそーだよなー俺も最近は悩まないですぐ買う事にしてる。
んで理解できたら速攻ヤフオクとかで売ってる。
古い本とか人気の無い本以外は、定価の5割以上は戻ってくるのでいい感じ。
0953名前は開発中のものです。
2006/11/15(水) 02:00:13ID:vxzOfYC6200個ぐらい転送するごとにDrawIndexedPrimitive呼んでいるんですが、
NOOVERWRITEでロックしてもしなくても速度ほとんど代わりませんでした。
これってどこかでやりかた間違ってるってことでしょうか?
それともNOOVERWRITE使っても大して速くならないんですかね?
0954名前は開発中のものです。
2006/11/15(水) 09:11:02ID:3I9mMgDpまぁGPUの負荷を正確に調べるのは無理ってMSも言ってるが。
0955名前は開発中のものです。
2006/11/15(水) 21:38:08ID:DxvRaGSOピクセルシェーダーのtexreg2arとtexreg2gbにおいて、
参照テクスチャのサイズが 2^n 以外の場合に正常に作動してくれません。
具体的には常に黒が返ってきてしまいます。
また、リファレンスラスタライザで実行した場合には、どのようなサイズでも正常に
作動しております。
このことから、おそらく私の使用しているハード(radeon 9000pro)特有の制限ではないかと
疑っていますが、実際のところ、どうなのでしょうか?
OS: Windows XP SP1
DX: DirectX 9.0c
GPU: RADEON 9000PRO
0956名前は開発中のものです。
2006/11/15(水) 21:52:08ID:3I9mMgDpテクスチャのサイズが 2^n 以外を使うことの方がありえないんだが。
そもそも 2^n 以外のサイズをサポートしてるハードウェアの方がレア。
自分で3Dエンジン組めばわかるが 2^n ってのは非常に効率いいのよ。
どうしてもっていうならまずはCAPS調べてサポートしてるかちゃんと調べようぜ。
0957名前は開発中のものです。
2006/11/15(水) 22:08:28ID:DxvRaGSOそれは texreg2gb、texreg2ar に限った話でしょうか?
私の知る限り、よほど古いカードで無い限り、
テクスチャの 2^n 制限は無くなったものと思いますが。
それとCAPSを調べても、texreg2gb、texreg2arが 2^n 以外のサイズを
サポートしているかどうかまでは判からないものと思えます。
ちなみに私が確認した限り、 texreg2gb、texreg2ar 以外の命令では
2^n 制限は認められませんでした。
0958名前は開発中のものです。
2006/11/15(水) 22:57:25ID:3I9mMgDp愛用のRadeon X1900XT は 2^n 制限 がある。
個人的には 2^n 以外のテクスチャを使うという選択肢がありえないが・・・
そもそも 2^n 以外のサイズのテクスチャが必要になる事ってないだろう。
あとD3DX系の関数でテクスチャを読んでるなら、
2^n 以外をサポートしてない時は、内部で 2^n のテクスチャ作って返してくるぞ。
つまりテクスチャの端の方をサンプリングすると何もないので真っ黒。
リファレンスラスタライザで動いてるなら9割プログラムのミスだと思うが。
リファレンスならサイズの制限はない、つまりいかなる場合でも1.0をサンプリングすると一番端になる。
制限がある場合D3DXがでかいテクスチャの左上に展開してテクスチャをよこしてくるので、
1.0をサンプリングすると何もないrgba(0,0,0,0)が帰ってくる、ってところじゃないのかね。
0959名前は開発中のものです。
2006/11/15(水) 23:13:28ID:YpYvtoj0そのソフトが完全に決まった環境でしか実行されないんだったらいいんじゃね。
俺は2^nしか使わないけど。しかも小心者なので256x256制限でやってる。
0960名前は開発中のものです。
2006/11/15(水) 23:22:21ID:DxvRaGSOそれは texreg2gb、texreg2ar に限った話でしょうか?
私の使用しているRADEON 9000PROでは、2^n以外のテクスチャを作成することも出来ますし、
ポリゴンに貼り付けることも出来ますし、レンダリングターゲットに指定してレンダリングする
こともできます。
>そもそも 2^n 以外のサイズのテクスチャが必要になる事ってないだろう。
例としては、フレームバッファがあげられるかと思います。
texreg2ar、texreg2gb命令は、引数の色をテクスチャ座標としてテクスチャをサンプリングする
命令です。私はこの命令を使って色の再マッピングを行おうと考えておりました。
ところが、この命令は色値0〜255を座標値0.0〜1.0へと正規化してしまいます。
その結果、色値255は座標1.0、つまり、テクスチャ範囲外になってしまい、思うように
再マッピング出来ません。
この問題を解決するには、色値255を使わないようにして、
さらにテクスチャサイズを254x254にするしか方法が無いように思えます。
他にもっと良い方法はあるでしょうか。
0961名前は開発中のものです。
2006/11/15(水) 23:29:37ID:DxvRaGSOここに置いてあるサンプルプログラムは、texreg2arがサイズ128x128のテクスチャを参照しています。
これは2^nではありませんので、私の環境(RADEON 9000PRO)では期待される結果が得られません。
皆さんの環境ではどうでしょうか。
GPUの名前と合わせて、結果を教えていただけませんでしょうか?
0962960
2006/11/15(水) 23:31:19ID:DxvRaGSOさらにテクスチャサイズを254x254にするしか方法が無いように思えます。
↓
さらにテクスチャサイズを255x255にするしか方法が無いように思えます。
0963名前は開発中のものです。
2006/11/15(水) 23:39:15ID:DxvRaGSOあれ、じゃぁなんで私の環境で動かないのだろう・・・
>>961は忘れてください、ごめんなさい。
0964名前は開発中のものです。
2006/11/16(木) 00:09:26ID:j2RP45RN> 私の使用しているRADEON 9000PROでは、2^n以外のテクスチャを作成することも出来ますし、
作成できてると思ってるそのテクスチャの、実サイズを取得してみて。
本当に意図したサイズになってるか確認してみないと
>>958 の言ってること無視できないでしょ?
俺はビンゴだと思ってるけどね。
テクスチャ任意サイズは対応してないって考えた方がいいよ。
もちろん、texreg2gb、texreg2arに限った話じゃないよ。(同じ質問ウゼーよw
0965名前は開発中のものです。
2006/11/16(木) 00:13:48ID:j2RP45RN2のべき乗じゃないテクスチャは駄目です。
0966名前は開発中のものです。
2006/11/16(木) 00:24:19ID:SEFYYBum>愛用のRadeon X1900XT は 2^n 制限 がある。
宣言もなにもそもそも作成に制限がある。
D3DX系でCreateすると内部で勝手ででかいサイズのテクスチャ返してくるっていってるだろ。
640x480でCreateすると1024x512のテクスチャが返ってくるのが普通なのだが、
ちゃんと作成されたテクスチャのサイズやフォーマット見て確認してるのか?
フレームバッファはでかいテクスチャにClipしてレンダリング、
あるいはでかいテクスチャにそのままレンダリングして、縮小してFSAAっぽくしてる。
ところによっては別のサーフェイスにレンダリングしてから、エフェクト時だけテクスチャにCopyRectして使ってる。
あとUVマッピングの意味を理解しような。
テクスチャサイズを255とかいってる意味はわかるが、あまりにも意味不明。
0967名前は開発中のものです。
2006/11/16(木) 00:30:01ID:gbtniTxU0968名前は開発中のものです。
2006/11/16(木) 00:43:23ID:bg7PnqAAをしていようがDirectXの上から叩くことしか出来ない私には関係の無いことですから。
問題としているのはテクスチャアドレッシングまわりの話で、実サイズはどうでも良い話になります。
例えば、255x255のサイズのテクスチャを作ったとしましょう。
ここで、ドライバの最適化により実際には256x256のサイズのテクスチャが
作成されていたとしても、それはプログラマには関係の無い話といえます。
ただ、255x255と256x256のテクスチャでは、内部表現は同じだったとしても、
テクスチャアドレッシングのされ方は変わります。
なので255x255と256x256のテクスチャを使い分けることには意味があると考えます。
0969名前は開発中のものです。
2006/11/16(木) 00:49:19ID:j2RP45RN0970名前は開発中のものです。
2006/11/16(木) 00:51:19ID:j2RP45RNここで質問していながら、なぜ他人のアドバイスを聞き入れない?
0971名前は開発中のものです。
2006/11/16(木) 00:54:53ID:xa3CEDbM>968
>ここで、ドライバの最適化により実際には256x256のサイズのテクスチャが
>作成されていたとしても、それはプログラマには関係の無い話といえます。
>>955
>ピクセルシェーダーのtexreg2arとtexreg2gbにおいて、
>参照テクスチャのサイズが 2^n 以外の場合に正常に作動してくれません。
むちゃくちゃ関係有るし。
0972名前は開発中のものです。
2006/11/16(木) 00:56:21ID:bg7PnqAAtexreg2gb、texreg2ar を使用すると、正しい値を返してこない、
というのが正確な私の質問になると思われます。
紛らわしい表現をしてごめんなさい。
あと、D3DX系のCreateは使っておりません。
IDirect3DDevice9::CreateTextureを使って作成しております。
それと、見た目上のテクスチャの大きさが 2^n 以外でも
texreg2gb、texreg2ar が正常に動くビデオカードを誰か知りませんか?
0973名前は開発中のものです。
2006/11/16(木) 00:58:52ID:N/Cya+Sz素直にpow2サイズのみ使っておけ
以上
0974名前は開発中のものです。
2006/11/16(木) 01:04:04ID:j2RP45RN>>958 の人が親切に答えてるだろ!!
> つまりテクスチャの端の方をサンプリングすると何もないので真っ黒。
2^nしか対応してない環境で、2^n以外のテクスチャを作った場合に
内部でどうなるかを理解してないから、不具合だと思い込んでるだけなんだよ。
もちろん、texreg2gb、texreg2arに限った話じゃねーぞ!!!!
0975名前は開発中のものです。
2006/11/16(木) 01:07:16ID:bg7PnqAA2^nサイズのテクスチャを使いたいのは山々なのですが、>>960に書いたとおり、
texreg2ar、texreg2gbに欠陥的仕様が御座いまして、どうしても255x255サイズのテクスチャ
を使用せざるを得ません。しかしなぜかtexreg2ar、texreg2gbで255x255サイズのテクスチャを
使用すると、正しい値を返してくれません。他のtex命令などの処理は255x255のサイズでも問題なく
行えます。
注)ここで言う255x255は見た目上のサイズのこと。
>>971
見た目上のサイズを255x255に指定したいだけなので、ビデオカード内での
内部表現は問題としません。なぜならテクスチャアドレッシングは見た目上のサイズにのみ左右されるからです。
0976名前は開発中のものです。
2006/11/16(木) 01:14:33ID:j2RP45RN> ところが、この命令は色値0〜255を座標値0.0〜1.0へと正規化してしまいます。
> その結果、色値255は座標1.0、つまり、テクスチャ範囲外になってしまい、思うように
> 再マッピング出来ません。
テクスチャ座標は1.0で範囲外にならんよ。
255x255にしなくちゃいけない理由が分からない。
あと、「見た目上のサイズ」が分からない。
プログラムで処理する以上、内部のことは理解してないと駄目。
2^n以外のテクスチャを作成した(つもり)時に、実際にどれだけの
サイズのテクスチャが出来てるのか理解しないと、テクスチャ座標を
正確に指定できない。
0977名前は開発中のものです。
2006/11/16(木) 01:15:40ID:bg7PnqAAD3DX系のテクスチャ関数は一切使用しておりません。
使用しているのはIDirect3DDevice9::CreateTextureのみです。
IDirect3DDevice9::CreateTextureは勝手に内部でテクスチャサイズを調節
したりしません。
ドライバはテクスチャの内部表現を適切なサイズに調節するかもしれませんが、
それはDirectXを通してアクセスしている限りプログラマには関係の無い話となります。
> つまりテクスチャの端の方をサンプリングすると何もないので真っ黒。
どこにアクセスしても常に黒が返ってきます。
0978名前は開発中のものです。
2006/11/16(木) 01:17:25ID:LRTBYOXP>その結果、色値255は座標1.0、つまり、テクスチャ範囲外になってしまい、思うように
>再マッピング出来ません。
256x256サイズの画像はX座標(0〜255) Y座標(0〜255)だからそれでいいんじゃねーの?
0979名前は開発中のものです。
2006/11/16(木) 01:19:01ID:j2RP45RNいいから、黙って実際に作ったテクスチャの本当のサイズを調べろ。
>どこにアクセスしても常に黒が返ってきます。
テクスチャ自体が正しく設定されてるのか、新しい疑問が浮上するだけだが。
texreg2ar、texreg2gbつかわなくて直値で試してみた?
0980名前は開発中のものです。
2006/11/16(木) 01:23:06ID:j2RP45RND3DSURFACE_DESC desc;
texture->GetLevelDesc(0, &desc);
float width = (float)desc.Width;
float height = (float)desc.Height;
0981名前は開発中のものです。
2006/11/16(木) 01:24:21ID:1aVg1Jra0982名前は開発中のものです。
2006/11/16(木) 01:31:20ID:j2RP45RN書き込みが1000に近づいてきたし、もう寝るんで結果でたら
あとは自力でがんばれ。>>ID:bg7PnqAA
0983名前は開発中のものです。
2006/11/16(木) 01:35:22ID:bg7PnqAA>255x255にしなくちゃいけない理由が分からない。
DirectXのマニュアルによりますと、テクスチャ座標は以下の式で決定されます。
以下マニュアルより抜粋
T_x=(u*M_x)-0.5
T_y=(v*M_y)-0.5
テクスチャ座標の下限と上限の 0.0 と 1.0 をこれらの公式に代入すると、
テクスチャ座標 0.0 は反復テクスチャ マップの最初と最後のテクセル間の
中間点にマッピングされる。テクスチャ座標 1.0 は、現在の補間テクスチャ
マップの最後のテクセルと次の補間テクスチャ マップ間の中間点にマッピングされる。
〜ここまで抜粋
これをニヤーポイントでフィルタリングしますと、テクスチャ座標の切り上げが発生し、
結果、0.0は最初の座標を、1.0は一番外のテクセルの一つ向こうを指すことになります。
>あと、「見た目上のサイズ」が分からない。
見た目上のサイズとは、DirectXを通して見えるテクスチャのサイズのことです。
テクスチャアドレッシングはこの値のみに左右されます。
ドライバーが実際にテクスチャ割り当てたメモリサイズをプログラマが気にする必要はありません。
0984名前は開発中のものです。
2006/11/16(木) 01:39:06ID:1aVg1Jraこれがおまえの言うところのプログラマが気にすべき「DirectXを通して見えるテクスチャのサイズ」なんだから。
0985名前は開発中のものです。
2006/11/16(木) 01:40:32ID:SEFYYBum>使用しているのはIDirect3DDevice9::CreateTextureのみです。
>どこにアクセスしても常に黒が返ってきます。
あのさぁ・・・せめてCreateTextureの返り値くらい調べたら?
0986名前は開発中のものです。
2006/11/16(木) 01:52:42ID:bg7PnqAA調べました。255x255のテクスチャを作成したところ、
Width=255
Height=255
となりました。ドライバレベルでは256x256サイズのテクスチャが確保されていることでしょうが、
DirectXはそれを吸収してくれています。
このテクスチャのテクスチャサイズは 255x255、ドライバレベルでの(プログラマには関係の無い)
テクスチャブロックのサイズは(おそらく) 256x256 ということでFAでしょう。
つまり、DirectXではいかなるサイズのテクスチャの作成も可能だということになります。
そしてこのテクスチャをポリゴンに貼り付ける(tex命令)ことも出来れば、
レンダリングターゲットにしてレンダリングできることもできることを確認しました。
なのに、texreg2ar texreg2gb だけはうまくいきません。
>>985
調べました。そのテクスチャをポリゴンに貼り付けて表示してみたりもしました。
正常に表示されました。
0987名前は開発中のものです。
2006/11/16(木) 01:54:28ID:6gwZldY7D3DPTEXTURECAPS_POW2がYesでも
D3DPTEXTURECAPS_NONPOW2CONDITIONALもYesなら
2のn乗以外のテクスチャは使えるよ。(色々と制限はあるが)
そして、これに対応してないビデオカードなんて相当古いのしかない。
ようするに、いまどき2のn乗以外のテクスチャが使えないハードウェアの方がレア。
0988名前は開発中のものです。
2006/11/16(木) 01:59:06ID:1aVg1Jraそれならドライバレベルでも255×255が確保されている。
> ドライバレベルでは256x256サイズのテクスチャが確保されていることでしょうが、
> DirectXはそれを吸収してくれています。
> このテクスチャのテクスチャサイズは 255x255、ドライバレベルでの(プログラマには関係の無い)
> テクスチャブロックのサイズは(おそらく) 256x256 ということでFAでしょう。
根拠のない勝手な理屈を付けて自分を納得させるのはやめようぜ。
0989名前は開発中のものです。
2006/11/16(木) 02:03:37ID:SEFYYBumつまり、ディメンジョンが 2 の累乗でないテクスチャは、シェーダ内で計算されるテクスチャ座標を使ってアドレス指定したりサンプリングしたりすることはできません。
このタイプの処理は従属読み込みと呼ばれ、これらのタイプのテクスチャに対しては実行できません。
まぁ紆余曲折下が・・・リファレンス読もうぜ。
0990名前は開発中のものです。
2006/11/16(木) 02:05:00ID:bg7PnqAA>(色々と制限はあるが)
その制限にtexreg2ar texreg2gb が引っかかっているということですよね。
texreg2ar texreg2gb が 2^n サイズ制限に引っかからないカードって有りますかね。
有るのでしたら今すぐにでも買い換えたいのですが。
でもどうやって探せばよいのだろう。メーカーに電話するしかないのかしら。
0991名前は開発中のものです。
2006/11/16(木) 02:08:10ID:SEFYYBum0992名前は開発中のものです。
2006/11/16(木) 02:09:43ID:1aVg1Jrahttp://www.netsphere.jp/dxinfo/
ここで D3DPTEXTURECAPS_POW2 と D3DPTEXTURECAPS_NONPOW2CONDITIONAL
が両方とも Yes になっていないビデオカードを探しな。
NVIDIA の GeForce 6000 シリーズ以降ならたぶん大丈夫。
0993名前は開発中のものです。
2006/11/16(木) 02:09:55ID:bg7PnqAAいやだって、2^nサイズしかテクスチャ作れないって言い張る人が多かったから
そうなのかなと。
>>SEFYYBum
あー貴方は神様です。心から感謝します。なるほど、そういう制限があったのか。
長らくお付き合いいただいた皆様、本当にどうもありがとう御座いました。
こうなると、今度はtexreg2arとtexreg2gbの欠陥仕様をどうしたものか・・・
頭が痛い・・・
0994名前は開発中のものです。
2006/11/16(木) 02:21:33ID:SEFYYBum2^n以外のテクスチャサイズのほうが一般的じゃないは理解してるんだろうか。
0995名前は開発中のものです。
2006/11/16(木) 02:31:46ID:SEFYYBum0996名前は開発中のものです。
2006/11/16(木) 02:33:50ID:bg7PnqAA私は 2^n サイズしか使えないことを欠陥だと主張しているのではありません。
>>960 の前半と >>983を読んでみてください。
texreg2ar と texreg2gb は 色の再マップに使われるとマニュアルに
も書いてあります。
しかしこれは実際にはうまくいきません。これはあきらかに欠陥仕様だと思います。
0997名前は開発中のものです。
2006/11/16(木) 02:36:43ID:SEFYYBum都合のいいところしか読めないのかよw
0998名前は開発中のものです。
2006/11/16(木) 02:43:59ID:bg7PnqAAただ、texreg2ar と texreg2gb は 色値255において、テクスチャ座標1.0(テクスチャ範囲外)
を叩きにいきます。これは好ましい仕様だとは思えません。
色の再マップを行ううえで回避不能な問題を発生します。
(もともと色の再マップを行うためだけに作られた命令であるにもかかわらず)
色値255を他の色再マップすることが原理的に不可能です。
0999名前は開発中のものです。
2006/11/16(木) 02:59:11ID:gbtniTxU1000名前は開発中のものです。
2006/11/16(木) 03:04:04ID:bg7PnqAA私は無理でした。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。