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
0459デフォルトの名無しさん
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デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNG某MVP大学生も押しているが、イチオシといえばこれしかない。
Managed Directx 9: Kick Start : Graphics and Game Programming
ttp://www.amazon.co.jp/exec/obidos/ASIN/0672325969
なんてたってMDXのAPI設計者自らが書いている点で信頼性大。
ソースコードが歯切れ良く鏤められている点も分かりやすくてよい。
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サンプルからそのままやんか
■ このスレッドは過去ログ倉庫に格納されています