【C#】 Managed DirectX 【.NET】

■ このスレッドは過去ログ倉庫に格納されています
2007/11/15(木) 23:20:19ID:3rb4ETPe
ここは とある スレッド
人気の 言語は C# …

びじゅあるすたぢおつかうと
めんどうなぷろぐらむもかんたんにできるよ!

という訳で、Managed DirectXについて語るべし。
話題を無理やり作ってでも語るべし。

DirectX Developer Center - Microsoft DirectX SDK ダウンロード
ttp://www.microsoft.com/japan/msdn/directx/downloads.aspx
2007/11/15(木) 23:27:54ID:feCDRn/m
初心者ですが3DCGのモデラー作ります。
http://pc11.2ch.net/test/read.cgi/tech/1195130143/
3名前は開発中のものです。
垢版 |
2007/11/15(木) 23:29:27ID:TN3OsQDp
XNAとどう違うのん?
2007/11/17(土) 05:58:20ID:XyIQannM
無いと思っていたら、よくぞ立ててくれたな。

だがわだいはまだない
2007/11/17(土) 10:45:01ID:+zLpfEQW
http://pc11.2ch.net/test/read.cgi/gamedev/1017164698/
ここでやるんじゃなかったの?
結局そこでも盛り上がらなかったし話題も提供できないってのは
2007/11/18(日) 00:33:40ID:HIqrCwvR
個人で書かれたドキュメントもあんまりないんだよな。
知名度自体無さそうだ
2007/11/19(月) 23:19:14ID:paSZs/3x
C#(笑
2007/11/22(木) 23:44:10ID:149fPUF2
C#は別に問題無いだろ。
2007/11/23(金) 04:30:49ID:7/VeMxpE
今時、C#はねーわ。
2007/11/23(金) 09:16:10ID:gtn2VkaU
C#よりも今時のゲーム製作に適した言語ってなに?
C++/CLIか?使ったこと無いけど。
2007/11/23(金) 15:28:59ID:7/VeMxpE
ファビョりすぎてワロス。一生気付かなくていいよ。
12名前は開発中のものです。
垢版 |
2007/11/25(日) 21:04:51ID:hEqezQI1
C++と比べてC#はどんくらい遅いの?
13名前は開発中のものです。
垢版 |
2007/11/25(日) 21:08:33ID:OiLlykW8
0.9倍くらい
2007/11/25(日) 23:17:09ID:3TDei+Hd
0.9倍遅いということは1.11111…速いということになるが、お前の頭は大丈夫か?
2007/11/26(月) 01:16:10ID:bkGdd+aA
C#で開発してるけど、コードが書きやすくて個人的には楽。
16名前は開発中のものです。
垢版 |
2007/11/26(月) 20:40:20ID:ZRVyv466
c++で作ってたら
あまりの手間に「俺、なんでこんなことやってるんだろう」ってむなしさをかんじ
C#に戻りました
2007/11/26(月) 22:53:12ID:63nf71Xk
DXSDKの2007年11月号には付録のマネージドサンプルが付いてないから注意だ!
2007/12/07(金) 01:11:38ID:jcOQV2JU
床ポリゴンの任意のXZ座標に於けるY座標やポリゴンの角度を知りたいのだけど、どうすればいいのだろう。
2007/12/19(水) 22:29:14ID:AqmW6PFU
http://slimdx.mdxinfo.com/wiki/index.php?title=Main_Page
これ面白そう
2007/12/19(水) 22:50:08ID:dB9KcL4v
面白そう!
英語わかんないけどサンプルやってみるぜ
とりあえず最新(Nov 2007)のDirectXじゃないと動かないみたいね
2007/12/20(木) 23:02:30ID:S+K0iauN
使ってみたんだけど深いことやらないから今までと何も変わらないなw
2007/12/22(土) 19:35:59ID:BaXpb+cR
黒歴史
2007/12/22(土) 21:32:45ID:Q8y5bXGo
kwsk
2007/12/23(日) 22:53:03ID:eWqzl+5r
質問というかなんと言うか。
事の始めは30fpsの場合なら描画に関するメソッドをふっ飛ばせばいいやと記述したところから気づいたのですが。

通常の2サーフェイス、垂直同期した設定のデバイスで全体のwhileループ毎に1回Presentします。
このループ内で、2回に1回だけClear、BeginScene、(色々)、EndSceneの一連の描画メソッド群を呼ぶよう記述したところ、
フルスクリーンでは画面が点滅したのに対し、ウィンドウではしっかりと表示されました。
フルスクリーンで起きたことを疑問に思いフリップなどの原理を読んだところ、むしろウィンドウモードで起きていることが変なのだとわかりました。

ウィンドウモードでは何が起きているのでしょうか?
2008/01/22(火) 14:20:13ID:kj45DG06
>>17
これはどうしてなんだろう
MicrosoftがC#を見限ったのかと思ったぞ
2008/01/22(火) 22:02:55ID:8gcJArob
C#はともかくMDXはとっくに見限られてるぞ
2008/01/22(火) 22:16:23ID:mIN1xXx0
今は有志が.NETからDirectXを使えるようにラッピングしてるSlimDXがいいのかな?
2008/01/22(火) 22:34:41ID:8gcJArob
SlimDXいいよ
こんなのが欲しかった
2008/01/22(火) 23:44:28ID:OrSIT/oL
いつだったかMS社員のブログでもちょっとだけ紹介されてたな
30名前は開発中のものです。
垢版 |
2008/01/30(水) 21:45:52ID:iUjGqxVR
3dCGツールみたいなのを簡単に作れるかと思って
C#で作ってるんだけど、画面自体はpictureboxに描いて
操作はボタンとかtabとかで選ぶようにしたんだが

pictureboxにレンダリングするとボタンとかの表示が更新されない
どうやってすればいいの?
2008/01/30(水) 22:33:39ID:Vu+T9uqW
普通に作ったらそんなことにはならない
2008/01/30(水) 23:53:28ID:iUjGqxVR
そうなのか、でも何とかできたよ。ありがと
2008/01/31(木) 05:57:44ID:0wzNWR1X
Mesh.Intersectを使ってIntersectInformationに情報を得たのだが、これを使って三角形の各頂点の座標とかわかるのかな。
FaceIndexを使えばなんとかなりそうな気もしたけど、調べても使い方がよくわからない。
34名前は開発中のものです。
垢版 |
2008/01/31(木) 22:28:59ID:rtDfFv3X
>3dCGツールみたいなのを簡単に作れるかと思って

この無謀さがたまらんわ。  このまま突き抜けて欲しい。
35名前は開発中のものです。
垢版 |
2008/02/03(日) 18:15:34ID:FshDN9yL
3dcgツールって独自規格なのか
36名前は開発中のものです。
垢版 |
2008/02/11(月) 09:09:17ID:4x3go5rA
もっと基本的なC#で2D製作のスレはありませんか?
もしくはC#でゲーム製作に必要なウェブページとか書籍とか紹介していただけませんか?

スレ違いかもしれませんが、よろしくお願いいたします
2008/02/11(月) 11:53:05ID:dALXccIV
マイナーな道だという自覚を持つべき
C++は読めないとしんどい
2008/02/11(月) 14:21:36ID:bcQUmMw2
>>36
うちも四角形専門で、最近C#+MDXに手を出したんですが
結局は SDK に付属のサンプルフレームワークを読み解くのがベストでした。
2008/02/11(月) 21:40:37ID:dSQSXNFn
四角形専門カコイイ
2008/02/21(木) 02:41:30ID:lm7aERjC
VisualStudio2008でMDX使える?
切捨てでxnaとかに移行するの?
2008/02/21(木) 02:52:28ID:zjBQ9W6R
>40
使える
xnaはあれはあれで癖があるのでケース倍ケース
IME系弄ろうとしたらしんどかった>xna
42名前は開発中のものです。
垢版 |
2008/02/29(金) 19:25:31ID:0VghpvKE
MDXでやるくらいならJAVA3Dの方がマシ
2008/02/29(金) 19:40:41ID:wecGO7bd
さすがにVector型使うのにGCを気にしたくないわ
4443
垢版 |
2008/02/29(金) 19:42:20ID:wecGO7bd
誤解されそうなので補足
コレクションじゃなくてベクトル型のことだよもちろん
2008/03/01(土) 21:06:15ID:ESvEWD62
C#ではスタックに積まれることが想定できるStructな構造体なんだっけ?
2008/03/01(土) 21:06:41ID:ESvEWD62
Structなっていうか、
静的な構造体だ・・・
47名前は開発中のものです。
垢版 |
2008/03/19(水) 16:26:58ID:Ec0sfVVS
C#コード書きやすいよね。
俺は同じシューティングゲームをHSP→C++→C#で作ったけど、
美しさで言えばC#が一番上だね。まぁC++でもコーディングが
悪かっただけかもしれないが…。でもC++のテンプレート機能
は使えるな。同じ機能のクラスを重複して書く必要ないし。
C#はそこをなんとかジェネリックで解決してくれればなぁ。
まぁクラスの複数継承ができればもっといいが…
あれってなんでできないんだろ?しないだけなのか?
2008/03/19(水) 18:35:37ID:0rFFHEMG
多重継承は問題が多いから捨てた
C#3.0では拡張メソッド使ってそれっぽいことできるよ
2008/03/20(木) 07:59:22ID:E1EG3/QX
基本的にインターフェースで解決しろ、って姿勢だからな
ベクトルが若干違うが、デリゲートって方法も一応あり

てか、多重継承って使ったことないんだが、あれってどう必要なの?
2008/03/20(木) 13:12:06ID:nrHqDN6V
現状のインタフェースへの不満といえば、

・インタフェースに対して基本的な実装クラスが一つしかない場合、
委譲メソッドを長々と書くのが面倒。見る価値の無いコードが増える。

・クラスとインタフェースが別の定義と分かれているせいで、
やろうと思わなければインタフェース化されないことが多く、
既にライブラリ化されたクラス等を継承して拡張したい場合に
インタフェースが提供されておらず拡張出来ないことが多い。

だからさ俺は、クラス定義のメンバ毎にinterface修飾子を
付与出来るようにすれば、クラスとインタフェースを同時に考えるようになって良いと思うわけよ。
んで使う側ではJavaのようにextendsとimplementsで分けてだな、
同じクラス名から、クラス継承とインタフェース継承を自動的に分離して解釈するわけ。
こうすりゃインタフェース名の先頭につけるIとかもなくなってスッキリだろ。
2008/03/21(金) 15:09:26ID:/r8MUiUL
個人的にはインターフェース好きなんだけどなぁ・・・
なんつーかインターフェースの場合は継承と違って、これ絶対多態性使うかんな!っていう意気ごみがある。
I○○って言う型の変数があれば、絶対何かを管理していると言うかなんと言うか。そういう安心感。
2008/03/21(金) 16:34:39ID:Bb9p5f+c
interfaceは実装を持てないから
結局、まったく同じ処理なのにプロパティやメソッドの本体を各所に書く必要がある。
2008/03/21(金) 16:35:21ID:+eVwtV9C
実装を持たないことに意味があるんだろ
2008/03/21(金) 19:25:23ID:azh28qOl
多重継承最強と
2008/03/21(金) 23:24:30ID:yoX8gI/6
使い手によるわな
2008/03/22(土) 21:23:57ID:vAXUOOot
見る価値のないコードが増えるぐらいどーって事もないが
見る価値のないソースを作っているほうが大問題
2008/03/22(土) 22:41:37ID:xghn2l3z
見る価値のないコード ⊆ 見る価値のないソース
2008/03/25(火) 16:12:46ID:dO0zbCK8
Cutting Edge DX9のアニメーションメッシュを参考にコード書いてるんだけど、
末端のフレームに兄弟フレームがあった場合どうなるん?
2008/03/25(火) 20:48:15ID:dO0zbCK8
すまん勘違いだった。
60名前は開発中のものです。
垢版 |
2008/03/26(水) 02:41:53ID:5YA6TDpT
>interfaceは実装を持てないから
>結局、まったく同じ処理なのにプロパティやメソッドの本体を各所に書く必要がある。

同意。
複数継承できないことの解決になってない。
61名前は開発中のものです。
垢版 |
2008/03/26(水) 11:48:39ID:Na6PWth9
まて、変数メンバとして基本クラスにしたかったクラスのインスタンスを持つのじゃ無理な話なのかそれ
それに3.0なら拡張メソッドとか言うびっくりな文法も存在するからそこら辺で代用できるでしょ。
2008/03/26(水) 11:49:09ID:Na6PWth9
あばばば、あげてしまった
2008/03/26(水) 12:56:02ID:TCtOpY+/
static class Hogeable {
 public interface IHogeable { Hogeable.HogeableObject HogeableObject { get; } }
 public class HogeableObject { public int Value { get; set; } }
 public static void Hoge(this IHogeable hoge) {
  hoge.HogeableObject.Value += 1;
  Console.WriteLine(hoge.HogeableObject.Value);
 }
}
class MyClass : MyBaseClass, Hogeable.IHogeable {
 private Hogeable.HogeableObject hogeableObject = new Hogeable.HogeableObject();
 Hogeable.HogeableObject Hogeable.IHogeable.HogeableObject { get { return hogeableObject; } }
}
//MyClass obj = new MyClass(); for (i=0;i<10;i++)obj.Hoge();
こうすればインスタンスフィールドも持てるんじゃね
2008/03/26(水) 13:50:23ID:Na6PWth9
流石に面倒すぎやしないかw
まあusing2つ追加すればHogeableは消せるから使用側は割と楽だけど。
65名前は開発中のものです。
垢版 |
2008/03/27(木) 02:42:43ID:1iqAdxC6
あれ、結局何がしたいんだ?

MyClassにフィールド追加してるんだったら
直接持ちたい機能を持ってるクラスをフィールドに追加
すればいい話でしょ。

拡張メソッドとか使用したところでオブジェクト生成して
使う側には便利だけど継承側はthisで参照できないからメリットないし

6665=60=47
垢版 |
2008/03/27(木) 09:54:55ID:/nFHNp1Z
>>63
それを避けたいから複数継承したいだけだよ
6766
垢版 |
2008/03/27(木) 09:56:00ID:/nFHNp1Z
間違った
>>61
2008/03/27(木) 14:33:18ID:3wRGum5F
>>63はただの冗談だよw
なんでそんなに継承したいの?
わざわざインターフェイス実装しなくても包含してプロパティで公開すれば済む話でしょ
ところで,thisで拡張メソッドは呼び出せるよ(thisを付けなければ呼び出せない)
6968
垢版 |
2008/03/27(木) 23:31:23ID:d3W1Wa7a
冗談てw

ただ単にプロパティとか書かなくていいから継承したい
てか継承したいのはインターフェイスとは言ってないのだが
インターフェイスなら意味ないからクラスを複数継承したいと

あ、呼び出せるんだ。じゃあ便利だね
70名前は開発中のものです。
垢版 |
2008/06/09(月) 11:07:44ID:hPaVQxMn
http://pc11.2ch.net/test/read.cgi/tech/1212972014/
71名前は開発中のものです。
垢版 |
2008/07/07(月) 17:38:43ID:tUV9S/d8
シャドウマップ用にテクスチャをつくりたいのですが
CreateTextureのような関数はないのでしょうか?
7271
垢版 |
2008/07/07(月) 18:39:04ID:tUV9S/d8
自己解決しました
2008/07/27(日) 21:14:59ID:xK0YwJIG
vista bus spなし .NET3.5

DirectXのSDKを複数入れてたんだが、
整理目的でアンインストールしたらManaged DirectX使ったプログラムが動かなくなっちゃった
DLLなくなってないし、コンパイル通るのにな・・・
■ このスレッドは過去ログ倉庫に格納されています