■過去ログ置き場に戻る■ 1- 前250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

DirectX総合スレ (Part6)
751 名前:名前は開発中のものです。 :2007/04/22(日) 08:21:17 ID:CENVEWNH
少しは自分で(ry

752 名前:名前は開発中のものです。 :2007/04/22(日) 08:30:20 ID:YZWy+Lh2
>>745
マジでそれやってるの?
それやってるの見たことないんだけど('A`)
つーか、座標以外の状態もシリアライズしないといけなくないですか?


リプレイって、キー入力とか、イベント処理を記録して再生するものだと思ってました。

>>747
kwsk

>>748
マジデ(゚Д゚)

753 名前:名前は開発中のものです。 :2007/04/22(日) 08:50:37 ID:CENVEWNH
>それやってるの見たことないんだけど('A`)
まるで全てを知り尽くしたような言い方だな

754 名前:名前は開発中のものです。 :2007/04/22(日) 09:30:11 ID:RW5VCSAs
>>749
SDKのサンプルが訳ワカメでライブラリも使いたくないって言う時点で
もう自力でどうにかするのも難儀だと思うんだが・・・

自力でやることにはそれほど意味はないぞ。
まずは完成させることに意味がある。

755 名前:名前は開発中のものです。 :2007/04/22(日) 09:41:35 ID:Sj08wy5M
ゲームの作り方を教えてくれる所があるんだよね。費用が数十万円から数百万円だけどね。

756 名前:名前は開発中のものです。 :2007/04/22(日) 09:59:22 ID:ShoBxYoW
>>754
「まずは」が重要だな
この副詞がないといろいろ曲解されてしまいそう

757 名前:名前は開発中のものです。 :2007/04/22(日) 10:48:00 ID:zmxA0Lb/
>>755
9割がゲーム製作に挫折する人である環境で、その悪影響が怖い。


758 名前:名前は開発中のものです。 :2007/04/22(日) 10:55:06 ID:lvPS3FuZ
遊ぶのは好きだが作るのは好きじゃなかった、それを教えてくれるんだよ。

759 名前:名前は開発中のものです。 :2007/04/22(日) 11:57:14 ID:RW5VCSAs
ゲームやるのが好き>途中で断念
ゲーム作るのが好き>適当なフリーのライブラリを使って作る
プログラムが好き>DirectXを叩くようになる。

760 名前:733 :2007/04/22(日) 11:57:45 ID:U6UI3zGG
>>754
Direct10のサンプルはいきなり WNDCLASSEX とか LPDIRECT3D9 とか出てきて初心者が一から勉強するにはつらいなと
この通り見ていけばDirectXが理解できる解説ないですか?
やる気だけはあります。
目標はUnrealEngineよりすごいものを3年後ぐらいに完成させたいです。



761 名前:名前は開発中のものです。 :2007/04/22(日) 12:18:48 ID:4Cp/kF21
>>760
本買ったほうが良いかも。
WEB上にも解説してるところあるけど。内容が中途半端で更新が終わってたり
テクニックがDirectX7とか8とか古かったりするから

良書にめぐり合えばWEBを数時間巡回するより簡単に答えに行き着くよ


762 名前:733 :2007/04/22(日) 12:23:06 ID:U6UI3zGG
その良書を教えていただけますか?


763 名前:名前は開発中のものです。 :2007/04/22(日) 12:41:06 ID:4Cp/kF21
>>760
良書っていうのは抱えてる問題やその人のスキルのレベルによって違ってくるから
自分で大きな書店に行ってパラパラめくってみるのが一番はやいと思うけど

例えばで良いなら最近のでは
「工学社のDirectX9実践プログラミング」
かな。あとは
「秀話システムのDirectX逆引き大全500の極意」
は、あれ?どうやるんだっけ?ってときに使います

ただし、何度も言うけど小説とかと違って技術書は個人個人、良書が違うと思うから
参考程度に聞いて下さいね。
自分で読んでみるのが一番良いと思います。参考書選ぶのと同じ感覚ですw


764 名前:名前は開発中のものです。 :2007/04/22(日) 12:45:16 ID:eQdZ/kWg
>>762
http://www.amazon.co.jp/dp/4797303522/

これ一冊で全てが学べる。後は全部ゴミ。

765 名前:名前は開発中のものです。 :2007/04/22(日) 14:23:12 ID:ckHQhBhI
>>764
WNDCLASSEX とか LPDIRECT3D9 が出てくるのがつらいってヤツがその本読めるのか?
MSDNもDirectXのヘルプも読まないようなヤツが対象ってことだぜ

766 名前:名前は開発中のものです。 :2007/04/22(日) 16:21:18 ID:YZWy+Lh2
>>764
まて、それは、「ゲームプログラマになる本」に並ぶゴミぼ(ry

Amazon.co.jp: ゲームプログラマになる本: 本: 山崎 由喜憲
http://www.amazon.co.jp/gp/product/4789835642/

767 名前:名前は開発中のものです。 :2007/04/22(日) 16:23:40 ID:zmxA0Lb/
山崎式正弦跳躍法でぐぐれ

768 名前:名前は開発中のものです。 :2007/04/22(日) 16:28:49 ID:YZWy+Lh2
>>767
2chのスレしか出てこなくてワロス

769 名前:名前は開発中のものです。 :2007/04/22(日) 16:54:06 ID:eQdZ/kWg
ボケたのにつまんないマジレスが返ってきたときは
どうしたもんかと思ったよホント、助かった

770 名前:733 :2007/04/22(日) 17:55:12 ID:U6UI3zGG
みんな冷たいね (´・ω・`)
結局みんな俺流できちんと教わってないから
初心者に適切なアドバイスができないわけだ
日本のゲーム開発者のレベルが低いわけだ

771 名前:名前は開発中のものです。 :2007/04/22(日) 18:03:23 ID:jOjaX+48
そう煽る文を最後に載せるなよ鎖国ってるけどさ

772 名前:名前は開発中のものです。 :2007/04/22(日) 18:15:15 ID:Sj08wy5M
日本には、3Dの基盤が無いからほとんど情報が無い。
洋書ではやたら多く出版されているので英語を読んだ方がいい
プログラム書のほとんどが、
ソースリストを付けるから勝手に理解してくれよのスタンスだ
Windowsの時代になってからは、APIに振り回されるくらいなら
ライブラリーに全部を任せてしまう方向にある。
現実にiAPX386の時代も終わろうとしているし

773 名前:名前は開発中のものです。 :2007/04/22(日) 18:16:04 ID:CENVEWNH
>>770
>みんな俺流で
右へ倣えがお好みで?

>きちんと教わってないから
誰か教えてくれるとでも?

>あれは何をやっているのかわかりません。
>理想はゲーム1本まるごとソースが入っていて解説がある本がいいです。
君にはゲー専がお似合いだよ
努力せず他人頼って何かを得ようとするやつにはゲー専がお似合いだ
金はかかるが入社に必要なゲームプログラムを丸ごと貰えるぞ

>値段はいくらでもいいです。
じゃあ大丈夫だな

今すぐ行け
早く行け
行け

774 名前:名前は開発中のものです。 :2007/04/22(日) 18:17:49 ID:PiGegWxe
2chでの回答が冷たいってのも鎖国ってるってのも一応同意しとく

775 名前:名前は開発中のものです。 :2007/04/22(日) 18:20:52 ID:J/HGGp21
>>770
お前痛いな
びっくりするほど昨日からみんな親切に対応してくれてるのに
サービスを無償で受けるのが当たり前の
ガキかにーと君だろうが
真面目に答えてくれてる人にありがとうの一言も言えないようじゃ
どこ行っても相手にされないよ

776 名前:名前は開発中のものです。 :2007/04/22(日) 18:21:50 ID:v/ich/HT
>>770
マジレスするとゲームプログラムって総合芸術みたいなもので、
3D・AI・サウンド・スクリプト・ネットワークetc いろんなものを抱えすぎてる。
これを見ればOKって本を作っても内容が薄くなって実用性がなくなるだけ。
地道に個々の分野を漁るしかないよ、みんなそうやってる。

777 名前:名前は開発中のものです。 :2007/04/22(日) 18:22:07 ID:0pTEN09P
まぁまぁ、一生ゲーム作れないタイプの人間の遺言なんだから、
生暖かく見送ってやれよ。
むしろ「日本のゲーム開発者のレベルが低い」には同意する。
初心者向けに綺麗に切り分けして動作確認までしたソースコードを、
ボランティアで用意しろと要求するとか、日本の教育制度の歪みだよ。

778 名前:名前は開発中のものです。 :2007/04/22(日) 18:22:40 ID:aF9z9yRP
DirectX10

779 名前:名前は開発中のものです。 :2007/04/22(日) 18:31:41 ID:4Cp/kF21
うは
煽られたら一斉にレス付くってw

>>770
自分が理解できないことを人のせいのように書くのはよくないよ

さっきも書いたけど。自分にあった本でも探してがんばりな。


780 名前:名前は開発中のものです。 :2007/04/22(日) 18:32:45 ID:ckHQhBhI
>>770
とりあえず適当なライブラリ使ってやってみればいいだろう。
そこにはある種求めている答えがそのままあるんだから。

できるようになったらそのライブラリの中を見て具体的に理解すればいい。

まずはELでも使って望みのものが作れるかやってみれ。

781 名前:名前は開発中のものです。 :2007/04/22(日) 18:39:12 ID:aF9z9yRP
綺麗なモーションブラーのやり方教えてくれよー

782 名前:名前は開発中のものです。 :2007/04/22(日) 18:56:26 ID:Sj08wy5M
カレイでなくともヒラメでいいだろう。

783 名前:名前は開発中のものです。 :2007/04/22(日) 18:56:29 ID:0pTEN09P
DirectX8あたりから始めた俺としても、正直>733の書き込み見て
「あぁ、今時のクールなやり方ってどうだろう?」とは思って静観はしても、
手持ちのソースコードを整理して出す気にはならなかったな。(解説付きで?w
そもそもアニメーションがDirectXの範疇かどうかも知らんし、
自分でやるもんだと思ってる。いや、オールドタイプの愚痴書いてすまんねw

784 名前:名前は開発中のものです。 :2007/04/22(日) 19:08:17 ID:QxPBFcUw
プログラムが好きな奴じゃないとどうせ続かないだろ
>733がしたいこと程度ならぐぐってれば調べられる程度のことだし

785 名前:名前は開発中のものです。 :2007/04/22(日) 19:41:35 ID:YZWy+Lh2
>>773
これはひどい。

本気にする奴いるから、書いとくけど、
ゲー専だけは絶対にやめとけ。

情報系の大学のコンピュータ系サークルにもぐりこむ方が、仲間も見つけられて、手っ取り早い。

786 名前:名前は開発中のものです。 :2007/04/22(日) 20:29:02 ID:dYgoG/JI
両方いったことがあるのか

787 名前:名前は開発中のものです。 :2007/04/22(日) 20:30:17 ID:ckHQhBhI
>>785
俺ゲー専だけど一応就職はできたw

788 名前:名前は開発中のものです。 :2007/04/22(日) 20:31:35 ID:Sj08wy5M
まぁ、説明する為のコードと実際に使うコードは別物だから
丁寧に説明されるほどにそのコードは使えない。

スケルトンモデルについて他の人で知りたい人もいるだろから、
書いとく 研究用には使えると思う。
DirectX9 3Dゲームプログラミング〈vol.2〉C#によるキャラクタの歩行アルゴリズム


789 名前:名前は開発中のものです。 :2007/04/22(日) 23:27:26 ID:IFDxOYuU
>>787
一般学生は就職できなかったことが最低の恥になる。
ゲー専生は就職できたことが最大の自慢になる。

790 名前:名前は開発中のものです。 :2007/04/22(日) 23:49:20 ID:ckHQhBhI
>>789
わかる気がするw
大抵は実家に帰るとか全然PG関係ない職に付くとかだしな。

791 名前:名前は開発中のものです。 :2007/04/23(月) 07:05:58 ID:0pWNIKTQ
結局は本人のやる気次第だけどな。
まあ、そのやる気を削ぐ環境が
バッチリ揃っているのがゲー専なわけだが。

792 名前:名前は開発中のものです。 :2007/04/23(月) 10:23:33 ID:J3HGZUDO
>>788
その本はオススメできない。
無駄にハードコーディングしてるし、同じようなコードをまとめずに
ダラダラとコピペしてあったりと、コードのできが悪すぎる。
あと、スキンメッシュも扱ってないし、他にも問題がありまくり。

普通にDirectX SDKのサンプルやMSDNの記事を読んだほうが良いと思う。

793 名前:名前は開発中のものです。 :2007/04/23(月) 10:39:58 ID:0pWNIKTQ
DirectX関連の本は大抵、説明をわかりやすくするために
わざとハードコーディングのサンプルを載せてるものが多いと思うんだが。
とかなんとか書いていたら>>788が1〜2行目で言ってるじゃないかorz

794 名前:名前は開発中のものです。 :2007/04/23(月) 12:52:06 ID:7FTd6465
>>792みたいな奴がイチイチ状況を理解せずに文句を言うから、
アメリカのマニュアルみたいに最初に注意書きをいっぱい書いておけば良いんだよ。
生き物は乾燥させられません、説明用にコーディングしているため最適なコードではありませんと。

795 名前:名前は開発中のものです。 :2007/04/23(月) 13:49:46 ID:J3HGZUDO
分かりやすくなっているのなら良いけど、>>788の本に限って言えば
特に分かりやすくなっていなかった。(だから「無駄に」って書いた)

その本とDirectX SDKのサンプルやMSDNの記事を両方を読んでみて
SDKのサンプルやMSDNの記事の方が分かりやすかったし、役にも立った。

796 名前:名前は開発中のものです。 :2007/04/23(月) 14:26:03 ID:OWFbmL7a
そりゃSDKサンプルとかMSDNの方が分かりやすいとは思うけども、やっぱ本は必要だよ
画面小さいといちいち窓切り替えて見比べたりしづらくて、うがー、ってなる
あと暇なとき寝ながらでも読んでいられるし

797 名前:名前は開発中のものです。 :2007/04/23(月) 15:00:28 ID:tsYZMPWC
WUXGA+UXGAの環境だと
窓を切り替えたり画面小さくしたり
することに逆に憧れる

798 名前:名前は開発中のものです。 :2007/04/23(月) 20:34:58 ID:VAXcyTmS
環境は人それぞれ


ゲーム作って実感しましたorz

799 名前:名前は開発中のものです。 :2007/04/27(金) 15:48:01 ID:n7RHrMRn
エグゼクートバッハー復活希望。

800 名前:名前は開発中のものです。 :2007/04/28(土) 00:58:45 ID:Z/Gf1X1D
外人のコミュニティで言って来い

801 名前:名前は開発中のものです。 :2007/05/02(水) 14:11:20 ID:KXh7uMcr
スキンメッシュのフレーム情報の管理に関して質問でつ。
ボーンとか仕込むとメッシュが階層構造持つことになるけど、
それぞれのフレームが持つ情報へアクセスする方法はどうやるのが一般的?

自分はいま全フレームへのポインタを一次元配列で確保しといて、
そのポインタを通じてフレーム内情報の読み書きをしてるんだけど。。。
階層構造とか再帰とかあんまり経験無いからどうすればいいのか……。

802 名前:名前は開発中のものです。 :2007/05/02(水) 15:23:45 ID:AUBROcJl
一番簡単な実装方法は再帰でツリーをたどる関数を作る
オーバーヘッドが気になるならば
ロード時にフルパス名を作ってそれをキーにしてマップに登録

803 名前:名前は開発中のものです。 :2007/05/02(水) 19:23:04 ID:KyLZIh1Z
好みの問題じゃないか?

基本は1つの頂点バッファで管理。
派生クラスでは体のパーツ(ボーン?)毎に、
頂点バッファ上での範囲を管理していて、
体の中心から変換マトリックスを更新しつつ、
範囲ごとに表示。

ローポリでいくつもりなので、
俺の場合はこんなもん。

804 名前:名前は開発中のものです。 :2007/05/04(金) 17:40:46 ID:0dDZmDLF
DirectX 9.0cでアプリケーションを作ってるのですが
普通に動かすと40FPSぐらいですが
Windows Media Player11を起動させておくと
60FPSに跳ね上がります。なんで??

805 名前:名前は開発中のものです。 :2007/05/04(金) 17:47:27 ID:rCIAddhL
普通に動かして40fpsってどんなスペックやねん

806 名前:名前は開発中のものです。 :2007/05/04(金) 17:49:11 ID:YK9pHZvN
>>804
タイマーの分解能の設定は?

807 名前:804 :2007/05/04(金) 18:15:02 ID:0dDZmDLF
>>806
timeGetTime()で設定とかはとくにしてないですが
40FPSだと見た目でガタガタになるのがわかるので
おおよその値はあってると思います。

808 名前:名前は開発中のものです。 :2007/05/04(金) 18:17:03 ID:7nXNmJ5J
>>807
いや・・・・・・・・そうではなくて
設定してないなら設定しろと言っていると思われます

809 名前:804 :2007/05/04(金) 18:22:57 ID:0dDZmDLF
>>806、808
はうあ! MediaPlayerを立ち上げなくても速くなりました!
MediaPlayerが共通のタイマーの設定をしてたということでしょうか。
ふしぎふしぎ。ありがとうございました。

810 名前:名前は開発中のものです。 :2007/05/04(金) 18:54:44 ID:AOCsVjjH
ふしぎーのもーりーはー

811 名前:名前は開発中のものです。 :2007/05/04(金) 21:33:47 ID:kIqerJ6I

メディアプレーヤーを起動してると速くなる系の質問はかなり頻出

某掲示板で検索してもわんさか出てきた
ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=49&vew=100

様はtime**系の設定はシステムグローバルだってことね

812 名前:名前は開発中のものです。 :2007/05/04(金) 22:20:15 ID:+fXYp4ha
>>804
もう解決したが、
timeBeginPeriod(1)
timeEndPeriod(1);
だな

813 名前:名前は開発中のものです。 :2007/05/04(金) 22:20:59 ID:+fXYp4ha
これ、Win98から、Win2000に移ったころハマったよ。懐かしい(昔話)

814 名前:名前は開発中のものです。 :2007/05/05(土) 22:52:08 ID:JPwlhljg
自分の環境では、サイズを自由にしてテクスチャを生成できるのですが
そういう環境でも、テクスチャサイズを2のべき乗にした方が
スピードアップできるのでしょうか?

815 名前:名前は開発中のものです。 :2007/05/05(土) 22:53:55 ID:esePaGjw
何故実験環境があるのに、自分で測定しようとしない?

816 名前:名前は開発中のものです。 :2007/05/05(土) 23:13:52 ID:JPwlhljg
今は、指定数値のままの自由サイズでテクスチャを作成できるように
してるだけで、それを2のべき乗に拡大して(余剰分は透明色にする)
生成するルーチンの実装はまだやってないのです。
2のべき乗にした方が速くなると分かれば、そのように実装しますが
そうでないなら無駄な労力を使いたくないという事です。


817 名前:名前は開発中のものです。 :2007/05/05(土) 23:16:34 ID:WrGZaJEA
じゃぁ、お前の環境とやらを住人全員に配布しないとだめだな。

818 名前:名前は開発中のものです。 :2007/05/05(土) 23:24:16 ID:DhyAmmhw
>>817
>>816は別に配布するんじゃなくて自分専用の何かを作るってるんでないの

2の整数乗でないサイズのテクスチャに対応したハードなんて
持ってる人どんだけいるんかね

819 名前:名前は開発中のものです。 :2007/05/05(土) 23:39:41 ID:7/qHIZUN
2のべき乗の方が速い。

820 名前:名前は開発中のものです。 :2007/05/05(土) 23:45:51 ID:JPwlhljg
おお。サンクスです。
自分のPCのグラはオンボードなので、現代じゃ一般的だと思ったのですが
そうじゃないのですかorz

821 名前:名前は開発中のものです。 :2007/05/06(日) 00:01:04 ID:Z93//tsU
速い遅いというのが何を指しているかによるが
Directt3Dサーフェイスには幅の他にピッチという概念があるので
テクスチャ作成に関わる部分では、サイズがいくつだろうが変わらないと思う。
フィルタリング(ミップマップ)は2^nサイズだと、最適化ルーチンが使えるので
そっちの方が速そうだ。
テクスチャサンプリングはGPUのリッチさによりけりだな。


822 名前:名前は開発中のものです。 :2007/05/06(日) 00:02:33 ID:6yYXhBO8
自分で試すまでどっちが早いかなんて分からない。

823 名前:名前は開発中のものです。 :2007/05/06(日) 00:03:58 ID:8J0PSu8D
>速い遅いというのが何を指しているかによるが

テクスチャの表示です

824 名前:名前は開発中のものです。 :2007/05/06(日) 00:36:27 ID:a/Y3MxCW
>>804-813
自分も同じことにはまってました。
なぜか特定のマシンだけ極端にFPSが上がらなくて、VirtualPCを立ち上げると
FPSが高くなってました。

timeBeginPeriod、timeEndPeriodはアプリケーションの開始と終了に書いてましたが、
それを変更したら直りました。
どうもありがとう。

825 名前:名前は開発中のものです。 :2007/05/06(日) 12:47:32 ID:RU6zDoh8
>>816
テクスチャの内容なんて影響ないと思うから重要なのはテクスチャのサイズだけじゃないの?
サイズが2のべき乗かそうでないかの違いしかないんじゃない?
だから現状指定数値で実行できるなら

わざと2のべき乗のサイズにしたテクスチャの場合

2のべき乗のサイズでないテクスチャの場合

で速度を測ってみればいいじゃない
とりあえず表示はちゃんとしてなくても速度だけ測れればいいんでしょ?
ならこれで測れば問題ないんじゃない?

ただ、上の人も言ってるけど何が影響するのか要素が多すぎて
やってみてナンボってところあると思うよ
ミップマップとか、バイリニアフィルターとか、UVのアドレッシングモード、
1フレームでテクスチャ切り替えを頻繁に行ったとき、
1フレームでテクスチャ切り替えを頻繁に行わなかったとき
とかなんかちょっとした条件の変化で速度変わるかもわからんしね
テスト画面作ってるときは影響なかったけどゲーム作ってみたらモリモリ重くなったとかありがち。

ちなみに俺の環境ではたいして違いは無かった

826 名前:名前は開発中のものです。 :2007/05/06(日) 20:25:23 ID:Ehnv/+Iu
>>818
GF6600以降のグラボは全部自由サイズのテクスチャに対応してる。
ただし範囲外サンプリングはCLAMPに限定され、
ピクセルシェーダー命令が一部使えないけどな。

827 名前:名前は開発中のものです。 :2007/05/06(日) 20:58:18 ID:rhIxqW9P
>>826
GF6600は含まれてますか?

828 名前:名前は開発中のものです。 :2007/05/06(日) 21:01:14 ID:99tSTB5S
GFは、か・・・

829 名前:名前は開発中のものです。 :2007/05/06(日) 21:10:39 ID:brQOxHaj
これがゆとりか。

830 名前:名前は開発中のものです。 :2007/05/06(日) 21:48:05 ID:eoXP2/pR
>>826
制限があるのはNONPOW2CONDITIONAL
これはGF6600どころか、もっと前から使える。
というのも、この機能の制限をよく考えれば分かるが、POW2テクスチャの
一部を使えば実装できるようになっているので、ドライバが対応すれば
どんなチップでも対応できる。

GeForceは6シリーズから、真のNon-Pow2テクスチャに対応したから
細かい制限は無いよ。(仕様上テクスチャ圧縮は使えないが)

831 名前:名前は開発中のものです。 :2007/05/06(日) 22:19:49 ID:iZbcH5zM
TextureCaps の D3DPTEXTURECAPS_POW2 と D3DPTEXTURECAPS_NONPOW2CONDITIONAL は
(Yes, No)、(Yes, Yes)、(No, No) の3パターンがあるから注意しないとね。

dxinfoで調べた限りでは、無条件の (No, No) なのはNVIDIAのGeForce6シリーズ以降だけで、
ATIは最新のRADEON X1000シリーズでもいまだに条件付きnon-pow2しか使えないみたい。
http://www.netsphere.jp/dxinfo/

832 名前:名前は開発中のものです。 :2007/05/07(月) 10:07:13 ID:5DQ2mBLB
自分で3Dエンジン組めば分かるけどpow2のテクスチャはビット演算だけでrepeatとか可能で非常に便利。

俺はゲームで使うテクスチャは3D絵はpow2、2D絵は自由サイズにCAMP限定でエンジン組んでる。
non-pow2対応してない場合はpow2のテクスチャに拡大転送してUVは内部で自動再計算。

833 名前:名前は開発中のものです。 :2007/05/08(火) 13:27:17 ID:RIeDnWhP
GetIndicesについてなのですが、英語版MSDNでは引数が二つで、日本語版では一つです。

英語版MSDN
ttp://msdn2.microsoft.com/en-us/library/bb174391.aspx
日本語版MSDN
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/graphics/reference/d3d/interfaces/idirect3ddevice9/getindices.asp

D3D8からD3D9に書き換える上でこの問題にぶつかりました。
D3D8では英語版のものと同じで引数が二つです。

二つ目の引数を取得したいのですが、GetIndicesで取得する方法、もしくは他の関数がありますか?
よろしくお願いします。

834 名前:名前は開発中のものです。 :2007/05/08(火) 17:35:02 ID:mVBGg0iS
ヘルプが間違っているんだから、ヘッダを確認するのがプログラマの常識。

835 名前:833 :2007/05/08(火) 19:07:00 ID:c2lqje6h
ヘルプが間違っているのですか…。ということは英語版のMSDNも。
ヘッダの確認もしたのですが、なにぶんあまり知識がないものでよくわからなかったのです。
なのでこちらで質問させていただきました。

BaseVertexIndexの取得についてですが、自己解決しました。
この引数を検索したら、DrawIndexedPrimitiveで使ってますね。

ありがとうございました。

836 名前:名前は開発中のものです。 :2007/05/08(火) 23:17:50 ID:yEwVRv2d
2のべき乗にしたがるのはswizzlingを一発で通したいからなんじゃないの

837 名前:名前は開発中のものです。 :2007/05/09(水) 10:09:33 ID:51Ld+rsF
RTSみたいなゲームを作ってる者なのですが
描画速度が思うように速くならずに、非常に困っております。

画面サイズは800×600で、フィールドは32×32の板ポリゴンをタイル状に敷き詰めてます。
その上で動くユニットと小物オブジェクトも全て板ポリゴン(一部ビルボード)です。
それを1フレームごとに
Clear
フィールド描画 = SetTexture()→DrawPrimitiveUp()を各タイルごとに約500回
ユニット&オブジェ描画 = Vertex配列に座標数値を代入して
              SetTexture()→DrawPrimitiveUp()を平均500回(500オブジェ分)
Present
と描画してるのですが、当方の環境はP4 1.8GHzでオンボードのグラボですが
せいぜい28FPSまでしか出せません(ポーズ中の描画Onlyのみで)。

たかだか1000個の板ポリゴンを描画するだけでFPS30もいかないものなんでしょうか?
これで本来の内部処理を加えると、20FPSが限界になってしまいます。
1フレームごとに
頂点配列に数値代入(フィールドタイル以外)→SetTexture()→DrawPrimitiveUp()
を板ポリの数だけ繰り返すやり方では駄目なのでしょうか?


838 名前:名前は開発中のものです。 :2007/05/09(水) 10:54:03 ID:rTpY446L
Direct3Dはテクスチャの切り替えとDraw系関数のコールがびっくりするくらい遅いので、
板ポリゴンはなるべくひとつの頂点配列に溜め込み、
テクスチャはなるべく一枚のテクスチャに詰め込み座標ずらしで対処して、
Draw系関数のコールとテクスチャの切り替えを少なくすればそれなりに改善されると思うよ。
まぁ1000回程度ではそこまでガタ落ちしないから、他にも問題抱えてそうだけど・・・。

パフォーマンスまわりの話は文面だけだと話しが拗れがちだから、
こーゆーとこで質問するよりプロファイラの読み方覚えた方が良いかと。

839 名前:名前は開発中のものです。 :2007/05/09(水) 14:05:17 ID:mwYHV51h
2chでDirect3Dのパフォーマンス絡みの話題となると、
ステートの変更を減らせとかDraw系関数の呼出回数を減らせとか、
結局そんな一般的なことしかなかなか書けないんだよね

プロファイラの読み方というかプロファイリングについての基本的なことなら、
とりあえずここを最後まで読んでみることをすすめてみる。

http://msdn2.microsoft.com/en-us/library/bb172234.aspx

長いけど、中でやってることは単純

840 名前:名前は開発中のものです。 :2007/05/09(水) 14:14:56 ID:kPjUjaY4
グラボの名前とテクスチャの解像度も書こうぜ
トライアングルセットアップがボトルネックとは限らん

841 名前:名前は開発中のものです。 :2007/05/10(木) 23:34:29 ID:mOs/ZOHf
IDirect3DDevice9::CreateOffscreenPlainSurfaceで作った
サーフェイスにレンダリングすることってできますか?

842 名前:名前は開発中のものです。 :2007/05/10(木) 23:53:06 ID:3Zh/e+WU
no you can do it

843 名前:841 :2007/05/11(金) 00:17:56 ID:XDYeDF5T
>>842
僕の質問に対する回答でしょうか?

844 名前:名前は開発中のものです。 :2007/05/11(金) 00:47:00 ID:lpID6sKi
no i did

845 名前:名前は開発中のものです。 :2007/05/11(金) 01:05:36 ID:JAYMlBr0
英語の "Yes/No" は、日本語の「はい/いいえ」と
厳密に対応してはおりません。

842と844は
"All your base are belong to us"
レベルの英語もどきですね。

846 名前:名前は開発中のものです。 :2007/05/11(金) 01:51:06 ID:tUcXbWHz
no this engrish is yours

847 名前:名前は開発中のものです。 :2007/05/11(金) 01:56:20 ID:AeMEV9bt
>>845
842も844もネタだろ?
そのまま「はい」「いいえ」に置き換えたとしても
質問文の内容から考えて意味が通ってないしw


848 名前:名前は開発中のものです。 :2007/05/11(金) 02:40:30 ID:EKcw+E3D
>>841
できません。

849 名前:名前は開発中のものです。 :2007/05/11(金) 09:50:20 ID:FgQCKaVQ
>>841
できないし、そんなことをするような状況が存在しないだろう。

850 名前:名前は開発中のものです。 :2007/05/11(金) 17:53:19 ID:MwuPxxrI
>>849
GPU使った汎用演算で使いたいのかも。
まあ、その場合でも普通のテクスチャ使うか。。。

851 名前:841 :2007/05/11(金) 23:05:46 ID:XDYeDF5T
>>848,849,850
ありがとうございました

852 名前:名前は開発中のものです。 :2007/05/11(金) 23:22:19 ID:0n1zgmNP
>>838
>>839
どうもありがとうございました。


853 名前:名前は開発中のものです。 :2007/05/11(金) 23:45:13 ID:vswfU1qI
>>838-839
>>837の問題に対してまとめたところで意味あるのか?と聞きたい
例えばこの処置で速度が2〜3倍になったとしてもそれでも60FPS多分届かないぐらいなんだぜ
チップを敷き詰めるならロード時にチップ敷き詰めたデカイテクスチャを作ることだってできると思うんだが
こういうゲームではどうなんだろうか?
まあ、ゲームのマップ全体を作れとは言わんがある程度のまとまりで逐次ロードしつつ作れれば
描画時のポリ数に悩まされることはないんじゃないだろうか?

少なくとも俺はDrawPrimitiveにポリゴンをまとめて突っ込むなんてのはなんの解決策にもなってないと思うんだけど?
だってDrawPrimitiveって普通に何回も呼ぶぜw
呼ばなきゃゲーム作れねぇじゃんw
エフェクトによって2度描き3度描きよくやるぜw
やっぱさ、このまとめる形の最適化ってなんかおかしいと思えってw

854 名前:名前は開発中のものです。 :2007/05/11(金) 23:54:11 ID:otpRAX3c
そうえいば、DirectX10でDrawPrimitiveのボトルネックが無くなるとか
噂を聞いたがどうなったんだ・・・・?



855 名前:名前は開発中のものです。 :2007/05/12(土) 00:29:50 ID:8iMaV2en
>>853
いやー、結構効果あると思う。以前おれも同じ状況になったし。
その時はスプライト?(ポリゴンx2の四角形、画面上で32x32ピクセルくらい)
一枚一枚でDraw〜()呼んでたら数百枚で60fps割った。

でもテクスチャが同じスプライトをまとめて、Draw〜()の回数減らしたら
30000枚くらい描画しても60fpsをキープできるようになった。

856 名前:名前は開発中のものです。 :2007/05/12(土) 00:57:05 ID:8iMaV2en
なんか思い出してきた。

たしかその時は同じ頂点バッファを使いまわしてたんだ。(=頂点4つを数百回反復使用。。。)
1フレーム間に同じバッファで何回もLock → Drawを繰り返したのが悪かった気がする。
だからDraw〜()の回数もあると思うけどバッファのLockにも注意すべきかと。

857 名前:名前は開発中のものです。 :2007/05/12(土) 01:02:49 ID:Dzr5JW1q
>>853
おたくのゲームの作り方に関係なく「DrawPrimitive」には
相当のCPU負荷が存在するのは現実世界での事実だ。

だからあの手この手でDrawPrimitiveを減らすための努力や
システムを組むのに時間をかけるんだろう。

そのためだけにわざわざMSが専用APIが実装したり、
GPU Gemsにそれを扱った章が掲載されたりしている。

DirectX10では改善されているが、DirectX9まではそこがボトルネック
なのだからそこをいかに減らすのかもプログラマの腕の1つ。



858 名前:名前は開発中のものです。 :2007/05/12(土) 01:08:37 ID:gQi1O0td
fbxやtga等のファイルを作成する開発環境でフリーで良いのありませんか?

859 名前:名前は開発中のものです。 :2007/05/12(土) 01:14:19 ID:LW0FYzwB
>>857
いや、重いのはわったけどさ
劇的に早くはなんねーってことよ。

なんつーの?DrawPrimitiveにまとめて突っ込むとかやりだすようになったら
手法を根本的に変える必要があるときだと思うのよ(まあ、例として>>853つーことで)

例えば、ソートをバブルソートが遅いからってクイックソートに変えて解決する問題って少ないと思うんだよね。
そりゃオーダーが全然違うし、クイックソートの方がはるかにはえーよ。それはわかる。
でも、実用的じゃないでしょ?
そういう話よ。

ゲームに限らずよ、ただ目先の数値につられてホイホイ最適化しちゃうのってまずいと思うぜ。
もう、これやるっきゃねーよ。って状況が意外と少ないと思うのよね。

860 名前:名前は開発中のものです。 :2007/05/12(土) 01:47:38 ID:rTYk//u9
>>858
http://goldenstudios.or.id/products/GTGE/

861 名前:名前は開発中のものです。 :2007/05/12(土) 02:40:52 ID:LW0FYzwB
でだ、そうはいってもまとめなきゃ動かんようなものもある
弾幕STGの弾とかやるっきゃないね
ただ、こういうのは俺の中ではええねんw

だってこんなのもともと普通じゃできねぇような量を描画しようとしてるじゃん
しかも、普通だったら全部カメラに入るなんてまずないのに2Dであるために全部描画しなくちゃいけないとか特殊事情
だからこれはどうでもええねん。
できないような量を無理やり動かすんだから大いに最適化してくれって感じじゃん。
魂までもすり減らせって感じだ。

ただ、マップなんかは普通じゃん。

俺がいうところの何を普通っていって何が異常かってのがわからん?
これはオブジェクト単位で普通とかどうとか言ってると思うw

パーティクルやらちょっとまとまった単位でのもんってのは他のやり方があると思うんだよね。
もう、パーティクルなんてやめてアニメーションテクスチャにとっかえちゃうとか、
マップチップも3D空間にもってきたら下地じゃん。これもやりようがあると思うんだよね。
ただ、弾幕STGの弾は弾1つでオブジェクトなんでやりようがないと思うんだよね。
この場合は妙ちくりんなワザ使って最適化する必要があると思うんだよね。
って感じ。

だからやらなきゃいけんところはやらなきゃいけんと思うんだけど
そういうところって少ないと思うんだよね。
ああ、で、やっちゃいけないところをやっちゃうと
今度は身動きとれなくなっちゃうって感じなので(やってることが最適化なので当然だが)あんまりこの
DrawPrimitiveにまとめて突っ込む手法ってのはやる前に別のやり方がないかちょっと考えたほうがいいと思うんだよね。

862 名前:名前は開発中のものです。 :2007/05/12(土) 05:31:59 ID:s6MTii/R
凄いぞ。書けば書くほど論旨がぼやけていく。

863 名前:名前は開発中のものです。 :2007/05/12(土) 06:02:47 ID:NH4reycD
噛めば噛むほど旨みが出てくるのなんてするめくらいだろ

大抵のものは噛めば噛むほど不味くなる。
それと同じ

864 名前:名前は開発中のものです。 :2007/05/12(土) 06:58:58 ID:bENb6ppL
またこの話題か
CPUがネックになってるかGPUがネックになってるかでどっちがいいのかなんて変わるだろ

865 名前:名前は開発中のものです。 :2007/05/12(土) 07:04:06 ID:jgOYrxmU
バッチの話題になると妙に血気盛んに意味無い論語り出すアホがいるよな

そんなもんケースバイケースだ、で終わるのに

866 名前:名前は開発中のものです。 :2007/05/12(土) 08:51:13 ID:LW0FYzwB
>>865
>ケースバイケース
それだってある程度法則があると思うんだけど
まあ、こんなDrawPrimitiveに全部突っ込むなんてのは稀だよ

867 名前:名前は開発中のものです。 :2007/05/12(土) 09:37:22 ID:l19wAVj/
まぁ、少なくともこのケースはDrawPrimitiveが原因だと思うが・・・。

868 名前:名前は開発中のものです。 :2007/05/12(土) 09:48:15 ID:Dzr5JW1q
ケースバイケースでもあるし程度の問題でもある。
何も画面描画を1回のDPで行えなんて無茶は誰も言ってないだろ。

描画数が多くてある程度まとめられるものをまとめようぜ、って話だろ。
背景のマップチップや弾幕STGの弾みたいなものはソートがそれほど重要でもなく
数だけはべらぼうに必要な場合が多いからそういうものはまとめる。

フォント描画のときだって1文字ずつDP呼び出すなんてまずしないだろ。
最近のD3DXFontですらキャッシュするように改良されてるんだから。

GPUがネックの場合はまとめようがまとめまいが処理落ち確定だから意味ないけどな。
GPUがネックなら基本的に数を減らすしかねぇ。

869 名前:名前は開発中のものです。 :2007/05/12(土) 09:48:27 ID:LW0FYzwB
>>867
解決策のアプローチの話なんだが・・・

870 名前:名前は開発中のものです。 :2007/05/12(土) 09:55:02 ID:LW0FYzwB
>>868
>数だけはべらぼうに必要な場合が多いからそういうものはまとめる
こうかくと1フレームのこういうモデルの描画すべてをまとめようとする奴がいる
あくまでオブジェクト単位でまとめるだけって書いておきたいw

871 名前:名前は開発中のものです。 :2007/05/12(土) 10:04:33 ID:jgOYrxmU
>>868
日本語読解力の欠けた俺に
ケースバイケースと程度問題の違いを教えてくれ

なんて不毛な論争なんだろうか

872 名前:名前は開発中のものです。 :2007/05/12(土) 10:40:39 ID:YCiJgexp
通訳しよう。

「他人の話はどうでもいい、俺様の話を聞け」

873 名前:名前は開発中のものです。 :2007/05/12(土) 10:54:26 ID:LW0FYzwB
>>871
横から突っ込むけど明らかに違うだろ、日本語的にも

874 名前:名前は開発中のものです。 :2007/05/12(土) 10:58:01 ID:tqnBkZXU
アイデンティティの問題ってのもあるから難しいよね。

身の程に合わないほど自意識を肥大化させたオッサンって、
現実では、 実際の待遇>>>自己評価  という状況に必ず直面する。
そうなると、普段抑圧している分、こういう場で
必要以上に自尊心を満たそうとし始める。

メンツに固執し、自分がトップに立つ形で決着がつかないと暴れ始める。
自分が一番でないとアイデンティティが崩壊するから、妥協できない。
相手の意見を認める、見解の違い・表現の違いを容認する柔軟性がなくなる。
そしてネットでも加齢臭をまき散らし、嫌われる。

「匿名の状況下では君の自尊心は何の意味も持たない」
という単純な現実を受け入れてくれればよいのだが。

875 名前:名前は開発中のものです。 :2007/05/12(土) 11:12:42 ID:LW0FYzwB
このタイミングでそのレスはさすがになにがいいたいのかわからない


■過去ログ置き場に戻る■ 1- 前250 最新50
DAT2HTML 0.33f Converted.