1 名前:デフォルトの名無しさん [03/08/19 18:29] C#など .NET環境でのDirectXプログラミング Managed DirectX について語るスレ DirectX一般については、鬱だ氏のうDirectXスレでお願いします。 前スレ DirectX C# vol.1 pc2.2ch.net/test/read.cgi/tech/1040435898/l50
653 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 10:55:09 ] C#でも同じ結果になるね 1ずつ増やしても246104104までは10:14:56、246104105で急に10:15:13になる。 doubleの精度がかわる?
654 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:20:53 ] >>652 >>653 レスありがとうです そうなんですよね、doubleの精度が変わってるみたいですねorz xxxx/1/1 0:0:0にAddSecondsして、前回のAddSeconds結果と比較して TotalSecondsが1秒じゃなければNGとして試すと xxxx/01/02 13:16:59 134219(0x20c4b)から狂いだします 自前で作るしかないのかすら・・・
655 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:26:17 ] AddTicks(TimeSpan.TicksPerSecond * 246104100) これならDateTimeの内部含めてどこにもdoubleは出てこないはずだけど
656 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:40:40 ] >>655 おぉぉぉ、うまくいきました! 神様、ありがとうございます
657 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:44:07 ] >>653 >>654 doubleの精度が変わるで正解。 原因はDirect3DランタイムがCPUの浮動小数点ユニットのコントロールレジスタを変更するため。 これを避けるにはCreateFlags.FpuPreserveフラグを使う。 ttp://blogs.msdn.com/tmiller/archive/2004/06/01/145596.aspx
658 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:47:30 ] >>657 おぉ、そうだったのですか。ありがとうございます。 変わりにパフォーマンスは落ちるのですね。 今回はAddTicksで行こうと思います。 ありがとうございました。
659 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 01:28:56 ] Windows 7においてはManaged ライブラリは提供されない? ttp://pc.watch.impress.co.jp/docs/2008/1126/hot582.htm の図9の画像においてDirectXにはManaged Development にチェックが入ってない。
660 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 03:05:18 ] ランタイムやSDK入れりゃMDX1.1アセンブリだけなら勝手に一緒に入るし Direct3D10のマネージラッパーなら今でもMSからの提供は無い。 現状と何も変わらんと思うが。
661 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:10:16 ] XNAを使えとやたら奨めてる割にXNAでは特定形式データしか扱えないとか 他のManagedライブラリはMDXか使うしかないのに見捨てられてるとか 傍観してるだけでも今後の状況が目に浮かんできて涙が出てくるわ(´д`;)
662 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:40:44 ] 64bit環境も考えたらSlimDXしか選択肢がないような。 まあmdxと違ってxnaはx86がデフォになるから気にしないでいいといえばいいが。
663 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 22:12:43 ] 先生教えてください d3dの画面にテキストボックスみたいなのをつくりたいんですが 皆さんどんな実装してますか 小奇麗な凝ったデザインでつくれますかね
664 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 22:32:06 ] ここは.NETつ−かほとんどC#なんだけど、その辺わかって聞いてる?
665 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 22:44:23 ] よっぽどGUIが重要ならWPFベースでDirect3Dをホストすれば? .NET3.5SP1ではDirect3DのサーフェスをそのままWPFに完全に統合して表示できるようになった
666 名前:633 mailto:sage [2009/02/03(火) 23:25:58 ] >>665 ありがとうございます。 わけあって2.0環境限定なんで別の方法を探してみます。
667 名前:663 mailto:sage [2009/02/04(水) 00:06:23 ] 番号間違ったorz なにやらCustomUIっていうのを使えばよいのですね C#のサンプルが無いな・・・
668 名前:デフォルトの名無しさん [2009/02/28(土) 23:04:05 ] 教えてください。 現在、Bitmap Fontをテクスチャに張るプログラムを作成しています。 この時ロストが発生すると、テクスチャが全て消えてしまいます。(Pool.Defaultのため) 再生成は処理が重いためなんとか回避したいです。皆様はどのように構築されるのでしょうか・・・ 申し訳ありませんが、参考サイト等をご教授下さい。よろしくお願いします。
669 名前:668 [2009/02/28(土) 23:10:25 ] ちなみに構築方法ですが、以下の流れで行ってます。 よろしくお願いします。 0. staticでテクスチャA, Bを用意 1. 元BmpをテクスチャAに読み込み 2. テクスチャCを用意 3. サーフェースロックで必要箇所コピー (C<-A) 4. テクスチャB = テクスチャCで保持
670 名前:668 [2009/03/01(日) 00:34:40 ] 668です。 基本的に、ロスト/リセット時は再生成が必要なようですね・・・ このため、テクスチャ以外の箇所を変更して、回避することにしました。 何がしたかったかと申しますと、Windowモード動作時にスクリーン長が変更されると、 マウス座標に誤差が生じる問題を解決しようとしていました。 従来は見栄えの問題もあり、サイズ変更時にリセットを掛けていたのですが、 現在はスクリーン長を踏まえてマウス位置を算出するように修正しました。 他の方法もいくつか検討したのですが、どうしても画像Loadが遅いため妥協します・・・ お騒がせしました。すいません。
671 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:55:42 ] 質問です。 MSDNのManagedDirectXのドキュメントを眺めているのですが、どうも 発生するException類がちゃんと記述されていないような気がします。 具体的には、Device.CurrentJoystickStateを読む際に、 Joystickを引っこ抜抜いたらInputLostExceptionが発生しまた。 それでマニュアルを見たのですが、どのような Exceptionが発生するか書いてありませんでした。 で、おかしいなと思い、 ttp://msdn.microsoft.com/en-us/library/bb321412(VS.85).aspx で英語ドキュメントを見てみたのですが、こちらにも Exceptionに関する記述が見当たりません・・・。 皆さんはどのように発生するExceptin類を調べているのでしょうか?
672 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 07:28:40 ] >>671 結局、Try&Errorでいくしかないと思うよ。もしくはUnmanagedを参考にする。 MDXは過疎りまくりだ・・・結局俺もUnmanagedに移行したし。
673 名前:デフォルトの名無しさん [2009/04/05(日) 14:45:33 ] DirectSoundで buffer.SetCurrentPosition(0); buffer.Play(0, BufferPlayFlags.Looping); として曲を再生しているんですが これだとループするときに曲の先頭まで戻ります ループするときに曲の任意の場所から再生させたいときはどう すればいいんでしょうか?
674 名前:デフォルトの名無しさん [2009/04/05(日) 15:03:50 ] ループポイントでググル、データの方に設定な。
675 名前:デフォルトの名無しさん [2009/04/05(日) 18:48:26 ] なるほど、データの方をいじっちゃうのか ありがとうございます
676 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:21:23 ] Windows API Code Pack for Microsoft .NET Framework (v0.85) ttp://code.msdn.microsoft.com/WindowsAPICodePack > Support for Direct3D 11.0 and DXGI 1.0/1.1 APIs.
677 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 13:33:10 ] これ、そのうち標準でOSにつく可能性あるのかな。 ビルドはできるが動かす環境が無いなあ
678 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 17:43:42 ] いくつかの機能はVista以前のOSでも利用可能になる Win7と同時にリリースされる とは言ってるけど、標準で付くとはかかれてないね
679 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 11:27:26 ] 最近 c#でmanaged DirectXいじり始めたんですけど、 xp sp3上で、画面最小化ボタン押したら、どうにも できないところが例外吐くんです。で、仕方ないから 最小化専用ボタン作って、最小化する前にデバイス破棄して 元に戻る時、再度デバイスを新規で作るにしたら、 窓の大きさを変えると、絵が微妙に動く(縦横比が微妙に変わったり) んですけど、なんでか教えてください。エスパーな方! (なんで、例外吐くのかと絵が微妙の2点です。)
680 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 11:49:03 ] よくわからん。 再現するコード出せる?
681 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 13:00:25 ] おお!速いレスありがとうございます。w コードは、ぐぐったらトップに出たところのものをコピペしてるだけなんで。 コピペしたやつをここに貼るのもなんなんで、リンクだけなんですけど。 ttp://www.atelier-blue.com/program/mdirectx/3d/index.htm で、そこではメッセージループをいじってるみたいなんで、それはやめて、 新規で、ユーザーコントロールを追加してそこにコピペしてるだけです。
682 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 14:49:49 ] 再現できない、、、XPはx64だったりしないよね?
683 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 10:47:20 ] >>682 しないです。ありがとやんした。 も一度基礎から調べなおしてみます。 ソフトかハードの問題かとか、もっと切り分けてから、もう一度質問させてください。 つーても、十中八九、自分で書いた部分に問題があるんでしょうけど。
684 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 13:36:15 ] dxwebsetup.exeダウンロードして実行して同意選んでもダウンロードできませんってなるんですけどこういう事ってありますか?
685 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 13:43:36 ] それスレ違いな気が。 わざわざ過疎スレで聞いても返事が遅れるぞ。 ダウンロードできない理由がわからんとなんとも。 Genuineチェックかな?
686 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 13:45:19 ] まあ時間開けたりブラウザ代えてやってみるとうまくいったりすることはある。
687 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 23:04:08 ] >>676 v0.9 Direct3D 10.1/10.0, Direct2D 1.0, DirectWrite and WIC APIs in the DirectX area
688 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 12:50:07 ] おー、0.90かあ
689 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 17:07:45 ] サンプル充実してきたな。 1.0で正式版なのだろうか
690 名前:デフォルトの名無しさん [2009/06/25(木) 19:49:48 ] xp sp3で、directinputでGetPressedKeysを使ってキーボード状態を監視するものを作ったんですが、 「半角/全角」つまりkey.kanjiを押すとずっと押下状態になります。alt同時押しで解除できるんですが。 なんか設定し忘れてるでしょうか。フォームをime disableにしても変化なしでした。
691 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 13:53:11 ] 押しっぱなしになってるんじゃなくてトグルだからだろ
692 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 23:14:42 ] >>676 1.0になった
693 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 15:48:56 ] おー