C#でDirectX9 初心者の館
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGGDIと違ってドキュメントも難解で何をすれば描画できるのかさっぱりさっぱりなライブラリです。
その上知っている人はレベルが高すぎて聞いても宇宙語でしす(泣
そんなDirectX9を将来に備えて勉強してみようというスレです。
Microsoftの掲示板
http://www.gdncom.jp/general/bbs/ShowForum.aspx?ForumID=29
SDKをダウンロードできるところ
http://www.microsoft.com/japan/msdn/directx/downloads.asp#CDasp#CD
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG突然自分の頭が良くなったんじゃないか?ってぐらいわかりやすい。
超オススメ。
0511デフォルトの名無しさん
NGNGカケラも日本語でのなさそうな ふいんき(なぜかry)なんだが・・
英語オンリーじゃ教養のない漏れにはつらすぎる
0512デフォルトの名無しさん
NGNGいや、本当にわかりやすいんだよ。
とにかく英語が平易でわかりやすい。
辞書なしで読み進めることができたんで
自分でもビックリした。
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG才能のある人間達の会話はこれだから嫌なんだ
0515デフォルトの名無しさん
NGNGがんばれ。
0516511
NGNG立ち読みしてみて判断したいとこだが
洋書じゃそういうワケにもいかんよなぁ・・
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNGなら無理。
でも努力すれば可
0521デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGマネージドの解説本らしいがVBとC#どっち使ってる?
この本にはどんなサンプルがのってるん?
Direct3Dオンリー?
サンプルやチュートリアルで網羅しきれてないサンプルとかある?
ぶっちゃけこれ一冊で簡単な3Dゲが作れるくらいのボリュームですか?
新宿遠すぎ
騙されたともって買ってみるカ・・
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGC#
> この本にはどんなサンプルがのってるん?
いろいろ
おまけCDはMSI
> Direct3Dオンリー?
いいえ
> サンプルやチュートリアルで網羅しきれてないサンプルとかある?
いいえ(はい)
> ぶっちゃけこれ一冊で簡単な3Dゲが作れるくらいのボリュームですか?
はい(いいえ)
> 新宿遠すぎ
いいえ
0526デフォルトの名無しさん
NGNGいいえ(はい) ←どっちでつか
> ぶっちゃけこれ一冊で簡単な3Dゲが作れるくらいのボリュームですか?
はい(いいえ) ←どっちでつか
アマゾンで注文しまつた
0527デフォルトの名無しさん
NGNG>>508にまんまと嵌められたな。
糞して後悔するがいい。
0528デフォルトの名無しさん
NGNGでアニメーションが入ってないファイルを読み込むと、
中身が腐ったAnimationRootFrame.AnimationContollerが返ってくる。
外からじゃ腐ってるか判別できないから、
覗こうとして適当なプロパティをを参照した瞬間あぼーんもうだめぽ
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNG>>526は彼の営業活動に騙された、立派な被害者です。
0531デフォルトの名無しさん
NGNGどんな化石を使ってるのかね
0533デフォルトの名無しさん
NGNGおまけCDにはVB.NETのソースもはいってたはず
0534デフォルトの名無しさん
NGNGしかし、すでに1年前の本なんで、サンプルコードがちょっと古くなってるね。
summer2003で書かれているので、summer2004で書いてるヒトは
そのままではコンパイルは通らないハズ。
たとえば、一番最初のプログラム例で、CustomVertex.TransformedColoredの
頂点配列を使うんだけど、
vertices[0].SetPosition(new Vector4(Width / 2.0f, 50.0f, 0.5f, 1.0f));
と、summer2003での書き方になってる。summer2004では、
vertices[0].Position = new Vector4(Width / 2.0f, 50.0f, 0.5f, 1.0f);
このようにメソッドがプロパティに変更されてる。
まぁ、こーゆー所を直しながらコードを打ち込んでいくのも勉強になるんで頑張れ。
0535デフォルトの名無しさん
NGNGこれってなんですか?
前後の文脈から、点睛慎吾みたいなものかなあと想像するのですが
0536デフォルトの名無しさん
NGNGうんちく話。相手、時、場所を選ばず、自分の商売の話ばかりすること。専門話。
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGttp://www.webster-dictionary.org/d.aspx?w=shop%20talk
Yahoo! 辞書
ttp://dic.yahoo.co.jp/bin/dsearch?t=o&d=all&p=shop+talk
専門語辞典
ttp://wwwd.nova.co.jp/webdic/webdicc.cgi?imode=yes&dic=ALL&lang=X&word=shoptalk
terminology とか jargon の会話版、みたいな感じか。
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNGアップテートとかぬかしてるのに上位互換なんいんですねこいつら
サンプル動かなくて激しく鬱でつ
0541デフォルトの名無しさん
NGNGDirectXのMeshクラスでティーポットとかトーラスを作成できますよね。
そのティーポットの頂点データなどを取得する方法はありますか?
どうすればよいでしょうか?宜しくお願いします。
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNGMesh.Teapot(device).Device.RenderState.Lighting = true;
これで落ちるらしいぞ。
0544デフォルトの名無しさん
NGNGあ〜。うろ覚えなんで、自分で確かめてほしいんだけど。
BaseMeshにVertexBufferやIndexBufferをゲットするためのプロパティがなかったかな?
メッシュ、プログレメッシュ、パッチメッシュなどは、このクラスからの継承。
public class Mesh : BaseMesh { ... }
0545デフォルトの名無しさん
NGNGMesh box = Mesh.Box(device,1.0f,1.0f);
VertexBuffer vb = box.VertexBuffer;
ここから、どうやってvbに格納されている頂点データを取得したらいいのでしょうか?
0546デフォルトの名無しさん
NGNGお前はなぜ自分で調べようとしないんだ?
サンプルならWebにごろごろ転がってるぞ。
0547よしお
NGNGたいのですがどのAPI?クラスを使えばいいのでしょうか?
スクリーンショットを取ってメモリやbitmapで保存できるような物が作
りたいのですが
0548デフォルトの名無しさん
NGNG手順を書いとく。
たしか、DXの付属サンプルに、その目的そのまんまのコードが
あったような気がする。イルカのやつ。
�@メッシュからVertexBufferとその数を取得。
�A新しいVertexBufferを確保。
�BメッシュからゲットしたVertexBufferをロック。ストリームまたは配列をゲット。
�C新しいVertexBufferへメッシュのVertexBufferをコピーする。
�DメッシュからゲットしたVertexBufferをアンロック。
0549デフォルトの名無しさん
NGNGそうだ、忘れてた。w
書き込むバッファもロック、アンロックしろよ。
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG素直にVideo使えって。
0553デフォルトの名無しさん
NGNGそんな上等なことできたら初心者板に居る必要ないね
>>552
DirectShowの機能だっけVideoって
0554デフォルトの名無しさん
NGNG0555541
NGNGどうもありがとうございました。
できました。めちゃくちゃ考え違いしていたみたいで・・・。お恥ずかしい。
大変お手数をおかけしました。ありがとうございました。
0556デフォルトの名無しさん
NGNGaudio.Play();
Video video = new Video("smp.mpg", true);
video.Play();
0557デフォルトの名無しさん
NGNG神キタ〜〜〜〜〜〜〜〜〜!!
胡散臭いとか言う次元すら超越してアッサリ実装できますた 多謝。
なんかDirectSoundみたいに
自動でループとかいうステキなメソッド・プロパティないんすね
ここ参照にしてみますた これまたアッサリ実装できますた
http://fe0r.at.infoseek.co.jp/Doc/midi.htm
0558デフォルトの名無しさん
NGNGサンプルからそのままやんか
0559デフォルトの名無しさん
NGNG文句だけは達者なヤツはウザイだけ
他池
0560デフォルトの名無しさん
NGNG再生できるなら何でもいいのなら、そんな条件を付けなければいいのに、
何のためにDirectSoundを指定したんだ?
0561デフォルトの名無しさん
NGNGそれ以外はダメなんて一切書いてないしAudioあたりで満足したみだいだし放置しとけ
0562デフォルトの名無しさん
NGNG匂いを出すってことは全部DirectSmellでできることを知らない罠。
0563デフォルトの名無しさん
NGNG神きたーーーーーーーー!!!!!!!!
DirectSmell使ってみたけどホントに臭い出たよ!!
ようやくレモンの香りのするシューティングが完成しそう
アリガトン!!!
って時代がいつか来るのかな・・?
臭い出た時点で少なくともクリスクロスは超越するわけだが
0564デフォルトの名無しさん
NGNG悪質なニオイに出くわしたら、ほんとに吐いて具合悪くするんじゃない?
0565デフォルトの名無しさん
NGNGフィルタリングする項目にウンコ、カメムシ、生ごみとかリストアップしてあったりして。
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG質問です。C#でForceFeedbackについて簡単に解説&サンプルが載ってるページってご存知でしょうか?
あと「それぐらい調べてください」といわれそうですが、質問ついでに質問します。ごめんなさい。
DirectPlayは使ったことがないので良く分かりませんが、
一つの空間に複数の人がアクセスしてくるようなプログラムを作成したい場合、
DirectPlayの関数で、簡単に空間を共有してくるような機能ってありますか?やっぱり、
DirectPlayは単なる通信の方法でしかなくて、オブジェクトの共有とかデータで送ってあげないとムリですか?
やっぱ、そこまではできませんよね?
0568デフォルトの名無しさん
NGNG匂いデバイスを意図的に誤動作させるパケットを切れば・・
それ以前に匂いを発生させるデバイスがない限り無問題っぽいが
そんな装置作ったら特許モンだよな
> 一つの空間に複数の人がアクセスしてくるようなプログラムを作成したい場合、
クライアント/サーバー トポロジのことを言ってんのか
ピアツーピア トポロジのことを言ってんのか
どっちなのかはっきりしてほしいぞ ヘルプに絵つきで糞わかりやすい解説がついてるからまずそれを見てくれ
たぶんクライアント/サーバー トポロジのほうを想定してるんじゃないと思うが
>DirectPlayの関数で、簡単に空間を共有してくるような機能ってありますか?
>DirectPlayは単なる通信の方法でしかなくて、オブジェクトの共有とかデータで送ってあげないとムリですか?
たとえばおまいさんの想像してるのは
キャラクタ1〜10までの座標とHPを共有 とか設定すれば勝手にデータ転送して整合性保ってくれる
みたいなのか? だとしたら無理 そんな都合のいい機能はないかと思われ 自分で実装しる
DirectPlayはパケット(文字列やら数値やら音声やら)を転送するための手段を提供してくれるだけと考えておいたほうがよいよ
0569デフォルトの名無しさん
NGNGそのくらいヘルプ嫁、と言いたいところだが、ヒントだけな。
味はとりあえず俺の好みに合わせているが、各人好きなように調整してくれ。
DirectSmell.Device dev = new DirectSmell.Device(form1);
DirectSmell.Buffer coffee = DirectSmell.Presets.Coffee.Wonda.MorningShot(CoffeeStrength.Strong, CoffeeSugar.Double, dev);
coffee.Play();
0570デフォルトの名無しさん
NGNG匂いだけでなく味まで再現するのか・・
どんなハードウェアか想像もつかん
みんなが飽きる前にそのネタやめとけ?
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG色々においを表現できるんだろうな。
ウイルスの付録になりそう。
0573デフォルトの名無しさん
NGNG砂糖入れすぎ
0574デフォルトの名無しさん
NGNG臭いのでるデバイスはネットカフェで遊べるよ
東京だけど
0575567
NGNG>DirectPlayはパケット(文字列やら数値やら音声やら)を転送するための手段を提供してくれるだけと考えておいたほうがよいよ
やっぱりそうですよね。もしかしたらそういう「便利な機能もあったりして?」と思っただけです。
お手数をおかけしました。
0576デフォルトの名無しさん
NGNG2の倍数しか扱えないのですか?
0577576
NGNG0578デフォルトの名無しさん
NGNG9入れたら8戻らないとかあったりしませんよんね
0579デフォルトの名無しさん
NGNGできるよ。
Surface.GetGraphics() で GDI+ のグラフィックスオブジェクトをゲットできる。
使い終わったら Surface.ReleaseGraphics() で開放すること。
そのときの注意点は以下の通り。
・サーフェスのフォーマットはバックバッファに使われるのと同じ種類でないとダメ。
・サーフェスをミップマップのテクスチャチェーンに入れてはダメ。
・すでにロックしてあるサーフェスに Surface.GetGraphics() を呼び出すと失敗する。
・サーフェスがレンダーターゲットの場合は、ロッカブルであること。
・メモリプールを Pool.Default にした場合はダイナミックバッファであること。
・メモリプールがスクラッチの場合は常に失敗する。
0580デフォルトの名無しさん
NGNG>2の倍数しか扱えないのですか?
DirectDrawに関してはんなこた〜ない筈
拡大縮小も任意の数値で思いのママだよ
その昔、爺フォースとかのグラフィックボードが
3Dポリゴン(メッシュ)に貼り付けるテクスチャは
2の乗数でないとダメって仕様なのはあったとは思ったが
たぶんそれと勘違いしてるのかと思われ
0581デフォルトの名無しさん
NGNGとりあえずソースよろしこ
もしホントなら逝ってきて体験談をここに記す
0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG>2の倍数しか扱えないのですか?
偶数しか使えないとかいう制限は聞いたことないな
0584デフォルトの名無しさん
NGNGそろそろ届く頃かな?
本の感想きぼん
0585デフォルトの名無しさん
NGNGこれくらいの英語ならさくさく読める感じ。高校レベル+専門用語知識
内容は…あんまり深く読んでないのでパス。
4kちょいの出費が痛くなければいいんじゃない?
0586デフォルトの名無しさん
NGNGSAMSマンセー
0587デフォルトの名無しさん
NGNG君はくだらない人間だな。
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGPtoPなら普通にチュートリアルあるだろうが
0590デフォルトの名無しさん
NGNGそれは何処にありますか?
ドキュメントの中から探しても見つからなかったんですけど。
0591デフォルトの名無しさん
NGNGヘルプを見ると「指定したライトに対する遅延ライト設定を適用する。」
と書かれてあるのですが、この意味がさっぱり分かりません。
遅延ライトとはどういう意味なのでしょうか?
0592デフォルトの名無しさん
NGNG人のモデルの頭上にテキストをつけたいんですが
C++でもいいのでサンプルないですかね。
0593デフォルトの名無しさん
NGNGSummer 2004 では Commit() はなくなって、代わりに Update() になっている。
Light の各プロパティは、それぞれ変更された瞬間に値がデバイスに反映されるのではなく、
Commit()/Update() されるまで反映されない。
Update(); と Enabled = true; は同じ意味。
“遅延ライト”というのはよく分からない。
そもそも、"light" なのか "write" なのか…。(意味的には後者。)
0594デフォルトの名無しさん
NGNGけひひ。これは本当ですか?
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGホントだよねぇ。
俺たちをヒトバシラーにしてWinFXのグラフィック関連は使いやすくなるんだろうか?
そうなってもらわないと、報われないよ。ハニワ。
0597593
NGNGあうあう。ここでは“意味”ではなく“効果”というべきでした。
> Changes made to the Light object's properties do not take effect until this method is called,
> or Light.Enabled is set to true.
Enabled = true で Update() と同じ効果(デバイスの更新)が得られる。
Update() は Enabled = true; で代用できる。
Enabled プロパティの本来の目的は Light の有効無効の切り替え。
Light を利用するには Enabled = true; が必須。(Update() だけでは有効にならない。)
0598デフォルトの名無しさん
NGNGDirectPlayのチュートリアルにのってるよ
まずはそこ嫁
0599デフォルトの名無しさん
NGNGまじでこれは本当ですか?
0600デフォルトの名無しさん
NGNG自分で試してみればいいんでない?
0601デフォルトの名無しさん
NGNG>Light を利用するには Enabled = true; が必須。(Update() だけでは有効にならない。)
という時点で少なくとも同義ではない。
よって>>594のけひひは正しい。
0602デフォルトの名無しさん
NGNGVisual Studio .netのアカデミック版使っているんですが、分からないところが・・・。
DirectXのSDKをインストールしてもプロジェクトのところにDirectが追加されません。
それにサンプルもコンパイルが通らないです。
いくら調べても
「SDKをインストールするとプロジェクトに追加されます」
見たいなことしか書いてありません。
どこか設定おかしいのかと思っていろいろいじくって見ましたが、結果は変わらず。
さらに日本語ドキュメントをインストールしたにもかかわらず、そんなものありません。
どこかおかしいとは思うんですが、なにぶんC#初めて4ヶ月足らずなものですからぜんぜん分かりません。
教えていただけないでしょうか?
0603デフォルトの名無しさん
NGNGサンプルブラウザのempty projectをフォルダにインストールするがよい
0604デフォルトの名無しさん
NGNG送信フラグに C++でいうところのDPNSEND_SYNCが設定されてますが
DPNSEND_SYNC=非同期 IDirectPlay8Peer::SendTo 要求を取り消す。
これだけではワカランです
非同期の要求を取り消す=同期させるってとこですか?
何に同期させるのか、同期と非同期が具体的にどう違うのか知ってる方いたら教えてくらはい
0605デフォルトの名無しさん
NGNGありがとうございます。
一応インストールしてみました。
しかし、インストールして実行してみますと、なんか
「オブジェクト参照がオブジェクトインスタンスに設定されていません」
と意味がさっぱり分からない警告が出ます。
教えてくれたことの意味を取り違えていたらすいません。
何かいい本ないでしょうか・・・・。
実はは格闘ゲーム(2D)を作ってみたいのです。
参考になる書籍などを探しているのですが、なかなか見当たりません。
そもそもそういったものはDirectXを使わないでも実現できるものなのでしょうか?
DirectXの概念といいますか、何も分からないもので。
すいません。
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNGそこそこ実用的な速度になったよ。
ただ、同じことをGDI+でやらせようとすると無茶苦茶遅い。
0608605
NGNG使ったほうが、というより勉強した方がっていうのが正しいですけどw
でも・・・まだDirectXのサンプルのコンパイルが通りません・・うるうる(涙
昨日書き込んだ後からもずっと解決策を探していましたが、いまだにできません。
あと書籍のことですが、DirectX関連の本は全部3Dグラフィックばっかりで・・。
自分にはとても・・・・経験足りなくて分からないです。
2D関係のことを解説している本はあるでしょうか?
C++では見つけたような気もしますが、C#が見つからないです。
なにか書籍はあるでしょうか?
またまた申し訳ありませんが、よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています