[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 04/29 17:01 / Filesize : 136 KB / Number-of Response : 621
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part19 【C】



1 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 22:55:11 ]
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

【C++】 DirectX初心者質問スレ Part18 【C】
pc11.2ch.net/test/read.cgi/tech/1216270204/

87 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 17:18:26 ]
>>83
> 2DゲームとDirect3D関係ないし  ×

現実に使ってある
計算が楽になるらしい。
3Dオブジェクトを使わないとしても3D効果を使うからかな。

88 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 17:57:08 ]
>>85
はじめてのういんどうずぷろぐらむ びじゅあるしーぷらすぷらす
ってのがおすすめだが
入手困難な上にVC6でのサンプルなんでVSで動かすのが面倒
しかしこれより簡単なWin32APIの本は
俺は見たことがないので
手に入るならおすすめ

89 名前:デフォルトの名無しさん [2008/10/30(木) 17:58:35 ]
3D効果もそうだし
描画順番をZソートに任せちゃうとか

90 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 18:46:24 ]
これからはDirect2Dの時代なんだぜ

91 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 18:50:06 ]
Direct3D 10.1にのっかるのか

92 名前:デフォルトの名無しさん [2008/10/30(木) 22:14:31 ]
質問です。
DirectX9で
www.shader.jp/xoops/html/masafumi/directx9/3dtips/d3d19.htm
を参考に文字列の描画をしたのですが
指定した座標の部分に文字が表示されず赤い四角形が表示されてしまいます。
原因がわかる方がいたら教えてください。
DrawTextの戻り値は0ではありませんでした。

文字の描画
SetRect(&rect,100,0,0,0);
dxfont->DrawText(sprite,"ABC",-1,&rect,DT_NOCLIP,0xffff0000);

93 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 22:54:02 ]
>>87
アホですか
3D効果なんて3Dの勉強をすりゃいいだけの話だろ
2Dゲームとはなんの関係もないよ

94 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 22:57:06 ]
ラざいスレだな

95 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 22:58:29 ]
3D効果が使われた時点でそれは3Dゲームなのだよ



96 名前:デフォルトの名無しさん [2008/10/30(木) 23:00:15 ]
Asso

97 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 23:01:45 ]
どうでもいいので>>92の質問に早く答えなさい

98 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 23:03:44 ]
>>92
Rectの意味を理解していないという事はわかった

99 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 23:51:27 ]
>>71も答えてくだされ

100 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 00:13:27 ]
Zバッファクリア?

101 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 00:28:43 ]
先に描画した物を通過してブレンドされるのとZバッファって何か関係があるんですか?
良かったら教えてください

102 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 00:42:05 ]
ステートどんなのあるか調べるんだ!

103 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 03:15:06 ]
とりあえず
まともな回答が帰ってこない人は
質問の仕方が悪いだけだからソース晒せばいいと思うよ

104 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 03:41:35 ]
>>101って前スレのマルチ?

105 名前:デフォルトの名無しさん [2008/10/31(金) 07:44:36 ]
回答側が根性腐ってるだけだろwww



106 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 09:28:29 ]
質問の仕方が悪いが悪いっていうか
単純に経験不足なんだろうけど質問のポイントがわかってないのは多い
そんな聞かれ方してもぱっと思いつくだけで原因がいくつもありそうだったり
そんなのやり方が悪い、としか言いようがないものだったり
難しく考えすぎて実は単純な凡ミスが原因だったり
確かにソースを上げてしまうのが一番手っ取り早いってのはある

107 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 11:23:38 ]
ttp://books.google.co.jp/books?q=4798013161
この本ってプレビューあったんだね

108 名前:デフォルトの名無しさん [2008/10/31(金) 12:31:04 ]
現在フルスクリーンにて作成しているのですが
フルスクリーンで起動中他のアプリケーションに制御を
移した後
もう一度フルスルリーンに切り替えると
なにも表示されないのですが
これはどういった対応をすればよいのでしょうか?

109 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:37:10 ]
デバイスロスト

110 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:46:20 ]
>>108
それに限らず 
解像度が変更されたり
スクリーンセーバーが起動したりするると
D3Dデバイスが消失してしまう
これはフルスクリーンではなくウインドウモードでも消失することがあるから注意
よってデバイスを作り直さなければならない
そしておまいは其の程度の解説も載っていない
参考書やHPで勉強するのはやめるべきだと思う


>>105
実際性根が腐ってるやつは多いと思う
そういうゴミが回答しないのに初心者いじめるから
わざわざこうやって初心者スレが別にあるだろうに
ご丁寧に初心者虐めをしにくるのは見てらんない
ただし日本語でOKな質問者は除く

111 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 13:05:50 ]
デバイスのロストに対応するか否かで
設計のめんどくささが全く違うからなぁ
初心者に対しては触れられたくない話題ではあるためスルーされることが多いよね
製品でもウィンドウモードやサイズの切り替えは
起動時のランチャーで制御してロストには対応してないものが多いし

112 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 13:23:18 ]
DirectX10にしちゃいなよ!シェーダーわからないだって?

113 名前:デフォルトの名無しさん [2008/10/31(金) 15:52:40 ]
vistaがない

114 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 17:12:57 ]
俺はXファイル読めないんで諦めました

115 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 17:24:00 ]
いや3Dがわからない



116 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 17:26:15 ]
2Dしか愛せない

117 名前:デフォルトの名無しさん [2008/10/31(金) 17:54:57 ]
ー回のDrawPrimitiveでたくさんの板を描くにはどうすればいいの?

118 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:01:20 ]
たくさん頂点指定すればいい

119 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:19:51 ]
・Windows95ゲームプログラミング DirectX入門 - DirectX1 (DirectDrawのみ)
・Windows95ゲームプログラミング ------------ DirectX2
・3DグラフィックスプログラミングforWindows95--- DirectX2
・DirectX5ゲームプログラミング入門----------- DirectX3 (RMのみ)
・3Dゲームプログラミング入門---------------- DirectX7
・入門DirectX7プログラミング----------------- DirectX7

親戚が捨てようとしていたので貰ったのですが
今でも役立つ本があったら教えてください。
古い本で勉強したら意味が無かったり、悪影響があるでしょうか?


120 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:26:30 ]
正直意味がないと思われる

121 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:29:37 ]
普遍的な部分と今では通用しない部分を見分けられるくらいなら
それはそれで、その本いらないよな

122 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:30:01 ]
それらの本を読んで、DX9のプログラムを組めるかと言えば答えはNo

123 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:31:19 ]
暇でしょうが無いときに流し読みして古紙回収にでもまわせば

124 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:31:46 ]
でもちょっと読んでみたいw

125 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:33:11 ]
全部読んだわけではないが、ゲームプログラムって部分でちゃんとゲーム作れてないのが多いと思う



126 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 19:44:25 ]
>>119
読んでから書き込みしろ

127 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 20:00:01 ]
>>119
DirectX7は、WindowsXPの9とそれほど変わらないと思う。

> 3Dゲームプログラミング入門
> 3DグラフィックスプログラミングforWindows95
DirectXのバージョンはともかく、3Dデータの扱いとかフォーマットの参考資料にはなるだろ。

古いバージョンでもわかりやすくまとめたものは参考になるよ。
最新バージョンの機能はオンラインヘルプで見れるわけだけど、サンプルコードがないとね。
もちろん最新バージョンの本があればそんな古い本はいらない。


128 名前:デフォルトの名無しさん [2008/10/31(金) 20:13:35 ]
デバイスに指定するD3DRS_AMBIENTと
D3DLIGHT9のAmbientはなにがちがうの

129 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:49:03 ]
D3DRS_AMBIENTは
ステートブロック内の全ての物体に影響する
ライトのAmbientはライトの当たってる範囲にのみ影響する
ライトの範囲内では
D3DRS_AMBIENTで指定した値
+ライトで指定したAmbientが環境光になる

130 名前:デフォルトの名無しさん [2008/10/31(金) 23:16:41 ]
ほー

131 名前:119 mailto:sage [2008/10/31(金) 23:47:08 ]
>>120-127
皆様ありがとうございました。
最新の本を購入するか、DirectX7の本から始めてみます。

132 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 23:54:24 ]
ぶっちゃけWebのコードだけで十分だけどなw

133 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 00:14:32 ]
DirectX7の本なんか捨てちまえよ
過去に縛られるのはいくない

134 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:32:18 ]
日本はエロゲ方面から発達してきたからかロースペックのマシンをサポートする事が何よりも大事だという風潮がある。
海外は俺の技術すげーだろ?的なものを見せたがるので最新技術をバンバン投入してくる。

その結果が今の3D技術の「海外>>>越えられない壁>>>日本」になって現れていると思う。
INTELの845をサポートしつつ3Dゲームを作るとかわけわからん事言い出すヤツもたまにいる。

135 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:38:02 ]
PCに関しては英語を読めない馬鹿が多いからだろwww



136 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:53:59 ]
なんかそれって外国のほうが初めから
技術高いって言ってることになるぞ?

137 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 02:03:07 ]
海外製のネトゲとかで810で動作してたのは結構あった気がするけど
当時810が普及しすぎて対応せざるを得なくなってたのは日本だけじゃない気が

138 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 02:13:36 ]
まぁ、コンシューマ(PS3、Wii)等を見れば、そういった差は無いことが一目瞭然なわけで。
単純に国の需要の問題だと思うけど。
ゲームなんかは特に、派手な見た目が喜ばれるのは最初の30分くらい。
後は操作性の方が全然優先される。

139 名前:デフォルトの名無しさん [2008/11/01(土) 09:32:31 ]
日本は2.5D

ttp://www.teatime.ne.jp/Set1.html

140 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:51:53 ]
その最初の30分が売れるためには重要なのかも知れないね。

141 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:56:32 ]
GBAとかDSの2Dゲー見てると、2D表現は日本のほうがこなれてるなーって思う

142 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 11:14:21 ]
2Dゲーなんて俺の触手(食指)が動かないぜ

143 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 13:06:17 ]
DirectXってもう9や10から入るのはつらいよな
5や7の時代は良かったのに・・・

144 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 13:43:38 ]
9からのほうが楽だろ・・・。俺的には10のほうが自由でもっと楽だけど。

145 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 14:44:12 ]
楽なのは 10>9>8>7>他 だと思うけどな



146 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 15:03:34 ]
>>145
情報の量は逆だね 10<9<8<7

147 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 16:06:31 ]
今後Vista以降のOSを使えばDX9世代以前のGPUでもDX10を使えるようになるみたいだけど
果たしてどれだけ意味があるのか

148 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 16:11:47 ]
>>146
そりゃ歴史が浅いほど情報は少ないだろ。
ただDirectX10に関しては9までのと違って細かいメーカールールとかなくてかなり扱いやすいけどね。
Vistaはもう仕方ないのでWindows7でDirectX11と一緒にブレイクするのを期待する。

シェーダーモデル2.0なんかじゃまともに組めめーし。

149 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 16:37:28 ]
>>148
> ただDirectX10に関しては9までのと違って細かいメーカールールとかなくてかなり扱いやすいけどね。
マジスカ。
確かにハードと切り離されてるんだからOSが吸収してくれて簡単になっててもおかしくない。
じゃあWindowsXPの終焉とともにDirectX9以前は消滅か。
でもeeePCとかで今も大人気のXPがなくなるのはいったいいつになるやら。


150 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 17:02:28 ]
まぁ3Dの本だされても理解できないんですけどね





















ゆ と り 教 育 の 結 果 が こ れ だ よ ! ! !

151 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 19:16:23 ]
>>150
こんなつまんねー書き込みで改行やらないでくんない?

152 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 19:17:44 ]
>>151
詰 め 込 み 教 育 の 結 果 が こ れ だ よ ! ! !

153 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 20:01:47 ]
7はついにD3Dがネットワーク透過になると聞いてちょっとwktkですよ

154 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 20:04:32 ]
どういう事?
XWindowみたいになんの?

155 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 20:07:51 ]
>>149
eeePCはサポート外でいいだろ。



156 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 21:08:48 ]
>>154
うん、グラフィックス処理をクライアント側に丸投げできる
案ずるより産むが易しってことで詳しくはこっち見て下さい
ttp://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES21.wmv

157 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 21:14:45 ]
>>156
1時間以上ですか。
しかも英語。わかりません。

158 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 21:19:25 ]
>>157
実演は17分くらいからと33分くらいから

159 名前:デフォルトの名無しさん [2008/11/01(土) 21:20:36 ]
DCOM?

160 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 21:24:22 ]
OpenGLみたいな〜っと勝手に妄想

161 名前:デフォルトの名無しさん [2008/11/01(土) 22:19:36 ]
 /|\
 | キ |        n/ ̄\n
 | キ |        /  (・(・|
 \|/        三    ∞ |三
  ||         /  / ̄ ̄)
 /──────   \ ̄ ̄)
 |           | |/| | ̄ ̄
 |_| ̄|_| ̄ ̄ ̄ ̄ ̄|_|  |_|

162 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 22:44:29 ]
グラフィックなんて自分でコツコツ作るから面白いと思うんだが・・・。
GPGPUとかシェーダーこつこと弄るのがかわらなきゃ別にいいわ

163 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 22:49:12 ]
楽なら楽な方がいいよ。その分他の事ができるんだから

164 名前:デフォルトの名無しさん [2008/11/01(土) 23:23:50 ]
テクスチャとZ値でソートする場合
どういう順番で並べたらいいの?

165 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 23:30:12 ]
ザパニーズでおk



166 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 23:33:18 ]
自分の好きなように並べたらいい。
そうとしか言えない。

167 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 00:09:29 ]
>>164
テクスチャとZ値って意味わかんない
キーワードあげるからテキトーにググって知識いれてきてよ

キーワード
Zバッファ アルファテスト Zソート 前から描画

168 名前:デフォルトの名無しさん [2008/11/02(日) 00:46:18 ]
>>164

コスト優先ならテクスチャを、見た目優先ならZを


169 名前:デフォルトの名無しさん [2008/11/02(日) 00:50:21 ]
一枚のテクスチャにして、欲しい絵の部分をRECTで切りだせばいいだろ

170 名前:デフォルトの名無しさん [2008/11/02(日) 00:57:02 ]
>>167
まず・お前が知識つけろよw
ttp://www.plustarnet.com/aspil/Programming/ID3DXSprite.htm


171 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 01:06:15 ]
今どきSetTextureのコストとか…

172 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 01:31:55 ]
SetTextureのコストは変わらないだろ?
転送速度なんだから

173 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 09:10:24 ]
ひんと 回数

174 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 09:21:13 ]
テクスチャが一回ずつしか使われてなかったらソートの手間損だろ

175 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 09:40:20 ]
SetTexture()のコストなんてどうでもいいが、
それに伴うDrawPrimitive()のコストは洒落にならない。

未だにどのエンジンも如何にしてDrawPrimitive()を減らすかに
躍起になっている理由くらい分かるだろ。



176 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 09:45:16 ]
>>175
俺もうそんなの考えてねぇよ
必要なら必要な分だけ何回でもレンダリングしてる
汎用性とシェーダの兼ね合い考えたら
もう汎用性をとるしかない

何度でもDrawPrimitiveしまくる

177 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 09:51:39 ]
そもそもSetTextureってなにかメモリ的な動きあるのか?
これフラグ立てるだけだべ
DrawPrimitiveしたときにすべてを実行してるんじゃねぇのか?

178 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 10:01:06 ]
DrawPrimitiveの前にSetTextureやりまくってみりゃわかる
ついでにテクスチャサイズでの違いの検証も

よ ろ し く

179 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 10:08:32 ]
>>176
せめてジオメトリインスタンス使えよ

180 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 10:12:41 ]
>>177
>DrawPrimitiveしたときにすべてを実行してるんじゃねぇのか?

つまりSetTextureを呼ぶと、DrawPrimitiveに時間がかかるわけだろ。

181 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 10:15:46 ]
富豪的処理

182 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 10:37:30 ]
DrawSubsetというかDrawPrimitiveは非常に重い処理。 流石に1フレームに1000回はかなり無茶なレベルだぞ。 まったく同じモデルを複数表示してるならジオメトリ インスタンスを使え。

183 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 11:22:49 ]
ジオメトリ インスタンス
って何ですか?

184 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 11:31:37 ]
やふれ

185 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 12:05:20 ]
たぶん、DirectX10は飛ばされて
11がメジャーバージョンになるんじゃないかと踏んでいるんだが



186 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 12:52:49 ]
偶数バージョンが空気になるのは毎度のこと

187 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 13:12:06 ]
7⇒8でさっぱり変わって9で完成形を見たように
9⇒10でさっぱり変わってるから11で完成形を見るんだろう。

8でシェーダーが対応されて9で完成されたのと一緒で
10でGPGPUが使えるようになったから11でより楽にサポート的な。

188 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 13:29:58 ]
>>184

77 :デフォルトの名無しさん:2008/07/29(火) 09:32:33
>>73
DrawSubsetというかDrawPrimitiveは非常に重い処理。
流石に1フレームに1000回はかなり無茶なレベルだぞ。

まったく同じモデルを複数表示してるならジオメトリインスタンスを使え。

同じの見つかったよw

189 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 13:30:15 ]
結局のところ
テクスチャ取り替えたり変換行列変える度に
DrawPrimitiveガ必要になるわけだろ。
いちいち回数減らす小細工しても変わらないよ。

DX10は知らんが。

190 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 13:36:37 ]
そう思うなら好きにすればいいさ

191 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 13:38:24 ]
その小細工の為に大層なエンジンを組むんだろ・・・
骨の行列をfloat4のテクスチャに格納して切り替えを減らすのとか
ジオメトリインスタンスの機能があるのは何のためなのかと。

GPU Gems3を読んで来い。

192 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 15:06:08 ]
っ フレームごとの消去をやめて変化しないものは描きなおさない

193 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 15:08:33 ]
なんか知らんがステートブロック使うだろ

194 名前:デフォルトの名無しさん [2008/11/02(日) 15:19:33 ]
遅い環境に合わせてもしょぼいゲームが出来るだけ

195 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 16:30:01 ]
くだらない高速化に目を向ける前に、完成直前まで持っていいって遅いと感じてから直せ。
余計なところに気を回している暇があったら、とっとと完成させる方に目を向けろ。
どうせ描画の一部を直すより、システム全体のロジックを見直した方が速くなることに気がつくだけなんだから。



196 名前:デフォルトの名無しさん [2008/11/02(日) 16:40:54 ]
そして定期的に速いグラボ買わせる訳ですね。

197 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 17:13:36 ]
testes

198 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 17:46:08 ]
DrawPrimitive()が使うのはGPUじゃなくCPUだぞ、っと。

199 名前:デフォルトの名無しさん [2008/11/02(日) 17:57:21 ]
所詮はCOM
秒間何百回も呼ぶように作られちゃいねーのよん

200 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:09:27 ]
COMを一秒間にたった数百回呼び出したところで、それがシステム全体にどんな影響を与えると?
頭が悪いにも程がある。

201 名前:デフォルトの名無しさん [2008/11/03(月) 00:01:33 ]
おまいらはこの本から勉強しなおすべきだな。

ttp://image.excite.co.jp/feed/news/Excite/bit/2008/E1225123817444_1_s.jpg

202 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 02:50:42 ]
>>189
まったくだな
しかも、一発で描くようにしたらシェーダをアフォかってほど書かなきゃならない
もはや人間がやってられる量を完全に超えてる

もう俺なんかあきらめて2度塗り3度塗り上等だよ
ディフューズやスペキュラ、ライト1個目、2個目・・・
DrawPrimitiveなんて呼びまくってナンボだろ

203 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 08:04:53 ]
>>201
ドイツ人はこんな教科書で日本語を勉強してるのか・・・・orz

204 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 09:56:48 ]
>>199
>>200
DrawPrimitiveが重いのはCOM云々じゃなくて
中でGPUコマンドの生成を行なってるからだぞ・・・。
この辺はMSやnVIDIAの技術者からも情報がいろいろ出てるだろ。

205 名前:デフォルトの名無しさん [2008/11/03(月) 10:43:14 ]
流れを切ってしまうが・・・

みんなはDXUTとか使ってる?



206 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 10:52:51 ]
使ってない。
DirectXも使ってない。
ていうかプログラム作ってない。

207 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 11:06:59 ]
使っていない。
その程度自前で作れる程度でないと、そもそも何も出来ない。

208 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 11:24:14 ]
使ってる
楽できるとこは楽しないと
自己満足のために納期は待ってくれないし

209 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 11:30:33 ]
仕事で使ってる人がなぜ初心者スレに・・

210 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 11:35:47 ]
まだ初心者だけどGUI機能だけ使おうかと思ってる

211 名前:デフォルトの名無しさん [2008/11/03(月) 11:55:18 ]
ゲームクリエイターズバイブル
に自分しか信じない病って書いてあったなー

212 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 13:40:41 ]
D3DX系の高レベルAPIは信用出来ないぞ。
バグがあってもいつ直るか分からないは、勝手に仕様を変更されるは、
そんな物を使っている奴は気が狂っているとしか思えない。

213 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 13:47:01 ]
あれはラッパライブラリと同列に扱うものであって基盤になるAPIじゃない

214 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 15:37:16 ]
ID3DXFont::GetDC()で取得したHDCって使い終わったらどうすればいいんでしょうか?
Win32Apiで解放した方が委員でしょうか?ID3DXFont::ReleaseDC()が見当たらないので

215 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 15:53:11 ]
>>214
pc11.2ch.net/test/read.cgi/tech/1224745158/405-407




216 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 16:37:01 ]
えーと、その405は自分です。元の戻すのはいいんですが、解放はどうするのかなぁ、と思ったもので・・・

217 名前:デフォルトの名無しさん [2008/11/03(月) 17:09:00 ]
Fontは遅いから使うなとかなんとか…

218 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:11:12 ]
そもそもGetDCで何がしたいんだろう?
あまり安全じゃないから使わないほうが良いという話だが
一度削除されて、いつのまにか復活してる

219 名前:デフォルトの名無しさん [2008/11/03(月) 18:21:35 ]
ID3DXFont::GetGlyphDataは使ってる

220 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:21:51 ]
まぁ、多少遅くてもいいかなと思って使ってます。
>>218危険性についてググッても出なかったんですが、何が危ないんでしょう?

221 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:35:55 ]
>>220
アルファチャンネル

222 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:41:28 ]
LPD3DXFONT::Release
て無くなったの?
前はなかったっけ?

223 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:21:08 ]
>>222
COMだからQueryInterface, AddRef, Releaseは必ず存在する。

224 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:27:44 ]
あぁゴメンReleaseDCか

225 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:06:16 ]
冗談かと思ってたら本当にDirect2Dとかでるのな
channel9.msdn.com/pdc2008/PC18/



226 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:16:57 ]
また海のものとも山のものともつかぬようなAPIが増えるのか

227 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:27:39 ]
>>221今回はコンパチの作成とフォントハンドルの取得にしか使ってないんですが・・・
分からないっちゃ分からないですよね。安全かどうかは・・・
でも、それはさておきID3DXFont::GetDCで取得したHDCはリリースすべきなのか、どうするのか
分かる人いないですか?

228 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:32:08 ]
正直いまさら2D機能なんて作られてもいらねぇだろ・・・

229 名前:デフォルトの名無しさん [2008/11/03(月) 21:38:07 ]
日本は2D

230 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:56:58 ]
>>227
普通にリリースすればいいんじゃね?

msdn.microsoft.com/en-us/library/bb173963(VS.85).aspx
特になにも書いてないね

231 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:59:41 ]
ぶっちゃけた話DirectWriteの為だけに用意された気がしないでもない

232 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:03:29 ]
エロゲなんざDirectDrawかGDIでつくりゃーいい。
いまどき同人ですらDirect3Dでゲームつくってるっつーのに

233 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:04:47 ]
さすがに今GDIはないわ

234 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:13:10 ]
3Dゲームだってアイコンやらゲージやらマップやら2D表示部分はいくらでもあるだろ

235 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:19:47 ]
3DゲームならそういうのはなおさらDirect3Dで描くだろ。



236 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:22:42 ]
Direct3Dの上に実装されるらしいから問題ないだろ

237 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:25:53 ]
Direct2Dの中身も分からないのに何を言っているのやら
Direct3Dでやるより楽なら使えばいいし面倒なら使わなきゃいいだけの話だろ
新しい物を試しもしないうちから否定してもプログラマとして成長しないぜ

238 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:42:10 ]
やる前にある程度のことは分かれよ、大人なら(笑)

239 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:19:24 ]
>>238
憶測で分かったつもりになるのが大人というなら
大人になんかなりたくないと、ぼくはおもいます

240 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:20:33 ]
どうでもいい機能が追加されることなんてよくあるだろ
そんなのどうでもいいと思う事すらどうでもいいだろうに

241 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:23:32 ]
それだけ要望が多かったんだろ。
その程度の実装すら自分で出来ない馬鹿の。

242 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:57:07 ]
DirectDrawの焼き直し。DD扱いにくかったからな・・・。

243 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 00:19:35 ]
動画やってる人にも需要ないかな?

244 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 01:08:51 ]
>>230
::ReleaseDC()で開放しろって意味ですよね?
HDCはいいけど、HWND引っ張ってくるのめんどいズェ・・・ID3DXFontから引っ張れるけど・・・
解放しなくていい気がしてきた。怖いなぁ。 よし放置しよう!

245 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 05:31:41 ]
DirectShowは糞



246 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 08:40:37 ]
DirectX9 とC++で
DirectX Graphicsを2Dについても濃厚に解説している
お勧めの書籍があれば教えてください。


247 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 12:45:16 ]
その質問は何度もでていますが
残念ながらそのような本は存在しませんので
直接本屋に足を運んで
自分のレベルにあっていると思われる本をお選びください
ある程度慣れてくると
その本に何が足りなくて、自分が何を必要としているのかがわかってくるので
そのとき改めて別の本を買うなりネットを検索するなりしたほうが良いと思われます

248 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 14:37:52 ]
ネットで十分ですよ

249 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 14:40:17 ]
本を片っ端から買う金がないならネットでコツコツと探せ
わかんない人にとっては無駄じゃないから

250 名前:デフォルトの名無しさん [2008/11/05(水) 19:42:41 ]
IDirect3DDevice9::CreateStateBlock
でググって絶望するわけですな。

251 名前:デフォルトの名無しさん [2008/11/05(水) 19:50:23 ]
ちゃんとMSDNがヒットするぞ

252 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:34:35 ]
250みたいな馬鹿はググリ方すら分からないから、
インターネッツの使い方の本なら買う価値があるかもね

253 名前:デフォルトの名無しさん [2008/11/06(木) 00:03:00 ]
なんでここの連中って高圧的なの?

254 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 00:13:38 ]
ストレス溜まってるからだろ

255 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 00:57:55 ]
>>246じゃないが
DrectDrawに相当するものについて説明してるところないだろうか
3Dの解説してるところは山ほどあるけど
2Dになると「もうなくなったからあきらめてね」みなたいな流れなのが悲しい
とりあえず画面に線を引くくらいでいいから取っ掛かりがほしい



256 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 01:41:06 ]
画面に三角形を書く、その三角形にテクスチャを張るぐらいの説明はどこでもやってる気が

257 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 01:42:45 ]
よくある3Dの解説サイトでも、最初は画面にポリゴン一枚から、とかじゃない?
そのポリゴン一枚を2Dの絵と見立てれば解決のような。それじゃ嫌なのかな?

258 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 01:44:51 ]
3Dができれば2Dなんて軸が1本減っただけだろう

>>255
D3DPT_LINELISTかD3DPT_LINESTRIPで引けば

259 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 01:49:54 ]
>>255
DirectDrawには、画面に線を引くなんて機能すらないよ。
あるのは画像のブロック転送だけ。
線を引きたかったら、1ピクセルずつ自分で描かないとダメ。

あと、あらゆるピクセルフォーマットに対応できる仕様になっているから、
物凄く面倒だよ。フォーマットの変換はやってくれないから、全部自分で
読み込み時に変換しないとダメ。

最近のDirect3Dで2Dだけを扱うよりも数倍面倒。
デバイスの初期化だけで100行くらいのコードになるし。

260 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 01:50:16 ]
そこまでやる気ないのだとしたら
ゲームライブラリとか公開してる人がいるからそういうのを使う方がいいかも

261 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 07:51:25 ]
>>255
モニターの設定を取得してそのカラー設定に応じて自分で点を打っていく
RGB888( )とかRGB565( )みたいなマクロ作っとくといいよ


262 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 10:02:55 ]
線を引きたいなら1ドットのビットマップを引き伸ばして回転させて線にするとか

263 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 13:15:43 ]
>>262
DirectDrawに回転ないってw

264 名前:デフォルトの名無しさん [2008/11/06(木) 13:51:53 ]
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=5493f76a-6d37-478d-ba17-28b1cca4865a&DisplayLang=en
DirectX Software Development (November 2008)
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en
DirectX End-User Runtime Web Installer

265 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 13:52:38 ]
>DrectDrawに相当するもの
って書いてあるからDDじゃないと思ってた



266 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 14:06:04 ]
>>255の言いたい事は、2Dグラフィクを扱う方法と考えるべきだな。
頭の悪い奴は、DirectDrawでできることというお馬鹿な解釈をする。
>>259>>263のようにね。

267 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 15:42:03 ]
DirectDrawで線を引く機能があっても意味ねー。
ゲームの画面が線で描かれることは無い。
すべて絵だし。ビットマップだし。

268 名前:デフォルトの名無しさん [2008/11/06(木) 15:45:37 ]
まー解説サイトも板ポリゴン作って拡大回転テクスチャをごにょごにょのレベルまでだけどな

DrawPrimitiveの削減とか考えると本買うしかない

269 名前:デフォルトの名無しさん [2008/11/06(木) 16:00:25 ]
2Dでそこまでしなくても

270 名前:デフォルトの名無しさん [2008/11/06(木) 16:55:05 ]
最新のDirectXがどうしてもインストールできません。
何度やっても「ファイルをダウンロードできませんでした。
後でもう一度実行するか、ネットワーク接続を確認してください」
というダイアログが出ます。

どういった原因なのか分かる方いらっしゃいますでしょうか・・・?

271 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 16:58:39 ]
ブラウザ変えてやってみるとか。
うちでも一定バイト数以上にならなくて別ブラウザにしたら一発だった。

272 名前:デフォルトの名無しさん [2008/11/06(木) 17:04:46 ]
VC++で説明している本の内容をC#で実装するのって手間かかりますか?

273 名前:デフォルトの名無しさん [2008/11/06(木) 17:17:09 ]
SlimDX使えば

274 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 17:22:42 ]
最初はオープンソースのライブラリを使ってゲームを作る
そしてライブラリの中身を見ながら自分風のライブラリに置き換えていく。
俺はこうやってWinAPIとDirectXを習得した。

まぁDirectX7+ELの時代なんですけどね。

今だとオープンソースで使えるライブラリつったらDXライブラリかな?

275 名前:デフォルトの名無しさん [2008/11/06(木) 17:36:29 ]
自分で書いたほうが早い



276 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 17:42:07 ]
Direct Graphics だとか Audio なんかはフリーのライブラリを見て勉強できますが、
ゲームオブジェクトの管理とか設計がままなりません。
オブジェクト指向本とか勉強するべき?

277 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 18:46:03 ]
>Direct Graphics
そんな物は存在しない

278 名前:デフォルトの名無しさん [2008/11/06(木) 18:47:46 ]
>>271
>>270へのレスでしょうか?

そうでしたら、違うブラウザーでも駄目でした。
同じような現象が現れた人はいないでしょうかね・・・。

279 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 19:41:24 ]
ウイルス対策ソフトをアンインストールしてから出直せ

280 名前:デフォルトの名無しさん [2008/11/06(木) 23:20:18 ]
はじめまして
Visual C++ 2008でdirectXをやろうとしてるのですが
コンパイルできません。
次のようなエラーが表示されてしまいます。

1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\takuya\Documents\Visual Studio 2008\Projects\AAA\Debug\AAA.exe : fatal error LNK1120: 外部参照 1 が未解決です

SDKはインストールしましたし、ソースはコピペなので完璧なはずです。
何がいけないのでしょうか?

281 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 23:23:36 ]
Win32アプリケーションじゃなくてWin32コンソールアプリケーションとしてプロジェクトを作成してる。
DirectXと関係ねー話だからよく分らんかったらVSのスレにでも池

282 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:35:23 ]
シェーダで隣のテクセルなどを参照する方法ってありますか?

283 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 12:09:20 ]
in float2 inTexture : TEXCOORD0, // [入力] テクスチャ座標

// 中心点と隣接する4点をサンプリング
float4 t0, ti, t2, t3, t4 ;
t0 = tex2D(TexSampler, inTexture),
t1 = tex2D(TexSampler, inTexture+float2( -1.0f/TEX_SIZE_X, 0)),
t2 = tex2D(TexSampler, inTexture+float2( 1.0f/TEX_SIZE_X, 0)),
t3 = tex2D(TexSampler, inTexture+float2( 0, -1.0f/TEX_SIZE_Y)),
t4 = tex2D(TexSampler, inTexture+float2( 0, 1.0f/TEX_SIZE_Y)) ;

ただし、テクスチャのサイズTEX_SIZE_X, TEX_SIZE_Yは既にわかっていて
外部から与えられるものとする


284 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 12:40:54 ]
シェーダで1.0f/TEX_SIZE_Xを計算させると精度で泣くよ。
TEX_SIZE_Xを与えるついでに逆数も与えた方がいい。

285 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 12:48:52 ]
>>283
なるほど、ありがとうございます。
自分がtex2Dについてよく理解していなかったようです。すいません。



286 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 13:34:15 ]
逆数を与えるとは?

287 名前:デフォルトの名無しさん [2008/11/07(金) 14:45:15 ]
質問させていただきます。
DirectXをつかってC++でゲームを作る場合、オブジェクト指向でClassを作るというやり方は一般的ではないのでしょうか。
ちょっとしたゲームの入門書を読んでみても、Classは出てきておらず、疑問に思いました。
Javaでコードを書いていた期間が長く、Class 自分、Class 敵 、とクラスを作っていこうと考えていたのですが処理が遅くなるなどのデメリットが生じるでしょうか?

288 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:00:11 ]
今時クラスを使わない方が少数派だよ。仕事ならなおさらね。
その程度のリスクを気にするような時代じゃない

まあ全てをクラスで管理しなくてもいいわけだし、上位はクラスで管理して
下位を入門書のコピペでやるというのもありか

289 名前:デフォルトの名無しさん [2008/11/07(金) 15:06:54 ]
現場ではまず使わないね。
まあ趣味なら好きにすれ

290 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:09:06 ]
どこの現場だよ^^;
Cだけで組んでるなんて10年前ぐらいの話だぞ

291 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:13:15 ]
リスク?コスト?

292 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:18:47 ]
公開されてるToHeart2のソースだとCだけで組んでるっぽいな
あそこのプログラマは知識なさそうだから参考になるか知らんがw

DirectXで仕事した事はないけど、家庭用ゲームの開発ではクラス使ってる

293 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:30:04 ]
少人数の開発だとプログラマー1人で全部やるようになるからその人次第じゃね

294 名前:デフォルトの名無しさん [2008/11/07(金) 15:43:05 ]
クラスでやっても実行速度はかわらんだろ

295 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:44:10 ]
まあ共同制作の場合はクラス作る方が都合がいいやね
ちゃんとオブジェクト指向と言える物になってればの話だが
グローバル変数が各ソースで呼ばれるようになるとバグ修正が困難になる



296 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:49:37 ]
>>294
それは組み方次第じゃね
少なくともクラス自体のnewとdeleteの手間はあるわけだし
全く変らないとは言い切れないが、別に気にするような事じゃない

297 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 16:12:26 ]
俺は、一つのcppファイルをクラスと見立ててコード書いてる。だからクラス自体は使ってない。
まぁあくまでも趣味だから俺は

298 名前:デフォルトの名無しさん [2008/11/07(金) 16:44:25 ]
仮想関数って致命的なオーバーヘットもあるしな

299 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 16:59:02 ]
classでも何でもとりあえずデバッグしやすい構造でがしがし組んで行って、
最後速度が本当に気になるなら実装をいじればいい

300 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:40:25 ]
オーバーヘッドがどうこう言う>>298みたいな奴は、
それこそ致命的に頭が弱い。
中身が空っぽに近いメソッドをぐるぐる呼び出して、
ベンチマークをとったと勘違いしているんだろうが、
実際に目的があって組まれたプログラムの仮想関数を、
別の方法に置き換えたところで、1FPSすら速度の向上に貢献しない。

301 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 18:00:18 ]
>>300
なんで頭が弱いとか人を馬鹿にするような書き込みをわざわざすんの?
おまえに限らずこのスレはくだらない自尊心を満たすために汚い言葉つかうやつが多くて困る

302 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 18:35:48 ]
どのスレでも馬鹿は馬鹿にされるでござりまするよ

303 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 18:37:14 ]
2ちゃんなんてこんなもん
それが嫌なら綺麗な掲示板に行こう

304 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 18:39:32 ]
言語仕様のどうでもいい一部にこだわるよりも、
いらん処理を省いたり、目立たない部分を簡略化したりする事に時間を割いた方が、
よっぽど全体のパフォーマンスが上がる。

305 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 19:59:41 ]
Windows + DirectX + C++ で開発する場合、DirectXの前にWindowsプロシージャの
ラップやらMFCやらを説明しないとならない。
DirectX入門という触れ込みなのに中々絵のでない解説が延々続くと読者の興味が持たないし、
前書きに「最低限C++とWindowsプログラムの知識が必要です」とかだと対象が狭まってしまう。
多分、著者側のそんな苦悩があるのでは。



306 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 20:01:23 ]
いまどき仮想関数のオーバーヘッドとか・・・
危うくつられるところだったぜ・・・・・・。

いまどきクラスなしでゲーム開発なんて携帯機くらいじゃねーの?
new/deleteでオーバーヘッドっつーならmalloc/freeはノーコストなのかと。

307 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 20:08:24 ]
DSの開発はC++ですぜ

308 名前:デフォルトの名無しさん [2008/11/07(金) 23:15:22 ]
すんません質問させらくだ際


ゲーム中の画像の描画にアルファ適用したくて
元画像から一個一個DDS作ってるんだが正直免土井

そんで、元画像とアルファ情報入ったグレースケールの画像を一度に二つ読み込んで
DDSとかをいちいちつくらずアルファを実装してるゲームとかたまに見るんだけど
あれはどうやったらできるの?

309 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:22:28 ]
目的のサイズのテクスチャ作って、直接ARGB値を書き込むんじゃないの?

310 名前:デフォルトの名無しさん [2008/11/07(金) 23:31:09 ]
>>309 ぐぐってみたらそれらしいのが出てきたんで試してみます
thxでした

311 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:36:16 ]
元からPNGとかでα込みのデータ作ればいいのに。
あくまでもマスク画像と合成してDDS作りたいなら、自分でバッチ処理する
プログラムでも書けばいいかと。DDSでの保存はD3DXで簡単にできる。

312 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:36:23 ]
つか、どっちにしろ何らかの
アルファチャンネル付きフォーマットを用意することには変わらないんじゃ

313 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:38:25 ]
最初からグラフィックソフトでDDS作る方が数倍簡単だろ・・・
αとカラーを別々の画像で扱う方がメンドイしキャッシュにもやさしくない

314 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:42:49 ]
普通にマルチテクスチャしてるんじゃまいか?

315 名前:sage [2008/11/07(金) 23:44:53 ]
>>311-313 割と多く画像を扱うからDDSへの変換が結構手間だったり
ファイルが増えて煩雑な感じになったりだったんで
ファイル二つですめばいいなあと思いやってみてたんだが
あんまりよろしくはなかったのか…



316 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:55:32 ]
Photoshopでバッチ変換とかすりゃいいだけだろう。
nVIDIAのプラグインでミップマップとか圧縮とかも全部出来るし。
って流石にPhotoshopはかえねーよって人のために
コマンドラインツールがDriectXのSDKん中に入ってたりする。

317 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 03:54:15 ]
うちの社内ツールがBMPしか読めませんとか、RGBとAが別でないと読めませんとかだったお。
面倒すぎて自分でPSD→社内形式のツール作ったw





318 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 04:32:11 ]
どこの社内ですか?

319 名前:デフォルトの名無しさん [2008/11/08(土) 05:23:00 ]
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=886acb56-c91a-4a8e-8bb8-9f20f1244a8e&DisplayLang=en
DirectX End-User Runtimes (November 2008)

320 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 13:23:54 ]
乗り遅れたが・・・
趣味→クラス使っても使わなくても
仕事→クラスを使わないとえらいことになりそう

しかし上でも言われてるように、使うのと使わないのでは差が出ると行ってもほんのちょっとだろう。
俺もCで組んだことあるが違いが実感できなかった

321 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 13:29:04 ]
そもそも仮想関数ってただの関数テーブル化されるだけだろ。
インライン展開しないような大きさなの関数なら差なんて無いだろ。

322 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 13:29:35 ]
素人乙

323 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 13:38:37 ]
そういうのを気にするのは
まともにゲームも作ったことのない
ライブラリ厨だけだってばっちゃが言ってた

324 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 13:41:32 ]
うちのじっちゃも言ってた
てことはまさか


325 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 13:42:51 ]
じっちゃやばっちゃの世代なら仮装関数を噛ますことのオーバーヘッドなんて許容しがたくて当然じゃねw



326 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:03:51 ]
言語論争は絶対に決着がつかないのでここまでで

327 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:19:11 ]
どう考えても一定以上の規模のものを作るならC++必須なんだし、
速度がそんなに気になるなら全部アセンブラで書いたら?

328 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:35:33 ]
今はコンパイラが利口すぎて
PGが最適化しなくてもそれなりに動くし
初心者スレだからそれでいいと思うんだが

あと論議するならDirectXのスレじゃなく
C++のスレでやってくれ

329 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:41:11 ]
仮想関数のテーブル参照のコストを気にするのなら、
仮想メモリのアドレス変換のコストなんか失禁ものだぞ。
そういう奴は素直にDOSでも使ってろ。

330 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:45:42 ]
そんな事よりDrawPrimitiveの呼び出し回数を減らせよと

331 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:47:50 ]
1時間に1回しか呼ばない俺は関係ないな

332 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 14:54:52 ]
行列の乗算のコスト考えたら関数呼び出しなんて失笑ものだよな

333 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 15:00:45 ]
今のCPU速いしな
オンボ+速いCPUの組み合わせのPCはあっても
ちゃんとしたビデオカード+遅いCPUの組み合わせはありえんし
作りやすいように作るのがいいと思うぞ


334 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:27:26 ]
DrawPrimitiveの回数云々よりも、いらないキャラクターの描画を削ったり、
遠くのオブジェクトのポリゴン数を減らすようなシステム改善の方が、
よっぽど全体の速度向上に繋がる。

335 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:33:11 ]
>>334
それを含めてDrawPrimitiveの回数を減らす努力だろ・・・



336 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:38:36 ]
後出しご苦労様。
DrawPrimitive限定と、他の命令も大幅に削減出来るかどうかの差は天と地ほどある。

337 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 17:02:58 ]
DrawPrimitiveだけを限定して減らす事なんて出来ない。
最低でも対になるSetRenderStateやSetTextureは減る。

338 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 17:42:27 ]
速度のネックになるのは描画、アニメーション処理全てだよ
その中にDrawPrimitiveの回数というのも当然含まれる

クラスを使う使わないとか、その他もろもろの処理の重さなんて
描画やアニメーションに比べれれば0に等しい

339 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:03:38 ]
ゆとりらしいレスだな。
PIの値に3とか使ってそうw
それぐらいの誤差は0に等しいとか言ってw

340 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:15:11 ]
ほほう、それじゃ比較してどれほどのものになるというのかね?

341 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:17:33 ]
特定の内容にこだわって遅いだのこうしろだの言い出す人間が、
いかに木を見て森を見ない奴だかよく分かる。

342 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:19:52 ]
おまえらそんなことはいいからゲーム完成させろよ

343 名前:デフォルトの名無しさん [2008/11/08(土) 23:31:26 ]
C++使ったらオブジェクト指向で分かりやすくなると思ったら間違いなんだよC++で分かりやすいソースが書けるやつはCでも分かりやすいプログラムが書ける表面的なことばかり追求する姿勢を改め機械語からやり直すことが近道だ

344 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:45:48 ]
機械語とか中途半端なんだよ、アセンブリか、回路そのものにしろ

>>C++使ったらオブジェクト指向で分かりやすくなると思ったら間違いなんだよC++で分かりやすいソースが書けるやつはCでも分かりやすいプログラムが書ける
禿同

345 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:50:18 ]
>機械語からやり直すことが近道だ
そんなことをいったら半導体の設計からさらにその前にさかのぼっていくことになるぞ。
なんでそんなに頭が悪いんだ?
それこそ猿からやり直せ。



346 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:57:35 ]
同じだったらより低コストで開発できるC++を選ぶのが一番の早道になるわけだが

なにがなんでもC言語を使うための方法を考えてるくらいなら
さっさとC++で実装してしまったほうが良い場合もあるし
環境によってはC言語だけで組んだほうがベストの場合もあるだろう
言語はあくまで手段であって目的と取り違えてはいけない
同じではなくそれぞれのメリットとデメリットを理解して使い分けるべき

347 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:04:32 ]
最低でもクラスとSTL相当の機能は使えないとやってられないけどな・・・。
2,3人で1年程度で完成するようなゲームならCオンリーでも別にかまわんけど。

348 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:33:18 ]
ゲーム本体、グラフィックツール等→C++
データコンバーター等→Cで適当に

だな

349 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 02:11:28 ]
おまえらCとかC++とか言うまえに
スレタイ読めるようにしてこいよ?

350 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 10:06:28 ]
>>348
モノによって言語仕様を変えていたら、コードの再利用がしにくくなって、生産性が落ちるだろ。
なんでそんなにどうしようもない思考しか出来ないほど間抜けなの?

351 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 10:17:04 ]
常に再利用できる環境にいるなら
再利用しやすい言語を使えってことだろ?
組み込みとかアミューズメントとか再利用ってなんですか?
って世界もあるわけで

352 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 10:20:51 ]
本体⇒C++
ツール類⇒C# & C++/CLI
が鉄板だな。

353 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 10:32:20 ]
>>351
DirectXスレで組み込みを語り出す馬鹿って何なの?

354 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 10:37:30 ]
>>350
あるねー
ツールをVBなんかで作られると
出来たデータの読み込みルーチンを違う言語で2つ作らなきゃいけなくなってすげー面倒だよね

ちょwおまwなんでVBなんかで作ったの?

って感じだった
後、エクセルに埋め込んであるVBA
てめーは比較ツールで差分すらみえねーから逝っていいぞw

355 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 11:11:51 ]
>>350
構造体のフォーマットはそのままでいいんだからCだろうがC++だろうが同じことだろ
君はデータコンバーター自体にゲーム本体での読み込みコードまで書き込むわけ?

だいたい、C++を使うという事はCのコードでも再利用できるということだよ。
なんでそんなにどうしようもない思考しか出来ないほど間抜けなの?



356 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 11:24:27 ]
>>350>>354は適材適所という言葉を知らんのだろう。
それとも、ひとつの言語しか使えないのか・

357 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 11:28:14 ]
自作のクラスライブラリとかつかわんのか。

358 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 11:35:26 ]
>>356
うーん、でもC++で扱うデータをVBやらスクリプト言語やらで作るなよとは思う
その上データのバイナリイメージの詳細をきちんと示さない奴は氏ねよと

ただ、エクセルVBAはないと仕事にならない事も多い
パラメーターなんかのデータ入力は基本エクセルでやるからな
自分で使うだけなら全て自作のスクリプトでいいけれど
俺の場合はエクセルVBAからCのツール呼び出すけど

359 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 11:46:46 ]
脱線しすぎだなw
DirectXの話に戻ろうぜ

360 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 12:08:29 ]
周辺ツールなんか
Excelでデータ管理したり
PerlやPythonやC#でさらっと作成してるのが普通だと思ってた秋

361 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 12:37:13 ]
C#(笑)

362 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 12:51:13 ]
>>355
>だいたい、C++を使うという事はCのコードでも再利用できるということだよ。
>なんでそんなにどうしようもない思考しか出来ないほど間抜けなの?

C++からCの場合は対応させるために大幅な修正が必用。
CをC++側のコーディングスタイルに合わせるためにラッパーの追加。
そんな無駄な作業をしてまで
>データコンバーター等
をCに限定する意味が不明。

余計なコードが増えた分だけテストのチェック項目が増えるというのに、どれだけ頭が悪いの?

363 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 12:51:22 ]
今だったらツールはC#が当たり前かと思ってた。
未だにWin32でGUIとか作ってるところあんのかね。

364 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 13:10:10 ]
>>362
あのさ、
読み込みルーチンわざわざ別の言語で2回作らなきゃいけないのに
これでチェックを少なくできるとおもってんの?

しかも読み込みルーチンだけならいいけど
C++でこさえてあるほかの関数まで必要になっても全部別の言語で
書き直さなきゃならないじゃない?

みるからに手間がハンパねぇよ
ちょっとしたもんだって嫌だよ
だいたいそんなにその言語強力かよ
ちょっとした手間惜しんでっていうか自分がさわってみたかっただけの
言語を会社で使うんじゃねーよ
絶対お前使えねぇって

365 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 13:12:20 ]
>>363
.NetFrameworkさえ使えりゃいいんじゃねぇの?



366 名前:デフォルトの名無しさん [2008/11/09(日) 13:46:04 ]
まーた生産性厨か

367 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 13:50:30 ]
>>362
>C++からCの場合
どこにもそんな事を書いた覚えはないんだが?
よっぽど馬鹿な事をしていない限りはそのような無駄な作業は
一切発生しないから心配しなくても大丈夫だよ。

よくわからんが、君が作るとなぜか余計なコードとやらが
無駄に増えてしまうのかもしれないね。

368 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 13:52:49 ]
てか、>>362=364なん?
誰にレスしてんの?意味不明なんだが。

369 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:01:02 ]
確かに、アンカー番号すら間違う>>364のような頭の悪い子には
複数言語を扱うのは無理かもね
他言語を覚える程度のちょっとした手間を惜しむような怠惰な子は
仕事じゃ使えねぇって

370 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:17:26 ]
言語なんて時代が流れるにつれて移り変わっていくものなんだから好きなの使えばいいんだよ

C++しかやってなくて他言語を使えないんだったらちょっとしたツールでもC++で作ればいいだろうさ
でも別言語だろうと苦もなく使えるぐらいの柔軟性がなければプロとしては失格

371 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:21:04 ]
会社とかプロとか一人で何言ってんだろ。
ストレスですね。わかります。
早死にしてください。

372 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:22:42 ]
そうだな。ここは初心者の素人が集まるスレだからプロも会社も関係ないんだ。

373 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:26:08 ]
ところでここしばらくDirectXのDの字も見てない気がするんだが

374 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:30:55 ]
質問です。DirectXでのおっぱいのリアルな揺らし方を教えてください。お願いします

375 名前:デフォルトの名無しさん [2008/11/09(日) 15:02:58 ]
あ泉風呂でDirectX呼べるの?



376 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 15:31:24 ]
>>374
解剖学を勉強汁。
モーションだけなら乳限定で開発していた日本のベンダーがあった気がする・・・

377 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 15:33:13 ]
>>374
まずは>>374自身が「おっぱいのリアルな揺れ方」を勉強してくるんだ。
エロゲーの2次アニメや3DCGではなく、本物の。
DirectXの出番はその後。

378 名前:デフォルトの名無しさん [2008/11/09(日) 15:39:14 ]
今まで:
単純な運動をそれぞれ担当する下請けがいくつかあって
どれを組み合わせるか決める元請けみたいなのがまた別の場所にある

今:
同じ場所に高速担当と低速担当がいて
これらが適当に組み合わせとかを変えることで
柔軟な運動ができる

ってことか?

379 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:03:34 ]
XP+VC2008EEで DirectX9のプログラムを開発しているのですが
SDKは最新版(2008 Nov)を入れた方が良いのでしょうか?
DX10/11は開発できないのでぶっちゃけて古めのSDK(2008 Mar)でもいいのかなと・・。

380 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:15:35 ]
自分で判断できない馬鹿は何使っても同じ。

381 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:41:09 ]
たぶん、またくだらない質問しにくることになるから
2007 August にしとけ

382 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 20:15:44 ]
Windows98対応も考えてOctober 2006をお勧め
リリースノートをみるとその後のバージョンでは98に対応してないらしい

383 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 20:25:37 ]
2006じゃなくて2004じゃね?
ってかWindowsXPより前のOSなんてサポートしても仕方ないと思うけど・・・

384 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 20:26:51 ]
だれも対応を望んでいるなんて言っていないのに、
とっくにサポートが切れたセキュリティリスクの塊なOSを
話に持ってくるのは、頭がおかしいから?

385 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 20:35:03 ]
>>383
最新版のリリースノートにも明記してあるぞ
本語版ドキュメントのOctober 2004と勘違いしてるんでね?
>>383-384
家にもまだWin98マシンがあるからな。動かないのは寂しい。



386 名前:デフォルトの名無しさん [2008/11/09(日) 20:58:59 ]
NT4.0ならともかく98、Meとかありえねーから

387 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 21:01:21 ]
DX6以降は逆立ちしても使えないNT4とな

388 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 21:14:25 ]
NT4.0は9x系以上にねーよw

389 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 21:31:51 ]
だったらもうWindowsServer2003に対応しろよ

390 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 21:32:51 ]
というか、"SDKでの開発"がサポート外なだけで、
出来上がったexeの実行自体はできるんじゃないかしら。

391 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:03:51 ]
>>385
セキュリティーホールが永遠に塞がれることのないOSでネットに繋ぐな。
迷惑以外の何ものでもないのが分からないのか?

392 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:07:24 ]
サポートの方には98.Me使ってるって話は未だにくるな

393 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:12:37 ]
上のツールの話だけど単純にいままで作ったライブラリが使えないのに
わざわざ新しい言語でツールを作る意味あるの?

394 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:13:32 ]
職場に来た新卒君が同じことやっちゃって
ちょっとどういう神経でそういうことしたのか聞いてみたかった

395 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:17:42 ]
何のツールかによるだろ
描画やファイルフォーマットが絡むツールなら共通部分を
ライブラリ化するなりメインのプログラムからコピってくるなりした方が早い



396 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:20:50 ]
自分の中でどういう理由があろうとも駄目だしすることが決定してるのに
その意図をいまさら他の人に聞く意味はあるの?

397 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:36:13 ]
GraphEdit(DirectShow)で
ファイル名.avi→AVISplitter
としようとしたら 繋げないのは何で?

398 名前:デフォルトの名無しさん [2008/11/09(日) 22:36:48 ]
それが女って奴だよ。

理由なんて興味はないのさ。
この人は私を愛してくれる、くれないで値踏みしたいんだ。

399 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:37:36 ]
>>394
後輩に直で聞けない君は大丈夫か?


400 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 00:06:51 ]
質問です。BeginSceneの後にRENDER_TARGETなテクスチャをSetRenderTargetでセットして
そのままEndScene→Presentとした時、画面が真っ黒でレンダリング結果が何も表示されないのですが、
こういう使い方は許されないんでしょうか?

401 名前:デフォルトの名無しさん [2008/11/10(月) 00:10:25 ]
入門書を読んでゲーム作成を学んで行っているのですが、質問させていただきます。
アニメーションのところで、頂点の変換について読んでいるのですが、そこでは
CPUで頂点座標、法線を計算した後にシェーダーや固定機能パイプラインを使って
残りの描画を行っています。
その理由が、「頂点シェーダだと大規模なフレーム構造をもつモデルが処理できないため」
と書いてあります。
しかし、CPUに付加をなるべくかけたくないので、このあたりも頂点シェーダで行いたいと思っています。
具体的には、
モトの頂点バッファのSUBETENO座標と法線に、それぞれスキニング行列とウェイトをかけると言う作業です。
フレーム数が少なければこの処理も頂点シェーダで出来るとのことですが、具体的な方法などを解説されているサイトなどは無いでしょうか?

まだ初心者なので、とりあえずCPUで処理するように組んだとして、後に頂点シェーダに変更が容易かどうかだけでも教えていただければうれしいです。

402 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 00:11:36 ]
すいません・・・上の10行目の「SUBETENO」は「すべての」ですorz


403 名前:デフォルトの名無しさん [2008/11/10(月) 00:19:05 ]
>>401
ゲ製作技術
pc11.2ch.net/gamedev/

404 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 00:25:46 ]
すれ違いでしたか・・・申し訳ありません。
誘導先の方でもう一度聞いてみます。ありがとうございました。

405 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 00:39:16 ]
>>400
SetRenderTarget()でテクスチャに設定して描画したなら
描画結果はそのテクスチャに書かれてるんだろ。

バックバッファには何も書いてないんだからPresent()してもそりゃ真っ黒だろ。



406 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 01:03:33 ]
>>405ありがとうございました。

IDirect3DStateBlock9って内容をコピーする場合は一度デバイスに適用して取得、という手順を踏まないと
できないんでしょうか?むしろ、これ使ってる人っているんでしょうか・・・

407 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 01:10:30 ]
コピーをしない。する必要ないじゃん。設計を見直せ。

408 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 01:37:46 ]
ステートブロックを保持するクラスのオブジェクトを作ったときに初期状態として、デフォルトの設定をコピーしたり、
コピーコンストラクタ等で処理するときに使います。

409 名前:デフォルトの名無しさん [2008/11/10(月) 08:13:20 ]
設定項目の類は自分で保持したほうがよくね?
デバイス吹き飛んだら一緒に吹き飛ぶもんもあるし

410 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 16:49:38 ]
その手間省けるかと思ったんですが、やっぱりそういうことになるんですかね・・・

うーん、ありがとうございました?

411 名前:デフォルトの名無しさん [2008/11/10(月) 17:18:12 ]
ぐぐれ

412 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 18:19:57 ]
DirectXでゲーム作ってるけど、描画ってすごく大変なんですね。
線形補間のところを自分でやったんだけど、描画のたびにいちいちこんなに細かい処理するのか・・・
近いキーを捜してウェイトをかけて。。。って。
MMOとかでもさすがに線形補間はしてるだろうけど、やっぱ3DMMORPGはすごいな・・

413 名前:デフォルトの名無しさん [2008/11/11(火) 18:31:27 ]
ttp://2sen.dip.jp/cgi-bin/upgun/up1/source/up20970.jpg

414 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 18:34:06 ]
何の補間の話だ?描画じゃなくてモーションの話をしてんのか?

415 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 19:00:25 ]
あ、ごめん。モーションだ。




416 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 19:06:40 ]
てか、いまどき頂点ブレンドの話?

417 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 20:55:54 ]
モーションの補間なんて別に難しい話じゃねぇと思うが・・・。
てっきりバイリニアを自前で実装でもしてるのかと思った。

418 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 22:00:19 ]
きちんとクオータニオンを使って補完しろよ
線形でやると動きが滅茶苦茶不自然になるぞ

419 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 23:51:27 ]
>>416
普通にモーションで、前と後ろのキーにウェイトをかけて補間してるのですが、最近はこんなのしないんでしょうか?
本からの知識だけだから常識的なことがわからないorz

420 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 00:03:42 ]
>>419
それは前提。その2つを単純な線形補間でやるかどうかの問題。

移動やスケールならTCBスプラインでつないだりするし、
回転ならクォータニオンでつないだりする。

ウェイトかけて足すだけで終わりなんてのはプレステ時代とか携帯機ぐらいじゃないかい。

421 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 00:22:43 ]
液晶ディスプレイだと、個々のディスプレイの相変換反応スピードに応じて適切に表示がなされるように設計しないといけないのですか?

422 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 01:11:32 ]
>>421
readmeに反応速度遅い液晶お断りって書くだけでOK

423 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 19:23:40 ]
最近、横に広いディスプレイが増えてきて
640x480で作った昔のゲームが

( ´∀`)
   ↓
(  ´ ∀ ` )

こんな感じで困る

424 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 19:25:44 ]
○が⊂⊃な感じになってるしよ・・・w

425 名前:デフォルトの名無しさん [2008/11/12(水) 19:30:59 ]
っ 額縁君



426 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 20:03:19 ]
横広ディスプレイなんてパソコンの主な使用用途であるテキスト表示には
不利益しかもたらさないのになぁ
頻繁に縦スクロールしなくちゃなんなくてめんどいわ

427 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 20:13:04 ]
高さ一緒なら、同時にたくさんウィンドウ並べられるワイドの方が効率いいだろ

428 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 20:16:35 ]
横長モニターでフルスクリーンの場合ってどういう処理するのがスマートなの?

429 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 20:19:12 ]
ワイドディスプレイに魂を売り渡すくらいならマルチディスプレイにする

430 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 20:34:35 ]
>>426
pivotして縦長に使う


431 名前:デフォルトの名無しさん [2008/11/13(木) 00:31:49 ]
directx 9.0cをダウンロードしようとすると
「ファイルをダウンロードできませんでした。後でもう一度〜」と出るんですが、時間がたてば
ダウンロードできるようになるのでしょうか?

432 名前:デフォルトの名無しさん [2008/11/13(木) 00:35:04 ]
それはこのスレで聞かないといけない質問だったんか?

433 名前:デフォルトの名無しさん [2008/11/13(木) 01:54:43 ]
NMIなんてZ80の頃からあるわけだが。問答無用に0066hに飛んじゃう命令。
ハード的にはプルアップされて使えないようになってた。
パイプラインなんてjmp使えば一発だし。

434 名前:デフォルトの名無しさん [2008/11/13(木) 04:22:58 ]
おれもdirectx9.0c最近ダウンロードできない・・・。
お詳しい方ひとつよろしくおねがいします。





435 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 05:05:38 ]
>>431
どのくらい待ってみたの?



436 名前:デフォルトの名無しさん [2008/11/13(木) 16:24:41 ]
Vector4 の w ってなんなの?

437 名前:デフォルトの名無しさん [2008/11/13(木) 16:33:50 ]
(笑)

438 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 16:38:17 ]
>>436
4次元数とかクォータニオンで調べてみれ

439 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 17:02:45 ]
時間軸だよ

440 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 17:09:54 ]
    _, ._
  ( ・ω・)
  ○={=}〇,
   |:::::::::\, ', ´
、、、、し 、、、(((.@)wwwwwwwwwwwwwwwwwwwwwww

441 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 18:37:42 ]
>>436
(藁

442 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 18:41:05 ]
Vector4のw要素は通常1でいいんだよ
要素が4つあるのは4×4マトリクスとの演算のときに都合がいいから

まあクォータニオンとかは別に素人が覚えなくてもいい

443 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 23:39:49 ]
頂点バッファを生成

頂点バッファを設定

loclk

頂点バッファを書き込み

unlock

SetStreamSource

SetFVF

DrawPrimitive

の手順で実行しているのですが
板ポリが表示できません。。。

DirectXグラフィックスゲームプログラミングやリアルタイムレンダリングなどを買って読んだのですが解決できません。

ttp://www7.uploader.jp/dl/inoguma/inoguma_uljp00001.zip.html

ソースUPするので誰か直していただけませんか・・・。

444 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 23:46:49 ]
その前にチュートリアルはきちんとやったのか?

445 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 00:23:07 ]
2008か・・・・
Express Edition入れたくないなぁ



446 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 00:47:56 ]
>>443
× D3DXMatrixRotationZ(&mt, m_rotate.z);
○ D3DXMatrixRotationZ(&mwork, m_rotate.z);
よね。


447 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 00:48:57 ]
D3DXは使うなって書いてあった

448 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 01:38:17 ]
なんの根拠もないけどな

449 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 06:24:28 ]
>>446

ぱおおおおおおおおおおおおおおおおおん!!

ありがとうございます!!

嬉しすぎてぞうの雄たけびをあげてしまいました

D3DXMatrixRotationZ(&mwork, m_rotate.z);

に変更したら表示されました。

450 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 06:42:28 ]
コナミの人が自宅のベランダでチンコぱおおんさせて逮捕されたって昔聞いた

451 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 17:48:54 ]
○○勤務の会社員が自宅のベランダでチンコぱおおんさせて逮捕されたって昔聞いた
○○病院の医師が自宅のベランダでチンコぱおおんさせて逮捕されたって昔聞いた
○○学校の教諭が自宅のベランダでチンコぱおおんさせて逮捕されたって昔聞いた

まぁ、よくある話だな

452 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 19:11:29 ]
開発環境
OS:Vista64bit
DirectXSDK:Microsoft DirectX SDK (March 2008)
VisualStudio2008

www.h2.dion.ne.jp/~takusoft/directx8/d3d/

このサイトのコードを試すと

1>test.obj : error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 "long __cdecl InitD3D(void)" (?InitD3D@@YAJXZ) で参照されました。
1>C:\Users\xxx\Documents\Visual Studio 2008\Projects\DirectX\Debug\test.exe : fatal error LNK1120: 外部参照 1 が未解決です。

とのエラーが表示されます

ツール→オプション→プロジェクトおよびソリューション→VC++ディレクトリ に
IncludeとLibのx64・x86は追加しています

関数Direct3DCreate9で右クリックをして定義に移動をするとd3d9.hに移動し
IDirect3D9 * WINAPI Direct3DCreate9(UINT SDKVersion);が表示されて
IDirect3D9で再度同じことをすると表示される関数内部の
#ifdef D3D_DEBUG_INFOが定義されてないのが原因かな?と
以上の情報からどういった事が考えられますか?

453 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 19:28:19 ]
ここはDirectX初心者であって、統合環境初心者スレじゃない。
ライブラリの指定も出来ない奴はDirectX云々以前の問題。

454 名前:デフォルトの名無しさん [2008/11/14(金) 19:46:29 ]
DirectX勉強する前に、C++の勉強をする
これマジおすすめ

455 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 20:23:32 ]
LIBのディレクトリ指定だけで完了と思い込んで個別のLIB指定しないのは
外部のLIB初めて使う人か



456 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 20:35:04 ]
とはいえC++だけの勉強だと
ライブラリの追加体験しないこともあるしな

15歳からはじめるDirectXとかいう本は
統合環境のインストールの解説してるのに
ライブラリの追加について一切書いてなくて笑ったのを思い出した

457 名前:452 mailto:sage [2008/11/14(金) 20:42:31 ]
>>454
C++はそこそこ書けると自分では思っています

>>455
プロジェクト→プロパティ→構成プロパティ→リンカ→入力→追加の依存ファイルには
d3dx9.lib d3d9.libを追加してます、DirectXを使う前にDXライブラリを使ってみて
そのときにはそんなこんなで上手くいったんですけどね・・・

458 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 20:45:59 ]
まずコンパイルがどういう手順で行われているか
ライブラリをリンクするには何が必要か

directxとは関係ないことだと思うんだよね

459 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 20:46:51 ]
追加の依存ファイルじゃなくてファルダじゃね?

460 名前:452 mailto:sage [2008/11/14(金) 21:01:49 ]
すいませんお騒がせしました・・・
実行可能ファイルに追加するのを忘れていました・・・

現在VisualStudio2008を使っていて
以前使っていたVisualStudio2008EEで試した所実行できたのでそこから発覚しました

461 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:16:10 ]
>>431ですが、待っていても全然インストールが始まらないんですが・・・
コンポーネントのインストール
初期化しています→「ファイルをダウンロードできませんでした。後でもう一度実行するか、ネットワーク接続を確認してください」
のループなんですが・・・自分だけでしょうか?

462 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:17:11 ]
セキュリティぬるくkしてみりゃいいんじゃね。知らんけど。

463 名前:デフォルトの名無しさん [2008/11/14(金) 22:25:20 ]
質問:ウィンドウモードにおけるティアリングの解消
環境:WindowsXP SP2, DirectX9.0c

ウィンドウモードにおいて、Direct3D9で垂直同期待ちを行っている
にもかかわらず、ティアリングが発生します。
その際、ポリゴン数が増えるに従いティアリングの境界線は下降します。
また、当然かもしれませんがフルスクリーンモードでは正常に描画されます。

ビデオカードの仕様かと思いましたが、ひぐらしデイブレイク体験版では
ティアリングは確認できませんでした。

何か解決法があるとは思うのですが、見当がつきません。
ご教授頂ければ幸いです。

464 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:25:46 ]
>>461
OSが割れじゃね?
割れじゃ無理だけど
心当たりは?

465 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:26:26 ]
>>463
ウィンドウモードでティアリングって回避できるの?



466 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:28:09 ]


ティアリング ウィンドウモード

でぐぐってみたらそのものずばりが出てきたけど
俺的には本当にできるんかちょっと疑問
仕組み的に〜・・・まあ、できたら報告ヨロ

467 名前:463 mailto:sage [2008/11/14(金) 22:36:08 ]
>>464
OSは正規品です。

>>465
Direct3D9から垂直同期待ちが可能になったようです。
ビデオカードに影響を受けるため確実ではないようですが。

>>466
GetRasterStatusを利用してもティアリングは解消されませんでした。

468 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:41:17 ]
ライトを計算してモデルを表示すると普通に表示されます。

ライトと計算して板ポリに貼ったテクスチャを表示させると全体的に暗くなってしまいます。

ライトを計算しないと通常に表紙されます。

ライトを計算させて 通常に表示させるにはどうすればいいんですか?

469 名前:468 mailto:sage [2008/11/14(金) 22:43:18 ]
テクスチャステージの設定はこうです

m_pd3ddevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
m_pd3ddevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
m_pd3ddevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
m_pd3ddevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
m_pd3ddevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
m_pd3ddevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);


ライトは

CDXLight::CDXLight()
{
ZeroMemory(&m_light, sizeof(m_light));

D3DCOLORVALUE c, c2;
D3DVECTOR v;
c.a = c.r = c.g = c.b = 1.0f;
c2.a = c2.r = c2.g = c2.b = 0.2f;
v.x = 0.0f; v.y = 0.5f; v.z = 1.0f;
SetDirectional(c, c, c2, v);

470 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:45:17 ]
>>461です
この間変な音がしたり、PC画面にラグが出たりしてたので、OSがこわれているのかもしれません・・・
その場合どうすればいいんですか?

471 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:46:20 ]
>>467
無理でしょ
できる道理がわからない

472 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:47:19 ]
パソコン変えろよカス
全然DirectXと関係ない質問だ
もう二度とくるなよ

473 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:48:23 ]
>>470
新しいPCを買う
(自作orノートPCの方向は無しで
趣味ゲーPGでノートPC買う人がいるけど
何回も実行繰り返してるとノートだとなんかグラボの調子悪くなるなーっての俺だけ?)

474 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:51:51 ]
>>464>>473さん返答アリでした
他の旧バージョンDirectXはDLインスコできたのですが、関係なさそうですね

475 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:56:38 ]
9.0cなんてダウンロードできるところからいって見つかりにくいし
やめたほうがいいんじゃね?
情報の共有者も少ないことを意味してるよ



476 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 22:57:34 ]
9.0cがよかったのはなんか他のバージョンがdllを配ってくれなかった頃だけど
今はパックで全部くばってるからつかう意味ないよ

477 名前:463 mailto:sage [2008/11/14(金) 23:09:47 ]
>>471
出来ないかもしれないですが
垂直同期待ちを正確に行えるなら理論上は可能かなと。

>>475
>>476
確かに。
バージョンを更新すれば改善される可能性もあるかもしれませんね。

478 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 23:22:42 ]
デスクトップ分のバッファを取ってフルスクリーン風に扱えばいけるのだろうか?w

479 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 23:34:42 ]
ID3DXFont に PreloadText
って関数が出来てるんだけど。
これ使うとはやまなったりする?

480 名前:463 mailto:sage [2008/11/14(金) 23:45:13 ]
>>478
壮大ですね。
ただ、フルスクリーンにしないなら、垂直同期を取る必要がありますし、
結局ティアリングは回避できないかとおもいます。

少し話はかわるのですが、描画コストが同じなら同じところに境界線が発生します。
そして、描画コストが増大するに従い境界線は下降します。
ということは、垂直同期は実は正確に取れていて、
描画にかかった時間分ずれが生じてティアリングが発生しているのかと思いました。
そのため、EndScene()を呼んだ後、描画完了まで
Sleepで数十ms待たせてみたのですが解消されませんでした。
ちなみに、クエリは自分の環境では作成できないため実験は行えていません。

他にアイデアはないでしょうか。

481 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 00:15:51 ]
DirectX9でもウインドウモードで垂直同期をとるもは無理。
あれは内部でタイマーを使ってそれっぽくしているだけ。
単純にウインドウモードと挙動を合わせるためのものであって、
それ以上でもそれ以下でもない。

482 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 00:24:08 ]
Presentするとちゃんと60Hzで返ってくるよ

483 名前:463 mailto:sage [2008/11/15(土) 00:42:52 ]
>>481
なるほど。
ただ、Present内部ではGetRasterStatusを使用して
画面がリフレッシュされていないタイミングをはかっているようです。
その際に、タイマーを利用しているのかもしれませんが、走査線が下端に到達
するまでの時間を算出してその時間分待っているのではないでしょうか。
少し、Presentがブラックボックス化しているのが気になりますね。

本当にバックバッファとフロントバッファのコピーは高速なんでしょうか。
ポインタを入れ替えるだけとドキュメントには書かれていますが。
もし、そこに時間がかかっているなら、描画コストが増えるに従って
境界線が下降する理由もわかります。

484 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 00:56:45 ]
>>467
俺はウインドウモードでティアリングを防ぐなんて試したことはないが、
GetRasterStatusの使い方が悪いんじゃない?VBlank待ってない?
走査線がクライアント領域より下にいったら、即Presentでいいかと。

あと、GetRasterStatusの前にD3DQUERYTYPE_EVENTいれとかないと
意味がないと思う。

485 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 01:02:27 ]
> フルスクリーン モードは、リフレッシュ レートやスワップ効果にかかわらず D3DPRESENT_INTERVAL_IMMEDIATE をサポートすることにより、
> ウィンドウ モードと同様の使い方をサポートします。D3DPRESENT_INTERVAL_DEFAULT はデフォルトのシステム タイマ精度を使います。

システムタイマーは1000msの精度。60Hzのエミュレートなら16.66666…で割り切れないのでどっちにしろ徐々にずれる。
D3DSWAPEFFECT_COPYを指定しない限りは明示的にバック⇒フロントへのコピーはない。
コピーしてたとしても全画面描画1回相当の処理が目に見えるほど遅延していくなら根本的に1/60秒で動かないだろ。

まぁそこまで細かく気にするならゲームなんだしフルスクリウーンでやれや、って事だろう。



486 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:00:50 ]
ウィンドウモードでゲームプレイする奴はその程度の事を気にしない

487 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:06:43 ]
試してみようと思ったら、俺のところでは全くティアリングが発生しない。
Vistaだからか?

488 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:23:36 ]
はやくおまいらの話についていきたい45歳秋

489 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:50:15 ]
基本的な質問で申し訳ないのですが、質問させていただきます。
DirectXをつかったゲームで、入力された情報は一般的にはどうやって受け取ればいいのでしょうか?
WIN32APIでは普通にウィンドウプロシージャで受け取っていましたが、入門書では、WinMainのメッセージループで
while(message != WM_QUIT)
{
if(PeekMessae(&msg,NULL,0,0,PM_REMOVE))
{
//省略
}
else{
GetKey() //デバイス->Acquire()でキー入力を受けつける
//以下はRender()などの呼び出し
}
}

としていました。
後者の方がDirectXでは一般的なのでしょうか?

490 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:01:57 ]
別に好きな方で問題ない

491 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:05:10 ]
スレッド

492 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:28:58 ]
>>489
DirectつながりでDirectInput使う


493 名前:463 mailto:sage [2008/11/15(土) 17:27:54 ]
>>484
D3DQUERYTYPE_EVENTは自分の環境では作成できないです。
走査線がクライアント領域より下にいった直後にPresentしても多少
境界線の位置がかわる程度で違いはほとんどありませんでした。

>>485
なるほど。タイマーを使っているとは知りませんでした。
確かに、少しずつずれていきますね。
D3DSWAPEFFECT_COPYにしてみましたが、さほど違いは出なかったです。
とすると、疑問なのはGetRasterStatusを使ってもずれるという点です。
D3DPRESENT_INTERVAL_IMMEDIATEで生成しておいて、GetRasterStatusを使っても
ほとんど同じところに境界線ができるんです。

>>486
最悪、気にしない方向で諦めようかと思ってます。

>>487
vistaはOSレベルで制御しているため、ティアリングが生じないようですね。


494 名前:449 mailto:sage [2008/11/15(土) 17:32:37 ]
あれから色々いじってみて
キー入力で画像を動かすのを作りました。

一応思うようにできたのですが
もっと簡単なやり方・効率のいい方法 などありましたら ご指摘お願いします。

ソースです
www7.uploader.jp/dl/inoguma/inoguma_uljp00001.zip.html

↑ → ↓ ← キーで操作できます

よろしくお願いします。

495 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 06:42:43 ]
>>494

ゲームを作りたいならもっと汎用性がある方が良い

とは言ったものの、自分じゃ直し方良く分からないので他の人に(ry



496 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 09:14:26 ]
>>494
frame.cpp: line 117-118
m_dwStyle = GetWindowLong(m_hwnd, GWL_STYLE);
m_dwStyle = 2495741952;
これはどんな意図があるんですか…?

497 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 09:34:51 ]
スタイル初期値です。

498 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 09:37:59 ]
3Dリアルタイムアニメーション

という本から参考にした部分があるのですが

その部分の補足には

スタイル初期値(とりあえずこれで問題はない)

と本にコメントが付け加えられてました

499 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 10:40:46 ]
>>498
問題しか見えないw

500 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 11:26:39 ]
GetWindowLongPtr使うべきだし
GetWindowLongした意味ないし
マジックナンバー使うし

501 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 11:32:33 ]
>>498

移動のコードは間違いじゃないけど、
せっかく入力・演算・描画を分けた意味がない気がする。

他の人にも意見を聞いてみるといいよ。

502 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 12:15:53 ]
スミマセン質問があります。
環境 : VC2005 / SDK(March 2008) / XP

DirectXでXファイルを扱うときに頂点カラーを引っ張りたいのですが何処を見ればいいのでしょうか。
HLSLで描画する際にVertex ShaderのCOLOR0に自動的に入ってくると思ったらそうじゃないみたいで……・

503 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 12:31:30 ]
ダダーンウーボヨボヨボヨアーアーアー

504 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:16:30 ]
>>502
xファイルに頂点カラーの情報(MeshVertexColors)が入っていないか
入っていたとしても頂点フォーマットに頂点カラーが含まれてないかのどっち

単純にテクスチャなしのxファイルを表示したいだけなら
マテリアルのDiffuseをシェーダーに渡して色情報として計算する

505 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:32:10 ]
返信ありがとう御座います。
xファイルにはデータが入っていることを確認したので頂点フォーマットに無いのでしょうね……

マテリアルはオブジェクトの識別に使うという変な使い方してて、
同一マテリアル内で色を変える場合頂点カラーが必要という珍妙な設計になってるのです。
大人しくマテリアルでやる方向に変えた方が良いかもしれないですね



506 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:35:23 ]
>>505
まるで頂点フォーマットを何かが勝手に作るように書いてるが
頂点フォーマットを作るのはおまえさんの仕事だぞ。

507 名前:502 mailto:sage [2008/11/16(日) 14:10:07 ]
D3DXLoadMeshFromXでXファイルを読み込む前に、
FVFをどこかで設定出来ると言うことですか……?
すみません勉強不足過ぎました。もう少し調べてきます。

508 名前:463 mailto:sage [2008/11/16(日) 14:31:41 ]
Presentの代わりにBitBltを利用してみました。
確かにティアリングは減った(ほとんど見えない)と思いますがFPSが著しく落ち込みガタガタです。
ただ、FPSが25程度なのでがたがたして気づかないだけかもしれませんが。
一応、環境や最適化不足のためかもしれないので手順を書いておきます。

1, Flags=D3DPRESENTFLAG_LOCKABLE_BACKBUFFERでDirect3DDevice9を生成。
2, GetRasterStatusで垂直同期待ちを行う。
3, バックバッファからHDCを取得し、BitBltでウィンドウへ書き込む。

もう少し細かい話もありますが、大方こういう手順になるかと思います。
どうもBitBltの負荷が高そうですが、高速化する手はありますか?

509 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:36:42 ]
GDIの遅さや不便さを何とかするために
DirectXが開発されたのに原点にもどったら本末転倒

510 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:36:55 ]
>>508
FPS25じゃ垂直同期に間に合う合わないなんて関係無いクオリティじゃないか?

511 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:41:03 ]
モデルを最初から左にずれた場所に配置したいのですが

D3DXMATRIX mtx;

D3DXMatrixIdentity(&mtx);

D3DXMatrixTranslation(&mtx, -2.0f, 0.0f, 0.0f);

d3ddevice->SetTransform(&mtx, 0);

で配置すると確かに配置できるのですが キーボードでキーを押した分ずらすコードを加えるにはどうすればいいですか

512 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:45:35 ]
そろそろ自分で考える努力をしたらどうかな。

513 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:45:54 ]
Win32APIすれで聞くといいんじゃね

514 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:48:47 ]
D3DXMatrixTranslationの引数の値を変える

515 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:58:02 ]
>>512 分かりました 自分で悩みまくって作った方が上達する気がしてきました

それではしばらく失礼します。



516 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:48:33 ]
描画内容があまり頻繁に変化しないので、
変更があったときのみ描画処理を行うようにして、それ以外はフロントバッファに表示されているものをそのまま表示したいのですが、
presentする直前にバックバッファをサーフェイスにコピーしておいて、それを書き戻すとかでいいんでしょうか?
一般的な方法があれば、教えてください。

517 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:56:41 ]
そもそも描画が行われなかったときは
サーフェイスをクリアしなければいいのでは?

518 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:13:36 ]
>>516
D3DPRESENT_PARAMETERSのSwapEffectに
D3DSWAPEFFECT_COPYを指定する。

519 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:32:11 ]
本にはD3DSWAPEFFECT_DISCARDにしろって書いてあったよ

520 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:35:53 ]
入門サイトを見て
とりあえずデバイスを作ってPrsentだけしてみたら
アダルトゲームの画面が表示されたんですけどバグですか。

521 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:39:17 ]
いいえ、仕様です。

522 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:41:01 ]
ハッキングされてます

523 名前:516 mailto:sage [2008/11/16(日) 16:57:14 ]
レスいただいた方々、ありがとうございます。

>>517
質問させていただく前に描画関数の中身とか呼出位置を変えて色々試してたんですが、
他のウィンドウがかぶった時の挙動とか、どうにも思い通り行かなくて質問させていただいた次第でしてorz

>>518
バッチリ思い通りになりました、ありがとうございました。

>>519
ご忠告どうもです。
もうすこし詳しく調べてみます。

524 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:10:14 ]
>>520 VRAM

525 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 20:46:13 ]
ちょっとお聞きしたいのですが、よくゲームの動作環境で
VRAM幾つ以上というようなのがありますよね
自作ゲームの動作環境にそういう情報を明記したいのですが、そのために
現在PCで使われているVRAM容量を調べるにはどうすればいいのでしょうか?
使用VRAM情報をチェックする関数とかはありますか?



526 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 20:52:43 ]
>>525
うん

527 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:27:25 ]
>>526
DirectX9なのですがなんという関数を使えばいいのでしょうか?

528 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:41:40 ]
>>527
GetAvailableTextureMem
だが、推定
BBXに「?」ってのが書いてある

529 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:50:15 ]
そこは遥か昔に閉鎖したぞ

530 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:51:49 ]
SDK(March 2008 以降)に VideoMemory ってサンプルがあるわよ。
ttp://msdn.microsoft.com/en-us/library/cc308070(VS.85).aspx
\Samples\C++\Misc\VideoMemory

531 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:03:27 ]
>>529
いや、生きてるぜ

532 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:41:37 ]
今時はVRAMなんてほとんど基準にならんけどなー

533 名前:525 [2008/11/16(日) 22:56:06 ]
レスありがとうございます。
>>523
LoadTextureをやる毎に使ってみました。
が、数値は70MBちょいぐらいで固定っぽいです。(ビデオカードのVRAMは96MB)

テクスチャは読み込んでもVRAMには格納されないんでしょうか?
簡単な2Dゲームなのでで処理スピードには問題がない為別にいいのですが…
LoadTextureってVRAMに読み込む/読み込まないの切り替えができるんですかね

>>530
旧バージョンを使ってるので役にたつかわかりませんが、後で見てみます

>>532
確かに、最近のPCゲーだとVRAM容量表記が特にないものが多いですよね

534 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:58:50 ]
DX8あたりからマネージドになってるから気にする必要ないんじゃない。パフォーマンスに影響はあるけど。
昔は全部自前で管理する必要があった。

535 名前:525 mailto:sage [2008/11/16(日) 23:00:35 ]
>>533
LoadTextureじゃなくてD3DXCreateTextureFromFileInMemoryでした



536 名前:525 mailto:sage [2008/11/16(日) 23:17:09 ]
>>534
自分なりに調べて見たらD3DXCreateTextureFromFileInMemoryEXというのを使えば
意図的にVRAMに読み込ませる事もできるみたいですね
パフォーマンスが必要になるようなソフトを作る場合にはこちらを使おうと思います。
ありがとうございました。

537 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:22:14 ]
それ主記憶じゃなくてVRAMにストックしておく関数だっけ?

538 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:30:49 ]
プール先を指定できる


539 名前:502 mailto:sage [2008/11/16(日) 23:35:53 ]
スミマセン、色々調べてみたのですが結局分かりませんでした。
Xファイル自体には頂点色を保持しているのは確認済みです。

D3DXLoadMeshFromXを使ってxファイルを読み込み頂点色が欲しい場合、
LPDirect3DDevice9::SetFVFを使ってFVFを通知してからXファイルを読み込むという手順ではダメで、
いったん読み込んでから、CloneMeshで頂点フォーマットを設定し直すと言うのもやはりダメでした。

D3DXLoadMeshFromXで頂点色を捕まえる方法は有るのでしょうか。
そもそもVertex ShaderのInputのCOLOR0セマンティクスに入ってくるのは頂点色という認識で良いのでしょうか。

540 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 08:54:08 ]
Xファイルに頂点色が入っているならD3DXLoadMeshFromX()の時点で
作られたメッシュには頂点色が入っている。

541 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 11:55:27 ]
Vista入りのノート買ったからDX10に手を出してみたけど、意外と変わってるのね。
FVF消えたりD3DFMTが気持ち悪いことになってたり。

で、質問なんだけど、サンプルコードのライセンスってどこに書いてあるの?
卒論のためにコード書かなきゃいけないんだけど、カメラとかいちいち書くのが面倒だから
BasicHLSL10のサンプルを流用したいのよ。
*nixの世界みたいに、ルートディレクトリにはっきりとライセンス定義を置いておいてくれると有り難いんだけど……。

542 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 12:05:55 ]
別に三流学生の卒論コードなんてどうだっていいだろ
一般公開しなければ

543 名前:デフォルトの名無しさん [2008/11/17(月) 12:32:08 ]
HLSLでsamplerオブジェクトを定義するとき
今まではtexture2DやtextureCUBEに関係なく"sampler"と書いていたのですが
textureに合わせてsampler2D, samplerCUBEにしたほうがいいのでしょうか?
違いや書き分ける意味はありますか?

544 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 16:03:42 ]
>>542
公開するから質問してるに決まってるだろ高卒

545 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:28:01 ]
公開しないでいいよ。君の糞コードなんて。



546 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:51:58 ]
D3DX〜は使ったら駄目って常識のはずなんだが

547 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 18:00:27 ]
ライセンスについて調べようと思ったら、まずは使用許諾書に目を通すものだが、
なんでその程度の、ごく当たり前のことをする程度の知能すら持ち合わせていないのかが謎。

548 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:45:26 ]
デバッグモードでは正常にビルドできるんですがリリースモードだと以下のエラーが山ほど出てしまいます、、、
予想ではunicodeとマルチバイトが混在しているのが不味いような気がするんですが、、、
色々調べてみたんですが、解決方が見当たらないのでどなたか原因わかる方がいたら教えてください。

boss.obj : error LNK2001: 外部シンボル "_D3DXMatrixScaling@16" は未解決です。
boss.obj : error LNK2001: 外部シンボル "_D3DXMatrixMultiply@12" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXMatrixLookAtLH@16" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXCreateTextureFromFileA@12" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXCreateTextureFromFileExA@56" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXVec3Normalize@8" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXMatrixOrthoLH@20" は未解決です。
dsound.obj : error LNK2001: 外部シンボル "__imp__mmioGetInfo@12" は未解決です。
fps.obj : error LNK2001: 外部シンボル "__imp__timeGetTime@0" は未解決です。
main2.obj : error LNK2001: 外部シンボル "_D3DXCreateSprite@8" は未解決です。
main2.obj : error LNK2001: 外部シンボル "__imp__timeBeginPeriod@4" は未解決です。
x_file.obj : error LNK2001: 外部シンボル "_D3DXLoadMeshFromXA@32" は未解決です。

コンパイラはVisualC++2008を使っています。
コンパイラの問題かと思ったんですが、エラー吐くのが殆どDirectX周りだったのでここで質問させていただきました。

デバッグモードで作ったexeファイルとデータファイルを同梱すればとりあえず配布は大丈夫でしょうか?
一応そのやり方で自分の環境では動作したのですが、、、

549 名前:548 mailto:sage [2008/11/17(月) 20:48:54 ]
ずっとDebugモードのプロパティいじってた\(^o^)/

自己解決しました、スレ汚しすいませんw

550 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:49:21 ]
プロジェクトの設定はリリースとデバッグで別々だが、ライブラリとか両方に設定してある?

551 名前:502 mailto:sage [2008/11/17(月) 20:49:49 ]
>>540
遅れましたがありがとうございました。
おかげさまで何とか出来そうです。

552 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 10:30:08 ]
誰か>>543知りませんか?

553 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 10:35:13 ]
好きにしろよばーか

554 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:14:48 ]
自分の知らない事、どうでもいい事を聞くと怒り出す奴っているよね。キチガイ?
好きにしていいならsamplerとsampler2Dが分かれてる意味ないじゃん。

555 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:42:30 ]
別れてることに特に意味はないし
好きにすればいいと思うよ
同じサンプリングで描画するなら一つでいいし
物によって変えるなら複数作って使い分ければいいだけ



556 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:52:29 ]
好きにしちゃいけないって誰が決めたの?
当然の事を言われて怒られてるだのキチガイだの言い出す>>554はアホかと。

557 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 14:36:08 ]
よくわからずに使ってるのか

558 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 14:37:51 ]
ただのaliasなの?

559 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 14:44:29 ]
sampler3DやsamplerCUBEのみのSamplerStateがあるため

意味なんかないから好きにしていいとか馬鹿にも程がある
プログラマ失格

560 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:04:21 ]
GLSLでは違うけど
HLSLではまったく同じものなんだが

561 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:10:44 ]
>>559
じゃあ意味があるから好きにしちゃダメだよ
とでもいえば納得するのかな?(笑)

562 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:36:17 ]
というわけで、>>543は好きにしちゃダメだという事で。
はい次の人〜。

563 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:40:53 ]
はい次の人〜。

564 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:46:50 ]
あのぅ、私は…

565 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:47:02 ]
自分の想定と違う事を言われると納得できないんなら最初からそうすりゃいいのにな
他人の同意がないと何もできないのかね



566 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:48:17 ]
>>564
どちらさまですか?

567 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:24:01 ]
640*480で作ったデバイスを引数にD3DXCreateSprite関数でID3DXSpriteを作ったら、
レンダーターゲットを1024*1024にしてID3DXSprite::Drawを実行したら、画像が引き延ばされて
描画されたんだけど、そうならないようにするにはどうすればいいんですか?
ちなみにレンダーターゲットの大きさは変えられません。

568 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:39:32 ]
好きにしろよばーか

569 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:53:55 ]
わざわざそうしてるんだろ

570 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:59:31 ]
自分の知らない事、どうでもいい事を聞くと怒り出す奴っているよね。キチガイ?
640*480と1024*1024が分かれてる意味ないじゃん。

571 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:00:24 ]
はい次の人〜。


572 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:14:06 ]
ウィンドウサイズが640*480じゃないとダメで、レンダーターゲットはテクスチャでなくてはならない。(ピクセルシェーダー使うため)
テクスチャは2のn乗サイズじゃないとピクセルが1対1対応してくれないので、1024*1024にしてるんです。

573 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:17:29 ]
ViewPort

574 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:17:52 ]
1024×1024の画像ファイルの内必要な部分を範囲指定して表示すればいい

575 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 18:18:38 ]
>>572
>テクスチャは2のn乗サイズじゃないとピクセルが1対1対応してくれない
これの意味が分からん



576 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 20:00:53 ]
お前が低能無知なだけだろ

577 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 20:20:04 ]
おれもわからん
一体何とピクセルが1対1?
たてよこ?

578 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:19:49 ]
1:1対応にテクスチャのサイズなんて関係ねぇだろ。
描画する時の問題だ。

579 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:37:13 ]
1:1は意味不明だがテクスチャの元画像の縦横を2のべき乗にすんのが普通。
元画像とテクスチャのバッファサイズが違うと引き伸ばされる
んで、読み込んだテクスチャバッファのうち、640*480の範囲を指定して
スプライトを描画すればよい。

580 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 22:31:40 ]
なんで自らが引き伸ばして描画しているのに、「されて」とか他人のせいにする奴が現れるんだろう?

581 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:01:32 ]
>>575
2のn乗以外のサイズで作ったときってDrawPrimitiveなんかで描画した時どうしても歪んで描画されないピクセルとかありませんか?
何かやり方があるならそれを知りたいです。
>>577テクスチャ上のピクセルと画面のピクセルがです。

582 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:08:24 ]
まずはD3DXを一切使うのをやめ、画像ファイルをテクスチャに読み込んで自分でUVを設定し描画するところまでやれ。
それで全て解決する上に、自分がいかに間抜けなことを言っているかも理解出来る。

583 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:09:57 ]
とんでもなくボロいビデオカードだと2のn乗以外のサイズのテクスチャ使えない?

584 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:15:52 ]
馬鹿が余計なもん使って遠回りしてらぁw
m9(^Д^)プギャー

585 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:18:21 ]
>>583
正方はさすがにないと思うけど
n乗は守ってるな俺
あんま意味無いかも
っていうか最近のグラボ事情知らん



586 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:34:35 ]
使えても内部的に無駄が出るんじゃね

587 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:36:16 ]
2^n以外のテクスチャが使える場合でもパフォーマンスは2^nより落ちるとかいう話を聞いたこともある

588 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:39:10 ]
2乗は必須だけど正方かどうかはハード次第だろ。

589 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 00:06:26 ]
GeForce6以降はテクスチャサイズの最大サイズ以外の全ての制限がなくなったわけだが。
DXTテクスチャですら適当なサイズのまま作れるぞ。

590 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 03:00:35 ]
>>583
2のn乗が使えないのは、一番新しいのだとIntelの815の統合ビデオ機能かな?
っていうか、NONPOW2CONDITIONALは、2のn乗しか使えないハードウェアでも
ドライバの対応だけでクリアできるものだと思う。

591 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 03:32:25 ]
おまえらの記憶にもうVoodooは無いのね・・・

592 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 07:36:53 ]
あんな糞ボードサポートしてどうすんだよ

593 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 08:56:42 ]
日韓併合における韓国皇帝の勅諭(原漢文)

皇帝、若(ここ)に曰く、朕否徳にして艱大なる業を承け、
臨御以後今日に至るまで、維新政令に関し承図し備試し、
未だ曽て至らずと雖も、由来積弱痼を成し、疲弊極処に至り、
時日間に挽回の施措望み無し。
中夜憂慮善後の策茫然たり。
此に任し支離益甚だしければ、終局に収拾し能わざるに底(いた)らん。
寧ろ大任を人に託し完全なる方法と革新なる功効を奏せいむるに如かず。
故に朕是に於いて瞿然として内に省み廊然として、
自ら断じ、茲に韓国の統治権を従前より親信依り仰したる、
隣国日本皇帝陛下に譲与し、外東洋の平和を強固ならしめ、
内八域の民生を保全ならしめんとす。
惟爾大小臣民は、国勢と時宜を深察し、煩擾するなく各其業に安じ、
日本帝国の文明の新政に服従し、幸福を共受せよ。
朕が今日の此の挙は、爾有衆を忘れたるにあらず、
専ら爾有衆を救い活かせんとする至意に出づ。
爾臣民は朕の此の意を克く体せよ。

隆煕四年八月二十九日

御璽

594 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:50:43 ]
テクスチャをDDSファイルで読み込もうとしているんですが
複数のDDSファイルを読み込むと途中で動かなくなってしまいます
DDSファイルには特殊な処理が必要なんでしょうか?

ちなみに1つであればどのDDSファイルでも
見ている範囲では正常に動いているんですが・・・

595 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:53:06 ]
随分アバウトな質問だな
それはDDS以外のフォーマットなら複数読んでもとまらないってことか?



596 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:02:14 ]
>>595
すいません
よくよく試してみたら他の形式でも同様の止まり方をしましたorz
ちょっと前までDDSは使ってなくてその間は特に問題が無かったんで
DDSのせいだろうと決めてかかってました
多分他のところに問題があると思うのでもう少しコードを見直してきます
またわからないことが出てきたらお願いします

597 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:24:57 ]
エスパーするとマルチスレッドで読み込もうとしてデバイスがマルチスレッドのフラグつけていない

598 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:48:02 ]
Voodooはさすがにもういいだろ
SiS辺りのクソオンボとかi810とかはまだ使ってる人居るけど

599 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:50:18 ]
>>597
あーありそう、昔一度やったことある

600 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:57:04 ]
つーか今から何か出すなら最低でもシェーダーモデル3.0でいいだろ。
GeForce6なんて何世代前のビデオカードだとおもっとるんだ。

3Dゲームやるようなユーザーなら定期的にPC構成弄ってるし。

601 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 01:02:08 ]
んーどうなのかな
PCのスペック二極化してるから下の層を拾うような仕様だと未だに糞ボードの対応までやってる感じするけど

602 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 02:11:10 ]
ゲフォ5200と旧ATI9200以上の対応だけすればいい
理由はウチにあるそこそこ低いボードだからだ

作り手で線引きしないときりがない

603 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 02:26:25 ]
ショップの品揃えで判断するとか。
GFX5200とか未だに定番商品みたいに新品売られてるのが泣ける。

604 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 08:20:24 ]
だってそれ挿せばとりあえずVista(Aero)動くもん

605 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 08:37:31 ]
つってもHD3450が5000円で買えるんだし下見るのももういいだろって気がする。
だから日本はエロゲ以外のゲームがろくに出ないんだよ。



606 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 12:00:45 ]
DirectX10+SM4.0だろ
今更昔のクオリティのゲーム作って何が楽しいんだ

つーかこのスレやっぱりゲーム作る人多いのね

607 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 12:51:16 ]
>>605
そういうのはPCメーカーが底上げしないと駄目だな
あとVRAMみたいな初心者でもわかりやすい目安みたいなのあればいいのに

>>606
楽しさも人それぞれっしょ
むしろ絵を綺麗にするだけの作業なんて何が楽しいんだよとか思うが

608 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:30:03 ]
>むしろ絵を綺麗にするだけの作業なんて何が楽しいんだよとか思うが
リアルタイム3DCG技術についていけなくなった人が自分を慰めるための常套句ですね。わかりますw

609 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:40:39 ]
自己満足ならそれでもいいんだが
ゲームは結局他人に遊んでもらってなんぼだからな
どんな流麗なCGでも動かなければ意味がない

マイロソフトのやり方だと次あたりのVisualStudioをXP非対応にして
まず開発者側の首を締めにかかってくるだろう
Vista以上でなければソフトが作れない環境ができてしまえば
市場からXPが消えるのも時間も問題と思われる
DirectXSDKはもっと早くXPのサポートを打ち切るだろうしね

610 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:42:37 ]
>>608
海外向けのゲーム作ってる一部の人がそれ言うなら煽りに聞こえるが
日本向けゲーム作ってる人が言うとただの同意にしか見えない

611 名前:デフォルトの名無しさん [2008/11/21(金) 14:42:16 ]
すみません。DirectSoundをはじめて利用して、プログラムを作成しています。
そこでよくわからない状況になって困っています。
SDKはDirectX8(VC6++のサンプルがあるため)を利用しているのですが、
そのサンプルを参考にWAVファイルを再生するところまでたどり着きました。
ところが、再生前にフォーカスをはずすと、音が鳴らなくなるという現象が
発生してしまいます。
フォーカスが外れていても、音が鳴るようにするにはどのようにすればよいでしょうか?
よろしくお願いいたします。

612 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:54:05 ]
サウンドバッファをつくるときに
DSBCAPS_GLOBALFOCUSフラグを立てる

この説明でわからないならソースうp

613 名前:デフォルトの名無しさん [2008/11/21(金) 15:02:49 ]
>>612
解決しました!!ありがとうございます。
これで無事システムを納品できそうです。
即答ありがとうございました。

614 名前:デフォルトの名無しさん [2008/11/21(金) 15:06:04 ]
DirectSound8のサンプルをそのまま利用していたので、パラメータの存在に
気がつきませんでした。説明を読むと、確かにそのとおりの内容になっていますね。
msdn.microsoft.com/ja-jp/library/cc354147.aspx


615 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 17:57:23 ]
>>608
何人でどのくらいの期間で何をつくるのか知らんが
少数人チームで絵なんかこだわってる暇あったら
中身のほうを煮詰めてほしいと思うんだが
どんな凝ったエフェクトつけようとCG屋がウンコな時点で終了
逆に凝らなくても元のCGがきれいならそれなり
そもそも日本の個人ゲーはリアルタイム3DCGだのシェーダがどうのとか
そういうことを気にする以前のレベルだと思う

無論絵が綺麗に越したことはないが、だからといってゲームが面白いかというと別問題



616 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 18:38:21 ]
バンプや反射、屈折の初級エフェクトすらプロでもあんまり使ってくれない
っていうかそんな時間ないや
デザイナがシェーダの設定ファイルを書いてると遊んでると思われる空気

617 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 20:34:32 ]
IBasicVideo の GetCurrentImage を使って、
ビデオのワンフレームをビットマップとして保存しようと思っているのですが、
ソースが mpeg2 の場合だと何故か真っ黒なビットマップしか取得できません。
ソース、取得するフレームの位置、mpeg2 video decoder を色々変えて試してみたのですが、
結果は変わりませんでした。
ソースが avi, wmv, mpeg1 の場合は正常なビットマップを取得でることを確認済みです。
このことについて何かご存知の方おられましたらご教示お願いします。
試した mpeg2 video decoder は次のものです。
MpegVideoDecoder PIXELA, Cyberlink Video/SP Decoder

618 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 20:53:43 ]
正直D3D10に興味が涌かないな

仕事以外で使うならsm3での表現力に不足はないし
ジオメトリシェーダやその他諸々は高速化以外の用途が見出せないからつまらん

619 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 20:54:16 ]
>>617
DirectShowと戦うスレ Part 4
pc11.2ch.net/test/read.cgi/tech/1214127501/

620 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 21:04:44 ]
>>619
ありがとうございます。移動します。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<136KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef