1 :
デフォルトの名無しさん :
03/08/19 18:29
v(^・^)v
乙
なんか、レスないね(汗)
ううん、やっぱりManagedってスレタイが一般受けしないんだろうか。
耐えるんだ!
9 :
デフォルトの名無しさん :03/08/26 00:55
しょっぱなから初心者な発言で失礼ですが… Managed C#でDirect3Dを使い、2Dのゲームを作ろうとそれ専用の自作クラスを作ろうとしているのですが、 なにしろ3Dを扱うのは初めてなもので、本とか読みながらやっているのですが、 どうにも2Dプログラミングについてはなかなか書かれていなくて難儀しております。 2Dとなると、サーフェイスかテクスチャかスプライトを使用するみたいですが、 その詳しい使用方法がイマイチ判りません、 ヘルプも不完全のようですし、(メソッドの説明が全然無い!) チュートリアルもテクスチャを表示するだけ、といったものが多いですし。 今のところは、C++のソースを見ながら対応するメソッド等を見つけ出して頑張っているのですが、どうにもはかどりません。 愚痴を色々書いてしまいましたが、C#におけるDirect3Dの自作クラスを作るコツみたいなのをどなたがご教授して頂けないでしょうか? 私からの具体的な質問としては、 サンプルのチュートリアルではレンダー内にごちゃごちゃと描画処理を書いているみたいですが、 実際のプログラミングでもこうなるのでしょうか? バックバッファ等にテクスチャなりサーフェイスなりを転送した後にそれをフリップさせるみたいなことができるのでしょうか? 駄文、失礼しました。
駄文って書いてくれると長文を読まないで済むな
>>9 2DならDirect3DじゃなくてDirectDrawでやってはいかが?
C++だと3Dを使うっぽいけど、.NETにはDirectDrawがある。
あと、バックバッファを使ってフリップてのもできる。
まぁその辺は「DirectX Sample Browser」の[Miscellaneous]にある
「Sprite Animate」のソースでも見て、ガンガレ。
「ゲームプログラミングのための 3Dグラフィックス数学」 と 「ゲーム開発のための 物理シミュレーション入門」 という本を買ったのですが、 ちと、初心者には敷居が高かったです。(数学・物理の点で) 数学、物理の超基礎を学ぶのに おすすめの書籍はありますか? 学生の為の書籍はよく見かけるんですが、 目的が違う気がするので・・・。
ちがわねーよ。 高校の物理やっとけ。
Visual Basic.NET &DirectX9でネットワークゲームプログラミング と言う本を買ったのだけど、パラパラ見ていたら ADSLは基地局からの距離によって速度は低下する。下りよりも 上りの方が帯域が狭い。 このような特性はCATVや光ファイバにも当てはまります。 とか書いてあるのを見つけて萎え。 しかもネットワークの話は、全体の1/3ほどしかない。
>>14 中身を確認せずに本を買ったおまえがアフォ
>DirectX9でネットワークゲームプログラミング この時点で手に取る価値もない
ネットワークゲームをDirectPlayで作ってる人少ないの?
>>9 レスありがとうございます。
DirectDrawだと、ブレンド系の処理にはGDIを使わなければならないみたいなので、
処理が遅くなると聞いたのですが…
Direct3Dならアルファブレンドの処理が速くできるみたいなのですが、どうなんでしょう?
それに、技術が無いので、こういう派手な処理でも覚えないことにはハッタリが効かないかなぁと。
>>18 あら、そうなの?
実はまだそんなに使ってないし、ブレンド処理はあんま必要ないからなぁ。
DirectDrawドキュメントの方はアルファ関連のがあったっぽいけど、
あれはGDIを呼んでるのかな?
>>20 ドキュメントには書いてあるけどDirectX7に至るまでついに
実装されることはなかったので実際には使えない。
22 :
デフォルトの名無しさん :03/08/28 22:19
マネージド ダイレ糞エッ糞
DirectShowが簡単になりすぎて、逆になんにもできないよ。 アンマネージド糞をC♯から使うにはどうしたらいいんだろう。
MC++でラッパー作れば?
MC++のMはマネージドじゃないの?
ネイティブと混合可
27 :
デフォルトの名無しさん :03/08/31 06:31
DirectDrawって将来無くなる予定ですか?
それはフロッピーディスクが将来無くなるかと聞いているのと同意
そんなバハマ
30 :
デフォルトの名無しさん :03/08/31 10:09
>>14 なんか、nVidiaのチップ紹介みたいな本があったから
立ち読みしてたらZバッファのビット数分だけ
三次元的にバッファがあると書いてあった。
1024x768x 色32bit x Z24bit のVRAMがいるんだそうな。
31 :
デフォルトの名無しさん :03/09/01 16:20
>>30 つーと
1024*768*32*8*24*8 = 38654705664(ビット)
38654705664 / 8 / 1000000 = 4831(メガバイト)
ざっと5ギガ近いメモリが必要ってわけか?
>>30 A8R8G8B8とすれば
1024*768*(8+8+8+8) = 25165824
が正しい。
>>31 > 1024*768*32*8*24*8
*8 が両方とも余分。単位はビットだもんな。
ワロタ ボクセルエンジンだったわけですか
>>33 全空間をボクセルに分割して処理するという、立派なエンジンですね。
ポクセルが実用速度で処理できる計算機が一般に降りてくるまでに、10年はかかる
全モデルに対するシャドウや当たり判定が DirectXの関数一個で処理できる時代がくるんでしょうか? device.RenderState.Shadow = Shadow.Self; とかで
関数を作れば関数一個で済むが何か問題があるの?
38 :
デフォルトの名無しさん :03/09/10 16:31
>>35 そなの? ボクセルは高速なんだけどメモリが異常に必要だ,て
聞いてたんスけど。
昔 Microsoft がメモリ 1G 積んだマシンでボクセルエンジンの
デモやってたって記事を見たです。。。
大量のメモリーを必要とするデータを計算し書き換えるのに、高速になるわけがない。 頭は大丈夫か? 張りぼてとは違うのだよ、張りぼてとは。
それが可能になるから技術の進歩ってすごいよな。
僕セルJr.
43 :
デフォルトの名無しさん :03/09/13 13:28
.NET SDK1.1とDirectX9 SDKをインストールして 試しにサンプルをコンパイルしてみたのですが、 「Microsoft.DirectXのアセンブリ参照を確認しろ」と言われました。 しかしMicrosoft.DirectX.dllはしっかりグローバルアセンブリに入っているのですが、 このエラーの原因は何なのでしょうか。
>>43 > /reference:<ファイル リスト> 指定されたアセンブリ
> ファイルからメタベースを参照する (短いフォーム: /r)
45 :
デフォルトの名無しさん :03/09/21 14:18
人気無さ過ぎなんでage
46 :
デフォルトの名無しさん :03/09/23 10:26
SDK Update インストールした _| ̄|○ Managed DirectX ドキュメントが更新されてねぇ、新Sample C++のみだ……
49 :
デフォルトの名無しさん :03/09/24 21:42
50 :
デフォルトの名無しさん :03/09/25 14:59
>>49 updateてことは、前のSDKに上書きしなきゃだめってことか?
>>50 この SDK ダウンロードは完全な SDK ですので、以前の SDK をダウンロード
する必要はありません。
って書いてあるだろボケ。
ならUpdateなんつー名前つけんじゃねーよな。紛らわしい。
Update Patch とかなってるならわかるが Update なら問題ないだろ。
updateという言葉の意味を考えると、そうは思えないがな。
D3DXとMDXが変更されているんだから、DirectX9.1にしてくれた方が 実行環境の指定が楽だったのに。
ランタイムは変わってないでしょ
やってくれたな、MS MDXを使う人は、SDK Updateのインストールはしばらく待つこと。 βの使用期間制限が残っていたっぽい。
ああ、MDXってManaged DirectXか。 どっかの音楽ファイルフォーマットか何かかと。
オレもオレもw
D3DXFontが無くなったみたいだけど、 どうすればいいの?
>>60 ウィザードを使ってプロジェクトを作り直したら?
期限制限バグ取り除いたうpデート出とるね。
...zzzZZZ
vol.1をManagedの参考に呼んでいたのですが、同じManagedのVB.NETでもC#の話をそのままで考えても大丈夫でしょうか? 初歩的な質問ですみません
>>65 いえs。VB.NETの文法にさえ従えば。
test
test2
70 :
デフォルトの名無しさん :03/11/03 18:55
ていうか人少なすぎ
71 :
デフォルトの名無しさん :03/11/08 23:10
タイトル悪すぎ。 Managed:DirectX C# VB.NET とかにすれば良いのにね。
72 :
デフォルトの名無しさん :03/11/09 13:09
言語名見ただけで荒らす困ったちゃんが多いからね。
>73 "困ったちゃん"って言葉かわいいなぁ
DX9updatesdk入れて2003でもテンプレ使えると喜んでたのに C#のblankテンプレをビルドしたらRender内のDrawTextで躓いたw
updatesdkのサンプルのGraphicsFontクラスで日本語テキストを表示したい。
>77 色指定の引数が変わったみたいだから、そこ直すだけでおk MSはテンプレはチェックしないのかね
>76 自分でFontGraphicsを拡張。
GraphicsFontだった;;
リソースに読み込んだビットマップからサーフェスを作るのがうまくいきません(VC.net,DirectX9)。 プロジェクト作成〜ビットマップ読み込み〜サーフェス作成の大まかな流れを教えていただけないでしょうか? (CreateWindowあたりはわかりますが、DirectX9オブジェクトを作るところ以降だけでも教えてください)
>82 >83 どっちもManagedじゃない。スレ違い
85 :
デフォルトの名無しさん :03/11/26 16:13
前スレの名前は・・・・・・
86 :
デフォルトの名無しさん :03/11/27 17:33
age!
JavaでもDirectXってつかえますか?
ManagedDirectXとJava…… ハッ、そうか、この二つを繋ぐものは―― J#だ!
え!マジで使えるのかよw
DirectXを使った時点で環境依存だから、J#でも問題はあるまい。
自分も
>>9 さんと同じようなことしようとしてるけど、進展が無いようで少し残念。
なんかSDLみたいにサクっとできないものかな… DirectXムズイヨ…
95 :
デフォルトの名無しさん :04/01/02 23:20
どこかに、DirectSoundで2つ以上の音声を同時に再生するサンプルってありませんかね? ストリーム再生できた〜って喜んでたのに、2つ同時に再生すると再生速度が妙に速くなるんですが・・・
>>ボクセルは高速なんだけどメモリが異常に必要だ で、wildcatなんかだと物理メモリ416MBで 仮想メモリ16GBだったりするのな
97 :
デフォルトの名無しさん :04/01/08 20:11
C# + DirectX でスクリーンセーバを作りたいのですが、 何かよいテキスト(本、URL)とかはないでしょうか?
98 :
デフォルトの名無しさん :04/01/10 16:20
99 :
デフォルトの名無しさん :04/01/13 23:28
自作クラスに挑んでみたが、なかなかうまくいかないのう… 情報をくれ!
MSは情報豊富でええのう……。 と呟いてみる俺はmacに挑戦中のスレ違い野郎 なのに100ゲト
101 :
デフォルトの名無しさん :04/01/16 05:19
DivXの動画ファイルからフレームレートを 取得したいのですがどうすればいいのでしょうか? 真空波動研で見ると取得できているのでなにかしら方法があるとは 思うのですがどうすればいいのかわかりません。 教えてもらえないでしょうか? あと、DivXに限らずビットレートってどうやって取得するのでしょうか。 Microsoft.DirectX.AudioVideoPlaybackあたりを調べているのですが どうも見当違いなような気がしてきました。 お手数ですがよろしくお願いします。
>>101 Microsoft.DirectX.AudioVideoPlayback.Video.AverageTimePerFrameの逆数
とか。
でも普通はヘッダを解析するんじゃないかな。
>>102 レスありがとうございます。
ですがAverageTimePerFrameプロパティは
DivXCodecの動画の場合は0を返すようなので使えなくて
困っています。
ヘッダを解析ですか。
もうすこしだけ具体的に教えてもらえないでしょうか?
MDXのドキュメントすくねーな テクスチャサーフェスのロックしようとしてハマったよ
107 :
◆xSIiMs006s :04/02/09 20:49
AudioVideoPlayback.Audioに一部の静止画や動画を渡すと ActiveMovieWindowが勝手に表示されるのですが、 これを制御する(一切表示させない)方法を教えて下さい。 宜しくお願いします。 -------------------------------------------------------- vc#2002 framework1.0 directX9.0beta windowsXP professional
108 :
デフォルトの名無しさん :04/02/17 01:05
Visual Basic .NET 2002 Standard ですが、 Direct X 9.0b SDKをインストールしても、エラーが出て使えないんですが、 普通にインストールする以外何かインストールしなくてはいけないんですか?
もっと、日本語の書籍でないかなぁ。
110 :
デフォルトの名無しさん :04/02/25 22:25
vbの本はあるのに、 c#の本は無いのですか? 検索しても無かったよ。 これから出るのかな?
"C#"
112 :
デフォルトの名無しさん :04/02/26 00:55
マネージドでソフトを作れば、 ユーザーに必要なのは,netだけで、 ダイレクトx9をインストールしろと、指示する必要はなくなるのですか? どうも、それっぽいことが書いてあるのですが、、、。
113 :
デフォルトの名無しさん :04/02/26 00:57
マネージドでソフトを作れば、 ユーザーにインストールしろと指示するのは、 netフレームワークだけで、良いのですか? どうもそれっぽいことが書いてあるのですが、、、。
114 :
デフォルトの名無しさん :04/02/26 01:09
皆さんはダイレクトxで使用する3Dデータはどのように作成してるのですか? 3DCG作成ツール見たいので作ったデータをそのまま使用できたりするのですか? それとも自分でこつこつと数値を入力していくのですか?
>>114 保存したオブジェクトファイルをテキストエディタで開いてみ?
仕様が公開されてないファイル形式は使わないのが吉
116 :
デフォルトの名無しさん :04/02/26 10:21
X-FILE
>>108 これは、わかりやすく説明しないMSがわるいんだとおもうんだけど、
Directx9 SummerはVS2003と、FrameWork1.1からじゃないと使えないんだよ。
こうやって、買い替えさせていくんだろうな。
>>112 マネージドってのは、ラッパーみたいなものなんだろうから、
Directx自体は必要なんだと思う。
>>114 メタセコやLIghtWaveとかで、作ってX=Fileで出力するんだよ。
最近だと、モーション付で出せる。
118 :
デフォルトの名無しさん :04/02/26 13:07
>Directx9 SummerはVS2003と、FrameWork1.1からじゃないと使えないんだよ。 最悪だな。つーかシェーダデバッカもVS6では使えねーし。
119 :
デフォルトの名無しさん :04/02/28 12:07
120 :
デフォルトの名無しさん :04/02/28 13:26
.comってコンポーネントのことなのでしょうか? 古くはms−dosにあった、コマンドコムなどと同じ種類の 概念なのでしょうか? 一言も願いします。
121 :
デフォルトの名無しさん :04/02/29 11:50
Cpad for C# からDirectXを使うには どうすればいいんでしょうか?
122 :
デフォルトの名無しさん :04/03/01 17:05
>>117 >Directx9 SummerはVS2003と、FrameWork1.1からじゃないと使えないんだよ。
ダイレクトxとネットフレームワークはダンロードできますよね。
ってことはVS2003を購入せよと言う話なのでしょうか?
それがいやな俺は、
旧バージョンのダイレクトxなどを使えば良いのでしょうかね?
dx90update_extrasってどうやってインストールするの? 中はただの圧縮ファイルみたいだけど、どこに置けばいいの?
126 :
デフォルトの名無しさん :04/03/02 10:48
>>125 ありがとうございます。
830さんは詳しいですね。
助かります。
>Directx9 SummerはVS2003と、FrameWork1.1からじゃないと使えないんだよ。 あれ、Managedじゃないほうからは2002でも普通につかえるんだけどな・・ へんなの
128 :
どうして止まっちゃうの? :04/03/07 04:15
using System; using System.Drawing; using System.Windows.Forms; using Microsoft.DirectX; using Microsoft.DirectX.Direct3D; public class Title{ Microsoft.DirectX.Direct3D.Font font; public Title(Device device){ font = new Microsoft.DirectX.Direct3D.Font(device, new System.Drawing.Font(FontFamily.GenericSansSerif, 50.0f));} public void Render(Device device, Size size){ int gray = 50 + Math.Abs((Environment.TickCount/5)%400-200); Color color = ColorOperator.Modulate(Color.FromArgb(gray,gray,gray), Color.Yellow); font.DrawText("タイトル", new Rectangle(0, size.Height/5, size.Width, 1), DrawTextFormat.Center, color);}} public class Game : Form{ private Title title; private Device device; public Game() : base(){this.Size = new Size(640,480); PresentParameters param = new PresentParameters(); param.Windowed = true; param.SwapEffect = SwapEffect.Discard; device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, param); title = new Title(device);} public void Render(){ device.Clear(ClearFlags.Target, Color.Blue, 1.0f, 0); device.BeginScene(); title.Render(device, this.ClientSize); device.EndScene(); device.Present();} protected override void OnPaint(PaintEventArgs e){ this.Render(); } public static void Main(String[] args){ Game window = new Game(); window.Show(); while(window.Created){ window.Render(); Application.DoEvents(); } }} 止まってしばらくするとまた動きだします。 どうして??わけが分かりません。
129 :
デフォルトの名無しさん :04/03/10 12:34
130 :
デフォルトの名無しさん :04/03/10 13:31
おいー、俺が買った本についてくる、ダイレクトx9.0 インストールさえできないぞ!! cd入れても何も表示されないぞ。 何でだ!! 故障か!? 同じ症状の人居る?
CDがオートランに対応してないと何も出来ない程の馬鹿?
132 :
デフォルトの名無しさん :04/03/10 13:40
134 :
デフォルトの名無しさん :04/03/10 13:41
>>131 いや、もちろん、エクスプローラーとかでいろいろいじってるんだけど、
ファイルが何も表示されないんだよ。
何でだよ!?
135 :
デフォルトの名無しさん :04/03/10 13:42
違うって。 いろいろいじってるのに出ないんだって。 もちろんただ物理的にcd入れただけじゃないって!! やってるって。
136 :
デフォルトの名無しさん :04/03/10 13:43
まあ、9,0と9,0bなら 9,0bの方を入れたほうが良いに決まってるからそうしようと思うけど、 サンプルソースが見れないのが困るな。
137 :
デフォルトの名無しさん :04/03/10 13:44
じゃあ、みんなのは、 普通にインストールできるんだ。 こう言う症状が出たのは俺だけか?
┐(゚〜゚)┌
139 :
デフォルトの名無しさん :04/03/10 15:16
いやあ、ごめん。 もれも、せっかく買った本の付属cdがインストールできなくて かなり焦っていろいろと下種の勘繰りをしてしまったが、 再起動とかしたら、無事にインストールできたよ。 漏れの存在はもう、忘れてくれ。 じゃあな。
( ´,_ゝ`)プッ
> ダイレクトx9.0 察してお挙げなさい
シンミリしてるスレなのに、 いきなりレスがのびてるから 何かと思った・・・。
143 :
デフォルトの名無しさん :04/03/12 06:38
おいー、 ダイレクトX9.0bデバッグ版 入れたら、パソコンについてるテレビのスマートビジョンが見れなくなったぞ!! 誰か、助けてくれぇー!!
パソコンのケースを開ければ見えるだろ。
開発・デバッグ環境と実行環境をごっちゃにするからだよ。
うちもBF1942がたまに飛ぶようになった
147 :
デフォルトの名無しさん :04/03/12 07:59
>>145 ああ、なるほど。そう言う物なのですか。
何しろ、基本が解ってないもので、、、。
ダイレクトX利用アプリである、(ダイレクトドローを使ってるらしい)
テレビと、
ダイレクトXで自作ソフトを作ろうと思ってる環境とは
基本的に一緒にしては行けないものなのですか。
でも、他のゲームとかは普通に使えるんだけどな、、、。
NECに聞いてみるかな、、、。
デバッグ版を入れて動かないとかサポートに問い合わせるつもりか? えらく迷惑で非常識な奴だ。
Windows2000proにDirectX9.0SDKを一通りインストールして サンプルのBillboard(D3D)を動かしてみたのですが ネイティブなC++のものと比較してC#やVB.Netでのfpsが ほぼ半減してるのは、OS含めた何か設定上の問題でしょうか?
仕様です。 演算が多く行われるもの、データの変換が必要なもの、 ハード側の負荷が少ないものは、圧倒的な差となって現れます。 逆に差の少ないものは大概、GPU側の負荷が大きく、 CPU側の速度があまり影響しないサンプルです。
151 :
デフォルトの名無しさん :04/03/12 15:10
>>148 良く解らないんですけど、
デバッグ版を入れて動かなくなることがあるのは、
この世界では当たり前の話と言うことなのでしょうか?
いちいち聞くまでも無いことだと、、、?
自分としては、他のアプリは動くのに、なんでスマートビジョンだけ動かないのか?
って言う感じの質問をちょっとしてみようかな?と言う感じなのですが。
それとも、単に、デバッグ版以外のものに、普通にインストールし直せば良いだけなんだから、
さっさとそうしろよ、と言うお話なのでしょうか?
まあ、それならばそうなのでしょうが、自分としては、
良く解らないので、もし、そうなら、そうだと一言下さい。
も願いします。
動く動かないの問題ではない。 一般のユーザーが行わない動作環境下でのサポートを求めるのが非常識だということ。 それがおかしいと思わない時点で、常識を理解できない厨房。
154 :
デフォルトの名無しさん :04/03/12 17:38
いまどき、 ダイレクトxのsdkくらい 普通にインストールするもんじゃねえの? そんなに特殊かね? 普通に一般の書店についてくるおまけに入ってるじゃん。
155 :
デフォルトの名無しさん :04/03/12 17:40
もしかして、 自分は一般のユーザーとは違う、 特別な開発者だと思い上がってる厨房?
実働環境にデバッグ版を入れる一般ユーザーはいるが、 それに対してサポートを求める人間は非常識。 ここまで言ってもまだ理解できないのであれば、 厨房の度合いは救いようがないレベルだ。
最近はPCの自作も一般的になっているが、 ショップでCPUを買ってきて、 掲示板でネタを仕入れて、オーバークロックしたあげく、 情報通りの速度で動かないとショップに聞きに行く奴がいるが、 それとやっていることが変わらない。 保証外で自己責任の内容にまで、メーカーに面倒を見てもらおうと考える、 子供の考え方が厨房以外の何者でもない。
158 :
デフォルトの名無しさん :04/03/12 18:21
ダイレクトxのデバッグモードをインストールしたら、サポート外になるなんて
いつ常識になった?
常識ってのはだれでも知ってる知識だろ。
街を歩いている人間にそれを聞いて何人が知ってるって答えるかね?
>>157 とは明らかに話が違うだろ。
普通に一般に売られてるソフトをインストールしただけだし、
テレビ視聴用のアプリはダイレクトx9以上なら問題ないとしか書いてないし。
普通のユーザーはデバッグモードだと動かなくて当然なんて知識普通無いよ。
実際、ダイレクトxを使うアプリは他にも使ってるけど、
テレビ視聴用アプリだけだよ。
トラブルが起きたのは。
どう考えてもNECの方に問題があるとしか思えないよ。
デフォじゃないDirectXいれるとグラフィックボードのサポート外になりそうな気がする。
NECの作り方に問題があったとしても、 通常環境で動いている以上、メーカーに責任はない。 厨房理論で問い合わせても、開発環境については保証外だと、 大人の対応をされるだけ。 なぜそこまで自己中心的に、他人に何かを要求できるのか、 厨房の考えはさっぱりわからない。
普通のユーザーはどう間違ってもデバッグモードになりません
プログラム板っぽくデバッグモードではなぜ動かないのか解説きぼんぬ
163 :
デフォルトの名無しさん :04/03/12 19:05
だったら、今度はmsの方に文句言いたいよ。 同じダイレクトXでも デバッグモードとそうじゃないバージョンでは、 話が違いますと言う注意見たいのが欲しいよ。 他人とか言ってるけど、こっちは金を払って購入した客の一人で、 当然、動作実行環境に対する説明責任は向こうにあるとしか思えないけどな。 まあ、良いや。とにかく、それは常識なんだな。 インストールするとき、ダイレクトXのバージョン数だけを気にしては駄目で、 デバッグかそうじゃないかも気にしなければいけないんだな。 それが当たり前の常識と言うことなんですね。
>>163 むろん常識
激しく恥ずかしいやつだなお前
>>163 お前、常識って誰でも知ってる事だと思ってるだろ…
いや、常識じゃねえだろ。 俺も知らないし。
ウリが知らないことは常識じゃないニダ
ウリが知ってることは全て当たり前の常識ニダ。 ウリの価値観こそが世界の中心ニダ。
常識というのは知っているか否かではなく、 社会的世情に照らし合わせて、妥当と判断されるかどうか。
ここは何のスレでつか?
PC初心者出張所のスレです。
なぜデバッグ版とリリース版が分かれているのか考えもせずに 自分のアホさをNECやMSに責任転嫁する厨がいるスレ
常識でも何でも無いことを、 つい勢いで常識だと言ってしまった人が 必死になって既成事実にしたてあげようとするスレです。 っぷ、笑えますね。この馬鹿。プーククク。
>っぷ、笑えますね。この馬鹿。プーククク。 これが厨房の捨てぜりふか…。
見事な馬脚ですね。
>当然、動作実行環境に対する説明責任は向こうにあるとしか思えないけどな。 MS製品はサポート契約しないと質問する権利なんてねーよ で、質問ひとつ毎にインシデントを消費します。なくなれば終わり。
NECやMSに問い合わせればいいじゃん。 メーカーもそんなヤツ数え切れないほど相手にしてるんだから慣れたもんだよきっと。 …で、ぜひ結果を報告してくれ。
178 :
デフォルトの名無しさん :04/03/13 00:25
おう、問い合わせたら、 実に親切丁寧に教えてくれたよ。 そんなことも解らないんですかとか、 常識無いんですか、なんて返事はまったく帰ってこなかったぜ。 んー、 だが!!貴様ら糞どもにはおしえーん!! わはっはー!! 常識が何かも知らないうんこどもに、 この常識あふれた俺様がなぜ教えてやらなきゃいかんのじゃ!! 氏ね死ねぇーい!!
179 :
デフォルトの名無しさん :04/03/13 00:26
まったく、最初から 糞2ちゃんの厨房どもなんざ 相手にしないで、まともな社会人を 相手にしてれば良かったぜ。
こんな時間に問い合わせられるなんて、 NECの24時間サポート体制はすばらしいですね。 厨房の脳内回線専用というのがあれですが。
181 :
デフォルトの名無しさん :04/03/13 00:36
アホンダラ、 もっと前に問い合わせてたんだけど、 その話がたまたま出たからレスしただけじゃい!! その話が出なかったら、 こんなところに書く必要も無い話じゃ!!!
182 :
デフォルトの名無しさん :04/03/13 00:37
まったく、お前も、 2ちゃんで初心者相手にえばってばかりいないで、 少しは社会にでろよ。 な!
>氏ね死ねぇーい!! ワロタ
>>158 の時点ですでに営業終了時間を超えているよ。
嘘までついて意地を張らなければならないほど、
必死になることでもないと思うのだが。
なにかあまりに哀れだ。
というか、てめぇ程度の能力じゃリテール版で十分だろ(w
2chはじめてきたんだろうから、無碍に扱ってやんなよ せめて無視して遣れよ
(・∀・)ニヤニヤ
なんて痛々しい(;´д⊂ヽヒックヒック 戦争なんてくだらねえ!!オレの歌を聞け!!
>>184 最近のメーカー製PC買ってないでしょ?
NECは24時間サポート
無益なこと書く奴イラネ。
開発専用マシンくらい用意すれ
ここにデバッグバージョンとリテールバージョンの ランタイムの違いを正確に把握してる人間が 果たしてどれくらい居るんだろう? よってたかって叩きがたかってる様は無様そのもです、 本当に知識も技術もあるプログラマーは忙しくて こんなとこで初心者を愚弄して優越感に浸ってる暇はありませんね。 ちなみにそのテレビを再生するソフトも 当然デバッグランタイム上で開発、テストされています。 普通に考えればそのソフトが9.0に非対応である、というだけで デバッグバージョンだから云々は関係無いと思われます。
自分の無知さを喧伝してどうしたいんだ? ソフトじゃなくてハードが対応していないとかは考えないのか? それと、いいかげんスレ違いだということをわかってくれ
やねうらお先生に意見するとは10000万年早いわ!
>>193 確かにハードはその時点で出ていないバージョンの
DirectXに対応することが無理なのは当然です、
が、8以上対応とあればDirectXは上位互換なのだから
9を入れたところで基本的に問題はないはずでしょう。
問題があるのはドライバーか再生ソフトと考えるのが自然ですよね、
貴方こそ無知丸出しですよ、開発者の方じゃないですよね?
まあ確かにスレ違いだから、よほどでない限りもうレスはしません。
リテールで動けば、メーカーはそれ以上のサポートをする必要はないというだけの話。 例えプログラムの構造に問題があったとしても、 デバッグで動かないと問い合わせるのは筋違い。 大概デバッグで動かないのは、何らかのチョンボをやっている可能性が高いので、 バグの原因が掴めずに見切り発車していることは十分に考えられる。 それでもリテールで動作する以上、サポートに問い合わせても、 せいぜいリテールに戻してくださいと言われるだけ。
>当然デバッグランタイム上で開発、テストされています。 するなよ、マジデマジデ。非常識杉 テストはリリースでするもんだ >確かにハードはその時点で出ていないバージョンの MSは開発段階から関わっています
独自仕様のボード買う時点で間抜けだろ ちゃんとしたビデオキャプチャクラスに属するボードなら OSのドライバと汎用のソフトだけで使えるんだからさ
>>195 > 基本的に問題はないはずでしょう。
問題なかったら苦労しないんだけどな
現実はカードとドライバとDirectXの組合せによって、ソフトが
動いたり動かなかったりなんてよくあることなんだよ
202 :
デフォルトの名無しさん :04/03/16 07:23
>>196 だからよ、
そう言う一言がちゃんとあるなら、それで良いって言う話だって。
現状では、ダイレクトXをバージョンアップさせるのも、
sdkを入れるのも普通の人が普通にやることだろ。
ダイレクトXは頻繁にバージョンアップするから、
上位互換性を保ってあるのは基本だろうけど、
リリース版とデバッグ版では、話が違うってのが
当たり前のことだって言うなら、
そう言う基本的なことは、ヘルプなり、マニュアルなりに書いて置いてくれって
話だっての。
msでもNECでもどっちでも良いけどさ。
この場合はどっちかって言うとデバッグ版だと動かない
NECの方かな?
あと、もまいは、俺一人だと思ってるだろうけど、
そうじゃないよ。
どうでも、いいことだけどさ。
いつの間にかSDKを普通の人が入れる時代になったのか。 SDK出す方も大変だな。
開発にゴミアプリ満載の国産メーカー製PC使うのがそもそもの間違いだな。
205 :
デフォルトの名無しさん :04/03/16 08:36
>>203 ぷぷ、お前本当にレス速いな。
2ちゃんに常駐か?
俺なんか1日と数時間ぶりだってのにな。
こんなに早くレスつくとは思わなかったぜ。
つまり猫を電子レンジでチンしたら、爆発するとマニュアルに書いとけと。
もう確認済だろうけど、一応念のため。 Dx9をインストールするとSmartVisionの映像が表示されない場合の対処方法 121ware.com/qasearch/1007/app/nec.jsp?006802
208 :
デフォルトの名無しさん :04/03/16 10:39
>>207 ああ、いやいや、
実は既に解決済みなんです。
すいません。
別にプロのプログラマーの知り合いが居るので、
そいつに相談したらすぐに解決したわけです。
ただ、自分としては常識かどうかと言う点について納得がいかなかったから
煽りがてら、ちょっとした暇つぶしの議論をしてるだけなんです。
そのプロのプログラマーも、そんなことは常識としてあるわけではないと言うようなことを
言っていたので、自分としても、やっぱりそうだよな、と思ってしまったわけです。
あなたのような真面目な方を巻き込んでしまい、詰まらんことに時間をとらせてしまったのは
大変申し訳なく感じてしまいます。
>>208 プログラマーですらなかったのかよ
SDKはプリインストールされていないので保証外
と解釈できる文がどこかに小さい文字で書いてあるはずなんだけどな
そんな事よりデバッグランタイムだと動かなくなる可能性がある理由だれか教えてくださいよ
よくあるケースだというのは体感してますけど変数の初期化の挙動が少し違うぐらいしか
気づけませんでした
デバッグ機能を実現するためにシステムに近いところで何かしてるんだから
よくわからない力が働いてるんだろうな、とは想像できるのですが……
もう春休みだっけ?
>>209 単純にエラーチェックが厳しくなるので、
例えば3Dなんかだと頂点バッファの量が必要サイズより小さくとって使おうとすると、
リテールの場合はそのまま通してしまうことがあるが、デバッグの場合はエラーが戻ってくる。
必要量より小さかったとしても、その後ろがフリースペースだったりすると、
リテールでは正常に動いてしまうわけだ。
これによってプログラムに問題があったとしても、リテールだと正常に動いているという現象が起こる。
>よくわからない力
があるわけではない。
>>202 SDKインストール時にきっちり表示されて、同意ボタンを押してるだろ。
>そう言う一言がちゃんとあるなら、それで良いって言う話だって。
この手の無駄に長いライセンス規約は、こういう厨房の為にあるわけだ。
16. DISCLAIMER OF WARRANTIES. TO THE MAXIMUM EXTENT PERMITTED BY
APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS PROVIDE THE SOFTWARE AND SUPPORT SERVICES (IF ANY)
AS IS AND WITH ALL FAULTS, AND HEREBY DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, WHETHER EXPRESS,
IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY (IF ANY) IMPLIED WARRANTIES,
DUTIES OR CONDITIONS OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE,
OF RELIABILITY OR AVAILABILITY, OF ACCURACY OR COMPLETENESS OF RESPONSES, OF RESULTS,
OF WORKMANLIKE EFFORT, OF LACK OF VIRUSES, AND OF LACK OF NEGLIGENCE,
ALL WITH REGARD TO THE SOFTWARE, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT OR OTHER SERVICES,
INFORMATION, SOFTWARE, AND RELATED CONTENT THROUGH THE SOFTWARE OR OTHERWISE ARISING
OUT OF THE USE OF THE SOFTWARE. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT,
QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE SOFTWARE.
213 :
デフォルトの名無しさん :04/03/16 13:37
英語じゃ意味ねえよ、カス!
SDKは英語版しか用意されてないんだからしかたない。 確認したければMSのサイトに日本語訳のライセンスも用意されている。 外国に電話して日本語が通じないと怒り出しても意味は無い。 それにSDKに関しては通常製品ではないので、個別のサポートは有料。
216 :
デフォルトの名無しさん :04/03/16 13:57
だったら、英語の読めない人は、ちゃんと英語を読んだ上で判断してくださいとか、 明記するべきだな。 それ以前に日本語に訳してない部分で重要な部分があるのに、 日本で販売することが問題ありだな。
217 :
デフォルトの名無しさん :04/03/16 14:03
サポートしろって話じゃなくて、
インストールの時点で
ちょっとした一言を注意しておけば良いんだよ。
デバッグ版では動作に支障が起こることがあるので、
何か、問題が起きたら、又は起きそうな時はリリース版を
インストールして下さい、とか、そんな感じのをだ。
本来は大抵のソフト、ハードはデバッグ版だろうが、リリース版だろうが
基本的には動くようになってるんだろ。
だから、いちいち書かないんだろ。
そっちの方が本当は常識だって。
で、どうしても動かないんだったら、
この製品はデバッグ版では動きませんとか
一言マニュアルとかヘルプとかに書いておけば良いのにって
単純な一ユーザーの要望だっての。
こんなの普通の気持ちだろ。
まったく2ちゃんではちょっと初心者を見ると、すぐに大騒ぎして
叩こうとするんだからよ。
>>215 ネット上に情報があっても意味無いって。
購入した人が全て必ず、ネットにアクセスしてるわけじゃないしな。
msだろうが、NECだろうが、同じだって。
>>216 当たり前のことだから明記する必要は無いと思うが?
>>217 なんだ。ただクレームつけたいだけの人か。
┐(´ー`)┌
>>217 >インストールの時点で
>ちょっとした一言を注意しておけば良いんだよ。
だからSDKインストールの時点でちょっとした一言が表示されている。
しかし厨房相手にあらゆる事態を想定して一言を用意していたら、
ちょっとした一言がちょっとだけ長くなっちゃったわけだ。
223 :
デフォルトの名無しさん :04/03/16 22:50
>sdkを入れるのも普通の人が普通にやることだろ。 ランタイムと間違って落とした馬鹿以外ありえない
むかし DOS/V Power Report に DirectX SDK が付いていたような
英語も扱えないような人間がプログラマなわけ無いだろ
プログラマかどうかは置いておくとしても、 英語を読む気がない上に自己解決能力が欠如しているのなら、 少なくとも英語版のソフトを使用すべきではない。
アメリカみたいにベビーカーを高速道路で使うなとか いちいち事細かに書けと言うのか
>>217 もアメリカで生まれていれば、猫を電子レンジでチンしても、
損害賠償がふんだくれたのにね。
生まれる国を間違えた上に、生まれるべき国の言葉が理解できないとはなんたる悲劇。
まだやってたのかお前らw っていうか、なぜランタイムではなくSDKをインストールしたのかがしりたい
有用な情報がイパーイのスレだな。
>>216 それを何語で書かせるの?
世の中、英語と日本語以外にもたくさんあるんだが
233 :
デフォルトの名無しさん :04/03/17 17:37
まー実際は、デバッグ版のみ不可解なバグが起こるというケースは多々ある訳だが
デバッグ版とリリース版ってどう使い分けるんですか? デバッグ版のメリートと教えてください
>>234 デバッグ版は、エラーや解放漏れを知らせるデバッグメッセージが出るというメリートがあります。
しかしその分遅くなってしまうのがデメリートと言えるでしょう。
>デバッグ版とリリース版ってどう使い分けるんですか? デバッグ版:プログラミングしてデバッグする時 リリース版:出来上がった作品を配ったり自分で遊んだりする時
237 :
デフォルトの名無しさん :04/03/18 10:35
じゃあ、リテール版とはなんですか? 単に名前が違うだけで、実はリリース版と同じですか?
リテール版は存在するが、リリース版など無い。
よくまぁ、こんなに無益なことを延々と。
240 :
デフォルトの名無しさん :04/03/20 22:26
UnprojectでとったVector3の数値にNaNってのが入ってるんですが、 これなんですか。
貴様、まさかそれはダジャレのつもりじゃあるまいな?
ワラタ
243 :
デフォルトの名無しさん :04/03/20 23:57
?
244 :
デフォルトの名無しさん :04/03/21 01:55
このスレの人達は初心者を見つけては 馬鹿にすることに生きがいを求めてる人たちなので 関らない方が良いですよ。 他スレへ行きましょう。
変なやつが常駐してキモイ。
C++で作ったシェーダってC#でもそのまま使えますか?
247 :
デフォルトの名無しさん :04/03/25 00:43
このスレの人達は 実は何も知らない常識なしの厨房なのですが、 初心者を見つけては叩いて馬鹿にするのが生きがいの人達なので、 そんなこと聞いても誰も答えません。 答える能力が無いのですから。 他スレへ行きましょう。
と、さんざんたたかれた方が、このスレの粘着になりました。
総合的に書いてある詳細な本でろー。
CマガのようなC♯専用の書籍ってないの? 情報なさ杉
MSDN Library を印刷汁
ManagedDirectXはMSDNにもろくに情報ない上に信用できないんだよ
気長に待っていれば情報もあがってくるとおもったけど、 一年以上たつのに、あまり情報ないねぇ。
使う人を全然見かけないからね。。。
DirectXのヘビーユーザがC#に手を出さないからな。
開発効率や生産性はいいんだけどねぇ。(でもパフォーマンスが。) もともとC++などで書き慣れてると、 特別移行する気にはならないんだろうなぁ。
.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 に関する情報。
ttp://weblogs.asp.net/dweller/archive/2004/05/20/136434.aspx ・名称は 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 コンポーネント。
まだ9.0なのかYO!
>>258 ファイル読み込みなんかより
System.IO.Streamとの連携をやったほうが
結果的に有用だと思うがどうか。
>>259 UI Elements がいいかも。こういう退屈だけど必要なコードは
フレームワーク側で持ってくれるとありがたい。
>>260 Loghornが出るまで、メジャーバージョンアップは無いことになっている。
>258 #include<vcclr.h> wchar_t __pin pRawString = PtrToStringChars(filename); FILE *fp = _wopen(pRawString, L"rb"); これ以上はManaged C++スレで
>263 間違えた wchar_t __pin - > wchar_t __pin *
とにかく、ドキュメントを充実させてくれ。
266 :
デフォルトの名無しさん :04/05/23 19:10
未だにバグ満載あげ
C#でDirectSound使ってwav再生してみたけど Formが非アクティブになると音楽再生がとまってしまうのは どうしてなのでしょうか
>>267 Device.SetCooperativeLevel
>268 返事ありがとうございます Device.SetCooperativeLevel(this, CooperativeLevel.Priority); ってやってますが、これじゃまずいですかね。
サンプルプログラム(PlaySound)でも>267と同様に 音がとまってしまいますねぇ… 仕様かな??
変にスレタイ変えたがよくなかったね。 言語でわけたほうがよかった。
ミスった。 >変えたがよくなかったね。 変えたのがよくなかったね。
マルチウザイ
このスレ、終了気味な予感。 Managedでくくらずに、 DirectX+C#のままのほうがよかったね。
過疎化してるところに質問で悪いんだけどさ。 Managed DirectXで作ったアプリを配布したいんだけど、 Win2000インストール直後のマシンで実行する為にインストールする必要があるのは 1. .NET Framework 1.1 再頒布パッケージ 2. Microsoft .NET Framework Version 1.1 日本語 Language Pack 3. DirectX9.0再頒布パッケージ でOK?
>277 自分で試してみなはれ
C#で、Managed DirectXを使って、aviを再生したとします。 そこで、Frameの切り出しを行いたいのですが、 Managed DirectXで、可能ですか? さらに、動画の任意の位置から再生して、任意の位置で停止するようなことはできますか? よろしくお願いします。
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を使ったゲームって動かせます?
DirectX8や7のランタイムしか入れてない状態で、の間違いでした・・・。 要はDirectX9のランタイムが入ってない状態で、Managedが動くか同かなんです。
MDXはDX9のwrapperだから無理だんべ
そうですか・・・。 どうもでした。
そんぐらいドキュメントよめー
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
解決しました。
ロングホーンが出たらManaged DirectXとC#の関係はどうなるのだろう
>>292 Avalon越しに使うことになるかと。
294 :
デフォルトの名無しさん :05/02/08 02:54:04
ももももももしかして。 DirectX 9.0 SDK Update (December 2004) には SpriteAnimate サンプル コード(DirectDraw サンプル ) が入ってないの??? これで完全にDrawって死滅? マネージドに残ってるって聞いてたのに・・・。 。・゚・(ノД`)・゚・。
SDK Updateは追加・更新されたサンプル以外は入ってこないよ。 サンプルが必要なら前のやつから引っ張ってくればOK。 つーか、DirectDrawは進化しなくなっただけで死滅はしてない。
D3DでZ座標固定しとけば2Dでしょ
ところで、テクスチャの生成が A8B8G8R8 だと失敗して A8R8G8B8 だと成功するんだけど、 これってごく普通のことなの?
まあ、ABGRって、少なくともファイル上ではいびつな形態だしな
複数の 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()); が上手く表示されないというのは何故なんですか?
なんか Sprite.Draw2D の color を int で指定するバージョン、珍現象が多すぎです orz color の値によってテクスチャが微妙に移動したり、-1 を上手く解釈してくれなかったり orz こんなもんなんですか?
301 :
デフォルトの名無しさん :05/02/14 00:16:10
ttp://www.microsoft.com/japan/msdn/directx/japan/dx9/Update04.asp 上のコラムの、バージョンごとの参照の追加の方法
>9.0(b) のサンプル コードの場合は全てのコンポーネントについてバージョン 1.0.900.0 を、
>9.0 Update (Summer 2004) の場合は 1.0.1901.0 を選択する
とあるんですが、DirectXって、マイナーアップデート? しただけで
以前のコードが動かなくなるほど互換性が無いんですか? ヤバいですね。
という訳で、こうなったら9.0の初期から順に入れようと思ってるんですが、
一回一回アンインストールしながら入れていけばいいのですよね?
ああ、ヤバい。宇宙ヤバイ。
DirectX 9.0 February 2005を利用しています。 DirectInputのアクションマッピングについてなのですが ActionCollectionクラスのオブジェクトを ActionFormat.Actionsに渡したいのですが、プロパティが読み取り専用になっています。 C++のDIACTIONFORMAT.rgoActionと同じように配列で渡すのではないのでしょうか。 ManagedのDirectXのアクションマッピングについて 参考になるサイトがありましたらお願いします。
.NEETやばいね。
2Dで十分なヒトもいるんだお。 それを忘れないでほしいお。 でも速度と回転と変倍はいるんだおぅ。
見た目は変わらないと何度言えば
透視変換後の頂点座標のZ値をいじりたいんで 変換を手動でやりたいけどうまくいきません。 Vector4 v = new Vector4(0,0,0,1); v.Transform( device.Transform.World *device.Transform.View *device.Transform.Projection ); 正しいやり方はどうなんでしょうか
December 2005 で作っていたソフトを February 2005 に切り替えたら、 December 2005 の MDX しか入れてない友人宅で動かなくなりました 可能ならば友人宅の December 2005 をそのまま残したままで問題を解決したいのですが、 PC 上に存在する最も新しい MDX を参照するような設定ってできますか?
ごめぬ December は 2004 だったね (´Д⊂グスン
feb. 2005のRadist入れればいいだけでは? MDXは複数バージョン入れられるし。
日本語ドキュメントがOctber 2004 までしかないから それ以降は入れる気にもなれん ヘタレです。
314 :
デフォルトの名無しさん :05/02/26 00:07:50
TextureLoader.FromFile(引数が2個以上指定するヤツ)でBMP画像を読み込み、表示させると 拡大されたものと通常のサイズのものが混ざり合って読み込まれてしまいます。 引数が二個のヤツだと正常に読み込めますが、当然カラーキーは使えず。 原因がさっぱり分かりません。バージョンは2004Decemberです。
テクスチャは画像サイズに関わらず、それ以上の2の累乗ピクセルで作られる。 画像サイズを512等の2の累乗にするか Filter.Noneを指定して、はみ出したテクスチャ分をテクセル座標でトリミングしてやる
sdkってものすごい勢いで更新されてるけど、常に最新のものを入れるべきなの?
>>316 すごい勢いで更新されるとともに
すごい勢いで今まで使っていたOSやツールが使えなくなっていく
すべて新しいものを買わせるための戦略と見ている・・・
すでにwindows2000とVC++6.0が開発環境外(;´Д`)
>>317 >windows2000とVC++6.0
まさに漏れの開発環境だよ(;´Д`)
Xファイルの AnimationController 辺りを使って、 モーションブレンドをしたいのですが、可能でしょうか? 例えば、 100フレーム〜199フレーム − 歩き 200フレーム〜299フレーム − 走り のXファイルで、 〜100フレームで歩き、 100〜200フレームで歩いてるような、走ってるようなモーション、 200〜完全に走り、 という具合に。 KeyPriorityBlendというメソッドが気になって適当に使ってみたのですが、 本当に機能してるのかさえわかりません。
半透明の2枚のポリゴンAとBがあって、 BがAの手前にあるとき、 A->Bの順で描画すると問題無いのですが、 B->Aの順で描画するとおかしくなります。 この場合、DirectXではどうしますか? まず考えたのが、透視変換後のZ値を比べて描画順を決めるという方法ですが、 DirectXの場合勝手に透視変換されて、透視変換後のZ値の取得の仕方がわかりません。 もう1つは、カメラからの距離で描画順を決めるのですが、これだと無駄な計算のような 気がします。 どうするのが一般的でしょうか?
321 :
デフォルトの名無しさん :05/03/07 04:29:37
上手く行くかどうか判らないけど、debugフォルダに置いてみたら?
>>321 『デバッグ無しで実行』 してみては?
うちの環境だと、何故か普通の実行だと Device.Clear しか反映されないんで。
画像が見つからない場合にはちゃんと例外が投げられる筈。
投げられないって事は画像は見つかっているんじゃないかな。
325 :
デフォルトの名無しさん :05/03/07 23:31:54
>>323 すみません。画像は読み込めてました。(カレントに置いたらOKでした。)
『デバッグ無しで実行』も試してみましたが、変わりませんでした。
・・・・ショック。(/oo)
フルスクリーンからAlt+Tabで切り替えて戻したときに出る例外がどうやっても捕捉できないのですが、 みなさんはどうやって対処してます?
PostMessageでアプリ終了、と割り切る。
>>326 どんなコード書いた?
俺は正常に動くが
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; } } }
>>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 :
デフォルトの名無しさん :2005/04/29(金) 01:24:02
C#.NET+Managed DirectXでシェーダープログラムを組んでるんですが、「デバッグ」→「Direct3D」→「Start with Direct3D Debugging」をしてみてもコンパイルをするのみで実行しません。 皆さん普通にシェーダーデバッグできてますか? 情報知っている方どうぞ教えてください。 設定その他はしてあり、C++の環境ではシェーダーデバッグに入れます。
マルチポスト
334 :
デフォルトの名無しさん :2005/06/05(日) 13:46:30
保守
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の)
http://www.microsoft.com/japan/msdn/columns/code4fun/code4fun02032004.asp は、SecondaryBuffer(BufferDescription,Device) でした。
336 :
デフォルトの名無しさん :2005/08/23(火) 17:38:16
誰かDX7のSDKと日本語ドキュメントをください
338 :
デフォルトの名無しさん :2005/11/18(金) 03:28:24
保守
update 2005(Octobar)をインストールしたのですけど, 参照できる名前空間にDirectShowが現れません. 他にExtraも見て回ったのですが,サンプルしか入っていませんでした. ひょっとして,DirectShowはComベースでのみ提供なのでしょうか.
oct2005にExtraなんてあったっけ?
ないよ 他のうpでとバージョンだろ
342 :
デフォルトの名無しさん :2005/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を使うと線は描写できましたが 四角形やら楕円なのは見つかりませんでした。 なんとなくサンプルソース等を探してみて自分なりの見解ですが、 「一度図形を描写したものをテクスチャにして張り付けるのでは?」 とは思っていますが、どのようにテクスチャに変換していいのか解 りません。ご教授願います。
>>342 紛らわしいとは思うけどSpriteはMicrosoft.DirectX.Direct3Dにあるよ
Microsoft.DirectX.Direct3D.Sprite
使い方はMSのサンプル見たほうが良い。難しくはないよ
344 :
342 :2005/11/21(月) 08:45:00
ごめんなさい。質問の仕方が悪かったようです。 Spriteは使ってBitmapを回転移動など画面には表示できています。 MSのサンプルにはBitmap等をspriteに描写する方法は書かれていますが、 四角形や円形などを描写する方法は書かれていません。 あらかじめBitmapで円形を描いておいて呼び出せばいいのでしょうが・・・ よろしくお願いします。
本当にC#使ってるのなら、ここで聞くまでもなく自動的にそのくらいのヒントは 表示されるているはずだが。
Mesh tempMesh = mesh.CloneMesh(... mesh.Dispose(); mesh = tempMesh; mesh.ComputeNormals(); で落ちて Mesh tempMesh = mesh.CloneMesh(... tempMesh.ComputeNormals(); mesh.Dispose(); mesh = tempMesh; で落ちない。。。 クソがぁぁぁぁぁぁぁぁ バグとかあるわけないですよね… 何がいけないんだろう
VC++expressでやろうとしたらエラーがでるんだけど
349 :
デフォルトの名無しさん :2006/01/09(月) 22:25:58
directinputで複数のゲームパッドを取得したいと考えています。 サンプルを見ると一つだけのサンプルなのですが、複数の入力を取得することはできますか? その方法など、サンプルや参考URLがあればお教えください。
enum
Pre-release Managed DirectX for .NETFramework 2.0 ↑これって英語のドキュメントすらないのね・・・
February 2006 のSpriteってバグない? Rectangle.Emptyを指定してDraw2Dを呼ぶとNullReferenceExceptionが発生する。 リフレクターで中身みてみると確かにnullポインタにアクセスしてる・・・
はやんねースレだな。そもそもマネージドでDirectXやる メリットはあるのか?
マネージドな言語でDirectXが扱える。
356 :
デフォルトの名無しさん :2006/07/04(火) 22:21:53
Surfaceで透過はどうやったらいいんですか? Description構造体の中にAlphaBitDepthというのがあったのですが、検索しても決定的なものが見つかりませんでした。
DirectX で800x600の画面に背景画として画像ファイルを映し出したいんですが、 DirectX は2の乗数の値でしか扱えないとありました。 この場合の処理はどうすればいいですか?
画面を2の乗数にする
>357 2の乗数しか扱えない(ものが多い)のはテクスチャのサイズ。 単なるコピーだけ出来ればいいのならテクスチャでないsurfaceを作る。 色々したいなら2の乗数でなんとかする。
今のグラフィックスカードでテクスチャが2^nのサイズじゃないと いけないものはそんなにないと思うけど、どうなんでしょう。 確かこれってデバイスのCapsで調べられたと思うけど。 つーか、2^nにしたければ1024x1024のテクスチャを作成して その中の800x600の部分だけつかえばよいのでは。
返事ありがとうございます >359 surfaceですね それでちょっと調べてやってみます。 >360 それもやってみます。
Managed DirectX v2.0 を使って動画の再生ってどうやればよいのでしょう? Microsoft.DirectX アセンブリには AudioVideoPlayback 名前空間が含まれていないようなのですが。
>>362 無理。
MDX1のAudioVideoPlaybackを使え。
364 :
362 :2006/07/14(金) 03:43:21
>>363 そうなんですか。
Managed DirectX の 2.0 と 1.0 って一緒に使うことはできないんですよね。
2.0 のほかの機能を使いたいので 2.0 は使わざるを得ないので、DirectX を使ってのビデオの再生は
あきらめるしかないようですね。
早速のレスどうもありがとうございました。
>>364 推奨はされないだろうが、MDX2.0とMDX1.1は同時に使えるぞ?
俺はMDX2のDirect3DとMDX1のDirectSound、AudioVideoPlaybackを同時に使ってる。
これといった問題も出ていない。
366 :
362 :2006/07/14(金) 06:45:07
>>365 すみません、再生だけでなくフレームの抽出もやりたいと思っています。
そこで Video.RenderToTexture(Device) を使おうと思ったのですが、
2.0 の Device と 1.0 の Device が競合してしまうようです。
367 :
365 :2006/07/14(金) 08:33:59
>>366 Video.RenderToTexture() の事までは考えてなかったわ。すまん。
2.0でDirectInputのInputExceptionかせ見当たらないですが
Exception - now inherit from DirectXException rather than InputException
DirectSound で曲の再生し終わったのを知るにはどうしたらいいですか
マネージだとDXTraceの相当するものは無いの?
なんでわざわざ"Device"を被らせるんだろう Direct3DDevice, DirectInputDeviceとかにすればよかったのに
usingつかってもDXとInputでかぶってるから結局大元から指定してる……
using Direct3D = Microsoft.Direct3D; using DirectInput = Microsoft.DirectInput; Direct3D::Device DirectInput::Device としてる かなりめんどくさい
375 :
374 :2006/08/10(木) 22:50:03
using Direct3D = Microsoft.DirectX.Direct3D; using DirectInput = Microsoft.DirectX.DirectInput; だった。わかるとは思うけど
376 :
デフォルトの名無しさん :2006/08/11(金) 00:30:15
名前空間の考えってそういうことができるようにするためなんでしょ? めんどくさいけど。
使い方を揃えるため
UnManagedのDirectX触ってみた Managedeの生産性の高さが痛いほどわかった 情報は少ないが
379 :
デフォルトの名無しさん :2006/08/14(月) 14:06:10
unmanagedのdirectxを先に使わなかった人か
もう少し触るとManaged版の未整備っぷりに嫌気が差してくる
>>382 ちょwwwwwwwww個人製作のゲームがXbox360で動くの?wwwwwwwwwwwww
国内版のXbox360でも使えるのかな
もっとこう自然に英語に接することができれば幸せなんだろうなぁ そう難しい英語じゃないんだけど、英語だと思うだけでもう必死ですYO
参照設定のDirectXを2.0.0.0にして、 CuttingEdgeのteapod.csチュートリアルコンパイルが通るように修正したら メッシュが真っ黒になってしまったんだけど、どうすればいいんだろう? PresentParametersを配列にしなきゃらななかったり何だこれ?
いろいろ調べたけど、「まだ2.0.0.0に手を出してはいけない!」 という事がわかった><
情報の少なさがmanaged directxの魅力を半減させる managedで出来る事の少なさがmanaged directxの魅力を半減させる
今XNA Game Studio Expressダウンロードしたけど、これVC#expressがないとインストールできないのな。 Express限定って何だよ……Standard版が既にインストールされてるのにw
というわけでインストール報告。 XNA Game Studio Express βをインストールするのに必要なもの Windows XP SP2 Visual C# express (exp以外不可。日本語版でもインストールできた) サウンド関係のツールを利用するのに必要なもの DirectX SDK 2006 August インストールすると、VC#で新規プロジェクトをつくるときの選択肢に Windows Game(XNA)とWindows Game Library(XNA)が追加された。 ちょっと遊んでみよー。
あ、もう一個 Space Warってのもテンプレに追加されてた。 これがサンプルになるんですね。 とりあえずうちのジョイスティックは認識されなかったのでUSE_KEYBOARDを コンパイルシンボルに追加して動かしてみたが…… しょ、ショボい。いくらサンプルとはいえ、もうちょっとなんとかならんのか。 初っ端からコレだとなんだかメゲるなあ。
Space War… ショボいわりにはえらい大げさなつくりだよね 正式リリースの時にはもっとまともになってるかも
まあ使い方はこれでだいぶわかるからサンプルとしてはいいんだけどね
395 :
デフォルトの名無しさん :2006/09/01(金) 11:22:27
XBOXもってないけど作れるんだね?遊べるんだね?
誰か「XNA Game Studio」のスレ立ててよ。 ここか、ゲーム製作技術かどっちがいいのかな。 とりあえず、むずいな。DirectXやってた人には何てことないんだろうが、 文字の表示の仕方も分からんし、 3Dの三角形を書いても真っ黒になってしまって色がつかん (Effectってのを使わんとだめらしい。)
ゲーム製作技術だと箱向きの話になっちゃうからこっちのほうがいいんじゃないの 文字の表示は、ビットマップフォントを使うか、 文字を描画したSystem.Drawing.BitmapオブジェクトからLockBitsでbyte配列を取り出して Texture2DかTexture3DオブジェクトにSetDataで書き込めばいいよ 3Dはわからん
どう見てもゲ製板向きだろ。「Game Studio」だぜ。 誰か立ててきてちょんまげ
399 :
デフォルトの名無しさん :2006/09/01(金) 16:19:40
400 :
デフォルトの名無しさん :2006/09/01(金) 21:28:37
つーか、Managed DirectXなの? それが本当ならめっちゃやる気でる。
Managed DirectXリリースの時のように、 当面は、日本語の情報ねえねえの書き込みが増えそうだ。
そいつでゲーム以外のものを作ってやりたいんですが、構いませんねッ!
許す!
404 :
396 :2006/09/02(土) 06:36:34
>397 サンクスやってみる。DrawTextするとXBox実機では動かないかもね。 次のベータでは何か考えてくれると希望。 >399 タイトルにXNAって入れてほしかったなあ。検索で引っかからん。ま、そこに行きます。
>>401 Irrichitみたいに翻訳wikiがほしいな
XNAってManaged DirectX 2.0の代わりに出たわけじゃないんだよね? XBOX360とPCの両方で動作させるためのSDKっていうことでいいの? あとManaged DirectX 2.0っていずれ出るんだよね? 教えてクンでスマソ
自然消滅するかもね 実際Managed DirectXの代わりとして使えるわけだし
FCLに入れてもらえないとダメなんだよね
>XNAってManaged DirectX 2.0の代わりに出たわけじゃないんだよね? うんにゃ代わり。MDX2.0は永遠にベータだって公式にアナウンスされてたよ。
>>409 それマジ?
ソースきぼんぬ
しかしC#もexpressだけってどういうことやねん。
412 :
デフォルトの名無しさん :2006/09/04(月) 03:54:03
XBOXは.NET Frameworkがつかえるんだ。
413 :
デフォルトの名無しさん :2006/09/04(月) 03:57:53
なんでXBOX.NETじゃないの?
機種依存しないための.NETだろ
415 :
デフォルトの名無しさん :2006/09/11(月) 22:50:23
じゃあ、家のスーパーカセットビジョンにも.NETつんでくれよ!
416 :
デフォルトの名無しさん :2006/09/12(火) 15:58:02
おお、ということはつまり、ゲーム業界も機種の壁を超えることができるわけだ! それなら、他の機種にも.NET Framework や Managed DirectX をどんどん使えるようにしてくれぇ!
PS3に乗るOSってLinuxだったっけ? .NETが動くなら移植可能かもわからんね
スペック的に可能だとしても、奴等はきっと必死に防ごうとしてくるんだ。 ソフトの売り上げが奴等の頼りだから。
360 : 開発無料 配布99$ 販売 1000$未満 Wii : 開発 2000$ PS3 : 億単位
開発無料なわけないし。
その基準でいくとPS2は9800円(BASICのマニュアル付)
XNAもProfessionalは数十万するんじゃ…… Teamだと100万以上余裕でいくんじゃねえか 実質販売する場合の配布は、きちんとMSに上納金いるよ
販売 1000$未満
「実質販売」が、円盤と説明書を箱に詰め込んで売るのを指すなら それはまさに、Liveの思想を理解できていない前時代的な発想ですよ( ̄ー ̄)
>>423 TS使わないとやってられない程の規模なら、そのぐらいの予算普通に出せるだろう?
Live配布のゲームも上位はうん十万件ダウンロードされてるからな 場所代払ったところで痛くはない
Windowsでの一般配布・・・・・・・・・・・・$0 XBox360での配布・・・・・・$99 Liveによる通信販売・・・・・・less than $1000 XNAによるゲーム開発体験・・・・・・・・Priceless
429 :
デフォルトの名無しさん :2006/09/16(土) 21:25:32
自分のサイトで配布できるようにはできるわけ?
すでにみんなUPしてるだろ
6 名前:名前は開発中のものです。[sage] 投稿日:2006/08/16(水) 00:56:46 ID:VYlxapXj
ttp://japanese.engadget.com/2006/08/15/microsoft-xna-xbox-devkit/ >来春にも小規模ゲーム開発者向けにXbox Liveを通じたゲームの
>販売・課金機能を提供するという部分。エントリー費用については
>「検討中だが$1000よりは確実に低くなる」とのことで、数万円程度の
>初期投資でLiveを通じたゲームの販売が可能になるようです。
wktk
7 名前:名前は開発中のものです。[sage] 投稿日:2006/08/16(水) 01:36:36 ID:OQv2Eevs
全世界に向けての販売か・・・
>>431 俺もLiveでの販売を夢見たクチなんだが、よく考えてみろ。
ちゃんと売れるものを作れるんだったら今頃シェアウェアで公開してるだろ?
要するに、今なにもできてない人は、これからも何もできないってことだ。
俺もオマエも('c_`;)
433 :
デフォルトの名無しさん :2006/09/18(月) 21:20:00
エロゲーまだ?
hentai作れば海外に馬鹿受け
あっちではポケモンやサザエさんみたいな普通のアニメもHENTAIって呼ぶのな
438 :
デフォルトの名無しさん :2006/09/20(水) 00:57:50
まぢかよ そりゃ変態だっぜ
アメリカにはサザエさんのエロ描いて喜ぶ香具師がいるくらいだからな 理解不能
友人とエロサザエの動画で大笑いした日本人の俺は・・・
442 :
saga :2006/10/23(月) 13:31:09
DirectInput で二つのジョイスティックの状態を取得する方法を教えてください。 一つだけならサンプルがあるのでわかるんですけど二つはないので・・・
443 :
デフォルトの名無しさん :2006/10/25(水) 21:01:41
444 :
デフォルトの名無しさん :2006/10/29(日) 04:52:52
>>442 ですが、
>>443 さん、ありがとうございます。
ここを見ましたがどこを二つ(?)にするのかわからなくてまだ困っています。
二つ以上が載ったサンプルありますか。
XNA氏ね
JavaでSwingを多少いじったことがある程度の経験なのですが、 Managed Direct3DとWindows Formsを組みあわせて、 ウィンドウの一部にDirect3Dの描画をすることはできるでしょうか? Direct3Dメインのアプリなのですが、メニューが必要で、どうしたらよいでしょうか?
448 :
447 :2006/11/17(金) 06:50:41
誰かまだ人はいるのだろうか・・・一応あげてみます。 スプライトのことです。 画像の拡大縮小を指定しないでbmpを描画すると画像本来より拡大されます。何が原因でしょうか?
きみ、いくつかな?
451 :
デフォルトの名無しさん :2006/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の
ダウンロードリンクが,画面右端に用意されている。
http://www.4gamer.net/news.php?url=/news/history/2006.12/20061212122233detail.html
Win2000でMDXやるにはいつのバージョンのDirectXを使えばいいんですか? 最近のやつは2000には対応していないんですよね?
453 :
デフォルトの名無しさん :2006/12/22(金) 20:24:54
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に縮小されてしまっている(??)ような気がするのですが、どうしたらうまく動くのでしょうか。
455 :
454 :2007/01/11(木) 19:11:38
すみません,sageてしまいました。 あと、mesh.UnlockAttributeBuffer();の後にmesh.OptimizeInPlace(MeshFlags.OptimizeAttributeSort, (int[])null);をしていました。 実際、レンダリングの際に mesh.DrawSubset(0); とmesh.DrawSubset(1);では全部のポリゴンが表示されず、 mesh.DrawSubset(16843009);で大体のポリゴンが表示されるようになります。(0x01010101=16843009) かといって、4バイト*面数だけ書き込もうとするとエラーになるし…謎です。
456 :
454 :2007/01/12(金) 13:47:25
解決しました。 やっぱり、LockAttributeBufferしてGraphicsStreamに描くやり方だとなぜかAttributeBufferの領域の1/4にしか書き込めずダメなようです。 その代わり以下のようにしたら動きました。 Int32[] attrBuf = mesh.LockAttributeBufferArray(LockFlags.None); for (int i=0;i<100;i++) { attrBuf[i] = 0; } for (int i=100;i<150;i++) { attrBuf[i] = 1; } mesh.UnlockAttributeBuffer(attrBuf); どうもこの方法がよいようです。 ストリームで書き込む意味もないので、こちらでやっていこうと思います。
457 :
デフォルトの名無しさん :2007/02/14(水) 18:10:31
MDXで、 pD3DDev->SetRenderState(D3DRS_POINTSPRITEENABLE, TRUE); pD3DDev->SetRenderState(D3DRS_POINTSCALEENABLE, TRUE); pD3DDev->SetRenderState(D3DRS_POINTSIZE, pD3DDev->SetRenderState(D3DRS_POINTSIZE_MIN, pD3DDev->SetRenderState(D3DRS_POINTSCALE_A, pD3DDev->SetRenderState(D3DRS_POINTSCALE_B, pD3DDev->SetRenderState(D3DRS_POINTSCALE_C, みたいな処理を行いたいのですが、どうすればいいでしょうか? RenderStateManagerクラスにはプリミティブのサイズを設定するメンバが見つかりませんでした。
458 :
457 :2007/02/14(水) 18:14:33
自分でもう少し調べてみて何となくわかりました。 TextureStateを使えばいいのかもしれません。 RenderStateしかみていなかったもので。
459 :
457 :2007/02/14(水) 18:45:02
違ったみたいです。 やっぱり、わかりません
うーん 君一人しかいないよ。
manageddirectxで、フルスクリーンとウィンドウの切り替えをするとき、 プレゼントパラメータの再設定の際、 ウィンドウ→フルスクリーンはnewしないのに、 フルスクリーン→ウィンドウはnewするのは仕様? ふととあるサイトを見たときに疑問に思ったもので。
おはようございます 2点質問お願いします 1:あるコントロールにDirectXで書きこんでるんですが、OnMouseMoveでInvalidateするとちらつきがおさまりません DirectXの書き込みはOnPaint()で行っています ちらつきを抑えるにはどうすればいいのでしょう? protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); ・・・・・ this.Invalidate(); } 2:マルチディスプレイ環境でディスプレイ1からディスプレイ2に移動するとCPU使用率が100%にあがります 普段は数%です ディスプレイ1にもどすと使用率は下がります 何が原因でしょう? あがらないようにするにはどうすればいいですか? 以上お願いします
>>462 ちらつきは OnPaintBackground が毎回背景を消去してるから。
なんで OnPaint だけでなく OnPaintBackground もオーバーライドする。処理は何もかかない
マルチディスプレイは環境がないから知らないから他に任せる
462です
>>463 ありがとうございます
おかげさまで解決しました
CPU使用率が100%になるのは
ゲームループ(?)をつかってたときでした
(試行錯誤でいろいろやってたので)
ゲームループをやめると100%にはならないですけど、
ディスプレイを移動すると処理速度に違いがでるようです
ディスプレイの型もちがうのでその影響もあるのでしょうか?
実用上問題なさそうなのでこのまま放置しときますが
どうもありがとうございました
FontのDrawTextでSpriteを指定して文字列を書き込むと、文字が塗りつぶされて箱になっちゃいます なぜ?どうすればいいんでしょう? sprite.Begin(SpriteFlags.None); sprite.Draw2D(tx, new PointF(0, 0), 0, new PointF(50, 50), Color.White); font.DrawText(sprite, "test333てすと", new Point(0, 0), Color.Green); sprite.End();
フォント使うときは SpriteFlags.AlphaBlend を指定しなければならない ってヘルプに書いてあるだろ・・・
かけました(´・ω・`)ありがと
Joy to Keyみたいなの作ってみたいんだけど、どうやるのかサッパリわかりません・・・。 ジョイスティックの入力検知までは出来るって前提で、ご教授願えないでしょうか。
>>468 ・タイマーか、ポーリングで処理できる
・ジョイスティックの入力を得られる
・アクティブウインドウにキー入力を送れる
どこがわからんの?
>>469 肝心なところが抜けてました。
すみません・・・。
>・アクティブウインドウにキー入力を送れる
ここがわからないです。
,.-─ ─-、─-、 , イ)ィ -─ ──- 、ミヽ ノ /,.-‐'"´ `ヾj ii / Λ ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{ ノ/,/ミ三ニヲ´ ゙、ノi! {V /ミ三二,イ , -─ Yソ レ'/三二彡イ .:ィこラ ;:こラ j{ V;;;::. ;ヲヾ!V ー '′ i ー ' ソ Vニミ( 入 、 r j ,′ ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ ヽ ヽ -''ニニ‐ / | `、 ⌒ ,/ | > ---- r‐'´ ヽ_ | ヽ _ _ 」 ググレカス [ gugurecus ] (西暦一世紀前半〜没年不明)
つか、ManagedDirectX関係ねええええ
473 :
468 :2007/07/15(日) 21:56:48
SendInputみたいにしてジョイスティックの信号を送るのってどうやりゃいいの?
2週間かけてそれか。
2週間ってなんだよ…。って、上のやつか。 joy to keyじゃなくて、ジョイスティックの信号を送るんだよ。 マクロ組みたいけど出来ないんだよ。助けてくれよ。
ジョイスティック押下のAPIってあったけ? 低能な俺には、 DirectXか、WinAPIのAPIフックして、乗っ取るくらいしか思い浮かばん。
あ、あと、キーボード入力を送るんじゃダメなん? PCのゲームで、ジョイスティックしか駄目なんてゲーム、見かけないんだけども
キーボードだとアナログ入力が出来ないからなぁ。 あと、ジョイスティックによってボタン配置がまちまちなんで その辺を入れ替えて共有できるようになればいいかな〜と 思ってたんだけど、無理っぽいかな。 APIフックは難しそうなんで、ちょっと敬遠してた…。 勉強してみるよ。ありがd
誘導されてきました。 Direct3D.deviceインスタンス作るときの引数で、 フォームインスタンス自体を引数に渡す場合と、フォームのハンドルを渡す場合の差ってなんでしょうか?
>>480 めんどいからReflectorで確認しただけだけど
Controlのインスタンスで渡した場合はイベントを登録して
サイズ変更時に自動でデバイスリセットするみたい。
ああそういえば、次のSDKからMDXの
サンプルとドキュメントが無くなるってでぃびっとうぇらーが言ってた。
SDKなんていらなくね? ランタイムでMDXは使用できるし、VS2005に対応したサンプル少ないし、ドキュメントは独立したの落とせるし。
>>482 .NETに関しちゃそうかもね。どのみち公式ドキュメントとかゴミだったし。
しっかしこの頃の中の人はDirect3D10のマネージライブラリも
つくらねーよとかハッキリ言うようになりやがったなぁ。
これからの選択肢はWPFかXNA? ウンコ食わすぞド畜生が。
もうみんなTao使おうぜTao!
Tao Pai Pai
mdx のジョイスティック関連の情報ってないですかね スティックの位置や速度は何処から何処までなんでしょう
答えが欲しいなら他人が読んで分かる文章を書きましょう。
誘導されてきました。 AudioVideoPlaybackを使用した動画再生の際、アルファチャンネルの設定は出来るでしょうか? 出来ない場合、どのクラスを使って実現するのが早いでしょうか? 使ってるのはDirectX9、使用言語はC#で、再生したいのはXDVIコーデックのaviです。
XNA(`皿´)ウゼー
C#の環境でプログラムを作ってるのですが、 Font.Drawtextで文字列を表示したところ、改行の一つ手前(つまり、行の最後の文字) が消えるという現象が起きました。 具体的には、 flag: false と表示されるはずが、 flag: fals となる感じです。 おそらく改行コードが怪しいと思ったので、\n\rを\nに置換して表示したところ、 無事正常に表示されました。 しかし、\n\rはウィンドウズ標準の改行コードだったはずなので、この挙動はおかしいと思うのですが、 これはバグなのでしょうか?
\r\nじゃないのCR+LFって
491 :
489 :2007/10/16(火) 07:55:32
>>490 すいません、\r\nの書き間違いでした。本文の趣旨は一応あってると思います。
GetCurrentKeyboardState()でカナキーの検出やると 1回押した後ずっと押しっぱなしになるんだけど なにこれ?バグ?
すまん、解決した。 トグル式になってるのか・・・。 ゲームでこのキー使うのは無理っぽいなぁ、残念。
最近Managedを使い始めたんだが、てっきりリソースは自動で開放されると思ってたら、 いちいちDisposeかかないとダメとか、しかも自分で呼び出す必要があるとか、これならC++とかわらないじゃんorz。
.NETで自動開放されるリソースはメモリだけ
放置しとけばいつGCがデストラクタを呼んでくれるよ♪
497 :
デフォルトの名無しさん :2008/02/23(土) 09:42:00
managed DirectXのクライアント動作環境ってどうやったらわかるの? クライアントのDirectXがインストールされていることを確認しても 動かない場合あるよね。 dxdiagで確認できるのはunmanagedだけなんでしょうか?
%windir%\Assemblyを見るとか
CLRがロードしようとする前にAssemblyのメソッドとかで 検索かけりゃいいんじゃねーの。
C#でmanaged directxとC++で普通のDirectXでは 速度にごっつい差があるんですかね?
どうせほとんどは描画に取られるんだからあんまり関係ない
最新のDirectX SDKをダウンロードしたんですけど これはVB.NET 2003には対応してないんでしょうか? エラーになります。
この度正式に非対応になりました。おめでとうございます。
そーすは? WPFつかえってこと?
ねぼけてた かんちがいした
vs2008は大分便利になったから、expressでも入れてみたら? まぁ余計なアイコンも増えたけど。 .NETFramework1.1をどんどん縮小させる予定だから、1.1で動くソフトを作るvs.NETは排除したいんじゃない?
Direct3Dのフルスクリーンゲーム画面をキャプチャしたいんでうが どのようなjコードでできますか? どっかのサイトで「Deviceを作ってGetBackBuffer()でおk」っていうのを 見つけたんですが、フルスクリーンゲーム画面のDeviceを取得するとこ からつまっています。 簡単なサンプルなどあげてもらえると助かります。
509 :
デフォルトの名無しさん :2008/04/16(水) 02:34:48
C#+MDX1.1で3Dプログラムを作成中なのですが、 RenderState.Lighting = false; にしているのに、 device.DrawUserPrimitives(PrimitiveType.LineList, iNumOfVert / 2, this._vertices); で描こうとするラインに色がつかず、 真っ黒に表示されます。 メッシュでもRenderState.Lighting = true; かのように表示されます。 しかしながら、プログラムを暫く起動させていると、思い出したように、意図したとおりに色がつく場合もあります。 同様の経験のある方、おられませんか?
510 :
デフォルトの名無しさん :2008/04/16(水) 06:27:37
なんでStateBlock使っとらんのじゃこのサイト
>>510 これじゃ他のアプリケーションのキャプチャなんてできんだろ
SlimDXってどうよ
C#でDirectshowの質問て ここでいいのでしょうか?
516 :
デフォルトの名無しさん :2008/04/17(木) 08:28:40
>>509 自己解決しました。
無駄に、大き目のメッシュを描かせると、なぜかライトが有効になりました。
DirectXのバグなのかな?
Microsoft.DirectX.AudioVideoPlaybackで対応しているAudioの形式は何でしょうか? ogg再生できてびっくりしたのですが……
DirectShowで再生できる形式
つまり CODEC があれば何でも
>>518-519 ありがとうございます。
配布するときはコーデック入れてくれとか書いてたらいいんですね。
再配布可のコーデックを探してそれを入れてあげるのが親切
>>521 ありがとうございます。
再配布可能のコーデックがどれか分からないですね……。
適当に入れて再配布不可とかだったらまずいなあ。
付属ファイルにgpl.txtというのがあればOK
>>523 ありがとうございます。
gpl.txtが入ってるのを探してみます。
工エエェェ(´д`)ェェエエ工工
D3DのSprite.Drawメソッドを使って画像を描画しているのですが、 画像の回転はどうやってすればいいのでしょうか?
4点を三角関数使って計算する。 高校数学の代数幾何の知識が必要。 ちゃんと勉強しろよ。
>>527 ありがとうございます。
回転できました。
VC#2005 + Directx(MDX?)でxファイルをロードしたあと インデックスバッファの情報を読み出そうしたのですが さっぱりわかりませんorz どのようにアクセスすればいいのでしょうか?
530 :
529 :2008/06/05(木) 01:49:25
すみません、自力でなんとか読めました。
すいません。 殆どC#の継承の質問です。 サンプルの「ManagedInstancing - Hardware」を自分のC#のゲームでやりたいんですが。 sruct instanceData { ... } instanceData[] idarray = new instanceData[numBoxes]; //構造体配列 class GameCharactor : instanceData { ... } //継承 List<GameCharactor> CharaList = new List<GameCharactor>(numBoxes); //最大がnumBoxes と定義して、 CharaListにidarray[i]と紐付けした要素を入れたいと思いますが、 CharaList.Add(/* ?? ここに何と書けば良いか解りません ?? */); ・・・それ以前に根本的に、C#では他のやり方の方が良いでしょうか? 継承しないで、要素の添え字をメンバとして持たせるとか。
そもそも構造体は継承できない ふらっとC#スレに行った方がいいよ
構造体で思い出した。 まいくろそふとさんvistaなんてくだらないOS作ってないでバグ直してよ。 xファイルの中に座標、法線、頂点カラー、UV全部あったら プログラム内部で見るための構造体無いのに読み込むってどんだけ〜
何がバグなんだ? 自分で構造体定義すりゃいいだけだろ。 勝手に情報欠落される方がかなわん。
>>534 バグだろ。
全部読み込まれたらデータの並びはわからん。
>>535 FVFでわーかーりーまーすー。
あぁ初心者ですかそうですか。
537 :
531 :2008/06/05(木) 18:49:25
>532 端からトンチンカンだったようで、すいません。 ムリにstruct型の配列に拘る説明を面倒くさがったってただけなので そのまま、ふらっとに行こうかと思います。 継承しないんだったら質問するまでも無いかもしれませんが。 ※もし、ふらっとから来て同じ書き込みを見たらこのスレではスルーしてください。
539 :
533 :2008/06/05(木) 19:52:21
ちょっと私なりに調べてみました。 で、結論としては自分でどうこうしなくてもBaseMeshは持ってる情報をわかってるので BaseMesh.cloneで欲しい情報だけ持ったクローンを作ってやればOKとのことでした。 でも、不親切な気もしましたね・・・
>>539 まぁ確かにこのへんはC++でDirect3D扱ってないと、
MDXのドキュメントだけじゃわかりにくとは思うよ。
批判するなら仕様ではなくおざなりな(そして改善される未来の無い)ドキュメント。
MDXやるならC++のドキュメントも併用した方がいいよ。
541 :
533 :2008/06/05(木) 20:17:17
>>540 そのようですね。
私もしばらくPCの開発をやってなかったのでMDXを捨てて
XNAになってるのは驚きでした。
542 :
デフォルトの名無しさん :2008/06/07(土) 13:15:51
dxsdk_march2008.exeを落としてインストールしたんだけどdxutil.csとかがどこにあるかわからないーーーー
クククッ馬鹿めMDXのドキュメントとサンプルなぞ とうの昔にSDKから除外されたわッ!
544 :
デフォルトの名無しさん :2008/06/08(日) 09:55:55
SlimDX
久々にこのスレ見た 始めはMDXに期待してたんすけど 結局今は VC++ でゴリゴリと頑張ってます。。。
546 :
デフォルトの名無しさん :2008/06/26(木) 12:00:28
>>544 二つ前のレスにあるのは? ソースコードも公開されてるから
自前でビルドすれば問題無いと思うが。
549 :
デフォルトの名無しさん :2008/06/28(土) 00:10:50
550 :
デフォルトの名無しさん :2008/06/29(日) 07:33:37
しつもーん Device.IsUsingEventHandlers = false; の状態で フォームリサイズ時にDevice.ResetでBackBufferのサイズだけを修正したのを 渡してるんですが、DeviceがLostします その後、DeviceNotResetを待って再度Resetさせるのですが エラーが発生してしまいます 何故なんでしょう??
552 :
デフォルトの名無しさん :2008/07/23(水) 18:55:50
米国時間22日、マイクロソフトは「Xbox LIVE Community Games」を北米で今年後半から
開始すると発表した。その他の地域については2009年から逐次開始する予定。
Xbox LIVE Community Gamesは、XNA Game Studioで開発されたXbox360用ソフトを
Xbox Liveを通じ一般利用者へ販売することを可能とするサービス。
Xbox LIVE Community Gamesでの販売は、XNA開発者コミュニティ「XNA Creators Club」の
有料会員(年額9,800円)であれば誰でも行うことが可能となる。
販売価格については200〜800マイクロソフトポイントの間で自由に設定することができ、
手数料として売上の30%が引かれることとなる。
XNA Game Studioは、マイクロソフトが無償で公開しているVisual Studioをベースとした
ゲーム特化型の統合開発環境。.NET Framework及びDirectXをベースとしたライブラリ
「XNA Framework」を使用し、基本的には設定ひとつでXbox360及びWindowsへの両対応が
可能となる。
XNAについては、RPGツクールが次期バージョンでの対応を表明しており、日本での
普及にも期待がかかる。また、教育機関による学習教材としての採用も増加しており、
月刊ベーシックマガジンの休刊以降問題視されていた日本人ゲーム開発者の急激な
減少に歯止めをかける期待も持たれている。
http://news4xbox.blogspot.com/2008/07/xbox360.html
553 :
デフォルトの名無しさん :2008/07/27(日) 23:06:07
米国時間23日、マイクロソフトは統合3Dソフト「trueSpace 7.6」の無償提供を開始した。
最新バージョンの7.6では、マイクロソフトが提供する地図検索サービス「Virtual Earth」へ、
3Dモデルを直接書き出す機能が追加されている。Googleが「Google Earth」向けに3D CAD
ソフト会社である@Last Software社を買収し、3Dモデリングソフト「Google SketchUp」を無償
公開したことに対抗する目的と思われる。
trueSpaceは、モデリング、アニメーション、レンダリングと、放送およびポストプロダクション分野まで
カバーする統合3Dソフトウェア。trueSpaceは、モデリング特化型のSketchUpとは違い、3ds Maxや
LightWave 3Dなどと競合する製品を無償化したものであり、機能が豊富な分、操作性はやや難しい
ものとなっている。開発はマイクロソフトが2008年2月に買収した米Caligari社が行う。
この無償化は「Virtual Earth」の普及を主目的としているようだが、標準でDirectX9及びXNA
Frameworkにおける3Dデータの標準形式である「Xファイル」での出力に対応しており、trueSpaceで
作成したモデルデータ及びアニメーションデータはXNA Game Studioなどから直接利用することが
可能である。また、ポストプロダクション向けということもあり、非常に高品質なプリレンダリング動画の
出力なども可能である。
XNA Game Studioで作成されたXbox360用の同人ソフト販売サービスも発表されていたが、同人分野
では1本数十万円という価格帯が一般的な統合3Dソフトの導入が難点であった。このtrueSpaceの
無償提供で、XNA関連分野の一層の活性化が期待される。
http://news4xbox.blogspot.com/2008/07/3dtruespace-76.html
月刊ベーシックマガジンの休刊以降問題視されていた日本人ゲーム開発者の急激な 減少に歯止めをかける期待も持たれている。 いや因果が逆だから
555 :
デフォルトの名無しさん :2008/07/31(木) 17:11:51
Microsoft.DirectX,DirectInputのバージョン 1.0.2902.0以降をインストールするには DirectXランタイムのいつ以降のupdateを入れれば大丈夫ですか? それともDirectXランタイムのほかになにか必要でしたっけ? ちなみに現在出てるエラーは下記のとおりです。 System.IO.FileNotFoundException Could not file or assembly 'Microsoft.DirectX,DirectInput, Version=1.0.2902.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. 指定したファイルが見つかりません。
いつ以降の、という質問には答えられんけど とりあえず最新の突っ込めば使えるはずだが
画面内に5000個ほど球をmesh.DrawSubsetで描画しているのですが物凄く重くなります。 高速で描画する方法ってありませんか?
558 :
デフォルトの名無しさん :2008/08/01(金) 21:33:45
質問させてください。 ライトの色を動的に変更させようと思っています。 以下のプログラムで赤の値、cが動的に変化するようなプログラムを作成しています。 device.Lights[0].DiffuseColor = new ColorValue( c ,1.0f,0.0f);//ライトのカラー device.Lights[0].Range = 100.0f; device.Lights[0].Update(); device.Lights[0].Enabled = true; しかし、c値は変化しているのにライトの色が変更してくれません。 試しに、Rangeにcの値を入れてみたところ、正常に動作しました。 なにが原因なのでしょうか?よろしくお願いします。
いや
>>557 つ「StreamSource」
詳細についてはOXのその53を読むといいよ
>>560 初心者なものでいまいち理解出来ていないのですが、
VertexBufferとIndexBufferに複数メッシュのデータを入れて一回のDrawIndexedPrimitivesで描画する
という事ですか?
Strem0にその5000個の頂点データの重複してるデータを1つだけ入れて Strem1に個々5000個の頂点データを入れる Declarationt使わないとダメだし、Shader使えた方が もっと効率が良くなるから、初心者だと座敷が高いかな… Managedって頂点をDynamicで作るとリークする(俺だけ?)から 使えなくてパフォーマンス出ないんだよねぇ・・・
誰かManagedのDirectInputでフォースフィードバックを起こす サンプルのソースコード掲載されてるサイト知りませんか? EffectObject.SetParameters()でどうしても例外が飛んでくるorz
高いのは敷居じゃないか?
水面下の動作まで述べたdirectx(3d,show,sound)の書籍ってありますか?
566 :
デフォルトの名無しさん :2008/08/12(火) 18:52:02
Frameworkで、マルチディスプレイで表示させる方法をお教えください。 multihedを使うと良いらしいですが、さっぱりです・・・。 サンプルなどありますでしょうか?よろしくお願いします。
>>566 日本語だとMasafumi's LABORATORYしかサンプルなさげ
568 :
566 :2008/08/13(水) 17:04:44
>567 回答ありがとうございます。そうなんですよ。サンプルが少なくて・・・ 海外サイトの情報も少ないですね。FrameWorkを使っているのでどこをどうイジっていいのかさっぱりで困っています。
Frameworkってなにフレームワーク?
MDXは見捨てられて、XNAも雲行きが怪しいし また VC++ に戻るしか無いんかのぉ
これからは.NETの時代といいながら、やる気ないよね
まあ脳内シミュだと「うはーマジ来るよー俺ら天才じゃね?」 だったんだけど実際は「XNA?箱で動かしたら遅すぎww」 PCのほうも微妙だしな。 なんで萎え萎えなんじゃね>MS内部 OSでこけてXNAでこけて
日本に居るからそう思うだけ
>>573 ファミコン開発とかもそうだけど
ゲーム機に絡んだソフト開発って海外の方が盛んだね
>>574 日本人って割とゲームで遊んでるくせに、いざ仕事となると「ゲームなんて」
と軽く見てるからな。
結構技術無いとできないんだけど。
いやモノづくり系全般的に肩身が狭い
577 :
デフォルトの名無しさん :2008/08/27(水) 10:27:47
World, View, Projectionの変換ができません。 板ポリゴンの描画はできるのですが、 DeviceのTransformを変更しても描画内容が変わりません。 描画部分のソースをはるので原因が分かったら教えてもらえませんか。
578 :
577 :2008/08/27(水) 10:29:54
Vector3 camera = new Microsoft.DirectX.Vector3(0.0f, 0.0f, -50.0f); Vector3 look = new Microsoft.DirectX.Vector3(0.0f, 0.0f, 0.0f); Vector3 up = new Microsoft.DirectX.Vector3(0.0f, 1.0f, 0.0f); Matrix world = Matrix.Identity; device.Clear(ClearFlags.Target, Color.FromArgb(100, 100, 100), 1.0f, 0); device.BeginScene(); device.Transform.World = world; device.Transform.View = Matrix.LookAtLH(camera,look,pos); device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI/4, 1.33f, 1.0f, 100.0f); device.SetStreamSource(0, vertsBuf_, 0); device.VertexFormat = CustomVertex.TransformedColoredTextured.Format; device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2); device.EndScene(); device.Present();
CustomVertex.PositionColoredTexturedを使う
580 :
577 :2008/08/27(水) 20:46:20
どうもありがとうございます。 さくっと解決しました。
581 :
デフォルトの名無しさん :2008/08/30(土) 04:18:40
ファイルやビットマップから読み込むのではなく、 自分で指定したサイズのTextureを作るにはどうすればいいのでしょうか?
ビットマップクラスで作るとか?
まず、ビットマップを自分で作ってそれを元に、Textureを作る? まどろっこしいですね。 C++の IDirect3DDevice9#CreateTexture と同じような機能はないのかな。
Textureクラスの(Device, Int32, Int32, Int32, Usage, Format, Pool)のコンストラクタ
本格的なDirectX(C++)をやるまえに基礎を Managed DirectXで勉強しようと思うんですが XNAのほうがいいでしょうか?
変換行列とかテクスチャ座標・テクスチャブレンディングとか知らないならそうじゃね
DirectSoundは、結局MDXのドキュメント見ても良く分からず、C++のほうのドキュメント読んだら理解できた。 C++出来るなら最初からそっちのほうがいいんじゃね?
MDXのほうが簡単ってこともないよ 基本的な手続きは変わらん .NETで作ると楽だと言われるのは、.NETのクラスライブラリとC#やVBが使えるから
frameとアニメーションコントローラーの関連づけってどうやればいいんですか? xfileからだとanimationrootframeに返ったのを使えばいいっぽいんですがプログラム中でフレームとアニメーションコントローラーを作った場合さっぱりです。
this._texture = TextureLoader.FromFile(this._device, "logo.jpg"); テクスチャーをファイルから読み込んでいるのですが これをexeに埋め込むことはできるでしょうか?
>>592 むむむ。難しい。
ところでManged DirectXで作ったexeを配布するとき
配布先は.net frameworkとdirect3dのランタイムが
入っていればいいでしょうか?
>>593 難しいか?
プロジェクトの右クリックの追加で入れといて、
using System.IO;
using System.Reflection;
Assembly _assembly;
Stream _imageStream;
_assembly = Assembly.GetExecutingAssembly();
_imageStream = _assembly.GetManifestResourceStream("NameSpace.Filename.ext");
this._texture = TextureLoader.FromStream(this._device, _imageStream);
これだけでいけたぞ。
teapotにテクスチャーを張りたいのですがうまくいきません。 ボックスなどでは貼れるのですがなぜでしょうか? // テクスチャーをセット this._device.SetTexture(0, this._texture); // ティーポット this._device.SetTransform(TransformType.World, rotateMatrix * Matrix.Translation(new Vector3(0.0f, 0.0f, 0.0f))); this._teapotMesh.DrawSubset(0);
>>597 ありがとうございます。
なるほどー
UVがないからかー
がむばってみます。
しかしteapotの曲面に貼るのは難儀だろうなw
xファイルからMeshを作り、 そのMeshの各ポリゴン?(三角形)の3つの頂点の座標を 知るにはどうすればよいでしょうか。 体積やらを計算したいので(´ヘ`;) Meshを作るのは出来きます。 IndexBufferやらも調べてみたのですがさっぱりです。
CustomVertex.PositionOnly[] cvpo = (CustomVertex.PositionOnly[])mesh.LockVertexBuffer(typeof(CustomVertex.PositionOnly), 0, mesh.NumberVertices); とかでどうか
>>601 ありがとうございます。
この方法でアクセスしてみたら、頂点の座標は取得できました。
しかし、Mesh.Box(device, ,1,1,1)で試してみたところ、
配列の奇数番目(1,3,5,7・・・番目)に
明らかに全然違う座標(1,0,0など)が入っていました。
一体この頂点は何なんでしょうか?
あと、この頂点の順番には何か規則性はあるのでしょうか?
なんか質問ばかりですみません。
mesh.VertexFormatを見てCustomVertexの他の構造体の中から適切なものを選べ
何だよ、xファイルじゃないんかよ。 取り出す形式にあわせてCloneするかPositionNormalで。
>>603 >>604 説明不足ですみませんでした。
あと、どうやら勘違いしていたようです。
VertexFormatのPositionOnlyとかPositionNormalとかって関係あったんですね。
その辺の変換はすべてDirectXがなんとかしてくれるもんだと思ってました。
ありがとうございます。
なんとかがんばってみます。
// 頂点バッファをロックする using (GraphicsStream data = this._vertexBuffer.Lock(0, 0, LockFlags.None)) { // 頂点データを頂点バッファにコピーします。 data.Write(vertices); // 頂点バッファをロック解除します。 this._vertexBuffer.Unlock(); } この後に頂点を書き換えるにはどうしたらいいでしょうか? _vertexBufferからverticesが取り出せればいいと思うのですが 取り出し方がわかりませんでした。 よろしくお願いします。
607 :
606 :2008/09/30(火) 10:45:18
できました。 CustomVertex.PositionColored[] hoge = null; hoge = (CustomVertex.PositionColored[])this._vertexBuffer.Lock(0, LockFlags.None); hoge[0].X = 2.0f; hoge[0].Color = Color.White.ToArgb(); this._vertexBuffer.Unlock(); マスターした気がするw
608 :
606 :2008/09/30(火) 18:36:39
ところでXNAに移行したほうがいいんでしょうか?
目的が違うからなんとも言えん。 XNAはできることが狭すぎるから、何をやるかで決めたらいいかな。 SlimDXも見たほうがいいかも。
610 :
606 :2008/09/30(火) 18:43:47
やりたいことは特にないです。DirectXを理解したいです。
>>610 横槍スマンが、ちょっと目的が漠然としすぎていると思う。
「仕様を理解する」ということは、あくまでやりたいことをするための手段であって、
目的にしてしまうと、大きすぎてめげる。
実際に作りたいものを作りながら、「躓いたら調べる」を繰り返せば、いつのまにか、
「DirectXを完全に理解」は出来なくても、「やりたいことがやれる」ようになってるよ。
612 :
606 :2008/09/30(火) 20:03:33
そうなんです。ちょっと調べればできるよってレベルになりたいのです。
まあそんなんならXNA使う意味は薄いでしょ。 そのままMDXかSlimDXあたりで。
「ちょっと調べる」が苦痛だろその2つは。
苦痛にならない程度まで習得したいということじゃ
そのうち気持ちよくなるんだよ 人間って恐ろしいよね
617 :
606 :2008/10/06(月) 11:34:51
sdkメッシュのティーポットの頂点バッファを取得するには
どうしたらいいでしょうか?
>>607 みたく一部分の書き換えてみたいのですが・・・
え、、、同じだろ。 1178個の頂点が取れないか?
619 :
606 :2008/10/06(月) 13:24:20
// ボックス this._boxMesh = Mesh.Box(this._device, 2.0f, 1.0f, 0.5f); if (this._boxMesh.VertexFormat == VertexFormats.PositionNormal) { CustomVertex.PositionNormal[] hoge = null; -> hoge = (CustomVertex.PositionNormal[])this._boxMesh.VertexBuffer.Lock(0, LockFlags.None); hoge[0].X = 2.0f; this._boxMesh.VertexBuffer.Unlock(); } ->のところでNullReferencePointerが発生してしまいます。
620 :
606 :2008/10/06(月) 14:05:43
できましたっす。 // ボックス this._boxMesh = Mesh.Box(this._device, 2.0f, 1.0f, 0.5f); if (this._boxMesh.VertexFormat == VertexFormats.PositionNormal) { try { CustomVertex.PositionNormal[] hoge = null; hoge = (CustomVertex.PositionNormal[])this._boxMesh.LockVertexBuffer( typeof(CustomVertex.PositionNormal), 0, this._boxMesh.NumberVertices); hoge[0].X = 10.0f; this._boxMesh.UnlockVertexBuffer(); } catch (Exception e) { MessageBox.Show(e.ToString()); } }
621 :
606 :2008/10/06(月) 16:26:28
人体モデルとかで手や足だけ動かすのって こんな感じで頂点をいじっているんですか? なんか大変そうなんですが・・・
623 :
606 :2008/10/06(月) 16:39:05
>>622 ありがとうございます。読んでみます。
やっぱりちゃんとやり方があるんですね。
C#でAudioVideoPlaybackを使って以下のような記述をしたところ、 2回目以降にこの処理をするとnewのところで 「保護されているメモリに読み取りまたは書き込み操作を行おうとしました。 他のメモリが壊れていることが考えられます。」 という例外が発生してしまいます。 if ( null != m_video && !m_video.Disposed ) { if ( !m_video.Stopped ) m_video.Stop(); m_video.Dispose(); } m_video = new Video( path, false ); 読み込むファイルはAVIですが、 同じファイルでも発生する時としない時があります。 また、これの少し下でRenderToTextureを呼んでいるんですが、 別のプログラムでRenderToTextureを使っていない方では この例外は全く発生しません。 これはAudioVideoPlaybackのバグなんでしょうか?
AudioVideoPlaybackはいろいろおかしいので、流したほうがいい気がする。
626 :
624 :2008/10/07(火) 16:55:55
たしかにAudioVideoPlaybackはいくつかバグが報告されていますが、 C#で動画を再生する方法はこれ以外にあるんでしょうか? テクスチャとして1枚ずつ読み込んでDirect3Dを使って表示したいんですが。 DirectShowはC#では使えないみたいですし。
AVIに出力したいです!
629 :
624 :2008/10/07(火) 18:32:44
>>627 まだ見てないですが、それを試してみます。
AudioVideoPlaybackは簡単だから良かったんですが、そう上手くはいきませんよね。
ありがとうございました
>>628 すごい探したけど無かった。
仕方ないので俺はAPI叩いたよ。そしたらダブルポインタで
メモリコンパクションらしき挙動で飛んでだな‥。
ま、できたけど。
631 :
デフォルトの名無しさん :2008/10/13(月) 17:20:14
基本的な質問でスマン XP、DX9、VS2008(VBオンリー) の状態で、DirectInputを使用したいんだが SDKは、いつのどのバージョンをインストールすればいい? ググってもワケ分からん。 本家サイトでもリンク切れとか、不親切文章で100回読んでも意味不明。
>>631 最新の SDK 入れて、 Regist フォルダに入ってる Apr2006_MDX1_x86_Archive.cab をインストールすればいいんじゃね?
ドキュメントはまだWebからダウンロードできる。
すみません。左右反転させようと思ったのですが、 MatrixのScaleでマイナス値入れてもスプライトが表示されません。 ググっても分からなくて申し訳ありません。 教えてください。
Invertでなくて?
UV入れ替えてみたら? スケールをマイナスにしてもできたと思うけど。。 全く表示されなくなったのなら片面表示設定になっている可能性もある。
636 :
633 :2008/10/21(火) 17:49:30
>>634-635 ありがとうございます。
どうやら座標が反転して画面外に描画していたようです;
本当にすみません。他の方法も参考にさせていただきます。
visualstudio2008 C# Express でMDXを使ってると、 new FontDescription()やnew MeshData()等特定のメンバがエラーを出すんだが、これ回避方法ない? コンパイルした瞬間はエラーをはかないんだが、ふとした拍子にエラーが表示されて気分が悪い・・・。
すらいむDX
バグなんだからしょうがない。 それを使わない方法を考えよう。
640 :
637 :2008/10/23(木) 23:32:26
あ、実害はまったく無いです。すいません。 2005から2008になった際の、VS側のエラー判定変更に関するバグっぽいので、 エラー報告を2005バージョンにする方法が無いかなー、といった感じです。
DirectPlay で、複数のサウンドデバイスが接続されている場合に、 いずれかのデバイスを選択して音を出すことはできますでしょうか。
>>641 何か壮大な勘違いしてないか?DirectSoundでなくて?
Soundのことなら、ヘルプドキュメントの紹介>DirectSoundに情報があるが。
>>642 壮大な勘違いしてました。DirectSound でした…。 orz
ヘルプドキュメント読んでみます。
ウィンドウのサイズを変更しようとすると、デバイスのロスト・リセットを繰り返してるっぽいんだけど もうちょいスムーズにサイズ変更できるようには出来ない?
サンプルフレームワーク使ってる? 使わずに普通に組んだ場合、少なくともサイズを変えただけではDeviceLostは発生しないんだが。
大昔の、SDKとか、c#エキスプレスとかって、いつの間にか、 マイクロソフトのサイトからも無くなっちゃってダウンロードできなく成っちゃう日とか 来たりするのかな? だったら、早めに落としておいて、自分のマシンに持って置いた方が良いんですかね? 皆さんはどうしてます?
どうせ海外の有志がどっかにとっていてくれると 思ってるから特になんもせん
心配だったら DVD に焼いておけばいいんじゃね? 必要になったらすぐ使えるし。 Express とかは iso 形式で提供されてなかったっけ。
既出だったらすんません。 C++/CLIでManagedDirectXを使用しているのですが、 Deviceの作成前と後でTimeSpanの挙動が変わるのですよ。 こんな感じで、2001/1/1 0:0:0を起点にしてAddSecondsした日付を 取得したいのですが、 System::DateTime WrkTime = DateTime(2001,1,1,0,0,0).AddSeconds(246104100); この時点では 2008/10/19 10:15:00 になる。 で、Dxデバイス作成 m_Device = gcnew Device(0, DeviceType::Hardware, this, CreateFlags::HardwareVertexProcessing, presentationParameters); デバイス作成後に同じことすると System::DateTime WrkTime = DateTime(2001,1,1,0,0,0).AddSeconds(246104100); 2008/10/19 10:14:56 になる。 何故か4秒はやくなります。 .NETのバグ? PresentParamの設定のせい? どなたかわかりませんか?
物理板で訊いてくれ
16 進数で考えてみよう。 246104100 = 0xEAB4024 4 秒早くなるということは、最下位ニブルが切り落とされて 0xEAB4020 になっとるということだな つまり・・・・ ・・・分からんw 一秒ずつ時間を足してテストしてみたらどうですか
C#でも同じ結果になるね 1ずつ増やしても246104104までは10:14:56、246104105で急に10:15:13になる。 doubleの精度がかわる?
>>652 >>653 レスありがとうです
そうなんですよね、doubleの精度が変わってるみたいですねorz
xxxx/1/1 0:0:0にAddSecondsして、前回のAddSeconds結果と比較して
TotalSecondsが1秒じゃなければNGとして試すと
xxxx/01/02 13:16:59 134219(0x20c4b)から狂いだします
自前で作るしかないのかすら・・・
AddTicks(TimeSpan.TicksPerSecond * 246104100) これならDateTimeの内部含めてどこにもdoubleは出てこないはずだけど
>>655 おぉぉぉ、うまくいきました!
神様、ありがとうございます
>>657 おぉ、そうだったのですか。ありがとうございます。
変わりにパフォーマンスは落ちるのですね。
今回はAddTicksで行こうと思います。
ありがとうございました。
ランタイムやSDK入れりゃMDX1.1アセンブリだけなら勝手に一緒に入るし Direct3D10のマネージラッパーなら今でもMSからの提供は無い。 現状と何も変わらんと思うが。
XNAを使えとやたら奨めてる割にXNAでは特定形式データしか扱えないとか 他のManagedライブラリはMDXか使うしかないのに見捨てられてるとか 傍観してるだけでも今後の状況が目に浮かんできて涙が出てくるわ(´д`;)
64bit環境も考えたらSlimDXしか選択肢がないような。 まあmdxと違ってxnaはx86がデフォになるから気にしないでいいといえばいいが。
先生教えてください d3dの画面にテキストボックスみたいなのをつくりたいんですが 皆さんどんな実装してますか 小奇麗な凝ったデザインでつくれますかね
ここは.NETつ−かほとんどC#なんだけど、その辺わかって聞いてる?
よっぽどGUIが重要ならWPFベースでDirect3Dをホストすれば? .NET3.5SP1ではDirect3DのサーフェスをそのままWPFに完全に統合して表示できるようになった
666 :
633 :2009/02/03(火) 23:25:58
>>665 ありがとうございます。
わけあって2.0環境限定なんで別の方法を探してみます。
667 :
663 :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が遅いため妥協します・・・ お騒がせしました。すいません。
質問です。
MSDNのManagedDirectXのドキュメントを眺めているのですが、どうも
発生するException類がちゃんと記述されていないような気がします。
具体的には、Device.CurrentJoystickStateを読む際に、
Joystickを引っこ抜抜いたらInputLostExceptionが発生しまた。
それでマニュアルを見たのですが、どのような
Exceptionが発生するか書いてありませんでした。
で、おかしいなと思い、
ttp://msdn.microsoft.com/en-us/library/bb321412 (VS.85).aspx
で英語ドキュメントを見てみたのですが、こちらにも
Exceptionに関する記述が見当たりません・・・。
皆さんはどのように発生するExceptin類を調べているのでしょうか?
>>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
なるほど、データの方をいじっちゃうのか ありがとうございます
これ、そのうち標準でOSにつく可能性あるのかな。 ビルドはできるが動かす環境が無いなあ
いくつかの機能はVista以前のOSでも利用可能になる Win7と同時にリリースされる とは言ってるけど、標準で付くとはかかれてないね
最近 c#でmanaged DirectXいじり始めたんですけど、 xp sp3上で、画面最小化ボタン押したら、どうにも できないところが例外吐くんです。で、仕方ないから 最小化専用ボタン作って、最小化する前にデバイス破棄して 元に戻る時、再度デバイスを新規で作るにしたら、 窓の大きさを変えると、絵が微妙に動く(縦横比が微妙に変わったり) んですけど、なんでか教えてください。エスパーな方! (なんで、例外吐くのかと絵が微妙の2点です。)
よくわからん。 再現するコード出せる?
再現できない、、、XPはx64だったりしないよね?
>>682 しないです。ありがとやんした。
も一度基礎から調べなおしてみます。
ソフトかハードの問題かとか、もっと切り分けてから、もう一度質問させてください。
つーても、十中八九、自分で書いた部分に問題があるんでしょうけど。
dxwebsetup.exeダウンロードして実行して同意選んでもダウンロードできませんってなるんですけどこういう事ってありますか?
それスレ違いな気が。 わざわざ過疎スレで聞いても返事が遅れるぞ。 ダウンロードできない理由がわからんとなんとも。 Genuineチェックかな?
まあ時間開けたりブラウザ代えてやってみるとうまくいったりすることはある。
>>676 v0.9
Direct3D 10.1/10.0, Direct2D 1.0, DirectWrite and WIC APIs in the DirectX area
おー、0.90かあ
サンプル充実してきたな。 1.0で正式版なのだろうか
690 :
デフォルトの名無しさん :2009/06/25(木) 19:49:48
xp sp3で、directinputでGetPressedKeysを使ってキーボード状態を監視するものを作ったんですが、 「半角/全角」つまりkey.kanjiを押すとずっと押下状態になります。alt同時押しで解除できるんですが。 なんか設定し忘れてるでしょうか。フォームをime disableにしても変化なしでした。
押しっぱなしになってるんじゃなくてトグルだからだろ
おー
質問失礼します。 DirectX SDK (November 2008) や DirectX SDK (August 2008) など、 色々なSDKのバージョンが存在しますが、MDX最後のSDKのバージョンは何でしょうか?
1.1ならApril2006 2.0なら廃止
せっかく質問しに来たのに過疎ってるなんてひどいやー
もうとっくに死んでますから 何聞かれても「使うな」としか答えられないよ
あの・・
使えないってまじ?
>>700 を最後の書き込みからおよそ半年後に書き書き
702 :
デフォルトの名無しさん :2010/09/19(日) 00:47:58
使えるの?
703 :
デフォルトの名無しさん :2010/09/20(月) 15:56:22
なんだ、探してきたのに過疎りすぎだろ・・・ managedって使えないのか やっぱ.NETでDirectX使おうって奴がいないのか
使える使えない以前に、何年も前に更新止まってるんだよ
ああそうか、XNAに移行したのか 戦略的選択ってやつか・・・
706 :
デフォルトの名無しさん :2010/09/20(月) 17:52:30
XNAなんか使う人いないっすよ
選択肢はいくつかある XNAも便利だけど、使ったこと無い人も多い
XNA以外の選択肢ってC++か?
WindowsAPICodePack を入れようとしてるけど、このスレ的にはどうなん?
SlimDXのがなんぼかマシ CodePackの実装は公式とは思えないほどオナニー臭い
そろそろ プレーンなCのdll + dllimport の形のラッパーが出てもいいのに C++/CLI特有のトラブルに悩まされないし.NET以外の言語からも簡単に使えるし
713 :
デフォルトの名無しさん :2010/10/05(火) 07:47:08
元がCOMなのにおまえは何を言ってるのか。