Managed DirectX vol. ..
[2ch|▼Menu]
220:デフォルトの名無しさん
04/03/16 14:07
>>217
なんだ。ただクレームつけたいだけの人か。

221:デフォルトの名無しさん
04/03/16 15:10
┐(´ー`)┌

222:デフォルトの名無しさん
04/03/16 17:53
>>217
>インストールの時点で
>ちょっとした一言を注意しておけば良いんだよ。

だからSDKインストールの時点でちょっとした一言が表示されている。
しかし厨房相手にあらゆる事態を想定して一言を用意していたら、
ちょっとした一言がちょっとだけ長くなっちゃったわけだ。

223:デフォルトの名無しさん
04/03/16 22:50
>sdkを入れるのも普通の人が普通にやることだろ。

ランタイムと間違って落とした馬鹿以外ありえない

224:デフォルトの名無しさん
04/03/16 22:54
むかし DOS/V Power Report に DirectX SDK が付いていたような

225:デフォルトの名無しさん
04/03/16 22:56
英語も扱えないような人間がプログラマなわけ無いだろ

226:デフォルトの名無しさん
04/03/16 23:18
プログラマかどうかは置いておくとしても、
英語を読む気がない上に自己解決能力が欠如しているのなら、
少なくとも英語版のソフトを使用すべきではない。

227:デフォルトの名無しさん
04/03/16 23:32
アメリカみたいにベビーカーを高速道路で使うなとか
いちいち事細かに書けと言うのか

228:デフォルトの名無しさん
04/03/16 23:59
>>217もアメリカで生まれていれば、猫を電子レンジでチンしても、
損害賠償がふんだくれたのにね。
生まれる国を間違えた上に、生まれるべき国の言葉が理解できないとはなんたる悲劇。

229:デフォルトの名無しさん
04/03/17 02:19
>>228
その前に動物虐待で逮捕されると思うが

230:デフォルトの名無しさん
04/03/17 02:44
まだやってたのかお前らw
っていうか、なぜランタイムではなくSDKをインストールしたのかがしりたい

231:デフォルトの名無しさん
04/03/17 13:32
有用な情報がイパーイのスレだな。

232:デフォルトの名無しさん
04/03/17 17:26
>>216
それを何語で書かせるの?
世の中、英語と日本語以外にもたくさんあるんだが

233:デフォルトの名無しさん
04/03/17 17:37
まー実際は、デバッグ版のみ不可解なバグが起こるというケースは多々ある訳だが

234:デフォルトの名無しさん
04/03/17 17:39
デバッグ版とリリース版ってどう使い分けるんですか?
デバッグ版のメリートと教えてください

235:デフォルトの名無しさん
04/03/17 18:21
>>234
デバッグ版は、エラーや解放漏れを知らせるデバッグメッセージが出るというメリートがあります。
しかしその分遅くなってしまうのがデメリートと言えるでしょう。

236:デフォルトの名無しさん
04/03/18 00:35
>デバッグ版とリリース版ってどう使い分けるんですか?

デバッグ版:プログラミングしてデバッグする時
リリース版:出来上がった作品を配ったり自分で遊んだりする時

237:デフォルトの名無しさん
04/03/18 10:35
じゃあ、リテール版とはなんですか?
単に名前が違うだけで、実はリリース版と同じですか?

238:デフォルトの名無しさん
04/03/18 10:40
リテール版は存在するが、リリース版など無い。

239:デフォルトの名無しさん
04/03/19 10:10
よくまぁ、こんなに無益なことを延々と。

240:デフォルトの名無しさん
04/03/20 22:26
UnprojectでとったVector3の数値にNaNってのが入ってるんですが、
これなんですか。


241:デフォルトの名無しさん
04/03/20 22:28
貴様、まさかそれはダジャレのつもりじゃあるまいな?

242:デフォルトの名無しさん
04/03/20 23:22
ワラタ

243:デフォルトの名無しさん
04/03/20 23:57


244:デフォルトの名無しさん
04/03/21 01:55
このスレの人達は初心者を見つけては
馬鹿にすることに生きがいを求めてる人たちなので
関らない方が良いですよ。
他スレへ行きましょう。

245:デフォルトの名無しさん
04/03/21 12:26
変なやつが常駐してキモイ。

246:デフォルトの名無しさん
04/03/22 00:19
C++で作ったシェーダってC#でもそのまま使えますか?

247:デフォルトの名無しさん
04/03/25 00:43
このスレの人達は
実は何も知らない常識なしの厨房なのですが、
初心者を見つけては叩いて馬鹿にするのが生きがいの人達なので、
そんなこと聞いても誰も答えません。
答える能力が無いのですから。
他スレへ行きましょう。

248:デフォルトの名無しさん
04/03/25 00:58
と、さんざんたたかれた方が、このスレの粘着になりました。

249:デフォルトの名無しさん
04/03/30 19:14
>>246
使える

250:デフォルトの名無しさん
04/04/07 01:01
総合的に書いてある詳細な本でろー。

251:デフォルトの名無しさん
04/04/12 14:35
CマガのようなC♯専用の書籍ってないの?
情報なさ杉

252:デフォルトの名無しさん
04/04/12 17:42
MSDN Library を印刷汁

253:デフォルトの名無しさん
04/04/17 05:55
ManagedDirectXはMSDNにもろくに情報ない上に信用できないんだよ

254:デフォルトの名無しさん
04/04/18 10:35
気長に待っていれば情報もあがってくるとおもったけど、
一年以上たつのに、あまり情報ないねぇ。

255:デフォルトの名無しさん
04/04/19 17:46
使う人を全然見かけないからね。。。

256:デフォルトの名無しさん
04/04/19 22:33
DirectXのヘビーユーザがC#に手を出さないからな。

257:デフォルトの名無しさん
04/04/20 01:57
開発効率や生産性はいいんだけどねぇ。(でもパフォーマンスが。)
もともとC++などで書き慣れてると、
特別移行する気にはならないんだろうなぁ。

258:デフォルトの名無しさん
04/05/13 11:14
.NET Frameworkから呼び出せるOggVorbisクラスをMagnagd C++で作っています。
OggVorbisのov_openという関数を呼び出すには、パラメータにFILEポインタが必要なのですけど、
その取得のために_wfopenを使おうとしています。
流れはこんな感じ。

String *filename = {ファイル名};
FILE *fp = _wfopen(/* ここをどうすれば? */,"rb");

/* ... */の部分なのですけど、Stringに格納した値をどうやって_wfopenに渡せばよいのか分かりません。
どのようにすれば良いのでしょうか。


259:デフォルトの名無しさん
04/05/21 20:21
次の Managed DirectX SDK に関する情報。
URLリンク(weblogs.asp.net)

・名称は Microsoft DirectX 9.0 SDK Update (Summer 2004)。
・たぶん 8 月までには公開される。
・Visual Basic のサンプルコードは消えた。いくつかのサンプルも消された。
・Visual Studio の DirectX Wizard は消え、代わりに Empty Project が追加された。
 Application.DoEvents の代替となるメッセージループなども用意されている。
・API やドキュメントは大幅に改良された。(←これが最も重要。)
・Mesh Viewer のソースコード、
 C# をスクリプティング言語として利用するデモ、
 HLSL のサンプル。
・Windows Form ライクな UI コンポーネント。

260:デフォルトの名無しさん
04/05/21 21:35
まだ9.0なのかYO!

261:デフォルトの名無しさん
04/05/21 21:37
>>258
ファイル読み込みなんかより
System.IO.Streamとの連携をやったほうが
結果的に有用だと思うがどうか。

262:デフォルトの名無しさん
04/05/21 22:44
>>259
UI Elements がいいかも。こういう退屈だけど必要なコードは
フレームワーク側で持ってくれるとありがたい。

>>260
Loghornが出るまで、メジャーバージョンアップは無いことになっている。

263:デフォルトの名無しさん
04/05/21 23:25
>258

#include<vcclr.h>

wchar_t __pin pRawString = PtrToStringChars(filename);
FILE *fp = _wopen(pRawString, L"rb");

これ以上はManaged C++スレで


264:デフォルトの名無しさん
04/05/21 23:27
>263
間違えた

wchar_t __pin - > wchar_t __pin *


265:デフォルトの名無しさん
04/05/23 02:18
とにかく、ドキュメントを充実させてくれ。

266:デフォルトの名無しさん
04/05/23 19:10
未だにバグ満載あげ

267:デフォルトの名無しさん
04/05/31 18:33
C#でDirectSound使ってwav再生してみたけど
Formが非アクティブになると音楽再生がとまってしまうのは
どうしてなのでしょうか

268:デフォルトの名無しさん
04/05/31 19:16
>>267
Device.SetCooperativeLevel


269:267
04/05/31 19:23
>268
返事ありがとうございます

Device.SetCooperativeLevel(this, CooperativeLevel.Priority);
ってやってますが、これじゃまずいですかね。

270:267
04/06/01 09:10
サンプルプログラム(PlaySound)でも>267と同様に
音がとまってしまいますねぇ…

仕様かな??

271:デフォルトの名無しさん
04/06/05 09:39
変にスレタイ変えたがよくなかったね。
言語でわけたほうがよかった。

272:デフォルトの名無しさん
04/06/05 09:50
ミスった。
>変えたがよくなかったね。
変えたのがよくなかったね。

273:267
04/06/08 17:14
URLリンク(www.codeproject.com)
このサンプルは止まらないことがわかりましたが
どこがポイントなのか…

274:267
04/06/09 09:18
>267の問題ですがGOTDOTNET掲示板で質問したところ
川西 裕幸さんが答えてくださり解決いたしました。

URLリンク(www.gdncom.jp)

275:デフォルトの名無しさん
04/06/13 21:14
マルチウザイ

276:デフォルトの名無しさん
04/07/08 13:28
このスレ、終了気味な予感。
Managedでくくらずに、
DirectX+C#のままのほうがよかったね。

277:デフォルトの名無しさん
04/07/09 12:11
過疎化してるところに質問で悪いんだけどさ。

Managed DirectXで作ったアプリを配布したいんだけど、
Win2000インストール直後のマシンで実行する為にインストールする必要があるのは

1. .NET Framework 1.1 再頒布パッケージ
2. Microsoft .NET Framework Version 1.1 日本語 Language Pack
3. DirectX9.0再頒布パッケージ

でOK?


278:デフォルトの名無しさん
04/07/09 12:18
>277
自分で試してみなはれ

279:デフォルトの名無しさん
04/07/09 12:46
>>278
テスト用マシンが足りてないのだよ


280:デフォルトの名無しさん
04/07/16 14:31
C#で、Managed DirectXを使って、aviを再生したとします。
そこで、Frameの切り出しを行いたいのですが、
Managed DirectXで、可能ですか?
さらに、動画の任意の位置から再生して、任意の位置で停止するようなことはできますか?
よろしくお願いします。

281:デフォルトの名無しさん
04/07/29 17:04
Microsoft DirectX 9.0 SDK Update (Summer 2004) キターヨヽ( ・∀・)ノ
URLリンク(www.microsoft.com)
さてと、やっと落とし終わったので2003Summerを消さずに上書きしてみる。ドキドキ。

あと、日本語ドキュメントは用意されてないみたい。まぁ読まんからいいけど。

282:デフォルトの名無しさん
04/11/21 16:31:38
ちょっとDirectPlayでもいじくってみようかと思い、SDKインストールしてみたのですが。(↓のやつ)


DirectX 9.0 SDK Update - (October 2004)

URLリンク(www.microsoft.com)


Direct3D DirectInput DirectSound のサンプルしかインストールされない。
Managed DirectPlayは見捨てられたんだっけ?(あ、C++のサンプルもない)

教えて偉い人。っていうか既出ですか?

283:デフォルトの名無しさん
04/11/29 20:50:50
こんな下の方にあるスレにsageで質問してレスがつくと思うなよ。

284:デフォルトの名無しさん
04/11/30 15:21:56
>Managed DirectPlayは見捨てられたんだっけ?
ウゾダドンドコドーン

285:デフォルトの名無しさん
04/12/05 22:13:46
ユーザーがDirectX8や7のランタイムを入れてない状態で、
Managed DirectXを使ったゲームって動かせます?

286:デフォルトの名無しさん
04/12/05 22:26:07
DirectX8や7のランタイムしか入れてない状態で、の間違いでした・・・。
要はDirectX9のランタイムが入ってない状態で、Managedが動くか同かなんです。

287:デフォルトの名無しさん
04/12/05 22:52:44
MDXはDX9のwrapperだから無理だんべ

288:デフォルトの名無しさん
04/12/05 23:01:01
そうですか・・・。
どうもでした。

289:デフォルトの名無しさん
04/12/05 23:02:15
そんぐらいドキュメントよめー

290:デフォルトの名無しさん
04/12/07 19:02:17
Texture tex = TextureLoader.FromFile(e.Device, "LobbyDiffuseYPos.bmp");
Surface s = device.GetRenderTarget(0);
device.SetRenderTarget(0, tex.GetSurfaceLevel(0));
device.SetRenderTarget(0, s);
これは何か問題がありますか?

device.SetRenderTarget(0, tex.GetSurfaceLevel(0));
ここでエラーになるのです。

291:290
04/12/09 00:10:00
解決しました。

292:デフォルトの名無しさん
05/01/25 22:10:13
ロングホーンが出たらManaged DirectXとC#の関係はどうなるのだろう

293:デフォルトの名無しさん
05/01/26 00:05:46
>>292
Avalon越しに使うことになるかと。

294:デフォルトの名無しさん
05/02/08 02:54:04
ももももももしかして。
DirectX 9.0 SDK Update (December 2004) には
SpriteAnimate サンプル コード(DirectDraw サンプル )
が入ってないの???

これで完全にDrawって死滅?
マネージドに残ってるって聞いてたのに・・・。

。・゚・(ノД`)・゚・。

295:デフォルトの名無しさん
05/02/08 03:53:37
SDK Updateは追加・更新されたサンプル以外は入ってこないよ。
サンプルが必要なら前のやつから引っ張ってくればOK。

つーか、DirectDrawは進化しなくなっただけで死滅はしてない。

296:デフォルトの名無しさん
05/02/08 10:23:54
D3DでZ座標固定しとけば2Dでしょ

297:デフォルトの名無しさん
05/02/09 18:51:34
ところで、テクスチャの生成が
 A8B8G8R8 だと失敗して
 A8R8G8B8 だと成功するんだけど、
これってごく普通のことなの?

298:デフォルトの名無しさん
05/02/09 19:13:01
まあ、ABGRって、少なくともファイル上ではいびつな形態だしな

299:デフォルトの名無しさん
05/02/10 19:42:57
複数の PC で実行したのですが、

sprite.Draw2D(tex, Rectangle.Empty, Rectangle.Empty, new Point(0, 0), Color.FromArgb(255, 255, 255, 255));

が上手く表示できて

sprite.Draw2D(tex, Rectangle.Empty, Rectangle.Empty, new Point(0, 0), Color.FromArgb(255, 255, 255, 255).ToArgb());

が上手く表示されないというのは何故なんですか?

300:299
05/02/12 19:13:41
なんか Sprite.Draw2D の color を int で指定するバージョン、珍現象が多すぎです orz
color の値によってテクスチャが微妙に移動したり、-1 を上手く解釈してくれなかったり orz

こんなもんなんですか?

301:デフォルトの名無しさん
05/02/14 00:16:10
URLリンク(www.microsoft.com)
上のコラムの、バージョンごとの参照の追加の方法
>9.0(b) のサンプル コードの場合は全てのコンポーネントについてバージョン 1.0.900.0 を、
>9.0 Update (Summer 2004) の場合は 1.0.1901.0 を選択する

とあるんですが、DirectXって、マイナーアップデート? しただけで
以前のコードが動かなくなるほど互換性が無いんですか? ヤバいですね。

という訳で、こうなったら9.0の初期から順に入れようと思ってるんですが、
一回一回アンインストールしながら入れていけばいいのですよね?

302:デフォルトの名無しさん
05/02/14 00:33:27
ああ、ヤバい。宇宙ヤバイ。

303:デフォルトの名無しさん
05/02/14 01:26:32
>>302
ありがとうございました。

304:デフォルトの名無しさん
05/02/14 23:56:05
>>301
URLリンク(www.atmarkit.co.jp)

これを読んで .NET の side-by-side について学んでください。

305:デフォルトの名無しさん
05/02/16 09:36:11
DirectX 9.0 February 2005を利用しています。
DirectInputのアクションマッピングについてなのですが
ActionCollectionクラスのオブジェクトを
ActionFormat.Actionsに渡したいのですが、プロパティが読み取り専用になっています。
C++のDIACTIONFORMAT.rgoActionと同じように配列で渡すのではないのでしょうか。

ManagedのDirectXのアクションマッピングについて
参考になるサイトがありましたらお願いします。

306:デフォルトの名無しさん
05/02/16 22:51:06
.NEETやばいね。

307:2Dで十分なヒト。
05/02/16 23:07:53
2Dで十分なヒトもいるんだお。
それを忘れないでほしいお。

でも速度と回転と変倍はいるんだおぅ。

308:デフォルトの名無しさん
05/02/17 17:24:15
見た目は変わらないと何度言えば

309:デフォルトの名無しさん
05/02/18 02:51:26
透視変換後の頂点座標のZ値をいじりたいんで
変換を手動でやりたいけどうまくいきません。

Vector4 v = new Vector4(0,0,0,1);
v.Transform(
device.Transform.World
*device.Transform.View
*device.Transform.Projection
);

正しいやり方はどうなんでしょうか

310:デフォルトの名無しさん
05/02/23 22:43:58
December 2005 で作っていたソフトを February 2005 に切り替えたら、
December 2005 の MDX しか入れてない友人宅で動かなくなりました

可能ならば友人宅の December 2005 をそのまま残したままで問題を解決したいのですが、
PC 上に存在する最も新しい MDX を参照するような設定ってできますか?

311:デフォルトの名無しさん
05/02/23 22:45:40
ごめぬ December は 2004 だったね (´Д⊂グスン

312:デフォルトの名無しさん
05/02/24 00:56:44
feb. 2005のRadist入れればいいだけでは?
MDXは複数バージョン入れられるし。


313:デフォルトの名無しさん
05/02/24 03:04:17
日本語ドキュメントがOctber 2004 までしかないから
それ以降は入れる気にもなれん ヘタレです。

314:デフォルトの名無しさん
05/02/26 00:07:50
TextureLoader.FromFile(引数が2個以上指定するヤツ)でBMP画像を読み込み、表示させると
拡大されたものと通常のサイズのものが混ざり合って読み込まれてしまいます。
引数が二個のヤツだと正常に読み込めますが、当然カラーキーは使えず。
原因がさっぱり分かりません。バージョンは2004Decemberです。

315:デフォルトの名無しさん
05/02/26 11:45:31
テクスチャは画像サイズに関わらず、それ以上の2の累乗ピクセルで作られる。
画像サイズを512等の2の累乗にするか
Filter.Noneを指定して、はみ出したテクスチャ分をテクセル座標でトリミングしてやる


316:デフォルトの名無しさん
05/02/27 23:09:23
sdkってものすごい勢いで更新されてるけど、常に最新のものを入れるべきなの?

317:デフォルトの名無しさん
05/02/28 03:37:14
>>316

すごい勢いで更新されるとともに
すごい勢いで今まで使っていたOSやツールが使えなくなっていく

すべて新しいものを買わせるための戦略と見ている・・・

すでにwindows2000とVC++6.0が開発環境外(;´Д`)



318:デフォルトの名無しさん
05/02/28 11:10:36
>>317
>windows2000とVC++6.0
まさに漏れの開発環境だよ(;´Д`)





319:デフォルトの名無しさん
05/03/06 07:26:33
Xファイルの AnimationController 辺りを使って、
モーションブレンドをしたいのですが、可能でしょうか?
例えば、
100フレーム〜199フレーム − 歩き
200フレーム〜299フレーム − 走り
のXファイルで、
〜100フレームで歩き、
100〜200フレームで歩いてるような、走ってるようなモーション、
200〜完全に走り、
という具合に。
KeyPriorityBlendというメソッドが気になって適当に使ってみたのですが、
本当に機能してるのかさえわかりません。


320:デフォルトの名無しさん
05/03/06 08:05:24
半透明の2枚のポリゴンAとBがあって、
BがAの手前にあるとき、
A->Bの順で描画すると問題無いのですが、
B->Aの順で描画するとおかしくなります。
この場合、DirectXではどうしますか?

まず考えたのが、透視変換後のZ値を比べて描画順を決めるという方法ですが、
DirectXの場合勝手に透視変換されて、透視変換後のZ値の取得の仕方がわかりません。
もう1つは、カメラからの距離で描画順を決めるのですが、これだと無駄な計算のような
気がします。
どうするのが一般的でしょうか?

321:デフォルトの名無しさん
05/03/07 04:29:37
URLリンク(www.microsoft.com)
ここのサンプルをやってみたんですが、画像ファイルをどこに置いたらいいのでしょうか?
動きますが青い画面しかでてきません。(?_?)

322:デフォルトの名無しさん
05/03/07 20:06:21
上手く行くかどうか判らないけど、debugフォルダに置いてみたら?

323:デフォルトの名無しさん
05/03/07 20:16:03
>>321
『デバッグ無しで実行』 してみては?
うちの環境だと、何故か普通の実行だと Device.Clear しか反映されないんで。

画像が見つからない場合にはちゃんと例外が投げられる筈。
投げられないって事は画像は見つかっているんじゃないかな。

324:デフォルトの名無しさん
05/03/07 21:46:30
スレリンク(furin板:394番)

325:デフォルトの名無しさん
05/03/07 23:31:54
>>323
すみません。画像は読み込めてました。(カレントに置いたらOKでした。)
『デバッグ無しで実行』も試してみましたが、変わりませんでした。
・・・・ショック。(/oo)

326:デフォルトの名無しさん
05/03/08 05:14:39
フルスクリーンからAlt+Tabで切り替えて戻したときに出る例外がどうやっても捕捉できないのですが、
みなさんはどうやって対処してます?

327:デフォルトの名無しさん
05/03/08 08:06:20
PostMessageでアプリ終了、と割り切る。

328:デフォルトの名無しさん
05/03/09 14:42:01
>>326
どんなコード書いた?
俺は正常に動くが

329:デフォルトの名無しさん
05/03/09 18:06:08
>>326
サーフェスの破損を回復してないとか?


330:デフォルトの名無しさん
05/03/09 22:09:38
protected virtual void RenderDriver()
{
  int result;

  device.CheckCooperativeLevel(out result); //デバイスのチェック
  switch(result){
    case (int)ResultCode.Success: //デバイスは正常
      try{
        device.Clear(ClearFlags.Target, clearColor, 1.0f, 0);
        device.BeginScene();
        Render(); //描画
        device.EndScene();
        device.Present();
      }catch(DeviceLostException){
      }catch(DeviceNotResetException){
      }catch(Exception e){
        MessageBox.Show(e.ToString());
      }
      break;

    case (int)ResultCode.DeviceLost: //デバイスは消失
      Thread.Sleep(100);
      break;

    case (int)ResultCode.DeviceNotReset: //デバイスはまだリセットされていない
      device.Reset(presentParameters);
      break;
    }
  }
}

331:デフォルトの名無しさん
05/03/09 22:25:02
>>330
device.Reset 時に例外が発生することがある
それも捕まえてな

俺は、device.DeviceLost を捕まえて IsDeviceLost フラグを true にセット、次いで↓のようにした
汚いがスマヌ

RenderDevice () {
    if (IsDeviceLost) {
        try { device.Reset(CreatePresentParams(IsWindowed)); }
        catch(DirectXException) { return; }
    }
    
    device.Clear(ClearFlags.Target, Color.Black, 1.0f, 0);
    device.BeginScene();
    sprite.Begin(SpriteFlags.AlphaBlend);
    Render(); // 描画
    sprite.End();
    device.EndScene();
    
    try {
        device.Present();
        IsDeviceLost    = false;
    } catch(DirectXException) {}
}

332:デフォルトの名無しさん
05/04/29 01:24:02
C#.NET+Managed DirectXでシェーダープログラムを組んでるんですが、「デバッグ」→「Direct3D」→「Start with Direct3D Debugging」をしてみてもコンパイルをするのみで実行しません。
皆さん普通にシェーダーデバッグできてますか?
情報知っている方どうぞ教えてください。
設定その他はしてあり、C++の環境ではシェーダーデバッグに入れます。


333:デフォルトの名無しさん
05/04/29 07:16:17
マルチポスト

334:デフォルトの名無しさん
05/06/05 13:46:30
保守

335:デフォルトの名無しさん
05/06/05 18:47:55
DirectSoundで、ストリーム再生をしようとがんばってる者です。

ms-help://MS.VSCC.2003/MS.DirectX9_OctUpdate_JPN.1041/DirectX9_m_JPN/directx/ref/ns/microsoft.directx.directsound/c/secondarybuffer/m/ctor4.htm
には、

>正しいウェーブフォーム フォーマットで適切なサイズのバッファを作成するには、
>SecondaryBuffer(Stream,BufferDescription,Device) を呼び出します。

と書いてあるんですが、これって SecondaryBuffer(BufferDescription,Device)の間違いじゃないですかねえ。
SecondaryBuffer(Stream,BufferDescription,Device)でStreamに650MBのWAVファイルのFileStreamを指定すると、
OutOfMemoryExceptionが投げられてしまいます。メモリ使用量を見るに、指定されたStreamを、読めるところまで全部読んでしまっている気がします。

そして、ストリーム再生のサンプルコード(Microsoftの) URLリンク(www.microsoft.com)
は、SecondaryBuffer(BufferDescription,Device) でした。

336:デフォルトの名無しさん
05/08/23 17:38:16
誰かDX7のSDKと日本語ドキュメントをください

337:デフォルトの名無しさん
05/09/03 03:51:17
>>336
URLリンク(www.amazon.co.jp)

338:デフォルトの名無しさん
05/11/18 03:28:24
保守

339:デフォルトの名無しさん
05/11/18 18:41:40
update 2005(Octobar)をインストールしたのですけど,
参照できる名前空間にDirectShowが現れません.
他にExtraも見て回ったのですが,サンプルしか入っていませんでした.
ひょっとして,DirectShowはComベースでのみ提供なのでしょうか.

340:デフォルトの名無しさん
05/11/18 18:50:41
oct2005にExtraなんてあったっけ?

341:デフォルトの名無しさん
05/11/19 12:16:28
ないよ
他のうpでとバージョンだろ

342:デフォルトの名無しさん
05/11/20 01:44:08
良く解らないので質問させてください。
C#+Managed DirectXで
スプライトを使って四角形を描写したいと思います。

 Windowsの描写では以下のように描写していました。
Rectanglerect = new Rectangle(0,0,100,100);
 g.DrawEllipse(Pens.Green,rect);

spriteに描写するときは、どのようにすればいいのでしょうか?
Microsoft.DirectX.Direct3D.Lineを使うと線は描写できましたが
四角形やら楕円なのは見つかりませんでした。

なんとなくサンプルソース等を探してみて自分なりの見解ですが、
「一度図形を描写したものをテクスチャにして張り付けるのでは?」
とは思っていますが、どのようにテクスチャに変換していいのか解
りません。ご教授願います。

343:デフォルトの名無しさん
05/11/20 03:53:17
>>342
紛らわしいとは思うけどSpriteはMicrosoft.DirectX.Direct3Dにあるよ

Microsoft.DirectX.Direct3D.Sprite
使い方はMSのサンプル見たほうが良い。難しくはないよ

344:342
05/11/21 08:45:00
 ごめんなさい。質問の仕方が悪かったようです。
Spriteは使ってBitmapを回転移動など画面には表示できています。

MSのサンプルにはBitmap等をspriteに描写する方法は書かれていますが、
四角形や円形などを描写する方法は書かれていません。
 あらかじめBitmapで円形を描いておいて呼び出せばいいのでしょうが・・・

よろしくお願いします。



345:デフォルトの名無しさん
05/11/21 11:09:33
本当にC#使ってるのなら、ここで聞くまでもなく自動的にそのくらいのヒントは
表示されるているはずだが。

346:デフォルトの名無しさん
05/12/15 18:12:40
Mesh tempMesh = mesh.CloneMesh(...
mesh.Dispose();
mesh = tempMesh;
mesh.ComputeNormals();

で落ちて

Mesh tempMesh = mesh.CloneMesh(...
tempMesh.ComputeNormals();
mesh.Dispose();
mesh = tempMesh;

で落ちない。。。
クソがぁぁぁぁぁぁぁぁ
バグとかあるわけないですよね… 何がいけないんだろう

347:デフォルトの名無しさん
05/12/22 12:36:08
VC++expressでやろうとしたらエラーがでるんだけど

348:デフォルトの名無しさん
05/12/22 14:04:11
>>347

URLリンク(www.microsoft.com)
> DirectX SDK (December 2005) には、Managed DirectX における 2.0 Common Language Runtime の
> サポートが含まれています。このアセンブリは、Visual Studio 2005 で Managed DirectX を使う際に
> 発生する問題を解決します。

かな?

349:デフォルトの名無しさん
06/01/09 22:25:58
directinputで複数のゲームパッドを取得したいと考えています。
サンプルを見ると一つだけのサンプルなのですが、複数の入力を取得することはできますか?
その方法など、サンプルや参考URLがあればお教えください。

350:デフォルトの名無しさん
06/01/10 00:51:47
enum

351:デフォルトの名無しさん
06/01/17 17:17:48
Pre-release Managed DirectX for .NETFramework 2.0
↑これって英語のドキュメントすらないのね・・・

352:デフォルトの名無しさん
06/02/20 22:18:40
February 2006 のSpriteってバグない?
Rectangle.Emptyを指定してDraw2Dを呼ぶとNullReferenceExceptionが発生する。
リフレクターで中身みてみると確かにnullポインタにアクセスしてる・・・

353:デフォルトの名無しさん
06/06/23 18:37:07


354:デフォルトの名無しさん
06/06/24 01:57:22
はやんねースレだな。そもそもマネージドでDirectXやる
メリットはあるのか?

355:デフォルトの名無しさん
06/06/24 02:20:53
マネージドな言語でDirectXが扱える。

356:デフォルトの名無しさん
06/07/04 22:21:53
Surfaceで透過はどうやったらいいんですか?
Description構造体の中にAlphaBitDepthというのがあったのですが、検索しても決定的なものが見つかりませんでした。

357:デフォルトの名無しさん
06/07/09 19:08:10
DirectX で800x600の画面に背景画として画像ファイルを映し出したいんですが、
DirectX は2の乗数の値でしか扱えないとありました。
この場合の処理はどうすればいいですか?

358:デフォルトの名無しさん
06/07/09 21:17:16
画面を2の乗数にする

359:デフォルトの名無しさん
06/07/09 21:22:03
>357
2の乗数しか扱えない(ものが多い)のはテクスチャのサイズ。
単なるコピーだけ出来ればいいのならテクスチャでないsurfaceを作る。
色々したいなら2の乗数でなんとかする。

360:デフォルトの名無しさん
06/07/09 22:10:50
今のグラフィックスカードでテクスチャが2^nのサイズじゃないと
いけないものはそんなにないと思うけど、どうなんでしょう。
確かこれってデバイスのCapsで調べられたと思うけど。

つーか、2^nにしたければ1024x1024のテクスチャを作成して
その中の800x600の部分だけつかえばよいのでは。


361:デフォルトの名無しさん
06/07/10 18:12:54
返事ありがとうございます

>359
surfaceですね
それでちょっと調べてやってみます。

>360
それもやってみます。

362:デフォルトの名無しさん
06/07/14 03:10:35
Managed DirectX v2.0 を使って動画の再生ってどうやればよいのでしょう?
Microsoft.DirectX アセンブリには AudioVideoPlayback 名前空間が含まれていないようなのですが。

363:デフォルトの名無しさん
06/07/14 03:18:01
>>362
無理。
MDX1のAudioVideoPlaybackを使え。


364:362
06/07/14 03:43:21
>>363
そうなんですか。
Managed DirectX の 2.0 と 1.0 って一緒に使うことはできないんですよね。
2.0 のほかの機能を使いたいので 2.0 は使わざるを得ないので、DirectX を使ってのビデオの再生は
あきらめるしかないようですね。
早速のレスどうもありがとうございました。

365:デフォルトの名無しさん
06/07/14 05:08:11
>>364
推奨はされないだろうが、MDX2.0とMDX1.1は同時に使えるぞ?
俺はMDX2のDirect3DとMDX1のDirectSound、AudioVideoPlaybackを同時に使ってる。
これといった問題も出ていない。

366:362
06/07/14 06:45:07
>>365
すみません、再生だけでなくフレームの抽出もやりたいと思っています。
そこで Video.RenderToTexture(Device) を使おうと思ったのですが、
2.0 の Device と 1.0 の Device が競合してしまうようです。

367:365
06/07/14 08:33:59
>>366
Video.RenderToTexture() の事までは考えてなかったわ。すまん。

368:デフォルトの名無しさん
06/07/19 11:05:23
2.0でDirectInputのInputExceptionかせ見当たらないですが

369:デフォルトの名無しさん
06/07/19 11:14:02
Exception - now inherit from DirectXException rather than InputException

370:デフォルトの名無しさん
06/07/27 23:25:32
DirectSound で曲の再生し終わったのを知るにはどうしたらいいですか

371:デフォルトの名無しさん
06/08/06 18:55:58
マネージだとDXTraceの相当するものは無いの?

372:デフォルトの名無しさん
06/08/07 23:14:53
なんでわざわざ"Device"を被らせるんだろう
Direct3DDevice, DirectInputDeviceとかにすればよかったのに

373:デフォルトの名無しさん
06/08/09 22:47:03
usingつかってもDXとInputでかぶってるから結局大元から指定してる……

374:デフォルトの名無しさん
06/08/10 22:47:56
using Direct3D = Microsoft.Direct3D;
using DirectInput = Microsoft.DirectInput;

Direct3D::Device
DirectInput::Device
としてる
かなりめんどくさい

375:374
06/08/10 22:50:03
using Direct3D = Microsoft.DirectX.Direct3D;
using DirectInput = Microsoft.DirectX.DirectInput;
だった。わかるとは思うけど

376:デフォルトの名無しさん
06/08/11 00:30:15
名前空間の考えってそういうことができるようにするためなんでしょ?
めんどくさいけど。

377:デフォルトの名無しさん
06/08/11 07:46:44
使い方を揃えるため

378:デフォルトの名無しさん
06/08/11 20:55:44
UnManagedのDirectX触ってみた
Managedeの生産性の高さが痛いほどわかった
情報は少ないが

379:デフォルトの名無しさん
06/08/14 14:06:10
unmanagedのdirectxを先に使わなかった人か

380:デフォルトの名無しさん
06/08/14 15:16:09
もう少し触るとManaged版の未整備っぷりに嫌気が差してくる

381:デフォルトの名無しさん
06/08/14 16:23:12
未整備も今日まで。
明日にはXNA Frameworkが発表されている・・・ハズ

URLリンク(blogs.msdn.com)

382:デフォルトの名無しさん
06/08/14 22:05:04
MSがXna Game Studio Expressを発表。

URLリンク(www.microsoft.com)

8/30に公開されるXna Game Studio Expressは、PC上でのゲーム製作に
無償で使える。
年$99のサブスクリプションを払えば、作ったソフトをXbox360で動かすことができる。

ここには書いてないけれど、おそらくC#ベースで、ゲーム向け巨大ライブラリが
付属していると思われ。
C++とDirectXでシコシコやる時代は終わった。

383:デフォルトの名無しさん
06/08/14 22:19:04
>>382
ちょwwwwwwwww個人製作のゲームがXbox360で動くの?wwwwwwwwwwwww

384:デフォルトの名無しさん
06/08/14 22:43:06
>>382
やっとまともなのが来た。

385:デフォルトの名無しさん
06/08/14 22:47:23
国内版のXbox360でも使えるのかな

386:デフォルトの名無しさん
06/08/15 09:31:49
もっとこう自然に英語に接することができれば幸せなんだろうなぁ
そう難しい英語じゃないんだけど、英語だと思うだけでもう必死ですYO

387:デフォルトの名無しさん
06/08/20 01:41:32
参照設定のDirectXを2.0.0.0にして、
CuttingEdgeのteapod.csチュートリアルコンパイルが通るように修正したら
メッシュが真っ黒になってしまったんだけど、どうすればいいんだろう?
PresentParametersを配列にしなきゃらななかったり何だこれ?

388:デフォルトの名無しさん
06/08/20 03:15:29
いろいろ調べたけど、「まだ2.0.0.0に手を出してはいけない!」
という事がわかった><

389:デフォルトの名無しさん
06/08/30 16:03:44
情報の少なさがmanaged directxの魅力を半減させる
managedで出来る事の少なさがmanaged directxの魅力を半減させる

390:デフォルトの名無しさん
06/08/31 21:00:51
今XNA Game Studio Expressダウンロードしたけど、これVC#expressがないとインストールできないのな。
Express限定って何だよ……Standard版が既にインストールされてるのにw


391:デフォルトの名無しさん
06/08/31 21:13:41
というわけでインストール報告。

XNA Game Studio Express βをインストールするのに必要なもの
Windows XP SP2
Visual C# express (exp以外不可。日本語版でもインストールできた)

サウンド関係のツールを利用するのに必要なもの
DirectX SDK 2006 August

インストールすると、VC#で新規プロジェクトをつくるときの選択肢に
Windows Game(XNA)とWindows Game Library(XNA)が追加された。
ちょっと遊んでみよー。


392:デフォルトの名無しさん
06/08/31 21:38:24
あ、もう一個 Space Warってのもテンプレに追加されてた。
これがサンプルになるんですね。

とりあえずうちのジョイスティックは認識されなかったのでUSE_KEYBOARDを
コンパイルシンボルに追加して動かしてみたが……
しょ、ショボい。いくらサンプルとはいえ、もうちょっとなんとかならんのか。
初っ端からコレだとなんだかメゲるなあ。


393:デフォルトの名無しさん
06/08/31 22:14:18
Space War…
ショボいわりにはえらい大げさなつくりだよね
正式リリースの時にはもっとまともになってるかも

394:デフォルトの名無しさん
06/09/01 00:48:33
まあ使い方はこれでだいぶわかるからサンプルとしてはいいんだけどね

395:デフォルトの名無しさん
06/09/01 11:22:27
XBOXもってないけど作れるんだね?遊べるんだね?

396:デフォルトの名無しさん
06/09/01 12:31:06
誰か「XNA Game Studio」のスレ立ててよ。
ここか、ゲーム製作技術かどっちがいいのかな。

とりあえず、むずいな。DirectXやってた人には何てことないんだろうが、
文字の表示の仕方も分からんし、
3Dの三角形を書いても真っ黒になってしまって色がつかん
(Effectってのを使わんとだめらしい。)

397:デフォルトの名無しさん
06/09/01 12:47:01
ゲーム製作技術だと箱向きの話になっちゃうからこっちのほうがいいんじゃないの

文字の表示は、ビットマップフォントを使うか、
文字を描画したSystem.Drawing.BitmapオブジェクトからLockBitsでbyte配列を取り出して
Texture2DかTexture3DオブジェクトにSetDataで書き込めばいいよ
3Dはわからん

398:デフォルトの名無しさん
06/09/01 15:09:32
どう見てもゲ製板向きだろ。「Game Studio」だぜ。
誰か立ててきてちょんまげ

399:デフォルトの名無しさん
06/09/01 16:19:40
ゲー作板のすれ
スレリンク(gamedev板)l50

400:デフォルトの名無しさん
06/09/01 21:28:37
つーか、Managed DirectXなの?
それが本当ならめっちゃやる気でる。

401:デフォルトの名無しさん
06/09/01 21:42:20
Managed DirectXリリースの時のように、
当面は、日本語の情報ねえねえの書き込みが増えそうだ。

402:デフォルトの名無しさん
06/09/01 23:46:25
そいつでゲーム以外のものを作ってやりたいんですが、構いませんねッ!

403:デフォルトの名無しさん
06/09/02 01:33:34
許す!

404:396
06/09/02 06:36:34
>397
サンクスやってみる。DrawTextするとXBox実機では動かないかもね。
次のベータでは何か考えてくれると希望。

>399
タイトルにXNAって入れてほしかったなあ。検索で引っかからん。ま、そこに行きます。

405:デフォルトの名無しさん
06/09/02 23:17:10
>>401
Irrichitみたいに翻訳wikiがほしいな

406:デフォルトの名無しさん
06/09/03 15:49:35
XNAってManaged DirectX 2.0の代わりに出たわけじゃないんだよね?
XBOX360とPCの両方で動作させるためのSDKっていうことでいいの?
あとManaged DirectX 2.0っていずれ出るんだよね?

教えてクンでスマソ

407:デフォルトの名無しさん
06/09/03 15:59:51
自然消滅するかもね
実際Managed DirectXの代わりとして使えるわけだし

408:デフォルトの名無しさん
06/09/03 16:08:20
FCLに入れてもらえないとダメなんだよね

409:デフォルトの名無しさん
06/09/03 16:51:49
>XNAってManaged DirectX 2.0の代わりに出たわけじゃないんだよね?
うんにゃ代わり。MDX2.0は永遠にベータだって公式にアナウンスされてたよ。

410:デフォルトの名無しさん
06/09/04 00:34:35
>>409
それマジ?
ソースきぼんぬ
しかしC#もexpressだけってどういうことやねん。


411:デフォルトの名無しさん
06/09/04 02:31:22
>>410
SDKのリリースノートぐらい読もうよ

412:デフォルトの名無しさん
06/09/04 03:54:03
XBOXは.NET Frameworkがつかえるんだ。

413:デフォルトの名無しさん
06/09/04 03:57:53
なんでXBOX.NETじゃないの?

414:デフォルトの名無しさん
06/09/04 09:08:50
機種依存しないための.NETだろ

415:デフォルトの名無しさん
06/09/11 22:50:23
じゃあ、家のスーパーカセットビジョンにも.NETつんでくれよ!

416:デフォルトの名無しさん
06/09/12 15:58:02
おお、ということはつまり、ゲーム業界も機種の壁を超えることができるわけだ!

それなら、他の機種にも.NET Framework や Managed DirectX をどんどん使えるようにしてくれぇ!

417:デフォルトの名無しさん
06/09/12 22:56:31
PS3に乗るOSってLinuxだったっけ?
.NETが動くなら移植可能かもわからんね

418:デフォルトの名無しさん
06/09/12 23:24:02
スペック的に可能だとしても、奴等はきっと必死に防ごうとしてくるんだ。
ソフトの売り上げが奴等の頼りだから。

419:デフォルトの名無しさん
06/09/13 09:16:19
360 : 開発無料 配布99$ 販売 1000$未満
Wii : 開発 2000$
PS3 : 億単位

420:デフォルトの名無しさん
06/09/13 10:14:01
開発無料なわけないし。

421:デフォルトの名無しさん
06/09/13 11:00:56
はいはい

Xboxのゲームを作ってみないか?
スレリンク(gamedev板)

【ワンダー】XBOX360開発キット一般販売【ウィッチ】
スレリンク(ghard板)

422:デフォルトの名無しさん
06/09/13 20:13:15
その基準でいくとPS2は9800円(BASICのマニュアル付)

423:デフォルトの名無しさん
06/09/16 13:44:34
XNAもProfessionalは数十万するんじゃ……
Teamだと100万以上余裕でいくんじゃねえか
実質販売する場合の配布は、きちんとMSに上納金いるよ


424:デフォルトの名無しさん
06/09/16 17:29:03
販売 1000$未満

425:デフォルトの名無しさん
06/09/16 17:35:33
「実質販売」が、円盤と説明書を箱に詰め込んで売るのを指すなら
それはまさに、Liveの思想を理解できていない前時代的な発想ですよ( ̄ー ̄)

426:デフォルトの名無しさん
06/09/16 18:16:59
>>423
TS使わないとやってられない程の規模なら、そのぐらいの予算普通に出せるだろう?

427:デフォルトの名無しさん
06/09/16 19:55:25
Live配布のゲームも上位はうん十万件ダウンロードされてるからな
場所代払ったところで痛くはない

428:デフォルトの名無しさん
06/09/16 21:17:17
Windowsでの一般配布・・・・・・・・・・・・$0
XBox360での配布・・・・・・$99
Liveによる通信販売・・・・・・less than $1000
XNAによるゲーム開発体験・・・・・・・・Priceless

429:デフォルトの名無しさん
06/09/16 21:25:32
自分のサイトで配布できるようにはできるわけ?

430:デフォルトの名無しさん
06/09/16 21:36:59
すでにみんなUPしてるだろ

431:デフォルトの名無しさん
06/09/18 09:12:44
6 名前:名前は開発中のものです。[sage] 投稿日:2006/08/16(水) 00:56:46 ID:VYlxapXj
URLリンク(japanese.engadget.com)

>来春にも小規模ゲーム開発者向けにXbox Liveを通じたゲームの
>販売・課金機能を提供するという部分。エントリー費用については
>「検討中だが$1000よりは確実に低くなる」とのことで、数万円程度の
>初期投資でLiveを通じたゲームの販売が可能になるようです。

wktk

7 名前:名前は開発中のものです。[sage] 投稿日:2006/08/16(水) 01:36:36 ID:OQv2Eevs
全世界に向けての販売か・・・

432:デフォルトの名無しさん
06/09/18 15:18:27
>>431
俺もLiveでの販売を夢見たクチなんだが、よく考えてみろ。
ちゃんと売れるものを作れるんだったら今頃シェアウェアで公開してるだろ?

要するに、今なにもできてない人は、これからも何もできないってことだ。
俺もオマエも('c_`;)

433:デフォルトの名無しさん
06/09/18 21:20:00
エロゲーまだ?

434:デフォルトの名無しさん
06/09/18 21:53:51
hentai作れば海外に馬鹿受け

435:デフォルトの名無しさん
06/09/18 23:28:07
>>433
エロってMSの審査無いの?

436:デフォルトの名無しさん
06/09/19 12:42:26
あっちではポケモンやサザエさんみたいな普通のアニメもHENTAIって呼ぶのな

437:デフォルトの名無しさん
06/09/19 14:06:50
>>436
当然

438:デフォルトの名無しさん
06/09/20 00:57:50
まぢかよ
そりゃ変態だっぜ

439:デフォルトの名無しさん
06/09/20 03:30:05
アメリカにはサザエさんのエロ描いて喜ぶ香具師がいるくらいだからな

理解不能

440:デフォルトの名無しさん
06/09/20 07:58:58
友人とエロサザエの動画で大笑いした日本人の俺は・・・

441:デフォルトの名無しさん
06/09/21 16:13:43
MDX 2.0beta は10月5日で死亡。

URLリンク(letskilldave.com)


442:saga
06/10/23 13:31:09
DirectInput で二つのジョイスティックの状態を取得する方法を教えてください。
一つだけならサンプルがあるのでわかるんですけど二つはないので・・・

443:デフォルトの名無しさん
06/10/25 21:01:41
URLリンク(www.microsoft.com)
ここでかいけつする?

444:デフォルトの名無しさん
06/10/29 04:52:52
【ネット】XBOX360開発キット無償公開2【やろうぜ】
スレリンク(ghard板)
Xboxのゲームを作ってみないか?
スレリンク(gamedev板)
[DirectX][.NET][XBOX360][C♯C#] XNA Game Studio
スレリンク(tech板)

445:デフォルトの名無しさん
06/10/31 21:25:23
>>442ですが、>>443さん、ありがとうございます。

ここを見ましたがどこを二つ(?)にするのかわからなくてまだ困っています。

二つ以上が載ったサンプルありますか。

446:デフォルトの名無しさん
06/11/02 16:58:55
XNA氏ね

447:デフォルトの名無しさん
06/11/17 05:52:02
JavaでSwingを多少いじったことがある程度の経験なのですが、
Managed Direct3DとWindows Formsを組みあわせて、
ウィンドウの一部にDirect3Dの描画をすることはできるでしょうか?
Direct3Dメインのアプリなのですが、メニューが必要で、どうしたらよいでしょうか?

448:447
06/11/17 06:50:41
URLリンク(www.microsoft.com)
自分で該当する記事を見つけました…
どうもありがとうございました。

449:デフォルトの名無しさん
06/11/22 18:45:27
誰かまだ人はいるのだろうか・・・一応あげてみます。
スプライトのことです。
画像の拡大縮小を指定しないでbmpを描画すると画像本来より拡大されます。何が原因でしょうか?

450:デフォルトの名無しさん
06/11/23 01:10:31
きみ、いくつかな?

451:デフォルトの名無しさん
06/12/12 13:54:33
Microsoftは,PCやXbox 360で動作するゲームを開発するためのツール
「XNA Game Studio Express 1.0」を,正式にリリースした。

XNA Game Studio Expressは,ゲーム開発環境をより広く一般の人達にも
開放しようという目的でMicrosoftが開発している,開発用ツールだ(関連記事)。
本ツールで制作されたゲームはPCで動作し,配布や販売も可能だ。

また,Microsoftが主催する「Creators Club」に99ドルの年会費を払って入会
すると,Xbox 360上でも動作させられる。ダウンロードは,Microsoftの開発者
向けサイトmsdnの公式サイト(英語)から行える。

また,XNA Game Studio Expressの動作に必要なVisual C# Expressの
ダウンロードリンクが,画面右端に用意されている。

URLリンク(www.4gamer.net)

452:デフォルトの名無しさん
06/12/22 20:23:55
Win2000でMDXやるにはいつのバージョンのDirectXを使えばいいんですか?

最近のやつは2000には対応していないんですよね?

453:デフォルトの名無しさん
06/12/22 20:24:54


454:デフォルトの名無しさん
07/01/11 19:04:00
C#とManaged Direct3Dを使って、動的にメッシュを生成するようなプログラムを組んでいます。
複数物体があるのですが、1物体に1メッシュを割り当てるとめちゃくちゃ遅くなるので、複数物体に1メッシュを割り当てて、
物体の描き分けは属性IDを使用して行おうと思っています。

たとえば物体Aに面が100個あり、物体Bに50個面があるような状態で、インデックスバッファのはじめ100面分が物体A、次の50面分が物体Bのインデックスデータになっているとします。

属性IDは1面に対しDWORDで32bitとのことだったので、以下のようなコードを書きました。
GraphicsStream gs = mesh.LockAttributeBuffer(LockFlags.None);
for (int i = 0; i < 100; i++)
{
gs.Write((int)0);
}
for (int i = 0; i < 50; i++) {
gs.Write((int)1);
}
mesh.UnlockAttributeBuffer();

これで動くはずなのですが、1つ目のループの中で、i=37でエラーが出てしまいます。
37*4がだいたい150なので、実はDWORDじゃなくてBYTEなのか、と思い、
gs.Write((byte)1)のようにしてみたのですが、
mesh.OptimizeInPlace実行後にAttributeTableを見てみると、0x01010101のような属性IDが書き込まれていたりして、やっぱりDWORDじゃん、ということになっています。

どうも、LockAttributeBufferで帰ってくる領域のサイズが1/4に縮小されてしまっている(??)ような気がするのですが、どうしたらうまく動くのでしょうか。


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

5392日前に更新/119 KB
担当:undef