- PR -

C#から、Direct X は使用可能ですか?

投稿者投稿内容
猫野
会議室デビュー日: 2002/09/04
投稿数: 3
投稿日時: 2002-09-04 11:36
みなさま、初めまして。
これまでは、VisualStudio6.0で、MFCによるWindowsアプリを開発していました。

.NET Frameworkの概要を知り、ガーベジコレクションによるメモリ管理からの解放や、VisualStudio.NETとの連携によるGUI設計の容易さから、.NETプログラミングを始めてみたいと思っているのですが‥‥
VB.NET と、C#.NETと、どちらから手をつけようか、迷っています。

つくろうとしているアプリが、ゲーム開発系なので、3D表示や、スプライト表示をするため、DirectXも使いたいのです。
「DirectX + VB.NET ではじめるゲームプログラミング」という書籍を読んで、VisualBasicから直接DirectXを扱えることがわかったので、VB.NETから始めようかとも思ったのですが、 私はVisualBasicについての開発経験が皆無で、一番習熟しているのがC++なので、C#.NETが一番とっつきやすいのではないかとも思い‥‥

C#.NETからDirect Xが使えれば、迷うことなくC#の学習から始めたいのですが、C#.NETからDirect Xが使えるかどうかを調べてもどうしてもわからず、困ってしまいました。

御存じのかたがいらっしゃいましたら、教えて下さい。
よろしくお願いいたします(*- -)(*_ _)ペコリ


[ メッセージ編集済み 編集者: 猫野 編集日時 2002-09-04 11:42 ]
だいぼう
会議室デビュー日: 2002/07/24
投稿数: 9
投稿日時: 2002-09-04 12:17
C#から直接DirectXを操作するというものではないのですが,C++.NETを用いてDirectXのクラスライブラリを作成し,それをC#から利用する方法を紹介しているサイトがありますので,そちらが参考になるのではないかと思います.
http://sunlightd.virtualave.net/Windows/DirectX.NET/
猫野
会議室デビュー日: 2002/09/04
投稿数: 3
投稿日時: 2002-09-04 18:01
だいぼうさん、どうもありがとうございます。

なるほど、ということは、やはり、現在のところ、C#.NET用のDirectXライブラリはないのですね。

うーん・・・私の場合、今すぐ始めるとしたら、VB.NETから手をつけるのが一番のようです。

DirectX 9 が10月にリリースされるとのことですが、DirectX 9 ではどうなんでしょう?
.NET Framework 言語用のライブラリがあればいいんですが。
yasuda
会議室デビュー日: 2002/02/18
投稿数: 7
投稿日時: 2002-09-04 20:47
ぼくはDirectX8とVB.NETのプログラムを作っています。

C#からDirectXを利用する方法は、VB.NETといっしょで、DirectXのVB用COMライブラリを、
tlbimp.exeを使ってアセンブリに変換して使うというものです。

ですから、既刊のDirectX+VB.NET本の内容は参考になると思います。
あとはVB.NETのステートメントをC#のものに変えるだけですみます。

http://popup.tok2.com/home/ryza/csharp/

に、C#でDirectX8のコードが見れますので参考になるでしょう。

ちなみにDirectX7はどうか知りませんが、DirectX8の場合、一部の
メソッドに、引数に”構造体の配列を含む構造体”を渡すものがあって、
そのまま使おうとすると、コンパイルはできるのですが
実行時にTypeLoadExceptionがでてマーシャリングができないと
言われたりします。
また、Any型を引数に持つメソッドは、アセンブリを生成するときに
IntPtr型に変換されるので、ObjectからIntPtrを取得するちょっとした
テクニックを必要としたりします。

いまの.NETでDirectXを使うのは、結構つらいです。

DirectX9では.NET環境にやさしくなるという噂もあるので、
これを待つのが利口のようです。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-09-04 21:13
DevhoodというフォーラムでDirectX 9の開発者と名乗る人によると、DirectX 9 では.NETをフルサポートするそうです。

WebアプリでもDirectXを使えるようにするとのことで、オンラインゲームなんかでは役に立つかも。

引用:

Brandon Bloom
snprbob@optonline.net

Actually I am on the DirectX9 beta team. Although nothing has been released to us yet, we have been told that DirectX 9 will have full support for the .NET platform. So as far as I know, yes you will be able to code DirectX applications in C# and even be able to use it in web development.

4/18/2002

yasuda
会議室デビュー日: 2002/02/18
投稿数: 7
投稿日時: 2002-09-05 01:34
VB.NET & DirectX8で作ったサンプルをC#に移植してみました。
VB.NETよりもC#のほうが大変かも。

参考にどうぞ。
http://www.ecs.cst.nihon-u.ac.jp/~yasu/csharp/

DirectX9は、Webアプリからも使えるんですか。すごいですね。
早く使ってみたいなあ。
猫野
会議室デビュー日: 2002/09/04
投稿数: 3
投稿日時: 2002-09-06 09:52
yasudaさん、H2さん、どうもありがとうございます。

現在でも、苦労すればC#.NETでもDirectX8.1は使えるし、DirectX9がリリースされれば、.NET環境からより使いやすくなるということですね(^-^)

これで、迷わず、C#.NETの学習から始められます。
ありがとうございました(T.T)感涙
yasuda
会議室デビュー日: 2002/02/18
投稿数: 7
投稿日時: 2003-08-23 20:04
VB.NETからDirectX9を使い、ネットワークゲームを作ろう!という本を書きました。

http://pc.bookmall.co.jp/search/info.php?Code=38130

3DCG、ネットワークの基礎からしっかり学べる内容です。筆者入魂の一冊です。
ぜひ中身を覗いてみてくださいませ。

スキルアップ/キャリアアップ(JOB@IT)