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
0407デフォルトの名無しさん
NGNG自分で作ったフォントをインストールさせずにDirectFontで使用する事はできますか?
0408デフォルトの名無しさん
NGNG印刷業界を崩すために98年MicroSoftが放つとどめの一撃。
AdobeのAcrobat実用段階システムにしてMSでDirectFontと呼ばれていたプロジェクトって何ですか?
0409駄目PG
NGNG構造体の中に配列すら単純に記章できないのでしょうかorz..
サンプル見てもc#の得意な事ばかり強調されているけど、C++からの移植について
ベーシックな部分を説明しているところがない...
構造体にコンストラクタって(もちろん便利ではあるのだけど)
構造体のポインタをファイル関数に渡して、メモリイメージを保存したい。
そんな場合には、無用な機能だし
誰か明快なお答えをorz..
#define wm_mycommand = 1111;
Cでかかれているこんな定義は何処ですればいいのだろう。
0410デフォルトの名無しさん
NGNGこちらで聞いてみれば?
ttp://pc5.2ch.net/test/read.cgi/tech/1062421817/l50
0411デフォルトの名無しさん
NGNGttp://pc5.2ch.net/test/read.cgi/tech/1087297504/l50
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGその書き方はC#側と同じになる訳なんだが。
つまりC#以前にCが理解できていないということなのだから、
まともに移植など出来ようはずがない。
0414デフォルトの名無しさん
NGNG0415414
NGNGpublic const int wm_mycommand = 1111;
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGhttp://www.kohgakusha.co.jp/books/detail/4-87593-419-X
http://www.kohgakusha.co.jp/books/detail/4-87593-437-8
http://www.kohgakusha.co.jp/books/detail/4-7775-1043-3
0418デフォルトの名無しさん
NGNGバカには参考になるんじゃないの
0419デフォルトの名無しさん
NGNGそれが理解できないお前は何者なんだろうな。
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG0422駄目PG
NGNGすみません
ネームスペースの外に宣言できますか?
でなければクラスの外に宣言できますか?
クラス内でしか宣言できないとなると
クラスで使用したい構造体の為の宣言が出来ないのですがorz...
0423デフォルトの名無しさん
NGNGあのさ(←書き方が乱暴で悪いけど)、世の中には C# で必要な struct を定義して
Win32 API を読んだり、あるいは単に C# で struct を使ったりしてる例が山ほどあるでそ。
喪前のやろうとしていることは、どれほど「特別な」ことなんだ?
誰でも当たり前のように出来るのに、422には出来ない、という場合には、
「できますか?」って質問するんじゃなくて、何をやろうとしているのかを具体的に書いて、
「やり方を教えてください」って頼んだ方が良いと思う。
0424デフォルトの名無しさん
NGNG「できますか?」って質問に対しては、
単純に
「できます」
「できません」
って答えてあげればいい
0425デフォルトの名無しさん
NGNG0426潜伏していた1
NGNGこうするんです
public class ConstValueList
{
public const int a ;
}
class Hoge2
{
void func() { System.Console.WriteLine( "{0}" , ConstValueList.a ) ; }
}
C++と違いconst はクラスのメンバであってインスタンスのメンバーではありません。
文法こそC++と似ていますが、中身は似ても似つきません。
なので、グダグタ言わず色々試してみるべし。
もう一つ、構造体の中身を書き出すのは、ISerializable を使うのがC#流のようです。
あんまり良く分かっていないのですが、こうする事でファイルを仲介してprivateメンバへの
アクセスを防止してセキュアなアプリを構築しやすくなっているようです。
また簡単にXMLとして保存もできるようになります。
ちなみに、直接バイナリで保存できる方法があったら、誰か教えてください、僕も知りたいです。
0427デフォルトの名無しさん
NGNG初めてDirecTXにふれるなら参考になるはず。
俺はその系統のDirectX8のヤツ買ったけどかなり役に立ったよ。
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGなぜわざわざC#でやりたいんだろうか・・・。
C++で無難にやったほうが
情報量も多いし、パフォーマンスもいいのに。
0431デフォルトの名無しさん
NGNG開発時間が圧倒的に短いから。
> 情報量も多いし、パフォーマンスもいいのに。
Managedによるパフォーマンスの低下は約一割。
ケース倍ケースだが、C#を選ぶ理由は充分にある。
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGSDKのサンプルを見る限りは、軒並み一割どころではない差が付いているが、
何をもって一割なんだか意味不明。
0434デフォルトの名無しさん
NGNGC++からの移行だとそうでもないよ、もともとDirectXはC++を想定して作られているので
C#のクラスとして考えるとやり方のキテレツな方法が仕様中に詰まってます。
メモリーの構造がイメージできないと理解に苦しむような仕様があります。
パフォーマンスもかなりトリッキーな事をしないと一割は難しい。
誇大広告は鵜呑みにするべからず。
それでもGDI+よりかなり面白い事ができるので、気に入ってはいますけど・・・
0435anonymous
NGNG使用するポート、プロトコルについて
調べるソフトウエア または、方法はないでしょうか?
0436デフォルトの名無しさん
NGNGEthereal
0437デフォルトの名無しさん
NGNGメモリ管理がらくでわかりにくいバグがでないからだと
>434
CustomVertexのこと?
もっとましなインターフェイスにしてほしいよ。
0438デフォルトの名無しさん
NGNGcsc /lib:"e:\windows\microsoft.net\managed directx\v9.00.1126"
/r:Microsoft.DirectX.dll *.cs
とかやってもだめです。
0439デフォルトの名無しさん
NGNGそもそも言語側でメモリ管理をしなきゃならんってのが今となっては前時代的だしなぁ。
0440デフォルトの名無しさん
NGNGそれじゃC#はもろに前時代的な言語だな。
0441デフォルトの名無しさん
NGNG煽りは死滅スレでやってね、くだらない質問で埋め尽くされるのは、このスレの意義があったと言えるが
キチガイ発言で埋め尽くされるのはゴメンだよ。
0442デフォルトの名無しさん
NGNGそりゃあーたC/C++じゃねーのか?
>>441
スマソ、でもこれだけは言って置きたかった。
0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNG微妙に変わっているのね。
0445デフォルトの名無しさん
NGNGとてもとても前時代的ですね。
0446デフォルトの名無しさん
NGNGよそへ逝け
0447デフォルトの名無しさん
NGNGどんな最先端OSを使っているのか興味津々。
0448デフォルトの名無しさん
NGNG勝手に開放されないように明示的設定をする必要があったりと、
気を抜ける場所ではありません。
0449デフォルトの名無しさん
NGNG機械的な作業まで人間様が面倒見なならんってのはなぁ。
0450デフォルトの名無しさん
NGNG氏ねキチガイ
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNGアカデミックならゴミみたいな値段で買えるし。
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNGそーゆーのは余計なお世話ってやつじゃない
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNGMSのフォーラムによれば2002ならウィザードが出来るはずなんですが。
0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG激しく混乱している予感
0460デフォルトの名無しさん
NGNG機械的な作業でお金貰ってたら人間として恥ずかしいだろ。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG>>457
>>459のとおり、ちゃんと双方のバージョン見直した方がいいと思う。
0464デフォルトの名無しさん
NGNG俺はこんな感じでやってる。こんなんでいいのかは知らんが。
sc /nologo /target:winexe /out:xxx.exe /optimize /win32icon:icon\xxx.ico /lib:C:\WINNT\assembly\GAC
/r:Microsoft.DirectX\1.0.900.0__31bf3856ad364e35\Microsoft.DirectX.dll;Microsoft.DirectX.Direct3D\1.0.900.0__31bf3856ad364e35\Microsoft.DirectX.Direct3D.dll;
Microsoft.DirectX.Direct3DX\1.0.900.0__31bf3856ad364e35\Microsoft.DirectX.Direct3DX.dll;Microsoft.DirectX.DirectInput\1.0.900.0__31bf3856ad364e35\Microsoft.DirectX.DirectInput.dll source\*.cs
0465デフォルトの名無しさん
NGNGみなさんすいません。
0466デフォルトの名無しさん
NGNG今日はもうだめぽ。
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNGモチュチケ
0469デフォルトの名無しさん
NGNGごめんね。
0470デフォルトの名無しさん
NGNGこんな感じのテクスチャを用意しておいて、
スプライト描画するときに回転させて描画(←とか↑とか)させたいんですが
どうやったらできるでしょうか?
Sprite.Draw2D()に回転角を引数に取るものがあったのですが、
説明が少なくてよくわかりませんでした。
(全体が回転する?)
0472デフォルトの名無しさん
NGNG俺も2004summerを入れたけど、ウィザードできなかった。
VisualStudioのバージョンは2003。
theSpokeのやつ。
VisualStudio2003じゃウィザードでないですか?!
激しい既出の質問ですが、答えらしい答えは無かったような気がします。
どなたか分かる方いたら、教えてください!
おねがいしゃす!おねがいしゃす!
0473デフォルトの名無しさん
NGNG代わりにGUIも使える新しいフレームワークのサンプルが、
EmptyProjectとしてサンプルブラウザからインストール出来る。
これFAQになりそうだ。
0475デフォルトの名無しさん
NGNGつーコトは、VC#以外の開発環境(ボーランドの奴とか#D)でもサクッと作れるように
なったのか。ヒャッホウ!
0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNG他にも連載してるとこある?
Cマガで2回ほど特集してるのは持ってるんだけど
0479デフォルトの名無しさん
NGNGアバンジェリスト川西さん期待age。
Cマガでやってた特集はどれも糞。
連載は他にはやってないんじゃないかなあ。
0480デフォルトの名無しさん
NGNG1. Summer2004にウィザードは含まれないため、まずDX9SDK Summer2003を入れておく。
2. DX9SDK Summer2004を入れる。
3. ウィザードのテンプレートファイルを修正する。
具体的には [VS.NET2003をインストールしたディレクトリ]\VC#\VC#Wizards\Mdx9AppWizard\Templates\1033\
例えば C:\Program Files\Microsoft Visual Studio .NET 2003\VC#\VC#Wizards\Mdx9AppWizard\Templates\1033\
3.1 ファイル:D3DBlank.cs
219行:
Color.White.ToArgb()
-> Color.White
3.2 ファイル:D3DApp.cs
61行:
RenderStates
->RenderStateManager
62行:
SamplerStates
-> SamplerStateManagerCollection
63行:
TextureStates
-> TextureStateManagerCollection
つづく。
0481デフォルトの名無しさん
NGNG3.3 ファイル:D3DFont
40行:
TextureState
-> TextureStateManager
41行:
TextureState
-> TextureStateManager
42行:
Sampler
-> SamplerStateManager
43行:
RenderStates
-> RenderStateManager
3.4 ファイル:D3DUtil.cs
925行:
RenderStates
-> RenderStateManager
3.5 ファイル:D3DEnumeration.cs
379行:
ref qualityLevels
-> out qualityLevels
4. ウィザードからプロジェクト作成して、DirectX系の参照が
バージョン1.0.2902.0(Summer2004)になっていることを確認しつつコンパイル。
5. 嘘ついてたらごめんょ。
0482デフォルトの名無しさん
NGNGウィンドウのサイズが変更されたときに、サーフェスのサイズを変更するにはどうしたらいいんでしょうか?
プロパティやメソッドの一覧を見ても、サイズを変更する方法が見つかりません・・・
0483デフォルトの名無しさん
NGNG{
image.Dispose();
image = new Bitmap(ClientSize.Width, ClientSize.Height);
}
0484デフォルトの名無しさん
NGNGなんかオーバーヘッドがでかそう。
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNGC++ だとどうやるんですか。参考までに。
0487デフォルトの名無しさん
NGNGJava だとどうやるんですか。参考までに。
0488デフォルトの名無しさん
NGNGbackSurface.SurfaceDescription.Width
backSurface.SurfaceDescription.Height
0489デフォルトの名無しさん
NGNGそもそも、フレームバッファをウィンドウフレームのサイズに拡大縮小してBlitしているだけで(CViewが勝手にやってくれるんだと思う)、
クライアントエリアの大きさが変更されても、実際にフレームバッファ(フロント・バック・Z・ステンシル等)のサイズが変更されるわけじゃないよ。
だから、320x240のフレームバッファを1024x768のウィンドウフレームに表示してくれるしその逆もある。
0490デフォルトの名無しさん
NGNGなぜ突然行うことが前提で話し出す馬鹿が出現するんだろう?
0491デフォルトの名無しさん
NGNG>だから、320x240のフレームバッファを1024x768のウィンドウフレームに表示してくれるしその逆もある。
主観だけど、そんなゲームやりたくないし、作りたくないよ。っていうか、482で明確に
>ウィンドウのクライアント領域と同じ大きさのバックバッファサーフェスを作ったんですけど、
って書いてるから、今話してるプログラムはそういうタイプのものでは無いと思う。
0492デフォルトの名無しさん
NGNGおまえこそなんか勘違いしている。
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGどう勘違いしてるの?参考までに。
0495デフォルトの名無しさん
NGNG何がわからないの。参考までニヒヒ。
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG何故かdeviceのSetEventNotificationで設定したイベントが
飛んでこない。
サンプルと同じようにやってるのに何故だorz
0500デフォルトの名無しさん
NGNGサンプルが普通に動いてるなら
おまいのコードが悪いってことに
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNG> DirectX 9.0 Update (Summer 2003) では、GetTrackAnimationSet メソッドがその機能を持っています。
> 逆に言うと、このリリースの GetTrackAnimationSet は正しく実装されていません。
> これは修正される予定なので、このコードは将来のバージョンでは正しく動作しません。
> GetAnimationSet メソッドを使ったコードをコメントアウトしていますので、正しく修正されたリリースではそちらを使ってください。
2004夏ではこのバグ(?)は修正されていますでしょうか。
落とされた方教えて下さい。
0504デフォルトの名無しさん
NGNG大量のnew→disposeの繰り返しは厳しすぎる。
まぁゲームは基本的にスタンドアロンだから開始前に大量にメモリ確保しても問題ないか。
いちいち事あるごとにnewなんてしてられないしね。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています