DirectX総合スレat GAMEDEV
DirectX総合スレ - 暇つぶし2ch1:名前は開発中のものです。
04/05/05 12:33 dP7V/vQq
DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。


2:(´_ゝ`)<そして全日空
04/05/05 12:46 1QDNglNJ
(´_ゝ`)<そして全日空

3:名前は開発中のものです。
04/05/05 13:08 MrXU4j8T
スレリンク(tech板)

4:名前は開発中のものです。
04/05/05 13:18 7AE6wck8
■Microsoft DirectX Developer Center
URLリンク(www.microsoft.com)

5:名前は開発中のものです。
04/05/05 13:47 MrXU4j8T
コンパイラ

■Visual C++ Toolkit 2003
URLリンク(msdn.microsoft.com)

■BCC
 URLリンク(www.borland.co.jp)
 説明 URLリンク(www.cmagazine.jp)

6:名前は開発中のものです。
04/05/05 14:11 mnCmBu23
Delphi

■Delphi・・・コンパイラ
URLリンク(www.borland.co.jp)

■QuadrupleD・・・DirectXサポート用コンポーネント群
URLリンク(www-fu.magma.ne.jp)

■QuadrupleD入門サイト
URLリンク(deliverer.s5.xrea.com)
URLリンク(delphi.nce.buttobi.net)

7:名前は開発中のものです。
04/05/05 19:00 mnCmBu23
BCC5.5でDirectX9.0bを使う
URLリンク(goldfly.ld.infoseek.co.jp)
※C++BuilderXでも概ね同じ方法でOKです

ID3DXSprite インターフェイス [ 0からのゲームプログラミング ]
URLリンク(www.plustarnet.com)
DirectX日本語ヘルプはsummerの変更が反映されていません

8:名前は開発中のものです。
04/05/06 17:34 JOxU/j0K
Microsoft DirectX スライド in GDC 2004
Game Developer Conference 2004 で Microsoft Windows
Graphics and Gaming チームが発表したスライド (英語) が
公開されました。ダウンロードページからダウンロードしてください。

URLリンク(www.microsoft.com)

9:( ´_ゝ`)<そして全日空
04/05/06 18:11 KjPnHi8P
( ´_ゝ`)<そして全日空

10:名前は開発中のものです。
04/05/06 23:10 aQq89bHa
cygwinからDirectXを使う方法も教えてくれ。

素直にOpenGL使ったほうが早いか?

11:名前は開発中のものです。
04/05/07 01:27 cOyMxUPw
>>10
gcc使いたいってことだよね。

俺はDirectX8以前の頃にCygwin+SDL、Cygwin+DirectDrawを
やってたんだけど、DirectDrawのときはdllをCOMインタフェース
経由で呼び出していた。ヘッダファイルは自前で変換してたが
ネット上でgcc用のportが存在することを後で知った。
mingw32(with Dev-C++)もいい感じらしい。

DirectX9+BCC(BCBX)はすんなりイクという話を聞いたが、まだ試してない。

12:名前は開発中のものです。
04/05/07 01:47 yuOOy6gm
>>10
フリー版のVS.NETが出たんだから
素直にそっち使ったほうが早いんじゃない?

13:名前は開発中のものです。
04/05/07 09:25 vcA11uZ8
VCとVSを混同している馬鹿がいるのはこのスレですか?

14:名前は開発中のものです。
04/05/07 13:30 UAroqB1G
>>12
フリーになったのはVC++Toolkit2003(IDE無し)ね。

15:名前は開発中のものです。
04/05/07 14:50 q3RqwX4P
>>12
>>5

16:名前は開発中のものです。
04/05/07 15:19 UAroqB1G
>>13
IDがvcだね。

17:名前は開発中のものです。
04/05/08 08:23 mfipoThn
>>11-14
情報thx

でも駄目だ。
gccからはDirectX9.0bはまだ使えなさそうだし、
Platform SDKダウンロードしても
Win32.makってファイルが無いせいで
サンプルのビルドすらできやしねー。

BCC+DirectXをいってみます。

18:名前は開発中のものです。
04/05/08 13:54 Uo5OKKLo
>>17
Win32.mak入ってるよ。Platform SDK(のCore SDK)。
includeの中にある。


19:名前は開発中のものです。
04/05/08 17:26 QDJf+GfF
>>18
ほんとだ。thx

どうしてcygwinのfindで見つからなかったのかと思ったら、
ファイル名がWin32.「M」akだった。

20:名前は開発中のものです。
04/05/21 01:06 T6yAoRf3
質問です。
DirectSoundでWAVEを再生するところまでつくり、次はストリーム再生を
作ろうとサンプルコードなどを見ながら作ってたのですが、
LPDIRECTSOUNDNOTIFY lpDSN;
lpdsb->QueryInterface(IID_IDirectSoundNotify, (void**)&lpDSN);
↑サウンドバッファ
を実行させると、リンクエラーが出て外部シンボルIID_IDirectSoundNotify
は未解決です。
と出てしまいます。
VC6ですが、どなたか解決方法知ってますでしょうか

21:名前は開発中のものです。
04/05/21 13:42 wStc1ieo
>>20
DirectSoundのDLLを静的リンクで呼び出してるなら
libファイルをリンクする必要があるんじゃないか。

22:名前は開発中のものです。
04/05/22 00:34 4nedp2kV
>>20
ソースの頭に
#pragma comment( lib , "dsound.lib" )
って追加しな


23:20
04/05/22 10:28 FMUKeovj
そうか!ありがとうございます。

・・・と、思ったら、>22の式は追加してありました・・・
じゃあ、原因は他にあるのでしょうか。

24:名前は開発中のものです。
04/05/22 12:40 LbUP4nLB
dxguid.libは?

25:20
04/05/22 21:08 QemK3kxi
できました!

しかし、むかーし試しに作ったときはこれ入れなかったような・・・

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

26:名前は開発中のものです。
04/05/23 12:05 i0TzxYFQ
SDKインストールしてdllをデバッグ版にすると
WMPやDivXPlayer等でムービー再生した後、
必ずエラーが出ます(assertに引っかかる)

リリース版に戻したら出ないから、多分デバッグ版のdll
のせいだと思うのだけど、いちいち開発作業中の時だけ
デバッグ版にするのは面倒なので、なにか良い対処方は
ないでしょうか?

27:名前は開発中のものです。
04/05/23 14:12 sMx8z8ph
対策1 デバッグ版を使わない
対策2 WMPやDivXPlayerでエロムービー見ない
対策3 スクリプトで開発環境起動前&終了後にランタイム自動更新

28:名前は開発中のものです。
04/05/23 17:37 oGEbTlGR
>>26
その書き込みで思い出したが、その症状俺もなったことある。
解決策も見つからないまま、OSから再インスコして回避したわ。
確か、Win98SE時代だったと思う。
>>26はWin2KかXPで、そのトラブル出るのか?


29:名前は開発中のものです。
04/05/23 23:36 bql5BpTx
DirectXのランタイムには、リリース版など存在しない。

30:名前は開発中のものです。
04/05/24 22:59 oQMK23+C
デバッグ版/リテール版

31:名前は開発中のものです。
04/05/25 01:19 zGPR8UKi
頂点シェーダーとピクセルシェーダーって結局何が出来るの?
何かサンプル見ただけでは凄そうには見えない。
こんなことが出来るんだぜ!って言うサンプルっぽいのない?
教えてヌルい人。

32:名前は開発中のものです。
04/05/25 01:57 c2RwLaRO
URLリンク(www.t-pot.com)

33:名前は開発中のものです。
04/05/25 01:57 c2RwLaRO
あーサンプルじゃ駄目なのか。
最近の洋ゲーは使いまくりだろ。

34:名前は開発中のものです。
04/05/25 02:01 Ek7Dq4UE
>>31
URLリンク(www.daionet.gr.jp)

35:名前は開発中のものです。
04/05/25 13:24 ICaRrwFL
テクスチャの読み込みをしすぎるとどうなりますか?

36:名前は開発中のものです。
04/05/25 13:44 +HBu9ti6
PCが爆発します

37:名前は開発中のものです。
04/05/25 14:20 fGaL8YpI
>>35
VRAMやRAMやHD(スワップ)がいっぱいになる。
そしてメモリ不足エラーが出る。

38:名前は開発中のものです。
04/05/26 06:41 jD4pzKy5
ぜんぜんちがうよ


39:名前は開発中のものです。
04/05/28 11:45 RHmeZuoM
どんなサンプルでもいいので皆さんが作ったエフェクトのサンプルの
ソースを公開してください

40:名前は開発中のものです。
04/05/28 11:52 HF4xXT/k
>>31
ぶっちゃけ、大したことはできない。
固定機能で回りくどい事をしないといけなかったことがシェーダだと
効率よくできるだけ。

>>39
SDKのサンプルでも見てくれ。
っていうかエフェクトだけじゃ抽象的すぎて何を見たいのか分からん。

41:名前は開発中のものです。
04/05/28 12:25 Wuo17ZAH
URLリンク(www.microsoft.com)

42:名前は開発中のものです。
04/05/28 12:31 uAri/so6
t-potのサンプルを参考にして(というかほとんど全パクリで)ボーン処理のシェーダを書いたんですが
ライティングが中途半端にうまくいきません。VC++6.0で作ってます。
状況としては、
○デバッグモード:100%望んだように動きます
△リリースモードでF5(このファイルにはデバッグ情報が含まれてませんと出ます):色が変になります。
陰影はついてくれてます
×リリースモードでctrl+F5:lit命令が上手くいってないのか、モデル全体が黒く塗りつぶされます
シェーダを使うのは今回が初めてなので、なにか基本的なことを見落としてるのかもしれません
気づいたことがあったら教えてくれませんでしょうか。
URLリンク(gamdev.org)
ソースです

43:名前は開発中のものです。
04/05/28 12:44 pJJsvt1K
何か初期化を忘れているとか、そんなんじゃねーのか?

44:名前は開発中のものです。
04/05/28 15:23 6CXREz4m
>>42
ごめん。
俺、HLSLかCG以外のシェーダプログラムみると吐き気がするんだわw

45:名前は開発中のものです。
04/05/28 16:49 HF4xXT/k
>>42
そのlitは0以下をクランプするためだけに使ってるんだよね?
それってmaxじゃ駄目なん?

ちなみに、リリースモードとデバッグモードで動作が違う原因の9割が
初期化のミス。

あとアンビエントの計算がちょっと気になるが、まぁいっか。

46:名前は開発中のものです。
04/05/28 21:27 9IdxExwG
t-potにボーンとかスキンメッシュのサンプルなんてあったっけ?

47:名前は開発中のものです。
04/05/28 21:29 9IdxExwG
ぬおぉ・・・

48:名前は開発中のものです。
04/05/29 04:32 Uaz1UdRd
>>46

8.1のはあったな

49:42
04/05/29 14:24 54pOn5GZ
>43,>44,>45
アドバイスありがとうございました。プログラム側が怪しい雰囲気が濃厚なので
もうちょっと見直してみて、それでもだめならHLSLに挑戦してみます

50:名前は開発中のものです。
04/05/29 14:34 uUf6SfjO
>>49
HLSLに移ってから悩めよ。
手間が全然違うからw

51:名前は開発中のものです。
04/05/30 20:31 /o8ZeJNe
            / / }
           _/ノ.. /、
           /  r;ァ  }
      ry、     {k_ _/`;,  ノノ パンパン
    / / }      ;'     `i、 
   _/ノ../、   _/ 入/ /   `ヽ, ノノ
  / <  }''i" ̄.   ̄r'_ノ"'ヽ.i   ) ―☆
 {k_ _/,,.'  ;.  :.      l、  ノ  
    \ `  、  ,i.    .:, :, ' / / \
     ,;ゝr;,;_二∠r;,_ェ=-ー'" r,_,/   ☆
【ラッキーレス】
このレスを見た人はこのコピペを10分以内に
3つのスレへ貼り付けてください。

そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です

52:名前は開発中のものです。
04/05/30 20:45 gqie5aJR
自分のPCにDirectXのVerいくつが入ってるのか調べるにはどうしたらいいのですか。

53:名前は開発中のものです。
04/05/30 21:27 O+CO84dc
>>52
dxdiag

54:名前は開発中のものです。
04/06/04 02:17 CukMf8nH
3Dゲーム作りたいんだけど
何から勉強すればいい?
というかサイトとか本おせーて

55:名前は開発中のものです。
04/06/04 02:41 5KvRFHlB
スレリンク(gamedev板)

56:名前は開発中のものです。
04/06/04 22:15 I7wyYjo8
>>54
3Dはじめるなら
URLリンク(www.realdigital.co.jp)
ここをすすめる。
ある程度分かってきたら
URLリンク(www.t-pot.com)
定番かな、ここの本もいい感じ。

57:名前は開発中のものです。
04/06/06 09:18 Q4UVLz4O
DirectX8のテクスチャーで2Dスプライト風の表現をしています。
複数の小さな一枚絵をまとめて正方形テクスチャーに登録して、表示にはテクスチャーの
一部を指定して表示しているのですが、微妙にドットがずれて表示されます。
正方形テクスチャー一枚に、一枚絵を一枚だけ登録して、常にテクスチャー全体を表示すれば
ドットずれはなくなるのですが、メモリを無駄に消費しそうで困っています。

どうすればよいでしょうか?

58:名前は開発中のものです。
04/06/06 09:43 e9jfnD5Y
まずはヘルプを読め。

59:名前は開発中のものです。
04/06/06 10:43 1hsuYb9/
>>57
テクセルの中央を指定すれば解決。
生意気な古いビデオカードでは駄目だったりするが無視。

60:名前は開発中のものです。
04/06/06 14:14 7iwQ6HwF
URLリンク(www.microsoft.com)

61:名前は開発中のものです。
04/06/06 16:19 pBozh5OD
そこに書いてあるとおりにやってもはっきり行ってうまくいかないビデカが多いんだよな。


62:名前は開発中のものです。
04/06/06 19:56 /hLWjsOf
そうか? 具体的に問題の起こるGPUをカモン。

63:57
04/06/06 20:36 EGzuBYaV
おかげさまで、自分の環境ではちゃんと表示されるようになりました。
感謝感謝。

64:名前は開発中のものです。
04/06/06 21:06 GUcT5jJN
>>61
両面にテクスチャを貼ったときに
裏面のときは逆にずらさないといけないんだけど
それってできないよね?
裏面って判断がこっち側じゃできないしね。

65:名前は開発中のものです。
04/06/06 23:58 Gj32WtR9
なんのこっちゃ?

66:名前は開発中のものです。
04/06/07 00:04 LHdbSEFf
裏だろうが表だろうが、回転後にずらせば何の問題もない。
判断する必要性など微塵もない。

67:名前は開発中のものです。
04/06/07 22:50 FwHuc4eG
DirectXを使ったゲームをやっていると毎回一定時間プレイした後フリーズしてしまいます
正確にフリーズするまでの時間を計ったことはありませんが大体10分弱くらいです
スペック的に何の問題もないような軽いものでも必ずフリーズします
HDDのデフラグやOSのリカバリなど試してみましたが効果ありませんでした
OSはMe、DirectXは9.0bです
考えられる問題として何かありますでしょうか?

68:名前は開発中のものです。
04/06/07 22:58 5lhAR2Pf
MEかな?

69:名前は開発中のものです。
04/06/07 23:03 FwHuc4eG
MEですか・・・orz

70:名前は開発中のものです。
04/06/07 23:18 9HfJgGfm
Meなんか入ってるPCのグラボはなんだ?

71:名前は開発中のものです。
04/06/08 00:05 UIFbd3aA
熱暴走してんじゃねーか…?

72:名前は開発中のものです。
04/06/08 00:18 +ACyphnd
MEとDirectX9.0というあたりが、
牛丼に蜂蜜かけるという暴挙に感じられる。

73:名前は開発中のものです。
04/06/08 00:43 cn7xRIpP
>>70
オンボードチップセットです・・・

言われて気がついたんですけどドライバの更新するの忘れてて、最新のにしたら解決したっぽいです
つまんないオチですいませんでした

74:名前は開発中のものです。
04/06/08 07:06 DKBNTHTE
よろしい。次からはWindows板かPCゲーム板を使いたまえ。

Windows9X・Me質問スレッド Part40
スレリンク(win板)l50
スレッドを立てるまでもない質問&雑談【その23】
スレリンク(game板)l50

75:名前は開発中のものです。
04/06/08 09:42 2NLIQrvb
>>74
ちょっと不安だったんですけどやっぱり板違いでしたか、すみませんでした
ちなみに直ったと思ったらやっぱり全然直ってなかったのでとりあえずOS買い換えてみることにしました

76:はじめての開発
04/06/08 15:17 q0xZ9OCf
DirectX8をGCCでやりたいのですが、まったくわかりません。
どなたか、詳しく教えてください

77:名前は開発中のものです。
04/06/08 15:27 CuO7ENSF
検索しろ

78:名前は開発中のものです。
04/06/08 16:01 DKBNTHTE
>>76
ほれ
URLリンク(www.google.co.jp)

79:名前は開発中のものです。
04/06/09 00:38 CKAXd81C
XPでDirectXを9から8.1に戻す必要が生じたんですが、
MSのダウンロードサイトで8.1b for 98/Meのやつを今落としてます
これ入れて大丈夫なのでしょうか?ていうかこれしかないのか
どうかわからないのですが…ご指南ください

80:79
04/06/09 01:12 CKAXd81C
ぐぐってみましたが、
・古いバージョンは新しいものに上書きできない
・9を削除するのに必要なフリーソフトがある
とのことで、そこに行ってみましたが、いま休止してるようで
入手できずorz

81:79
04/06/09 01:14 CKAXd81C
戻す必要を生じたゲームソフトは、一度普通に遊べたんですが、
もっかい起動すると駄目でした。確認すると9に非対応、8.1を使えと・・
9のまま遊べないか模索してみます

82:名前は開発中のものです。
04/06/09 01:19 bUMJ4biL
少しは考えて投稿してはどうか

83:名前は開発中のものです。
04/06/09 08:00 /z+zLMAo
>>79-81
①まずローカルルールぐらい読みましょう。
②10レス手前の流れぐらいちゃんと読みましょう。
③板違いです。Windows板・PCゲーム板を使いなさい。
 
Windows9X・Me質問スレッド Part40
スレリンク(win板)l50
スレッドを立てるまでもない質問&雑談【その23】
スレリンク(game板)l50

84:名前は開発中のものです。
04/06/11 05:09 GW4miGK7
結局いまのところシャドウボリューム使ってゲームで使える程度の速度で
まともな品質でソフトシャドウ出すのって無理?あーでもボリューム使っても
結局alphatest使って書いてる木の葉の影とかが真四角になっちゃうしなぁ。
なんかだだっぴろい屋外のフィールドの建物とか木とかの影おとすのに
良い手法ってないですか?リネIIとかFF11とかはどんなカンジになってる?

85:名前は開発中のものです。
04/06/11 09:19 aQ0y+iKJ
リネ2は平面上にキャラの影をおとして張ってるだけ、
だから光源方向に建物の凸凹があると影が変な位置に映る。

86:名前は開発中のものです。
04/06/12 09:12 ITq9lqgq
まあぶっちゃけユーザーからすれば、影とかに凝るよりも
普通に遊べる速度であることのほうが必要だし
現段階では気にする必要ないのでは?
実験目的だったらスマソ

87:名前は開発中のものです。
04/06/12 10:30 nJebHZqt
つか、いっそ影そのものを省いてしまっても別に違和感はない。
円影だってとりあえずついてるレベルならいらないw

落下地点がミソになるアクションゲームだと無いと辛いけどね。

88:名前は開発中のものです。
04/06/13 03:59 95LCVeVH
その辺は絵柄によるな。あとはシーンによる。

89:名前は開発中のものです。
04/06/18 09:45 z15bpwIY
ソフトシャドウまでやってくれると心地よいけど、ジャギーだらけのディジタルな影を付けられてもうっとおしいことがしばしば。
というオレの3Dエンジンもいまんとこソフトシャドウサポートしてません。ステンシル2パス描画(ライトオフシェイダー・オンシェイダー)なのでただでさえ重いし。
16パスくらい描ければステンシルソフトシャドウも簡単にできるんだけどね。なんかうまい手はないものか。
ライトマップも簡単なフィルタリングしかしていないのでかくかく。
やぱい、完璧に世間に遅れをとっている。


90:名前は開発中のものです。
04/06/18 14:43 xHeZzj8T
万能の影エフェクトは“今のところ”無いからな。
 
より多くの選択肢を提供しておいて、状況に応じて最良のもの
「気持ちよく」選択できるようになってなければプログラマの
オナニーに成り下がるシナー。


91:89
04/06/18 18:15 z15bpwIY
>状況に応じて最良のもの「気持ちよく」選択できるようになってなければ

それはテクの蓄積ってやつじゃないか?数年前はプラナーシャドウオンリーだったけど、今はそれも選択しの一つなわけで。
数年前の某ゲーで使ったプラナー投影マトリックス(単なるy=0 N(0,1,0)平面と直線の交差)だけど、こんなんで良かった時代が笑える。
pMat->_11 = L.y;pMat->_12 = -L.x;pMat->_13 = 0.0f;pMat->_14 = 0.0f;
pMat->_21 = 0.0f;pMat->_22 = 0.0f;pMat->_23 = 0.0f;pMat->_24 = 0.0f;
pMat->_31 = 0.0f;pMat->_32 = -L.z;pMat->_33 = L.y;pMat->_34 = 0.0f;
pMat->_41 = 0.0f;pMat->_42 = 0;pMat->_43 = 0.0f;pMat->_44 = L.y;



92:89
04/06/18 18:23 z15bpwIY
今肝心なのは物理エンジンだね。物体同士の衝突と力点割り出しとか結構大変。これもリアルとスピードでトレードオフがあるし。レンダリング並の仕事量(物理用語でない方)が要求される。



93:90
04/06/18 19:08 xHeZzj8T
スマン。今読み返したら話の流れを一気に飛ばしてた。詫びる。
 
補間すると、俺は小物なので目下の関心はドラスティックな新技法の開拓ではなく
ある程度知られた既存テクの組み合わせとか、状況によって発生するartifactの
削減とか、なんか地味~な話題になってしまうんで。確かに場違いな発言であった。

94:90
04/06/18 19:10 xHeZzj8T
で、結果として>>90みたいな、オーサリングツールの方向に
話が飛んでしまったという流れだった。と自己分析。

95:90
04/06/18 19:14 xHeZzj8T
>>92
なんかネタに見えるんだが・・・。俺ってへそ曲がり?

96:名前は開発中のものです。
04/06/18 19:44 h4azSRvC
>>92
>今肝心

おいおい。その感覚はやや異質なものがありますよ。
「今肝心」の手前に「漏れの」を付け加えましょう。
 
剛体近似可能なものなら、既に定石的な手法が幾つも存在しますし
状況に応じた軽いチューニングで実用上差し支えない安定した結果
を得られますし、細かい不満点(例えば絵的に見栄えのする動きに
練りこんでいく部分など)はプログラマから切り離した作業で
改善したほうが効果的ですし。

97:名前は開発中のものです。
04/06/21 13:19 ZlR+KngR
DirectX9(sumemr 2003)を使ってフォントをつかったテキスト描画をしたいんですが
どういった方法が挙げられますか?

1.DIBにいったん描画→テクスチャ転送にでテクスチャを表示。
2.D3DXFontオブジェクトを使ってDrawTextAなどを使う。

とりあえず思いついたのは上の二つくらいなんですが。

98:名前は開発中のものです。
04/06/21 13:54 xW89oDgi
とりあえずさ、自分で思いついた方法で実際に組んでみろって。
何もしない内から無為に考え込む癖は是正したほうがよろし。

99:名前は開発中のものです。
04/06/21 14:15 PZViU7Lm
GetGlyphOutlineで取得したフォントをテクスチャに転送。
DIBを経由すると極端に遅くなるし、D3DXFontは論外。

100:名前は開発中のものです。
04/06/21 17:26 Z9w22r4l
GetGlyphOutline使うのはちょっとめんどいけどなー。

101:松本人志
04/06/21 18:28 +ROY13ZK
表示されりゃえぇやん、趣味なんやし。

102:名前は開発中のものです。
04/06/21 23:09 TcuEFiTN
DirectXを使っている方って文法とか全て覚えているのですか?

103:名前は開発中のものです。
04/06/21 23:18 JB4RB4tY
だいたいがヘルプ見てるだろ。

104:97
04/06/22 02:39 EKpBL9rJ
そうですね。とりあえず組んでみます。
初心者なのに構造とかを先に考えるのは悪い癖だなぁと自分でも思ってます。
みなさまありがとうございました。

105:名前は開発中のものです。
04/06/22 08:40 E798uQJt
const BYTE Table5[] = {0x00, 0x40, 0x80, 0xC0, 0xFF};
const BYTE Table17[] = {0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80, 0x90,
0xA0, 0xB0, 0xC0, 0xD0, 0xE0, 0xF0, 0xFF};
const BYTE Table65[] = {0x00, 0x04, 0x08, 0x0C, 0x10, 0x14, 0x18, 0x1C, 0x20, 0x24,
0x28, 0x2C, 0x30, 0x34, 0x38, 0x3C, 0x40, 0x44, 0x48, 0x4C,
0x50, 0x54, 0x58, 0x5C, 0x60, 0x64, 0x68, 0x6C, 0x70, 0x74,
0x78, 0x7C, 0x80, 0x84, 0x88, 0x8C, 0x90, 0x94, 0x98, 0x9C,
0xA0, 0xA4, 0xA8, 0xAC, 0xB0, 0xB4, 0xB8, 0xBC, 0xC0, 0xC4,
0xC8, 0xCC, 0xD0, 0xD4, 0xD8, 0xDC, 0xE0, 0xE4, 0xE8, 0xEC,
0xF0, 0xF4, 0xF8, 0xFC, 0xFF};


106:名前は開発中のものです。
04/06/22 08:43 E798uQJt
あ゛ー、ミスった…

GetGlyphOutlineってアンチエイリアスかけない場合の処理書くの('A`) マンドクセ


107:名前は開発中のものです。
04/06/22 12:02 pkopN+cU
>>106
ハゲドー。
GGO_BITMAPのときでもバイトマップで返してホスィよな・・
結局描画するときに変換しなきゃいかんし。

108:名前は開発中のものです。
04/06/26 11:52 htQDIYMv




109:108
04/06/26 15:01 4jQjSpOQ
「ガッ」されない。
ちょっと、しあわせ。

110:名前は開発中のものです。
04/06/27 04:15 27lljJU1
DirectXの書籍を探しているのですが、
これは絶対に読んでおけみたいな定番はないですか?
例えば Advanced Windows とかプログラミング Windows とかのような。

111:名前は開発中のものです。
04/06/27 06:51 uU0UIA3X
ヘルプとサンプル(マジで)

DirectXはヘルプとサンプルが充実してるし、
更新が早くて本がすぐ時代遅れになるんで、定番なんてものはない。
まあ、金銭的余裕があれば適当に買いまくっても大過ないが。

それより、某3Dグラフィックス数学あたりが必要と思ー。
URLリンク(www.gogo3d.com)

112:名前は開発中のものです。
04/06/27 16:47 27lljJU1
何かあった時にはペゾルト嫁とか言うかわりに
ヘルプとサンプル嫁という世界なのですな。

読んでわからなかったら、その時にはまた何か考えるとします。

113:デフォルトの名無しさん
04/06/29 22:19 Q9s/hxiB
HLSLをコンパイルしてどう展開されるか
を調べるたいんだが、なにかいい方法ありませんか?
シェーダープログラム(アセンブラ)の形式で
見れるのがいいんだけど。。


114:名前は開発中のものです。
04/06/30 03:15 dp9P8qeX
>>111
なぜかDirectXのいい本無いよね。
3Dの初学者だったら、OpenGLのほうがいいんじゃないか?
いい本がいっぱいあるし。DirectXのようにコロコロ仕様が変わったりしないし。


115:名前は開発中のものです。
04/06/30 03:53 +yXY0JqQ
ドット絵を拡大して2Dでぐりぐり動かしたいなーと思って
X9のスプライト機能使ってみたんですが、
なんか勝手にアンチエイリアシングされちゃってドット絵らしさがなっちゃうんですが・・・

X9のスプライト機能をアンチエイリアシング無しで使う方法ってあるのでしょうか?
教えてエロい人!


・・・スプライト機能で楽しようと考えている俺が間違っているのか?

116:名前は開発中のものです。
04/06/30 05:00 dp9P8qeX
>>115
サンプラーの設定を変える。
HRESULT IDirect3DDevice9::SetSamplerState( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value);
例:
 //拡大時・縮小時フィルタを点サンプリングに
 pD3DDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT );
 pD3DDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_POINT );


117:名前は開発中のものです。
04/06/30 08:15 NTrQHpJR
>>115
DirectXのラスタ化ルールをよく理解しる。

118:名前は開発中のものです。
04/06/30 17:35 dp9P8qeX
頂点構造設定ですが、SetFVF()ってDX9では旧式で、SetVertexDeclaration()がDX9でのやりかたですよね?
なので、CreateVertexBuffer()のFVFを0にして、SetFVFを使わずに
SetVertexDeclarationオンリーにしてみたんだけど、シェーダーオンリーだと動くんだけど、固定パイプラインを使うと飛びます。
固定パイプライン使うなら旧来の方式じゃないとだめなんですか?


119:115
04/06/30 18:41 +yXY0JqQ
>>116
情報アリが㌧御座います
でも、昨日既に試してました。ダメだったんです。


で、ふとX7のヘルプを見ていたら、
嫌~なことに気づいてしまいました。_| ̄|○

X7のスプライト機能の準備をする関数のD3DXPrepareDeviceForSpriteってヤツ。
中で
SetTextureStageState(0, D3DTSS_MINFILTER, D3DTFN_LINEAR);
SetTextureStageState(0, D3DTSS_MAGFILTER, D3DTFG_LINEAR);
とかやってるんですよ・・・

それでピーンときて
>>116
ID3DXSprite::BeginとEndの間に挟んでみたんですよ・・・・


_| ̄|○ チャントナッタヨ

ID3DXSprite::Beginの中でバイリニア服用してビンビンの悪寒ヽ(;´Д`)ノ
Bigin・・・BeginSceneの外に持っていけないし、外したら勝手に呼び出されるし・・・

>>116を毎フレーム殺るしかない薬缶。
毎フレームやっても問題ないのでしょうか?

120:名前は開発中のものです。
04/06/30 18:48 +yXY0JqQ
スプライト機能使うの諦めたほうが早いような気がしてきた・・・

121:155
04/06/30 20:18 +yXY0JqQ
あ、よく考えたら199はID3DXSprite::Begin内部でステート変更してるてことか。
今更俺が毎フレーム2コ程度ステート変更しても問題ないか。
結局>>116が一番正しかった。
漏れがアホだった。
ありが㌧

連投自己レススレ汚しスマソ

122:名前は開発中のものです。
04/06/30 20:19 +yXY0JqQ
(;´_ゝ`).oO(番号間違えすぎ 155->115 199->119)

123:116
04/07/01 15:19 WXjsa61Z
>>121
で、できたわけね。
ステートのチェンジのオーバーヘッドだけど、逆に何回ステートチェンジすると気にするほどパフォーマンスが変わるか調べてみれば?
ま、CPU→GPUへのデータの流れが少ない方がいいわけで、オレは、ステートの写しを取っておいて、現在のステートと同じであれば変更しないっていう風に組んでいる。


124:118
04/07/01 15:22 WXjsa61Z
結局、固定パイプラインを使うには、vertexDecl方式でなく、FVF方式でないとダメなようだ。
新式があるのに旧式でないとだめって、こういうのいやだな。
OpenGLにしとけばよかった。


125:名前は開発中のものです。
04/07/01 16:37 1vEsR6h1
旧式の固定を使うのに、新式で使えないのは当たり前だが。
古い機能を新しいメソッドに持ち込む方が混乱を招く。
間違いなくDirectXは向いていないから、今からでもOpenGLに逝った方がいい。

126:124
04/07/01 17:45 WXjsa61Z
>>125
は?
固定パイプラインが古い(obsolete)機能?
X9ネイティブだとシェーダーオンリー??
初耳だ。

127:名前は開発中のものです。
04/07/01 18:00 eBOQQwrF
インタフェースとしてはlegacyかな。
お手軽プログラミングの需要はあるので今後も
固定パイプラインインタフェースは残されるだろ。
尤も、最近のビデオチップは固定パイプライン機能を
プログラマブルシェーダでエミュレートしてるので
ハードウェア的にはobsoleteかな。

128:名前は開発中のものです。
04/07/01 18:14 eBOQQwrF
ただ、D3Dインタフェースが今後も「薄いハードウェアレイヤー」
の性格を帯び続けるなら、ハードと遊離しつつあるインタフェースが
サクっと廃れる可能性もあるな。

129:127
04/07/01 18:41 WXjsa61Z
固定パイプラインが、vertexDecl方式でなく、FVF方式じゃないと動かない手抜きを指摘にしているんだけど。
固定でvertexDeclを参照すればいいだけの話だ。

>旧式の固定を使うのに、新式で使えないのは当たり前だが。

なにが「当たり前」なんだか。


130:名前は開発中のものです。
04/07/01 19:22 eBOQQwrF
>>129
んー?私はMSでもID:1vEsR6h1でもありませんので
私に当たり散らすのは止めていただきたいですな。
敵(MS)を見誤っていませんか?
カルシウム取り深呼吸をし、>>118の姿勢を思い出しましょう。

>なにが「当たり前」なんだか。
知りませんよ。私に聞かないでください。

確認しますが、私は「固定パイプラインが古い(obsolete)機能? 」という
質問に対して返答をしたまでですよ。ご不満ですか。

131:名前は開発中のものです。
04/07/01 19:57 cSnnvaMf
固定機能をシェーダーで書けば、無理に混在させる必要は無いんだけど。
新しい部分と古い部分を混在させて、自ら不具合を招いているのに、
周りに当たり散らすのはいかがなものか。

132:名前は開発中のものです。
04/07/01 20:35 WXjsa61Z
ところで、何の権利があっておまえらそんな「偉そう」なの?


133:名前は開発中のものです。
04/07/01 21:02 N+OKfawc
なんか典型的な無能タイプだな…

134:名前は開発中のものです。
04/07/01 21:05 N+OKfawc
こういうタイプは
>固定でvertexDeclを参照すればいいだけの話だ。
なぜ参照しないかなんて全く考えないんだろうな。

135:名前は開発中のものです。
04/07/01 21:22 bdPAbTo6
Direct3Dなんて最初から見向きもしなかった俺は勝ち組

136:名前は開発中のものです。
04/07/01 21:45 ArWkKvaA
でもアンタ、フェードアウト組みに入ってますから!残念!!

137:名前は開発中のものです。
04/07/02 00:21 ncnowZLr
知ったかしかいないじゃん。
覗いて損した。

138:ID:eBOQQwrF
04/07/02 00:49 hrsj50x5
>>132
>ところで、何の権利があっておまえらそんな「偉そう」なの?
 
話を逸らして因縁付けとは、実に聡明な方ですな(´ー`)y-~~~
このスレの>>1と酷似したものを感じます。
スレリンク(gamedev板)l50

139:名前は開発中のものです。
04/07/02 00:50 6SSnZDB7
スレを覗いたごときで何かが得られると思ったとは、
なかなか幸せな脳味噌をしているようだ。

140:名前は開発中のものです。
04/07/02 04:22 fdoAETWb
なんだ、ど素人がプロの振りをしてみるスレだったのか。


141:名前は開発中のものです。
04/07/02 04:28 SemB68lB
ところで喪前らレス先番号ぐらい書いてくれ。

>>139
「覗いた」という表現から察するに137へのレスか。

>>140
どのスレの話をしてるのか知らんが
138がリンク貼ったスレの話なら同意だ。

142:名前は開発中のものです。
04/07/02 06:06 fdoAETWb
なんだ、底辺が素人をバカにするスレか。


143:名前は開発中のものです。
04/07/02 06:09 fdoAETWb
もとい、ろくな仕事させてもらえない底辺が、素人相手に鬱憤を晴らすスレですねここは?


144:名前は開発中のものです。
04/07/02 06:11 eAfM21ZW
>>141
いやど素人ってのは >>118 のことだろ。
無知さらしといてなんか逆切れしてるし。
使えない奴ほど変なプライド持っててほんと困る。

>>142-143
そんなに悔しかったの?

145:名前は開発中のものです。
04/07/02 06:32 fdoAETWb
>>144
>そんなに悔しかったの?

おれは118じゃないよ。傍から見て、底辺どもの争いは醜いなと思って。
とくに>>125 は、底辺で鬱屈としている奴特有の攻撃性だなと。
穢れた底辺とこれ以上かかわりたくないのでこれで。


146:名前は開発中のものです。
04/07/02 07:49 vYv1Sl4Q
うほ。なんだかよく分からんことになってますね。

一連の流れを読ませていただきましたが、超ド素人の私のような人間でも明快に分かるのは
「底辺」「素人」といった、自分に都合の良い人間像を脳内生成して、それを勝手に信じ込んで
勝手に火病を起こして勝手に暴れている fdoAETWb のような人は何を言っても説得力ないよ
ということ。
 
>>125にはやや陰険な印象を覚えますが、WXjsa61Z の>>126以降の狂いっぷりというか
八つ当たりっぷりを見ていると、こちらも弁護不能というか自業自得でしょ。冷静じゃないよ。

147:名前は開発中のものです。
04/07/02 08:45 GQvdN794
他人を貶める言葉だけ突然書く時点で>>145も同類。
自分だけは違うと勘違いしないように。
そんなにてぇへんだ、てぇへんだと言いたければ、
江戸時代にでも生まれれば良かったのにね。

148:名前は開発中のものです。
04/07/02 09:22 fdoAETWb
なんだ、自作自演のスレか。

149:名前は開発中のものです。
04/07/02 11:43 4ZQzlT9n
粘着荒らしが誕生する過程を目撃した。

150:名前は開発中のものです。
04/07/06 08:44 RBBrkuoa
MFCとDIRECTXを一緒に使用する事できる?やり方がわかんね。
それと、やっぱMFCは使用しねぇ方が良いかね?記述が長くなるとか色々言われてるし

151:名前は開発中のものです。
04/07/06 08:46 9LI1eYRF
やり方がわからんのなら使用するな。

152:名前は開発中のものです。
04/07/06 09:24 6quKy7g0
>>150
サンプルをよく見なさい。

153:名前は開発中のものです。
04/07/06 10:54 RBBrkuoa
いやいや、MFCは使えるけど、それとDIRECTXを一緒に使うのにやり方がわかんねって意味。

154:名前は開発中のものです。
04/07/06 11:06 qVNazyxZ
Win32API単体とDirectXの組み合わせは出来るの?

155:名前は開発中のものです。
04/07/06 11:17 Ifb+GMOG
APIで作ったDirectX9.0のプログラムを一つのクラスに無理やりまとめて、
動かしていた事もあったヨ。


156:名前は開発中のものです。
04/07/06 12:38 6quKy7g0
>>153
だからサンプルをだなあ。

157:名前は開発中のものです。
04/07/06 13:00 H7JXz3nZ
>>153
MFCとDirectXを組み合わせてるサンプルがあるだろうが

158:名前は開発中のものです。
04/07/06 14:06 7lkdzqgc
そこまでMFCにこだわる理由がわからん。

159:名前は開発中のものです。
04/07/06 20:33 tJWPmmxn
Win32APIでウインドウの作成からDirectXの利用が一通り出来、
MFCも問題なく使えるのであれば、
MFCとDirectXの併用において迷う部分など無いはずなのだが、
いったい何が分からないのだろう?

160:名前は開発中のものです。
04/07/09 23:56 yxdBG2Kt
俺はWTL使ってる

161:名前は開発中のものです。
04/07/10 16:05 4OvPBLsu
そういう本売ってるよ、自分見たし
工学社だったはず

162:名前は開発中のものです。
04/07/11 01:14 RsNErYr5
ある程度本格的な3Dゲームを制作するには、ビデオメモリは何MBあれば十分?
個人的感想でいいので誰かおせーて。

163:名前は開発中のものです。
04/07/11 02:20 7EmrewtQ
じゃあ俺の「個人的感想」。
「ある程度」の程度次第だと思います。

164:名無しさん@そうだ選挙に行こう
04/07/11 07:44 aUUHJSCG
>>162
じゃあ256MB。これだけあれば十分だろ。
足りないから動かないなんてないし。
VRAMを管理する時代は終わってるし。

165:名無しさん@そうだ選挙に行こう
04/07/11 09:38 PGSXLcmm
>>162
ある程度の料理をするのに塩は何グラム必要ですか?
個人的感想でいいので誰かおせーて。

166:名無しさん@そうだ選挙に行こう
04/07/11 11:25 7FHfHHkx
>>165
一日の最高摂取量を5グラムとすると、
3で割ったぐらいが一食分じゃなかろうか?

167:名無しさん@そうだ選挙に行こう
04/07/11 11:30 POG7MgS8
一人分とはどこにも書いてないぞ。

168:名無しさん@そうだ選挙に行こう
04/07/11 12:19 7FHfHHkx
>>167
1人分がわかれば「ある程度の料理に必要な塩の量」も目星がつくだろ。
「ある程度の料理」を大衆料理を指しているなら、

「ある程度の料理に必要な塩の量」 = その料理に必要な塩の量 X 人数 + α

という式を頭に描くことができればもう解決だろう。
ここで「ある程度本格的な3Dゲームに必要なVRAM」を考えてみよう。
そもそも「ゲームに必要なVRAM」ってなんじゃろなってところから考えてみよう。
これは「ゲームのワンシーンに必要な最大VRAM」と言い換えるとわかりやすい。
要するに「ゲームの一番派手なシーンに必要なVRAM」がこれである。(システムをどう作るかにもよるが・・・)
ここで式が立つ。

「ゲームのワンシーンに必要なVRAM」
 = マップに必要なVRAM + ワンキャラに必要なVRAM X キャラ数(ワンシーンに登場する最大キャラ数)
 + ステータス画面やらに必要なVRAM + エフェクトやらに必要なVRAM + その他

と、大雑把な検討を付けることができる。
ためしに64X64ぐらいのテクスチャが何枚使えるか?とか
頂点いくつのモデルがどのくらい使えるか?とか考えてみて、
次に、どのくらいのクオリティにしたいかを考えてデザイナと譲れない線を決めて逝って
必要VRAMを決めてみてはどうだろうか?(ショボイマシンでは強制的にテクスチャの解像度を2分の1にするって手もあるw)

169:名無しさん@そうだ選挙に行こう
04/07/11 12:23 j7YGQS/5
ある程度本格的なんだから現実世界と見分けがつかないほどじゃないの

170:名無しさん@そうだ選挙に行こう
04/07/11 12:35 CZk0RtKK
いや、つーか必死すぎ

171:名無しさん@そうだ選挙に行こう
04/07/11 14:46 PGSXLcmm
ある程度本格的なX+Y=Zには、いくつ代入すれば十分?
個人的感想でいいので誰かおせーて。

172:名無しさん@そうだ選挙に行こう
04/07/11 14:48 CQ76X3a+
文字が炎で浮かびあがるみたいなのを再現したいのですが
どうすればいいですかね?

173:名無しさん@そうだ選挙に行こう
04/07/11 15:21 3khxCyza
256*256*256のボリュームテクスチャが最低32枚は要るな。

174:名無しさん@そうだ選挙に行こう
04/07/11 17:14 /iADttXZ
セルオートマトン

175:名無しさん@そうだ選挙に行こう
04/07/11 17:20 nxB/5Hag
ライフゲーム

176:名無しさん@そうだ選挙に行こう
04/07/11 17:42 IUKX/jbg
>>172
ここで聞くよりネットで探したほうが遥かに早い。
古くはDirectDrawやGDI、
最近のならDirect3DやらShaderやらソースは転がりまくりだ。

177:名無しさん@そうだ選挙に行こう
04/07/11 18:04 QKmJNdxw
ライフゲーム…懐かしい。そう言えば俺が一番最初に作ったソフトはライフゲームだった。

178:名無しさん@そうだ選挙に行こう
04/07/11 19:06 6WfdSZuv
>>172
文字をモデルでなくテクスチャーで描画するなら、シェーダーでバンプマップと、ディフューズライトマップと、ノイズをうまく使えば作れると思う。



179:名無しさん@そうだ選挙に行こう
04/07/11 20:08 SNLob6Bm
XSIファイルって何?
SoftimageXSIのファイルのことですか?

180:名前は開発中のものです。
04/07/12 11:08 f/RugnCv
どこのXSIだか分からないが、その可能性が高い。
多機能なファイルなので、有料物が多いが多種のコンバーターが用意されている。
特定のソフトのデータを別のフォーマットに変換するときに、直接変換できないのであれば、
いったんXSIを経由することによって解決できる。

181:名前は開発中のものです。
04/07/12 12:41 iMN5IpxO
DirectXのXSIはシーンファイルだと思うのですが
手持ちのシーンファイル(LWとか)をXSIに変換したいのです。

SoftimageXSIは高くてとても買えないし。
よろしかったら変換ソフトを教えてもらえませんか?
そんなに高価でなければ買いたいのですが‥。

182:名前は開発中のものです。
04/07/12 12:47 V2NEqMy/
>>181
PolyTrans
www.oakcorp.net/polytrans/

183:名前は開発中のものです。
04/07/12 13:37 d8+m1zeC
すごいフリーソフトですね。
こうゆうのを探してました。
ありがとうございました。

184:名前は開発中のものです。
04/07/12 15:35 +82HpsML
>>183
182のことなら売りもんだよ。
日本版で4~5万、直輸入で300-400$ぐらい

185:181
04/07/12 19:31 9tsuxA4f
>182
XSI BVH LWS Xの相互変換!
まさに自分がほしかったものです。 
5万くらいなら買えるし。

さっそく評価版をダウンロードしてみます。
ありがとうございました。

186:名前は開発中のものです。
04/07/12 21:02 YFu3Yt3V
ソースないです

187:名前は開発中のものです。
04/07/12 22:24 V2NEqMy/
>>186
他の調味料で我慢せよ。
(例:ソース焼きそば→たらこ、明太子、醤油バター)

188:名前は開発中のものです。
04/07/13 00:41 4dYjAK2k
やきそばは、塩に限る

189:名前は開発中のものです。
04/07/13 00:53 q9x7UC3I
VC++6.0でXファイルを表示することができたけど、
このXファイルをプログラム内で変形させたり、
歩かせたりしたいのに、参考になるサイトが見つからないYO!

歩かせるのってもしかして体のパーツを別々に作らなくてはならない・・・?
変形させるのってXファイルから座標の情報が分かれば大丈夫だと思うけど、
どういう風に取得するのやらOTL

190:名前は開発中のものです。
04/07/13 01:03 4wlf1v+d
bakaな質問しますけど、DirectX7対応ゲームをプレイする為に
DirectX8完全対応なゲフォ4に
無理矢理DirectX7とDirectX7用の古いグラフィックドライバーを
インストールするのは無理があるでしょうか?

DirectX7環境のほうがスムーズな2D描画できると思うんで。

というか未対応にもかかわらず古いグラフィックドライバーぶっこむと
グラボぶっ壊れるかな・・・・・

191:名前は開発中のものです。
04/07/13 01:33 /CvgO/Ka
>>189
DirectX9にtinyのサンプルあるから見とけよ。
 
>>190
違うビデオチップのドライバを無理やりインスコして壊れない保障はない。
んなの当たり前。つーか板違い。自作PC板のゲフォスレで聞きな。

192:名前は開発中のものです。
04/07/13 02:39 y7gDmdRZ
>>190
そもそも、ゲーム開発ではなくゲームプレイで何を言ってる?

DirectX7で作られたバイナリの処理が、
DirectX8環境で実行させると全く違う物になると言いたいの?
だからDirectX7をインストールしたいと…

DirectX7でブロック転送やらで作られた処理のバイナリを
DirectX8環境で実行させると、勝手にスプライト処理とかになって遅くなると
そんな感じに思ってるの?

193:名前は開発中のものです。
04/07/13 07:21 DBRzcV3o
>>192
DirectXにスプライト処理が存在すると、
そんな感じに思ってるの?

194:名前は開発中のものです。
04/07/13 07:43 5llfoY9v
最近バカみたいな質問が多いのは、バカが増えたからだよな。

195:名前は開発中のものです。
04/07/13 08:34 jzwdFF+S
期末テストも終っただろうしな。

196:名前は開発中のものです。
04/07/13 10:07 rkvj0E5C
にっぽんの将来は、まっくらだ


197:名前は開発中のものです。
04/07/14 03:03 YAk9BLuw
ふと思ったんだけど、
結局IDirect3DDevice9::PresentはどういうときにVSYNCと同期とるの?
ウィンドウモードでもVSYNC待ちするん?

198:名前は開発中のものです。
04/07/14 05:47 MG298uj6
ヘルプの D3DPRESENT_PARAMETERS構造体の
PresentationIntervalを読めば、その謎は解決すると思う
俺もちょうどこの前、同じところで悩んで調べたとこ

199:名前は開発中のものです。
04/07/14 10:52 Wq2xcMIa
>>197
>ウィンドウモードでもVSYNC待ちするん?
 
するよ。自動。

200:名前は開発中のものです。
04/07/14 15:27 TrdtPjRg
難しい会話してますね。

201:名前は開発中のものです。
04/07/14 15:38 6+nKd7SH
文字が炎で浮かびあがるみたいなのを再現したいのですが
どうすればいいですかね?

202:名前は開発中のものです。
04/07/14 15:47 7a2ZlvXB
>>172
ここで聞くよりネットで探したほうが遥かに早い。
古くはDirectDrawやGDI、
最近のならDirect3DやらShaderやらソースは転がりまくりだ。

203:名前は開発中のものです。
04/07/14 16:35 Wq2xcMIa
セルオートマトン

204:名前は開発中のものです。
04/07/14 16:37 cSqrSSKt
ライフゲーム

205:名前は開発中のものです。
04/07/14 17:39 8+MeTEKK
本もってる人しか分からない質問でスマソ。
「DirectX9vol.2 3Dゲームプログラミング C#によるキャラクタの歩行アルゴリズム」
って本なんですが。
サンプル(リスト5.5)をC++に直して実行したんですげど、
キャラクタが一歩進んで逆モードになったとたんに上半身の姿勢が傾いて
その後はそのまま歩行するんですが、これって仕様ですか?
真っ直ぐの姿勢のまま歩行させたいんだけど、何時間も迷ってます。
お助けを・・・。

206:名前は開発中のものです。
04/07/14 18:13 L7fgGGCl
サンプルそのまま動かしてみて
違う動作なら自分のバグだろう


207:名前は開発中のものです。
04/07/14 19:57 8+MeTEKK
>サンプルそのまま動かしてみて
実は動作させる環境が無いんです(win98のk6-2 350mhz vc++5.0)

208:189
04/07/14 21:02 rbPUkRjn
tinyのサンプル見て何がなんだか分からなかったけど、
サンプルのコードの一部をコピってぐぐってみたらそれらしいHPがでてきました。
頂点シェーダーっていうのをぜんぜん知らなかったよ。
これからまた勉強します。
ありがとうございました。

209:名前は開発中のものです。
04/07/14 21:17 uOZXkB+P
>>205
仕様かどうかはソース見ればわかるでしょ。

210:名前は開発中のものです。
04/07/14 23:14 +gnIx0lG
ここも某BBXも、完全に厨房王国と化してしまったな。


211:名前は開発中のものです。
04/07/14 23:17 AbhzswCG
夏到来だぜ

212:名前は開発中のものです。
04/07/14 23:17 Wq2xcMIa
夢を見る210

213:名前は開発中のものです。
04/07/14 23:33 3SlC6+or
>>189
VERTEX構造体に、ブレンド値(ウェイト=行列補間値 = wM+(1-w)M )を入れるんだよ。
D3DのドキュメントのGeometry Blendingを読め。



214:213
04/07/14 23:36 3SlC6+or
補足:
ブレンドする行列をそれぞれM1,M2とすると、ある頂点のウェイトw [0,1]によって頂点を変換する行列M'を求める。
M' = wM1+(1-w)M2


215:197
04/07/14 23:41 YAk9BLuw
>>198-199
おお、設定できるのか。
見逃してました。マジでありがとん

216:名前は開発中のものです。
04/07/14 23:56 o3zClHdn
>>213
行列を補間しちゃうの?

217:名前は開発中のものです。
04/07/15 00:02 a0RqXKRX
>>214は大嘘な。

218:名前は開発中のものです。
04/07/15 00:16 5qtxwqQC
パーティクルって何?

219:214
04/07/15 00:20 74XWLGbU
>>216
そうだよ。
SetTransform() で、WORLD1に、M1, WORLD2にM2を設定する。
あと、全ての頂点にブレンド値wを設定。
バーテックス・ブレンディングの変換行列はこうなる。
M' = wM1+(1-w)M2
これは線形補間。

>>217
素人さんは書き込み遠慮願えますか?


220:名前は開発中のものです。
04/07/15 00:20 RZa6M6YU
>>218
粒子

221:名前は開発中のものです。
04/07/15 00:36 5qtxwqQC
炎で文字を表現していのですがどうすればできますかね?

222:名前は開発中のものです。
04/07/15 00:39 me8K4ngQ
つまんね

223:名前は開発中のものです。
04/07/15 00:44 J2QoNYbd
>>219
マジで行列を補間すると思っちゃってるの?
>D3DのドキュメントのGeometry Blendingを読め。
アンタこそよく読んだほうがいいよ。

224:名前は開発中のものです。
04/07/15 00:48 s7S1auKv
>>219
それは拡大縮小のやり方?
頂点すべてにwをかけて、
wを変化させることで拡大縮小を行うという意味?

225:名前は開発中のものです。
04/07/15 01:05 74XWLGbU
>>224
まったく違う。ボーン数1のとき,
ブレンドする行列をそれぞれM1,M2とすると、ある頂点のウェイトw [0,1]によって頂点を変換する行列M'をD3Dが求め、その変換行列によって頂点をD3Dが変換する。
M' = wM1+(1-w)M2 ← D3Dが行列M1→M2をウェイトwで補間する。
例えば、CUSTOMVERTEX構造体はこんな感じ。
{
 D3DVECTOR3 coord;
 float    w; ←区間[0, 1]
}
ユーザーが設定するのは、
頂点座標をPとすると、変換後の座標P'= PM'となる。

>>223
おまえまったく判ってない。


226:225
04/07/15 01:08 74XWLGbU
ユーザーが設定するのは、上の例の場合、M1,M2のWORLDマトリックスと、すべての頂点のw。
ウェイトが1であれば、100% M1となり、0であれば100% M2となり、0.5であれば、(M1*0.5 + M2*0.5)となる。

227:225
04/07/15 01:10 74XWLGbU
>>223
こういうアホがいるからみんな消えていくわけだな。


228:名前は開発中のものです。
04/07/15 01:37 J2QoNYbd
>>225
だから違うよ。
変換後の座標をウェイト値で合成するんだろ。
行列を線形補間してそのまま使ったりしたらまずい。

229:名前は開発中のものです。
04/07/15 01:44 a0RqXKRX
>>225
久しぶりに正真正銘のバカを見たわ。
>>216,>>217>>223
をどう読んだのか?

あと「行列を補間する」の意味を教えれ。

230:名前は開発中のものです。
04/07/15 01:50 a0RqXKRX
>>225の発言を抜粋。

「素人さんは書き込み遠慮願えますか? 」
「おまえまったく判ってない。 」
「こういうアホがいるからみんな消えていくわけだな。 」

・・・鬱だ氏んでくれ>>225

231:名前は開発中のものです。
04/07/15 02:33 5qtxwqQC
炎の文字はどうやって表現すれば・・・

232:名前は開発中のものです。
04/07/15 03:28 ArWlyibQ
>>225
スキニングによるボーン処理のweightと
ボーン変換における各key_frame間の補間が
混同されすぎてます。

key_frameが十分細かく設定されているなら貴方の言う補間処理は不要でしょう。
しかし、頂点が複数のボーン影響を受ける事とは別の話です。

スキニング、ボーンのウェイト、姿勢の補間を理解する事をお勧めします。

233:名前は開発中のものです。
04/07/15 03:55 WZCfEE8K
>>231
可愛そうだからマジレスしてやると、
その技術はDirectXとは全く関係が無い。
結論を言うと、スレ違いだね。

適切なスレで質問すると良いだろう。

234:名前は開発中のものです。
04/07/15 04:30 37qRmEuN
DirectDrawでウィンドウモードで完全にVSYNCさせるのって無理?

235:名前は開発中のものです。
04/07/15 07:22 74XWLGbU
>>228

「 変換後の座標をウェイト値で合成するんだろ。
行列を線形補間してそのまま使ったりしたらまずい。 」

たしかに、D3Dではベクトルを合成しているのは認める。しかし、
V'= V{wM1+(1-w)M2}, V'= wVM1+(1-w)VM2
この2式の結果は同じ。嘘だと思うなら試してみ。



236:名前は開発中のものです。
04/07/15 07:24 74XWLGbU
>>229
> あと「行列を補間する」の意味を教えれ。
M' = wM1+(1-w)M2
って定義してんだろ。
> ・・・鬱だ氏んでくれ>>225
おまえがしねよ。数学もできないでプログラマなんかやってんじゃね。


237:名前は開発中のものです。
04/07/15 09:23 yYZscXA7
行列の線形補間は可能に一票。
ただし、行列の段階だろうが座標だろうが、
元が行列のデータを補間すると回転要素の劣化が激しいので、
補間が前提であれば、成分を混ぜた物を使う時点で愚策。
行列でしかデータを吐けないエクスポーター等は使うべきではない。
行列の場合は、補完しなくてもいいように、
細かくデータを吐きだして無駄にデータ量をとるのを覚悟するしかない。

238:名前は開発中のものです。
04/07/15 13:37 Z96KWdeU
>>225, >>235, >>236
おまえがしねよ。同次座標も同次変換も知らないでプログラマなんかやってんじゃね。

> たしかに、D3Dではベクトルを合成しているのは認める。しかし、
> V'= V{wM1+(1-w)M2}, V'= wVM1+(1-w)VM2
> この2式の結果は同じ。


(゚Д゚)ハァ?


239:228
04/07/15 14:14 znH2PgHO
>>235
だから変換後に合成するのと合成した行列で変換するのは違うって。

たとえば単位行列とY軸で180度回転してる行列を補間してみればわかる。
これは極端な例だけど回転要素が近い行列同士でも
この問題が起きてるので線形補間してそのまま使うのはまずいって。

240:名前は開発中のものです。
04/07/15 14:43 5CaSOcVA
それ例は、行列の補間でも、変形後の座標の補間でも、同じだと思われ。

このスレにはバカしかいないのか?

241:名前は開発中のものです。
04/07/15 14:59 TlmwfOpa
189が惑わされているといけないから言っとく。
サンプル通りに変形済みの頂点合成しとけば問題ない。
頂点シェーダに手を出したら、とりあえずトゥーンシェーディングをやって見る。
案外面白いから。
テクスチャの使い方を学ぶ良いサンプルだと思うし。

スキニングで行列を補間するメリットってあるの?

242:名前は開発中のものです。
04/07/15 15:00 Lf5cLVAP
引き篭もりは多いが、バカは >>240 ぐらいだろ。

243:名前は開発中のものです。
04/07/15 15:26 qBCUW8sZ
>>240
面倒なんで一行目だけ
・単位行列
1 0 0 0
・Y軸で180度回転
-1 0 0 0
これをウエイト0.5で補間したら
0 0 0 0
になってまずいだろ。
これは極端だとしても違う回転要素の行列を線形補間しただけだと
スケーリングが掛かったような変な行列になる。

回転要素が違う行列を線形補間したものと
クォータニオンやオイラー角を補間してそれで作った
行列の中身は違うだろ。

244:名前は開発中のものです。
04/07/15 15:30 qBCUW8sZ
>>242
>>235 もバカでしょ。
同一人物だとしたらもう手に負えないんで
もう行列の補間が正解でいいです。

245:名前は開発中のものです。
04/07/15 15:31 yYZscXA7
補間が前提ならクオータニオンを使うべき。
行列はどのような方法を使おうと、回転要素に問題が発生する。
ちなみにクオータニオンを使っても、180度をブレンドなら、かなりのゆがみが発生する。
行列ならゆがみを通り越して、ひしゃげる。

246:名前は開発中のものです。
04/07/15 15:36 yYZscXA7
勘違いをしていたが、スキニングのウエイトか。
アニメーションとかモーションブレンドの話をしてた。
ちょっと逝ってくる。

247:240
04/07/15 15:54 37qRmEuN
>>243
さっきも書いたが、
変換後の補間するやり方で、その例をやってみろよ。

同じ結果になるだろ。
なぜなら、行列の補間も、変換後の座標の補間も、どっちも所詮線形変換だから。

自分が本当のバカであることを証明したいだけなのか?


248:240
04/07/15 15:58 37qRmEuN
>>244
行列の補間は間違い。

行列の補間は同次座標を含めた4次元座標での線形補間、
変形後の座標の補間はもちろん3次元座標での線形補間。

どちらも単なる線形補間なのでそもそも「正しい」など言えないのだが、
ウェイトを使ったブレンディングの概念により近いのは明らかに後者。

249:240
04/07/15 16:04 37qRmEuN
書き忘れたが、
>>243の例で、二つの方法の結果が等しくなるのは、
用いられている二つの行列が、同次座標を変化させない変換を表しているから。

まさかここまで言わないと理解できないほどのバカはいないと思うが、念のため。

250:名前は開発中のものです。
04/07/15 16:20 YX0jyFzX
>なぜなら、行列の補間も、変換後の座標の補間も、どっちも所詮線形変換だから。
>行列の補間は同次座標を含めた4次元座標での線形補間、

もうアンタの勝ちです。間違いない。

251:名前は開発中のものです。
04/07/15 21:59 nzaxTIty
水、雷を表現したいのですがどういった方法がありますでしょうか。

252:名前は開発中のものです。
04/07/15 22:14 6ceo0B9C
>>251
パーティクル、ストリップ、etc。

253:名前は開発中のものです。
04/07/15 22:28 6ceo0B9C
と思ったらまたマルチポストか・・・。

マジレスすると、SIGGRAPHの論文でも読め。
で実装できたらこういうところで発表するとヒーローになれるぞ。
URLリンク(lucille.sourceforge.net)

「レンダリング、アニメーション関連などの見た目でデモが分りやすいのがよいかと」
とあるのでテーマとしてはいい感じのはず。
がんばれ厨房!

254:名前は開発中のものです。
04/07/16 00:23 3qkX9w8Z
>>221,231,251
1.炎、水、雷などを写真に撮ります。
2.ビルボードで表示したいように並べます。
3.ヽ(゚∀゚)ノヤッター!!

255:名前は開発中のものです。
04/07/16 00:25 3qkX9w8Z
>>234
>>199

256:189
04/07/16 00:35 rarOkq+Y
結局意味分からんかった。
もっと勉強して出直してきます。
ご迷惑かけました。マジで。

257:名前は開発中のものです。
04/07/16 04:30 OS1hTRz1
>>255
>DirectDrawでウィンドウモードで完全にVSYNCさせるのって無理?

いや、DX8以降のD3Dと統合されたのではなく、
DDrawでの話しなんすが。

258:名前は開発中のものです。
04/07/16 07:54 PHtkNvW+
>>257
今ヘルプ見られないから適当だが、同期とる関数がある。

259:名前は開発中のものです。
04/07/16 08:04 8sJyX39C
D3DPRESENT_PARAMETERSのPresentationInterval = D3DPRESENT_INTERVAL_ONE ;
じゃねーの。


260:257
04/07/16 10:31 x3ikW9YG
>>258
言われてみてもう一度よくさがしてみたら、
>IDirectDraw7::WaitForVerticalBlan
>メソッドは、アプリケーションが垂直帰線消去間隔と共に同期する方法を提供する。
あったあった、これっぽいね。thx

しかし、D3DとDDrawの区別が付かないやつって多いのか?
まぁDX8以降マニュアルからも消えちゃったし、しょうがないのか…


261:名前は開発中のものです。
04/07/16 11:41 iwAzj5Mk
>>259
>D3DPRESENT_INTERVAL_ONE
 
DX9以降、それは使わない。ヘルプ参照。

262:名前は開発中のものです。
04/07/16 15:24 tp+KxRbP
>>260
微妙に困るよね>DDrawのマニュアル
まぁDX7SDKのマニュアルありゃ済む話ではあるが

263:名前は開発中のものです。
04/07/16 19:45 4tunO0kM
>>262
それがDX8以降のサンプルを見ると、微妙に変更点があるっぽいんですよね。
(ラッパー関数が増えた?)
ぱっと見て違うのが、DDオブジェクトをnewで確保してたりとか。
C#のガベージコレクタを効かせるためなのかな?
そういう変更点の説明がまったく無いのがなんとも気持ち悪い。

264:名前は開発中のものです。
04/07/17 15:48 YfC7nJ2s
>>256
いや、お前は別に何も悪くない。
悪いのは、>>213, >>219, >>225, >>228, >>236, >>243のような、
忠告を繰り返し無視した上で大嘘を連発する、数学もできないバカプログラマー達だ。

まあこのスレの住人はほとんどそういう奴らばっかなのは事実だが。

265:名前は開発中のものです。
04/07/17 17:20 B5TJNueI
荒れるから終わってる話を蒸し返すなよ…

266:名前は開発中のものです。
04/07/17 18:00 +9dzbshW
じゃあ話題を変えてみよう。

DWORD dwExecuteBufferSize;
D3DEXECUTEBUFFERDESC D3DExecuteBufferDesc;
ZeroMemory(&D3DExecuteBufferDesc, sizeof(D3DExecuteBufferDesc));
D3DExecuteBufferDesc.dwSize = sizeof(D3DExecuteBufferDesc);
D3DExecuteBufferDesc.dwFlags = D3DDEB_BUFSIZE;
D3DExecuteBufferDesc.dwBufferSize = dwExecuteBufferSize;
hRes = m_lpD3DDevice->CreateExecuteBuffer(&D3DExecuteBufferDesc, &m_lpD3DExecuteBuffer, NULL);


267:名前は開発中のものです。
04/07/18 15:15 KMrdhIqJ
>>264
V'= V{wM1+(1-w)M2} = wVM1+(1-w)VM2
まだこれがわかんねーやつがいるよw

『数学もできないバカプログラマー達だ。
まあこのスレの住人はほとんどそういう奴らばっかなのは事実だが。』

おまえのことだよプッ>>264


268:名前は開発中のものです。
04/07/18 15:39 wMON88Q+
>>266
そんな話題に変えてもなつかしすぎて誰もついてきてこれないぞ

269:名前は開発中のものです。
04/07/18 20:13 XV/x4++F
むしろ、どう反応すればいいのか迷うが。
実行バッファを作って終わりなんだもの。

270:名前は開発中のものです。
04/07/19 08:58 48ZX7Scm
荒んでるとこすまんがDirectInput7で教えてくれ('A`)
今作ってるゲームを二人プレイ用に改造してるとこなんだが、2つ目以降の
Joystickデバイス取得の具合がどうもよろしくないのよ・・・

LPDIRECTINPUT7 pDI = NULL;
LPDIRECTINPUTDEVICE7 pDIdev1 = NULL;
LPDIRECTINPUTDEVICE7 pDIdev2 = NULL;

BOOL CALLBACK GetJoystickCallback(LPDIDEVICEINSTANCE lpddi,LPVOID *pvRef)
{
HRESULT hResult;
hResult = pDI->CreateDeviceEx(lpddi->guidInstance, IID_IDirectInputDevice7,(void**)pvRef, NULL);
if(hResult == DI_OK)returnDIENUM_CONTINUE;
returnDIENUM_STOP;
}
こういう列挙コールバックを書いて・・・
(省略)
hResult1 = pDI->EnumDevices(DIDEVTYPE_JOYSTICK,(LPDIENUMDEVICESCALLBACK)GetJoystickCallback,&pDIdev1,DIEDFL_ATTACHEDONLY);
hResult2 = pDI->EnumDevices(DIDEVTYPE_JOYSTICK,(LPDIENUMDEVICESCALLBACK)GetJoystickCallback,&pDIdev2,DIEDFL_ATTACHEDONLY);

こんな感じでデバイスを取得しようとすると、PCにジョイスティックが1つしか繋がってない時でも
2回目のEnumDevicesがDI_OKを返しちゃうのよね(ちゃんと失敗を返してくれない)
ちなみにPCからジョイスティックを抜いて実行するとちゃんと1つ目から取得に失敗する。
何故か1つでも繋がってると2回目のEnumDevicesまで成功してしまうという・・・

いろんなサンプル見たけど1つ目を認識させるとこ止まりで参考にならんかった
漏れのコードが間違ってるのは明白なんだが解決方法がワカラン
ジョイスティックが1つの時に2回目以降がDI_OKを返さなくする正しいやり方を教えて下され

271:名前は開発中のものです。
04/07/19 10:21 54Q4/4D7
>>270
EnumDevicesは1回だけ呼ぶんだよ。
それでGetJoystickCallbackをループさせて、複数のデバイスを取得する。

272:名前は開発中のものです。
04/07/19 10:22 p5K2URLW
そら、最初から列挙し直したら同じものを列挙するだろ。
誰かがデバイスのインターフェイスを取得しようが、
別に列挙の条件から外れるわけではないからな。

一回の列挙で一度にやるか、二回回すなら、取得済みのデバイスを無視するとかしないと。

ちなみに俺は、IDirectInputDevice8::GetPropertyでDIPROP_JOYSTICKIDを使って、
使用するデバイスを選べるようにしている。

273:名前は開発中のものです。
04/07/19 12:38 48ZX7Scm
うーむ、コールバック関数をよく理解できんな…

コールバック関数内でCreateDeviceExを2回呼んで終わりにすればいいのかな?
ちょっとやってみる

274:名前は開発中のものです。
04/07/19 12:56 48ZX7Scm
コールバック内で2回CreateDeviceExやったけど同じだった・・・orz

275:名前は開発中のものです。
04/07/19 13:06 48ZX7Scm
思いっきり勘違いしてた
修正したらうまく行ったみたい
因みにこんな感じにしてみますた
BOOL CALLBACK GetJoystickCallback(LPDIDEVICEINSTANCE lpddi,LPVOID *pvRef)
{

HRESULT hResult;
if(pDIdev1 == NULL){
hResult = pDI->CreateDeviceEx(lpddi->guidInstance, IID_IDirectInputDevice7,(void**)&pDIdev1, NULL);
if(hResult == DI_OK)returnDIENUM_CONTINUE;
elsereturnDIENUM_STOP;
}

if(pDIdev2 == NULL){
hResult = pDI->CreateDeviceEx(lpddi->guidInstance, IID_IDirectInputDevice7,(void**)&pDIdev2, NULL);
if(hResult != DI_OK)pDIdev2=NULL;
}
returnDIENUM_STOP;
}
なんか恥ずかしいコードだな・・・


>>271-272
サンクスコ

276:名前は開発中のものです。
04/07/19 13:27 54Q4/4D7
>>275
強引だな・・・・・。

277:名前は開発中のものです。
04/07/19 21:53 FkElpxEK
確かにしようもないことで荒れるけど、業務系板と比べると『しようもない』のレベルの次元が違う。


278:名前は開発中のものです。
04/07/19 21:53 FkElpxEK
確かにしようもないことで荒れるけど、業務系板と比べると『しようもない』のレベルの次元が違う。


279:名前は開発中のものです。
04/07/20 02:12 TWCqFqg5
レベルの次元

280:exciteは神
04/07/21 00:33 NW4Ruyd1
それは破滅しますが、ので、そこに、さらにある、
オペレーティング・システム・ボードと比較して、
それを確かにする方法、レベルの次元、の
「そこに、さらにある、実行する方法」異なります。

281:名前は開発中のものです。
04/07/22 22:56 5rJvB900
Forceware60シリーズリリース。
GeForce6800にDirectX9.0c(WindowsXPSP2RC2)と
Shader3.0環境は整った。

282:名前は開発中のものです。
04/07/24 19:31 P1GEgvZG
ぬるぽ

283:名前は開発中のものです。
04/07/24 19:55 PR5W0fUe
ポルンガ

284:名前は開発中のものです。
04/07/24 19:56 NIvgFQBW
アハーン

285:名前は開発中のものです。
04/07/24 23:31 fQM+YmNW
恐らく、それらはTAKOのビットを装備しており、それを焼き、沸騰させて、それが大阪と呼ばれる時、ゆで団子になるでしょう!


286:名前は開発中のものです。
04/07/25 09:28 aCl1Aoq6
今制限の多いエフェクトやHLSLでしこしこライブラリ作ってるけど
近い将来その制限も緩和されてゴミとかすんだろうな
なんだかむなし

287:名前は開発中のものです。
04/07/25 09:44 mxjAoDQK
ここはひどい日本語でつね


288:ヘルジャック
04/07/25 10:21 ovE6k6xQ
URLリンク(combatant.hp.infoseek.co.jp)

漏れが作ったんだけど ちょっとこれを改良して

289:名前は開発中のものです。
04/07/25 10:35 rIHwuKxk
>>288
ヘルジャックさ、
現在のフレームのキャラクタの位置を決定してから
マップの表示範囲を決めるようにしないか?

つまりマップの描画にはキャラクタの座標が必要になるわけだが。

290:名前は開発中のものです。
04/07/25 10:36 XPpA5MG/
誘導されてきたのですが 質問いいですか?

ビルドしてVCから実行するとHALで起動して普通に実行できるのですが、EXEファイルを
直接実行するとREFになっていますみたいなメッセージがでてその後
Geniric application error.Enable debug output for detailed information.
とメッセージがでて強制終了します。強制終了する前にプロパティをみると REFになっています。
直接起動するとなぜREFで起動するのかとメッセージの意味がよくわからないのですが教えてもらえませんか。

使用ソフトはVisual Studio AcademicでビデオカードはGeforceFX5200です。


291:ヘルジャック
04/07/25 10:38 ovE6k6xQ
主人公が画面の真ん中にくるような処理ね

あと obj.cppがスプライトやってるんだけど
y座標でソートしてからキャラを描写したいんだけど
リスト構造のソートのやり方がよくわからないから 教えて

292:名前は開発中のものです。
04/07/25 10:40 ovE6k6xQ
>>288
操作は
Alt+Enterがフルスクリーン
1キーがキャラを生成
Deleteで削除

293:名前は開発中のものです。
04/07/25 10:46 rIHwuKxk
>>290
それだけじゃわかんねぇよw

>>291
そのまえに2DなのにY座標でソートして描画すんの?

294:ヘルジャック
04/07/25 10:50 ovE6k6xQ
キャラが重なったとき
下にいるキャラの頭でそのキャラの上のキャラの足が隠れるようにしたいんだ

なんか今のはオブジェの生成した順番になってるから描写すると変な重なりに見える

295:名前は開発中のものです。
04/07/25 11:10 rIHwuKxk
>>294
ああ、そうか、とりあえずゲームの世界は構築してあるな。
Y座標が画面からみて奥行きになるわけね。

リストのソートがわからないのも問題だけど
この場合はこのリストはソートしない方がいいな。
だってこれ、スプライトのリストじゃん。Y座標のソートと関係ないよ。

必要なのは描画するときだけで、フレームごとに変わるんだから、
こういうときは、一時的に関数内でポインタの配列を作って、リストの要素のポインタ一つ一つを
用意した配列にとっちゃってそれをソートするんだ。
これで配列のソートと同じだ。

言ってること理解できるかな?
ポインタをとってポインタをソートするんだ。

296:295
04/07/25 11:18 rIHwuKxk
おっと間違え。
スプライトのリストじゃなくてオブジェクトのリストか。
まあ、それでもソートはしちゃ駄目だね。

て、いうかリストの順番に意味をもたせるのはあんまりよくないんだな。

297:名前は開発中のものです。
04/07/25 11:19 ovE6k6xQ
>>295
㌧クス
ポインタの配列を作ってそれを描写か

URLリンク(combatant.hp.infoseek.co.jp)
とりあえずBGMを付けてみた

なんだか難しそうだがやってみまつ

298:名前は開発中のものです。
04/07/25 11:29 rIHwuKxk
>>297
>なんだか難しそうだがやってみまつ
楽勝でしょ?
でも、自分で考えようとするとハマルかもw
そういうときは手順をしっかり書いて見る

1.十分な数のポインタ配列を用意。(もしくは可変配列)
2.オブジェクトリストのポインタを全部ポインタ配列にとる。
3.Y座標でソートする。
  (一番楽なソートをアルゴリズムの本をみるなり、どっかのサイトからパクッてこい。)
  (この手のものいちいち自分で作ってると日が暮れるぞw)
4.できた配列を元にして描画する。

で、終わりだ。

299:名前は開発中のものです。
04/07/25 11:33 aCl1Aoq6
>>290
そういうのは、やはり実はエラってるってケースが多い。
DXをデバッグバージョンにしてログをみるといい。


300:名前は開発中のものです。
04/07/25 11:45 rIHwuKxk
>>290,297
#include <crtdbg.h>

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);

じゃあ、おまいら、とりあえずメモリリーク支援なw
上のヘッダをインクルードして、関数をWinMain関数がはじまってすぐのところにそのままおけ。
デバッグモードで実行してみればアウトプットウィンドウになんか出るからみてみろ。
特にヘルジャック、メモリリーク出してるぞ。

ダブルクリックで飛べないから、結構みつかりにくいな。
ひとつひとつ要素を削ってってメモリリークの有無を確認して場所を特定していくしかないな。
頑張れ。

301:名前は開発中のものです。
04/07/25 13:04 ovE6k6xQ
>>300
すぐにどこがメモリリークしているかわかったぜ

Mapで確保したメモリをfreeしていないのと
Script クラスも解放していなかったからだ

でもねタスク処理でアプリの終了時に全タスクkillはメンド

302:名前は開発中のものです。
04/07/25 13:08 z6Ypme9P
>288
DirectXとは関係ないけど、個人的志向として言いたい。
タスクの関数ポインタをvoid *で持つ意味ないだろ。 > void (*proc)(struct task_tag *);
何でもありのCスタイルとはいえ、無意味な型安全性の損失は如何なものか。
と書いたところで、君が m.minami とやらではなさそうだな。


>300
「プログラムの終了時にはどうせOSが解放するからfreeしない」
というタイプの人なんじゃないの?

303:ヘルジャック
04/07/25 13:12 ovE6k6xQ
WM_DESTROYでTaskAllKillがコールされるようにしたら
リークはでなくなったようだけど
アプリを閉じるとブレークポイントがどうのって画面がでて一時停止するようになっちゃった

それと ポインタの配列にコピーしてそれを描写にはしたけど
バブルソートがいまいちうまくいかない


304:名前は開発中のものです。
04/07/25 13:43 vVa7R8jb
お前たち、ここは DirectXスレですよ!
最近の流れの話題は、べつの適切なスレでやって欲しい

305:名前は開発中のものです。
04/07/25 13:46 cf02RjbN
まぁいいじゃね、話題も無かったし
たまにはこういうレベルの話も、ほのぼのして良い

306:名前は開発中のものです。
04/07/25 14:02 AJso40ZZ
夏休みの間くらいガンマンしてやれ。バキューン

307:名前は開発中のものです。
04/07/25 15:59 rIHwuKxk
>>303
>バブルソートがいまいちうまくいかない
だからその辺のソースパクッてこいっていっただろう。
こんなの自分で組んじゃうような効率の悪さじゃ仕事進まんよ。

たかがバブルソートでも、1から組んでたら、
動作確認してバグや抜け探すだけで、俺だって30分近くかかっちゃうよ。

バブルソートは完璧に動くのが前提ってところから開発していかなきゃ。
いつまでたってもゲームなんか完成しないよ。
URLリンク(www.google.co.jp)

308:ヘルジャック
04/07/25 16:19 ovE6k6xQ
こんな感じに実装したんだけど
なんか実行してみると重なりはおかしいまま


OBJ **obj_sort(int prio)
{
OBJ *ObjList[OBJ_MAX];// オブジェワーク

OBJ *o = ObjTop;
OBJ **OA = ObjList;

//オブジェのリストを取る
while (o != NULL) {
*OA=o;
OA++;
// リストを進めます
o = o->next;
}

//ソート部分

return BubbleSort(ObjList);
}


309:ヘルジャック
04/07/25 16:19 ovE6k6xQ

OBJ **BubbleSort(OBJ **o)
{
OBJ *temp;

// ソーティング(Y座標にてソート)
for (int i = 0; i < ObjCnt - 1; i++) {
int sort = 0;

for (int j = 0; j < ObjCnt - i - 1; j++) {
if (o[j]->obj_y > o[j + 1]->obj_y) {
temp = o[j];
o[j] = o[j + 1];
o[j + 1] = temp;
sort++;
}
}

if (sort == 0) break;
}

return o;
}


310:ヘルジャック
04/07/25 16:20 ovE6k6xQ
void obj_draw(TASK *t)

int x0 = map_x >> 8; // マップのどの位置を表示するか決める
int y0 = map_y >> 8;
int x1 =((map_x & 0xff) >> 3) & 31; // スクロールのあまり
int y1 =((map_y & 0xff) >> 3) & 31;

int x,y;
int s=0;
// オブジェ描写
OBJ *o = ObjTop;
OBJ **a;


a=obj_sort(0);

while (o != NULL) {
o=a[s];
s++;

if (o->stat==NOW_USE)
{
x=*o->obj_x+o->dx-(32*x0)-x1;y=*o->obj_y+o->dy-(32*y0)-y1;
if(x<640&&y<480&&y+o->h>0&&x+o->w>0)//見えない部分まで描写しない
DD_DrawBitmap(x,y, Bitmap[o->tex_no],o->xx,o->yy,(o->xx+o->w),(o->yy+o->h),o->Trans);
}
// リストを進めます
//o = o->next;
if(s>=ObjCnt)o=NULL;
}
}

311:名前は開発中のものです。
04/07/25 16:36 cH8/Nm1o
>OBJ *ObjList[OBJ_MAX];// オブジェワーク

obj_sort関数は最終的にこの配列へのポインタを返してるようだが、
この配列はスタック上に取られてるからobj_sort関数から帰ったときにはもう無いぞ。

とりあえず↓にしてみなさい
static OBJ *ObjList[OBJ_MAX];

312:ヘルジャック
04/07/25 16:44 ovE6k6xQ
かーっ
なんでうごかないのか!
とりあえずソートの昇順 降順 を入れ替えて見たら

OBJ **BubbleSort(OBJ **o)の

if (o[j]->obj_y > o[j + 1]->obj_y) {

if (o[j]->obj_y < o[j + 1]->obj_y) {

主人公が手前に表示されるようになっているからポインタの内容は失われていないみたい

OBJ **BubbleSort(OBJ **o)
がおかしいのか


313:ヘルジャック
04/07/25 16:47 ovE6k6xQ
URLリンク(combatant.hp.infoseek.co.jp)
のobj.cppにバブルソートを実装してくださるとうれしい

314:ヘルジャック
04/07/25 17:14 ovE6k6xQ
if (o[j]->obj_y > o[j + 1]->obj_y) {

原因が分かりました
えーと

if (*o[j]->obj_y > *o[j + 1]->obj_y) {

にすると改善

つまり今までは *がなかったために obj_yのポインタのアドレスでソートしていたのでした.


315:名前は開発中のものです。
04/07/25 18:18 ovE6k6xQ
URLリンク(combatant.hp.infoseek.co.jp)


316:名前は開発中のものです。
04/07/25 22:01 rIHwuKxk
>>315
おおー。できてんじゃん。
一日で大した進歩だと思うよ。いやマジで。

317:ヘルジャック
04/07/25 23:07 ovE6k6xQ
>>316
てへ (*^_^*)

どうも リスト構造の並び替えはしない とかとても勉強になりました.

318:名前は開発中のものです。
04/07/26 23:06 V6gmIHxA
ボスケテー

ウィンドウモードで
D3DPRESENT_PARAMETERSの
PresentationInterval=D3DPRESENT_INTERVAL_DEFAULT
としたら、
ディスプレイは60Hzで動いてるのにFPS45しかでないよーヽ(;´Д`)ノ カクカク ナンデダロ
D3DPRESENT_INTERVAL_IMMEDIATE にするとFPS300くらいでヌルヌルポ動くのに

319:名前は開発中のものです。
04/07/26 23:24 6Ccm5Gt6
>>318
他のアプリ、例えばDirectXのサンプルでも同じ動作をするのか?
また、手持ちの他のグラボは試してみたか?
また、ドライバは更新してみたか?

と、色々いじってみなきゃわからねーよ。マジで。

320:名前は開発中のものです。
04/07/26 23:44 CLA4c8LP
描画が間に合わないフレームあんじゃなの?

321:名前は開発中のものです。
04/07/26 23:44 V6gmIHxA
>>319
他のアプリやらサンプルでもそうなんです。
グラボ1コしかナッシングなんです。ていうかノーパソ。
ドライバ一番新しいんです・・・・

どこから切り込めばよいのやら_| ̄|○ 鬱だ

322:名前は開発中のものです。
04/07/26 23:46 V6gmIHxA
>>320
いえ、同期なしだと300とか出るんですよ
ていうか何も描画しないでPresentだけしてもFPS45とか_| ̄|○ イッタイナンナンダ

323:名前は開発中のものです。
04/07/26 23:48 CLA4c8LP
なんだ、液晶モニターってフレーム間引いて表示してるのあるべ?

324:名前は開発中のものです。
04/07/26 23:56 V6gmIHxA
表示の問題なのけ?
1秒間にループ回った回数を表示させても45なのでしが

いや流石の俺でも目視でFPS45とか測れないべ

325:名前は開発中のものです。
04/07/26 23:57 6Ccm5Gt6
>>321
それじゃ、心配ナッシングw
もう、どうすることもできないんだからw
同期無しにして、タイマーでテキトーに画面更新しとけば?w
ノーパソ買った自分を恨めw

ところで、ノーパンとノーパソって似てねぇ?

326:名前は開発中のものです。
04/07/27 00:10 o1CoEu/t
>>302
void * 意外にどうやって関数ポインタを持つ

327:321
04/07/27 00:26 XAPogr5S
(゚∀゚)フッキレタ!

328:名前は開発中のものです。
04/07/27 01:00 JfK87rJL
>326
>302にも書いてあるけど
void (*proc)(struct task_tag *);
で、procが
struct task_tag *を引数に取り返値がvoidの関数へのポインタ変数になる

329:321
04/07/27 16:25 XAPogr5S
_| ̄|○ 一晩寝かせたらコードいじってないのにFPS60出てるし
なんの不具合なのやら

330:名前は開発中のものです。
04/07/27 17:06 o1CoEu/t
再起動でOS側の方が良い状態になったんじゃないかい
とくに突飛な変更はしてないようだし


331:名前は開発中のものです。
04/07/27 17:20 QCF/mVVU
昨日はバックでなんか重たいものが動いてたとか

332:名前は開発中のものです。
04/07/27 17:21 gvOtoHrm
9.0c出たけど、もう既出か?

333:名前は開発中のものです。
04/07/28 01:22 cdE8Yajg
>>321
ここの奴と全く同じ症状だと思われ。
URLリンク(bbx.hp.infoseek.co.jp)
ここでは自己解決したようだが、一部に厨房回答者が存在するので
気をつけて読めよ。

MDXだがネイティブでも共通の症状だと言ってるから、やってみれば?



334:321
04/07/28 01:52 L+MbB46M
漏れは今涙が出そうです。
まさかウィンドウモードだと
同期タイミングにシステムタイマが影響するなんて
思いもしませんでした。
そしてそのことを知るきっかけをくれた>>333には
感謝してもしきれない程です。
タイマ分解能を1㍉秒にしてあげたら
FPSは60でヌルヌルポと動いてくれやがりました。
ありがとう>>333
ありがとう>>333

ヽ ( ゚ ∀ ゚ ) ノ      バ  ン  ザ  ー  イ

335:名前は開発中のものです。
04/07/28 03:45 0QK3+/yt
DirectXの新しいの出たな。

>>333
そのスレ見てないけど、厨房回答者なら2chの方が多いから平気じゃねぇか?

336:名前は開発中のものです。
04/07/28 12:43 XhHnaZC6
えー変更点を列記すると、
複数のメッシュインスタンスで単一のジオメトリデータを使い回ししたいときに
有用な機能を提供。Shader3.0要らしいので我輩はスルー。
エフェクトでステートブロックをサポート。イラネ。
PRT用のD3DXオブジェクト追加。イラネ。
XFileローダーIDirectXFileに代わる新しいID3DXFileが追加。ホトンドオナジ。

こんなところかなぁ、夏2003と殆ど代わっていないので
入れ替えても問題なしだな。

337:名前は開発中のものです。
04/07/28 15:10 ea6AWAyR
summer2004に入れ替えてコンパイルしたら、リンク通らなくなった!
ウワァァン!!

338:名前は開発中のものです。
04/07/28 16:51 XhHnaZC6
>>337

俺はVisualStadio2003だが、
インストーラが勝手にパス変更までしてくれて
無問題に通ったよ。
一箇所エフェクト関係でソース直しただけで。

339:名前は開発中のものです。
04/07/28 16:53 XhHnaZC6
ああ、そういえば、VisualStadio6.0用のライブラリが
extrasにあったような。そのせいか?

340:名前は開発中のものです。
04/07/28 16:58 XhHnaZC6
今回のSDKにはDirect3D用のコモンコントロールがついてるのな。
なんだか次世代って感じ。


341:名前は開発中のものです。
04/07/28 17:12 w9EXFP9+
「Stadio」2回じゃもう言い訳できんな

>>340
まじでぇぇぇぇ!!
みてくるか

342:名前は開発中のものです。
04/07/28 17:19 ea6AWAyR
…イタリア版だったりしてな。
俺はVisual Studio 6.0なんで、extras入れていじってみるよ。

343:名前は開発中のものです。
04/07/28 20:12 SciYQnDX
>>339
トンクス
ちょうどリンク通らなくていらいらしてたとこなんだ。
extraは気づかなかった

344:337
04/07/28 20:22 ea6AWAyR
d3dx9.dllを入れ替えたらコンパイルできたーよ。
でも、シェーダ使って、テクスチャ複数重ね、環境マップやってるところが
無茶苦茶か真っ白になってる…
うーん、俺のプログラムが行儀悪いからなのか…
何か設定の仕方が変わったのか…

345:337
04/07/28 20:24 ea6AWAyR
dll じゃなくて libだ…
デバッグ用のd3dx9dt.libはextraに入ってないんだね。

346:名前は開発中のものです。
04/07/28 20:36 SciYQnDX
いよいよ持って2003買え、ということか…
どこからその金捻出しよう

347:名前は開発中のものです。
04/07/28 20:58 XhHnaZC6
>>346
毎度おなじみMSの無言の圧力

348:名前は開発中のものです。
04/07/28 21:05 NEcinFei
2005から無料にしてくれるに違いない。今からゲイツ様に土下座しとく。_| ̄|○

349:名前は開発中のものです。
04/07/28 21:49 w9EXFP9+
ちょっと待って、それじゃVS6(VC6)じゃ、
今回のアップデートはしちゃ、まずいって事?

貧弱なノートの回線で、ようやくDLしたのにそりゃないぜ…

しかし、いくらなんでもそんな分けないと思うがなぁ
自分で試したいけど、DirectXってOS入れ直さない限り
バージョンダウン出来ないのがジレンマ

350:名前は開発中のものです。
04/07/28 21:58 ea6AWAyR
>>349
今回は、前のバージョンと共存できるみたいだよ。断言はできないが。
デフォルトのインストール先はprogram filesの下だし
VCのディレクトリ探索の優先順序をちょいと変えるだけで、
前バージョン(2003summer)の実行ファイルもできた。

351:名前は開発中のものです。
04/07/28 22:42 SciYQnDX
(旧バージョンも残ってるんで)ちょっと悩んだんだけど、
Xファイル読み込み部分を新APIを使ったものに書き換えてみたんだが…

アニメーション付きXFileを全部読み終わって最後のID3DXFileDataオブジェクトを
Releaseするとライブラリの中でAccess Violation。
LWのXファイルエキスポータで吐き出した奴なんで、今バージョンのXファイルパーザには
都合の悪い記述があるのかもしれないけど…原因突き止めるのめんどい

352:351
04/07/29 00:15 Y8Uc6wdA
やっつけで移行したから、Release忘れをやらかしているとこがあったのが原因ぽい。
…単にメモリリークするんでなく、アクセス例外出すのは、むしろ親切、かなぁ

353:名前は開発中のものです。
04/07/29 08:43 qkYnqUbu
>>351
人柱乙。
俺のXFileパーサーは
約6000行もあるので(無駄な部分が多いだけ)
移行には躊躇してしまう。

354:名前は開発中のものです。
04/07/29 15:47 TPfQskJx
質問なんですが、これからDirectX9を学ぶなら
ビデオカードもDirectX9対応のものを買った方が
良いでしょうか?

買う場合はゲームとかは特にしないので
G-FX5200辺りのカードを考えたりします。
どうか、アドバイスをお願いします。

355:名前は開発中のものです。
04/07/29 16:22 iXanYUqF
お金が充分にあるならそうすべき。
お金がないなら、今のボードを我慢して使うべきだぜ~!
まだ高えし

356:354
04/07/29 17:38 TPfQskJx
アドバイスありがとうございます。

当分は今のボード(GF2-MX400)を使って
その間に、お金の方も貯めておこうと思います。

357:名前は開発中のものです。
04/07/29 20:45 TtwyqZ7F
2004Summerって、2003Summerにあった新規プロジェクトウィザード無くなってる?
EmptyProjectが追加されるって噂だったけど見あたらないし。

>340
なにそれ、詳細きぼん

358:名前は開発中のものです。
04/07/29 21:23 Yl8iQYNA
EmptyProjectが見当たらないって、サンプルブラウザからインストール
出来ますがな。

サンプルがインストール形式になったのは、ちょっと便利かも。

359:名前は開発中のものです。
04/07/29 21:46 TtwyqZ7F
>>358
EmptyProjectってサンプルにいたのか_| ̄|○thx

Emptyっていう割にはいろいろ入ってる気がしますが
始めたばっかの俺には何やってるかさっぱりだ(´・ω・`)

360:苦学生七誌
04/07/29 21:58 wUWj3vkA
>>354
そんなモン持ってて買い替えを考えるなんて金持ちだなぁ

361:名前は開発中のものです。
04/07/29 22:24 BuKOqKsi
VC++.NET2003使用で、DirectX9.0c summer2004 をインストールしたけど、fxの変更点(Pass() -> BeginPass() )以外何も問題なかったよ。わざわざユーザーの迷惑を顧みず関数名を変えているのは謎だが。
というか、何が変わったの?シェーダー3.0サポートだけ?若干D3DXライブラリ関数が増えているような気がするけど。


362:名前は開発中のものです。
04/07/29 22:32 fTQZk59p
今回も名前がファッションショーのようなマイナーアップ。

363:名前は開発中のものです。
04/07/29 22:34 BuKOqKsi
GF2-MX400から5200って変えるメリットないんじゃない?GF2はシェーダーをサポートしてなかったっけ?
グラフィックカードのシェーダーバージョンのリストってどっかのサイトにないかな?
ATI Radeon 8500 vertex shader:1.1, pixel shader: 1.4 とかのリスト。
知っている人いたら教えてください。


364:名前は開発中のものです。
04/07/29 22:46 TXWm31/s
最低でもピクセルシェーダ2.0対応のほうがよくない?
せっかく換えるなら

365:363
04/07/29 23:14 BuKOqKsi
>>364
オレもそう思った。


366:名前は開発中のものです。
04/07/30 00:38 Dxj8mZA4
directX9.0をアマチュアで作る際、GeforceFX系とRADEON系、適しているのはどちらなのでしょうか?
似たようなものなのでしょうか?

GefroceFX系は最適化しないと全く性能が出ないという話と、RADEON系はPCが不安定になるという話とで漠然とした不安があるのですが・・・・

367:名前は開発中のものです。
04/07/30 00:59 xVvwlJFX
>>366
参考にしろyo
URLリンク(www.itmedia.co.jp)


368:名前は開発中のものです。
04/07/30 01:09 prAk/ML6
アマチュアなめんなよ

369:名前は開発中のものです。
04/07/30 05:17 kVioF7Z4
>>366
公開する物を作るなら、安めのヤツでもいいから両方持ってた方がイイです。
さらに各種チプセト内蔵グラフィックについてもテストできる環境だとなおイイです。

とりあえず1つだけ、というならどっちでも好きな方でイイと思います。

傾向としては、渡すパラメータを間違ったりした時に
nVidiaだとなんか普通に動作しちゃったりするのに対し、
ATIだとアプリが落ちるのが多いです。(以前はブルースクリーンでOSごと落ちたりしたが...)
ドライバの品質はnVidiaの方がまだ上ですね。

nVidiaで少しでも安定した開発環境を...でもイイし。
ATIで動けばnVidiaでも動くに違いない!...でもイイかと。


370:名前は開発中のものです。
04/07/30 09:00 MbcA7lq/
VC2003でDirect3Dアプリをデバッグすると
頻繁にフリーズする。デッドロックじゃなくて
非常に重くなってるだけだと思うんだけど
2時間で10回ぐらい再起動ではきつすぎる。
VC6ではこんなことなかったのに。
皆さんはどう?

371:名前は開発中のものです。
04/07/30 14:28 FqoBuYOS
初歩的な質問で申し訳ない。なんだか的はずれな質問かもしれんが‥‥
DirectX 9.0 SDKを使用してアプリを作った場合、
それを動作させる環境はDirectX 9.0以降になるの?
あるいは使用した機能によって対応Verが異なる?


372:名前は開発中のものです。
04/07/30 15:07 dwoGkKo9
9SDKで8以前に対応させることは可能。

373:名前は開発中のものです。
04/07/30 15:07 tikmpGO/
使用した機能によってそのバージョン以上のランタイムが必要。

9.0SDKで作ってもDirectX8.0までの機能しか使っていなければ、
8.0以上のランタイムがあれば動作する。

374:名前は開発中のものです。
04/07/30 17:10 r2gunRKx
回答ありがとうございます

>>367
RADEONのほうが高機能だけれども、みんながRADEON使ってるってわけでもないから
結局無意味になるような・・・という感想です
(低機能製品に合わせたものを作らざるおえない)

>>369
両方ですか!?それはむずかしい・・・・

ATI系はミスに厳しすぎて手間取りそうだから、nVidia系にしときます。

375:名前は開発中のものです。
04/07/30 23:18 lgfh8BvZ
でこぼこなフィールドを作っているのですが、
キャラをその上で歩かせるために、ポリゴンのある一点のY座標を取得
したいのですが、そんな都合のいい関数ありますか?

376:名前は開発中のものです。
04/07/30 23:48 xVvwlJFX
RAYじゃダメなの?
サンプルにあるでしょ。

377:名前は開発中のものです。
04/07/30 23:57 lgfh8BvZ
Pickのやつでしょうか?
D3DXIntersectの関数だけで大丈夫ですか?
使ってみたんだがいまいちうまくいかない。

378:名前は開発中のものです。
04/07/31 00:03 Yg3TW/Ca
>>377
そそ、RayPick。こんな感じ。
URLリンク(kim1.hp.infoseek.co.jp)


379:名前は開発中のものです。
04/07/31 00:21 5nbqJytr
>>378
おお、サンクスです。
vPickRayOrigにはカメラの位置と同じ座標でいいのでしょうか?
vPickRayDirの意味がいまいち分からない。とりあえずこれと同じようにやってればいいのかな。

380:名前は開発中のものです。
04/07/31 00:48 mgl1+hTz
多分誤解しているというか、レイの考え方を理解してないので、一度
自分で図に書いてみることをお勧めする。

レイはキャラクター位置の適当な高さから、真下に向けて飛ばす。
んで、ポリゴンとの交点からキャラの足元の高さを求める。

381:名前は開発中のものです。
04/07/31 01:12 5nbqJytr
親切にありがとうございます!だいぶ分かってきました。
これから試行錯誤して頑張ってみます。

382:名前は開発中のものです。
04/07/31 03:35 eXTMz7H8
>>373
DirectMusicにバージョン定数が見あたらないのはそういう事?
でも3DやInputは指定しといた方がいいよね多分。

383:名前は開発中のものです。
04/07/31 07:35 zkl0g2VN
Pickって充分速いの?
なんか全部のポリゴン調べてそうなんで、フィールドのメッシュは
あらかじめ自前で用意しマップ区画にポリゴン割り当てて、高さを検索
するようにしてんだけど、素直にPick使ったほうがいいのか?

384:名前は開発中のものです。
04/07/31 07:38 r+SIFMd9
MMOみたいに広大なマップはどうやって作ってるんでしょうか?
一定区画毎に3Dソフトでモデル作成してるの?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch