トップページ⇒tech
983コメント280KB

DirectX C# vol.1

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001 NGNG
DirectX9 SDK リリース!
C#での話題をどうぞ。
0933デフォルトの名無しさんNGNG
C♯にDirectXは実装されていない
0934デフォルトの名無しさんNGNG
広辞苑X9.0からC#に対応するらしい
0935デフォルトの名無しさんNGNG
C#に対応するのではなく.NETに対応だろう
なんでこんなに混同君が多いんだ?
0936928NGNG
>>935
そうなんだよ。
なんかわかってるんだかわかってないんだかわからんままだれも突っ込まずに話が続くことが多いんで、
真面目にレスしていいものかどうか悩むんだよ。
0937デフォルトの名無しさんNGNG
もう >>919 なんてなにいってるのかさっぱり。
0938デフォルトの名無しさんNGNG
>C#に対応するのではなく.NETに対応だろう

うむ。.NET対応言語全てからDirectX9は呼び出せるな。
0939デフォルトの名無しさんNGNG
.NETの代名詞ってことで
0940デフォルトの名無しさんNGNG
>>939
.net ≒ C# とでも言いたいのか?
0941デフォルトの名無しさんNGNG
代名詞って…
ちょっと君には早いようだ。
0942デフォルトの名無しさんNGNG
ごめん、.NETって何を指してるの?
0943デフォルトの名無しさんNGNG
何を謝ってるの?
0944デフォルトの名無しさんNGNG
知ってて当然なのかと思い、謙ってみました。
0945デフォルトの名無しさんNGNG
.NETを代表する言語がC#ではないのか?
他にあるならそっち使う
0946デフォルトの名無しさんNGNG
>>945 F#
0947デフォルトの名無しさんNGNG
ありがとうございます
0948919NGNG
.NET全てからDirectXが呼び出せるってぇ建前なのはわかるんだけどさ、
しかしC#とVBはいらないような気がするわけよ。
この辺は揚げ足取りだよな。わかってないと思って突っ込むなよ。
分かってないならこのスレどころかこの板に来ないって。

VBはもともと実行速度重視型の設計じゃなかったし、
C#は現状ではJavaみたいな「中間言語=>仮想マシン」って動きなわけだしさ。
その辺に関して、いずれはCPUごとに最適化がなされるようになるとかいわれてるけど、
むしろそういう環境が整ってから「DirectX対応」だろうって気がする。
最適化が計画倒れになったり、
リリースはされたけど実装した意味が全く感じられないような実行速度とかMSだからありうるし。
またはその辺いじった関係でDirectXの呼び出し方法また変わるとか。
0949デフォルトの名無しさんNGNG
まだ判ってない人がいるな。
.NETの実行環境(CLR)は、中間コードをJITでネイティブコードに
変換して実行する。仮想マシンと言っても、インタプリタじゃない。

確認はしてないけど、実行時CPUに合わせた最適化は、今の
JITでも、ある程度行われている様だ。

実行速度は >924 にもあるし、自分でも計ってみればいい。
0950デフォルトの名無しさんNGNG
>またはその辺いじった関係でDirectXの呼び出し方法また変わるとか。
DirectXのヴァージョンが変われば.NET環境に限らずAPIの使用法は変わりますし、
逆に特定のヴァージョンに定めて書くのであれば呼び出し方法は変わりません。
これはネイティブであろうと、.NETであろうと同じです。
無理な論理を展開する前に、少し頭を冷やしてください。
0951デフォルトの名無しさんNGNG
DirectXからみればVBやC#など必要ないかもしれないが
VBやC#からみればDirectXがないとどうにもならない場面がある
つーかせめて描画速度だけでももうちょっとマシにしてくれ
0952デフォルトの名無しさんNGNG
無益な議論スレになってしまっているわけだが・・・。
0953デフォルトの名無しさんNGNG
で、C#で高速な2D描画って本当にDirectX使うしかないの?
0954デフォルトの名無しさんNGNG
なんなんだこのスレは…
>>951なんかもう…
それとも新手の釣りか?
0955デフォルトの名無しさんNGNG
時間が解決する問題なんだから
0956910NGNG
>>953
グラフィックはともかく、音とジョイパッドは。
0957デフォルトの名無しさんNGNG
Win32APIを使えばすみますね
0958デフォルトの名無しさんNGNG
Win48APIを使いましょう
0959デフォルトの名無しさんNGNG
↑
馬鹿
0960↑↑↑↑↑↑↑↑NGNG
自虐的な奴w
0961デフォルトの名無しさんNGNG
>>902
統合したけど、ヘルプに出てきません。
DirectX8の項目は表示されるのですが・・・。
0962デフォルトの名無しさんNGNG
>>961
フィルタはずしてみて
0963961NGNG
もう一度統合しなおしたら、表示されました。
>>962
ありがとうございます。
0964961NGNG
>>962
確かに「日本語ドキュメント」のフィルタ掛けると消えてしまいますね。
”日本語ドキュメント”なのに、なんでだろう?
0965デフォルトの名無しさんNGNG
日本語ドキュメントのフィルターに含まれてないからですが、
なにか疑問点があるのでしょうか?
0966919NGNG
>>940とか>>950とかさ、ちょっとそこに正座させて小一時間説教くれたいぐらいだ。

俺の言いたいのはそういう屁理屈が返ってくるようなことを言ってるわけじゃいわけ。
そもそもさ、直接実行と間接実行、ワンステップとツーステップって違いがあるでしょうが。
Javaを例に「中間言語=>仮想マシン」と言ったからって、Javaと同じに理解してると勘違いしているのはあなた方。
そうやって他人を貶める発言、2chだとすごい多いけど、ここでは止めてくれませんかね。

例で言ってるってことぐらいわかりそうなもんだが。
字面だけ追って挙げ足とることしか頭にないのかね。
「理解してないわけじゃない」って言ったでしょ!?なのになんでまだ「勘違いしている」と決め付けてかかるかな。
自分がC#をたとえるのに「中間言語=>仮想マシン」と言ったら、
それは何を指して言うと思う?

「初回起動は遅いけど・・・」って話題もこのスレでは既出だしね。
前レス読まずに参加していると思ってるのか?バカにして!!
0967デフォルトの名無しさんNGNG
初回起動速くできねーの?
0968919NGNG
まさにそうなんだ。
話の筋を見れば、俺が「JavaとC#の類似点」をいおうとしているのは誰の目にも明らかだろうに、
こいつらはわざわざ「JavaとC#の相違点」を引き合いに出してきている。

釣りはお前らだろうが!!
0969デフォルトの名無しさんNGNG
(・∀・)イイヨイイヨー
0970デフォルトの名無しさんNGNG
とりあえずDirectXの話でお願いね
0971デフォルトの名無しさんNGNG
MSのサイトで、C#でスキンメッシュアニメーションを表示する
サンプルが公開されている。
0972デフォルトの名無しさんNGNG
>>966
>またはその辺いじった関係でDirectXの呼び出し方法また変わるとか。
これは理解していないということを如実に表しています。
指摘は顕著に受け止めて、何がいけなかったのかよく考えてください。
0973デフォルトの名無しさんNGNG
>>966
言ってることがよくわからん。

>>908で「C#にDirectXがくっつくようになって」とか、
>>919で「C#にDirectXが実装された」とか、「VBだって未だにDirectXに対応していることは疑問視されてる」とか
>>949で「C#とVBはいらない」とかの発言みたら、.NETと言語を混同していると思われても仕方ない。

みんなが指摘してるのは「.NETとプログラミング言語の混同」であって、「JavaとC#の類似点」については言ってない。
もうちょっと落ち着いて読んでよ。

0974デフォルトの名無しさんNGNG
>>924
FPS値の比較でもって同程度と判断するのは早計だろう。

 CPUの処理時間<グラフィックプロセッサ(+ドライバ+DirectX)の処理時間

のときは、CPUの処理時間がいくらだろうが1フレームあたりの処理時間は変わらん。
サンプルプログラムなんてたいした処理してねーし、
ちょっと実際のゲーム向けに複雑な演算組み込んだらガクッと落ちるんじゃねーのか。
0975デフォルトの名無しさんNGNG
で、今後DirectXはGPUでの処理に移行していくわけだが。
0976デフォルトの名無しさんNGNG
全部の処理をGPUに持ってけるわけぢゃあるまい。
0977デフォルトの名無しさんNGNG
GPUがあるならSPUもあるんだろうな
0978デフォルトの名無しさんNGNG
>>974
だからCPU側に多く依存するサンプルはFPSがガクッと落ちているわけだが
0979デフォルトの名無しさんNGNG
適当なところで、次スレよろ。
0980デフォルトの名無しさんNGNG
QuakeII .NET はManaged C++だけど、速度的には
without noticeable performance delays.
と言ってるね。
ttp://www.vertigosoftware.com/Quake2.htm

次スレ立てて見ます。
0981デフォルトの名無しさんNGNG
立てました。

Managed DirectX vol,2
http://pc2.2ch.net/test/read.cgi/tech/1061285378/
0982デフォルトの名無しさんNGNG
サンプルに三角形を描くのがありますが、三角形を2つ書きたい場合どうすればよいのでしょうか?

vertexBuffer = new VertexBuffer(typeof(CustomVertex.TransformedColored), 6, device, 0, CustomVertex.TransformedColored.Format, Pool.Default);
GraphicsStream stm = vertexBuffer.Lock(0, 0, 0);
CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[6];

// 1つめの三角形の頂点
verts[0].X=150;verts[0].Y=50;verts[0].Z=0.0f; verts[0].Rhw=1; verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
verts[1].X=250;verts[1].Y=250;verts[1].Z=0.0f; verts[1].Rhw=1; verts[1].Color = System.Drawing.Color.Brown.ToArgb();
verts[2].X=50;verts[2].Y=250;verts[2].Z=0.0f; verts[2].Rhw=1; verts[2].Color = System.Drawing.Color.LightPink.ToArgb();
// 2つめの三角形の頂点
verts[3].X=350;verts[3].Y=50;verts[3].Z=0.0f; verts[3].Rhw=1; verts[3].Color = System.Drawing.Color.White.ToArgb();
verts[4].X=150;verts[4].Y=50;verts[4].Z=0.0f; verts[4].Rhw=1; verts[4].Color = System.Drawing.Color.Aqua.ToArgb();
verts[5].X=250;verts[5].Y=250;verts[5].Z=0.0f; verts[5].Rhw=1; verts[5].Color = System.Drawing.Color.Brown.ToArgb();

stm.Write(verts);
vertexBuffer.Unlock();

このように書いたのですがだめです。何かアドバイスいただけませんか?
0983デフォルトの名無しさんNGNG
自己レス。
頂点は時計回りじゃないと見えないというのに気づきました。
あとDrawPrimitive()呼び出すの忘れてました。
レス数が950を超えています。1000を超えると書き込みができなくなります。