トップページ⇒tech
1001コメント303KB

C#でDirectX9 初心者の館

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Windows Longhorn でGDIに取って代わって標準になりそうなDirectX9ですが
GDIと違ってドキュメントも難解で何をすれば描画できるのかさっぱりさっぱりなライブラリです。
その上知っている人はレベルが高すぎて聞いても宇宙語でしす(泣
そんなDirectX9を将来に備えて勉強してみようというスレです。
Microsoftの掲示板
http://www.gdncom.jp/general/bbs/ShowForum.aspx?ForumID=29
SDKをダウンロードできるところ
http://www.microsoft.com/japan/msdn/directx/downloads.asp#CDasp#CD
0260デフォルトの名無しさんNGNG
くだらん論議してるときは盛り上がるのに
質問でるととたんに静かになるんやね
>>258はそのくらい自分で調べろとか言われちゃうんだろうね
0261デフォルトの名無しさんNGNG
>>259
ためしにテクスチャ張って数値をいろいろ弄ってみたらワカッターよ
テクスチャを張ってから数値変更すると設定した数値ぶん、テクスチャが歪むのね
0262デフォルトの名無しさんNGNG
メディアプレイヤーのようにフォームの一部分にDirectXの画面を表示させたいのですが
C#で可能でしょうか?
0263デフォルトの名無しさんNGNG
可能
0264デフォルトの名無しさんNGNG
>フォームの一部分にDirectXの画面を表示させたいのですが
フォームに絵boxを配置して
Deviceの引数に絵boxを指定してもダメポだったよ
どうやって遣るんだかワカンネ
誰か教えれ
0265デフォルトの名無しさんNGNG
デバイスに指定するのはトップフレームであって表示する場所ではない。
ただそこがデフォルトになるだけの話。
描画先のウインドウを指定するのは描画する時点で、指定しなければデフォルトが適用されるだけ。
少しはメソッドのヘルプを読め。
0266デフォルトの名無しさんNGNG
>>264
Rectangle reg = new Rectangle();
reg.X=100;
reg.Y=100;
reg.Width=200;
reg.Height=200;
device.Present(reg,null,false);

>>265
最後の一行が余計杉
どいつもこいつもヘルプヘルプうぜーんだよ
ヘルスにでもいってこいや
0267デフォルトの名無しさんNGNG
>>266
トンクス!!
0268デフォルトの名無しさんNGNG
UNIX系やMacで動く、フリーの.NET動作環境なんてあったんだね。
既にほとんどの標準クラスが動くようになっているそうなので、Managed DirectXも
移植されれば相当面白いことになりそうな気がする。

0269デフォルトの名無しさんNGNG
GUI部分が移植されていないのに、DirectXなんて無理に決まってるだろう。
何でおまえみたいな頭の悪い奴が存在するのか、理解に苦しむ。
0270デフォルトの名無しさんNGNG
Windows Formを作っているプロジェクトの存在をご存じないのか269は。
0271デフォルトの名無しさんNGNG
マイケルソフトはja●aみたいに
他OSでも.net環境を整えたいと思ってるんだから
生暖かく見守ってればいいんだよバカチン

そしてここでは Win + C#.net + DirectX の話をしてればそれでいいじゃないか
.net環境の話は終了 続きは他で殺れ
0272デフォルトの名無しさんNGNG
初心者スレで、鼻高々としたい奴は要らない。
ピノキオはどっかいってくれ。
0273デフォルトの名無しさんNGNG
>>270
互換性がとれていないということを存じないのか270は?
0274デフォルトの名無しさんNGNG
>>273
オマイもしつこいね まったく
0275デフォルトの名無しさんNGNG
ライトのcommit()の説明が
指定したライトに対する遅延ライト設定を適用する。
だけなんですが 遅延ライト設定ってのは何なんでしょうか?
0276デフォルトの名無しさんNGNG
>>274
これに懲りたら、考えなしにもういい加減なことを言う癖を直せよ。
0277デフォルトの名無しさんNGNG
C++の本を読みながら勉強をしているのですが、
D3DXVec3TransformCoordって、
C#だとそれらしきメソッド名のものが見つからなかったのですが、
メソッドは何になるのでしょうか?
0278デフォルトの名無しさんNGNG
見つけました。
Vector3.TransformCoordinateというメソッドでした。
Matrixのほうを探してました・・・。
0279デフォルトの名無しさんNGNG
>>276
なんで初心者スレにピノキオが混入されてるの?
なにが「これに懲りたら」だよ、何様のつもり?キモ杉
つまらないこと言ってる暇があったら質問に答えろよ
0280デフォルトの名無しさんNGNG
質問回が甘いくせに276みたいな馬や鹿が多いスレはここですか
0281デフォルトの名無しさんNGNG
>>279
>何様のつもり?
俺様。
いい加減なことを言ったことについて、反省する様子は無しか。
まあ考え無しで発言してしまうからには、自分を省みることなど出来ないだろう。
せめて実際に使ってみれば、どんなに使えない物なのかぐらい分かるんだが。
口先だけでいい加減なことを言っている暇があったら、自分で試してからにしろよ。
0282デフォルトの名無しさんNGNG
>>281
会社で虐められてるんですか?
明日になるのが不安なんですなw
0283デフォルトの名無しさんNGNG
明日からは、適当なことを言う前にまず試してみる人間になれることを祈ってるよ。
教訓を生かしてがんばれよ。
0284デフォルトの名無しさんNGNG
あまりに煽りが唐突すぎて
うまく話をそらせず自爆した典型例だな
0285デフォルトの名無しさんNGNG
276 281 283
そろそろ皆に嫌われてるのに気付かないのかね
0286デフォルトの名無しさんNGNG
あの、横槍すみません。
MSは最初から.NETをUNIXやMacで動かしたいなんて思っていないと思うのですがどうなんでしょう?
私だけかもしれませんが、実際Windows以外で動かなくてもいいんですが…
っていうか、そんなことしてほしくありません。
0287デフォルトの名無しさんNGNG
なんで?
0288デフォルトの名無しさんNGNG
>>286
コンソール部分はMS自らがFreeBSD用に移植している。
少しは調べてから発言しろ。
0289デフォルトの名無しさんNGNG
誰か、276を止めるメソッドを教えてください。かなり深刻なんです。
0290デフォルトの名無しさんNGNG
きちんと自分で試すなり調べるなりした上での発言なら突っ込む必要がないのだが、
何故聞きかじった知識だけで語ろうとするのか理解に苦しむ。
FreeBSD用ならPortsからライセンスに同意するだけで馬鹿でもインストールできるから、少しは試せ。
コンソールや通信部分に関してはWindows側でコンパイルした物がそのまま動く。
GUIはMSのフレームワークを使う限り、エミュレータを除けば何を使ってもWindows側で作った物は動かない。
GUIも独自実装と、MS互換擬きがあるが、実際に使い物になるかどうか自分で試してみろ。
その上で実際に使えると判断したのなら、技術的に突っ込めばいい。
実際にある物を試さないで、想像だけで語って何の意味がある?

私を嫌おうが構わないが最低限、想像ではなくきちんと試せ。
そうすればいちいち突っ込む必要はなくなる。
0291デフォルトの名無しさんNGNG
いちいち言葉が多いなぁ。
0292デフォルトの名無しさんNGNG
スレ違いは放置して
0293デフォルトの名無しさんNGNG
>>290
偉そうに発言するのは
未回答の質問に具体的な解決法を提示してからにしてくれないかな?
そうすりゃ誰も文句言わないよ
ここは貴方が大儀を貫く為のスレじゃないの。わかる?

>>292
ごめ、こんなカボチャみたいな頭の奴に反応してしまった漏れも逝ってヨシですね
0294デフォルトの名無しさんNGNG
煽って八つ当たりしないと気分が晴れないほど、デスマーチしてるんだよ。
きっと。
0295デフォルトの名無しさんNGNG
>>286
>MSは最初から.NETをUNIXやMacで動かしたいなんて思っていないと思うのですがどうなんでしょう?
どういう根拠で言ってるのか説明してください ソースはありますか?
妄想ですか?ソースないのなら一度芯でみるのもいいかもしれません

>私だけかもしれませんが、実際Windows以外で動かなくてもいいんですが… っていうか、そんなことしてほしくありません。
ここは貴方のワガママを主張する板ではありません
スレ違いなんで他逝ってください そして二度と戻ってこないでください
http://pc5.2ch.net/test/read.cgi/os/1019057524/l50
http://pc5.2ch.net/test/read.cgi/os/1029750171/l50

276に餌を与えないでください
0296デフォルトの名無しさんNGNG
FPSなどのゲームでよくある、
マウスで視点をグリグリ、
キーボードでカメラを移動というので
つまづいてます。
MATRIX関係の理解ができてないみたいで、
自分で初心者だなぁと思うかぎり。
0297デフォルトの名無しさんNGNG
>>296
マウスの移動量やらキーボードの入力を検出して
Transform.View = Matrix.LookAtLHの値を手動で操作するクラス作ってガンガレ
Transform.View = Matrix.RotationYとかでお手軽にカメラ回せるかとも思ったが
ダメポだったーよ
0298297NGNG
>>296
>Transform.View = Matrix.RotationYとかでお手軽にカメラ回せるかとも思ったが
>ダメポだったーよ

Transform.View = Matrix.LookAtLH * Matrix.RotationY
で、できますた 参考までに
0299デフォルトの名無しさんNGNG
>>298
色々な書籍などを参考にしてみたけど、
なんか円周率やら内積やらでてきて、異様に複雑でした。
割と単純にできるんですね。ためしてみます。
どうもです。

視点の移動については、
平行移動ってやつですかね。
0300デフォルトの名無しさんNGNG
平行移動は
Translation X、Y、Z軸を基準として 水平移動
他は
RotationX X軸を中心に回転 単位は角度ではなくラジアン
RotationY Y軸を中心に回転 単位は角度ではなくラジアン
RotationZ Z軸を中心に回転 単位は角度ではなくラジアン
RotationYawPitchRoll RoutationX、Y、Z を1メソッドで実行
RotationAxis 任意の軸を定義し、その軸を中心に回転
他はヘルプや116がまとめてるゴミHPなどを参照汁
0301デフォルトの名無しさんNGNG
丁寧にありがとう。
実は、日曜日一日かけてもできなかった・・・。
また夜にでもがんばってみよう。
0302301NGNG
Rotation関係をつかっても、
なぜかZ座標がうまくいかなかったので、
C++のサンプルプログラムのを真似したらできました。
COSやらSINやら、よく理解してないですが・・・。
0303デフォルトの名無しさんNGNG
3Dゲーム制作はまず高校を卒業してからにしようね
0304デフォルトの名無しさんNGNG
ここは、井の中の蛙と言うか、ピノキオの多いスレですね。
0305デフォルトの名無しさんNGNG
三角関数は三角定規の形を考えれば理解できる。
0306デフォルトの名無しさんNGNG
とりあえず 「やさしく学べる基礎数学」(ISBN4-320-01683-1) あたりでも読んで出直して来い
ちょうど線形代数と微分積分にしぼってあるからプログラマにはうってつけだぜ
0307デフォルトの名無しさんNGNG
>>306
微積って必要なのか?ちとピンとこない。
0308デフォルトの名無しさんNGNG
>>307
知っておいたほうが物を動かすときに便利でしょう。
0309デフォルトの名無しさんNGNG
近頃3Dゲムの為の数学の本が出てるが
教養のない中卒の漏れには理解不能な式ばかりでつ
あれ読むなら>306が紹介してるような
普通の基礎数学書のほうがわかりやすいでつね
0310デフォルトの名無しさんNGNG
とりあえず高校数学のテキストを確認して、分からないところから進めればいい。
0311デフォルトの名無しさんNGNG
PC初心者なんですが、S3 Graphics ProSavage + utilitiesのデバイスで3Dって
無理なのでしょうか?
グラフィックボードくっつければ動くようになるのでしょうかー?
このスレと関係しているのかすらわからない(;´Д`)
0312デフォルトの名無しさんNGNG
>>311
S3 Graphics ProSavage + utilitiesのデバイス
↑グラフィックボードのこと?
もしそうだとしたらPCパーツスレのほうが
けたたましく詳しい回答が得られると思ふ
0313デフォルトの名無しさんNGNG
>>312
グラフィックボードのことです
レスありでした〜
0314デフォルトの名無しさんNGNG
C++でDirectX5ぐらいだったら動くと思うよ。
0315デフォルトの名無しさんNGNG
>>311
>>79-97あたりを読むと幸せになれるかもね
0316デフォルトの名無しさんNGNG
何気にゴミHPのチュートリアル攻略終わってるんな
0317デフォルトの名無しさんNGNG
おいおい、リアルで中卒がプログラミングなんかしてるの?
中卒って将来ヤクザ、暴力団とかそんなレベルの奴だろ?
0318デフォルトの名無しさんNGNG
>>316
こういうページは飽きて更新しなくなっても消さないで置いておいてほしいもんだな。

0319デフォルトの名無しさんNGNG
>>317
それはお前の主観
0320デフォルトの名無しさんNGNG
>>317
ゲーム屋にはちらほら居るよ、
そういう連中は三流大卒よりゃハイレベルだったりする
0321デフォルトの名無しさんNGNG
一流大学でてようが、できないやつはできないし
あまり学歴は関係ないな。
0322デフォルトの名無しさんNGNG
ディスプレイって対外メーカーに関係なく接続できるもんなんですか?
どなたか教えてください・・・
0323デフォルトの名無しさんNGNG
またすれ違いな会話してるなおまいら
チュートリアルを扱ったHPは
途中で放置なとこが多いような気がしなくもない

>>318
どういう意味で消さないでほしいのか気になりますね

>>322
おまいはVB6でジャンケンゲーム作ることからはじめるとよいよ
あと312あたりも参考に汁
0324デフォルトの名無しさんNGNG
プログラム以前に、PC初心者板に移動することが先決だと思うが。
0325デフォルトの名無しさんNGNG
C#&DirectX9.0楽しいっす。
C++でやってたころよりゲーム本編の作成に集中できるというか。
0326デフォルトの名無しさんNGNG
Win32APIを呼び出すのに、定数の確認のためヘッダファイルを検索したりと面倒なので、
結局MC++と併用することに。
ツール部分を作るのは楽になったが、ゲーム本体は余計に面倒になった。
0327デフォルトの名無しさんNGNG
なぜC++と併用なのかと
面倒ならC++だけで作れよ・・
それともう来なくていいからね
0328デフォルトの名無しさんNGNG
ゲームを作るのに、関連ツールを作る必要があるから。
ウインドウフレームワークが必要な部分に関してはC#側で作った方が圧倒的に楽。
DirectXを利用するという点に関してはC++の方が組みやすいが、
実際のゲーム作成は本体だけ作れば良いわけではない。
本体はC++の方が楽だが、そうなるとツール側と本体の関連プログラムを二重に作らなければならなくなる。
つまり両方の利点を生かす上で、MC++との併用が一番楽だったという話。
作成方法は個人によって異なるとは思うが、何故頭ごなしに併用を否定するのだろう。
0329デフォルトの名無しさんNGNG
スレ違いだからじゃないん?ちと微妙だけど。
0330デフォルトの名無しさんNGNG
>>328
>>326
後だしじゃんけんかよ。
0331デフォルトの名無しさんNGNG
>>326
から
>>328
を想像することを期待するのですか
0332デフォルトの名無しさんNGNG
よい子のみんな〜
無限ループの予感がするから
C++の話はここで終了ね
おねーさんとの約束よ?

>>328はC++やC#じゃなくて空気の読みかた勉強したほうがよいよ
0333デフォルトの名無しさんNGNG
ピノキオ
0334デフォルトの名無しさんNGNG
C#にあるメソッドでC++ない奴ってあるのね(´・ω・`)
0335デフォルトの名無しさんNGNG
MCとC#はDOS時代で言うところの、アセンブラとCに似てますね。
低レベル部分をアセンブラで作って、Cで利用するのはよくやりました。
0336デフォルトの名無しさんNGNG
>>334
C++にはないのにC#にはあるメソッドは悲惨でつねほんと
ヘルプがダメポすぎなのにC++のほうは参照できないといふ・・

>>335
他のピノキオが脊髄反応するのような
スレ違いな話題振るのやめましょうね
0337デフォルトの名無しさんNGNG
MCのラッピングとC#からの利用は、すれ違いではないと思うのですが。
使いやすいラッパーを作っていければ、開発が楽になります。
C用のライブラリはたくさんあるのに、
C#は今のところ、そういったものを公開している人がいないところが泣き所です。
0338デフォルトの名無しさんNGNG
C++で出来る人は、ここでも言われているとおり、C++だけで作ってるから、
わざわざ.NET用のラッパーを作る奇特な神はいないのだろう
0339デフォルトの名無しさんNGNG
たとえそういった物があったとしてもここでそんな話をすれば
スレ違いだということで荒れる原因になるという。
全てがC#でなければスレ違いというローカルルールがいつ出来たのかは知らないけど。
0340デフォルトの名無しさんNGNG
C#でDirectXを扱いたいだけなのに、やれC++では簡単だとか、
やれC++のヘルプを見れだとか言うレスが付くからなんじゃね?

まぁ、あれだ。C#でDirectXを扱うのが困難な状況を改善しない
MSが諸悪の根源なんじゃねーかなぁと。
0341デフォルトの名無しさんNGNG
>>337
.NET FrameworkにDirectXを叩くクラスが無いのが問題だと思う。
別にラッパー作りたい訳じゃないから。
0342デフォルトの名無しさんNGNG
規格的に配列などのメモリーの扱いが違うから、
直接叩くようにするのは無理っぽい。
いっそC#にもアンマネージの直接アクセス出来る機能を付けるとか。
どうせDirectXを使った時点で移植なんか無理なんだし。
0343デフォルトの名無しさんNGNG
なんでManaged微妙にちがってんの?DirectXの内容自体は同じでないの?
0344デフォルトの名無しさんNGNG
全てがそのまま移植できるわけではないから。
保護された安全な場所から、外の戦場を制圧する武器を作っているような状態で、
出来る限り現地で行動するのと似せて作ってあるけど、やっぱり限界がある。
0345デフォルトの名無しさんNGNG
>>342
それやるとC#の意味ねぇと思うがどうか。

元々C#もDirectXも出所は同じなんだから、いっその事
過去の互換性を捨ててでもDirectXのマネージコード化
を進めそうな希ガス。

DirectX10の話を聞かなくなったから、今度はマネージ
コードだと言われても驚かないな俺は。
0346デフォルトの名無しさんNGNG
10まで2年待たなければならないけど、そこまで気長に待つのもどうかと。
0347デフォルトの名無しさんNGNG
XBOX2では、DirectXに代わる開発フレームワークを用意するって
話をどっかのサイトで読んだんだが、これがDirectX10の代わりに
来るんじゃないのかね?
0348デフォルトの名無しさんNGNG
コンシューマーをマネージ対応コードで作るとは思えないが。
0349デフォルトの名無しさんNGNG
XNAのことか?
あれはむしろ、Windows、WindowsMobile、XBox用のソフトがクロス開発できる
プラットフォームかなと見たが。
0350デフォルトの名無しさんNGNG
>>349
それだ。

.NET FrameworkがWindowsとWindowsMobileのソフトウェア開発の
ハードルを下げたように、今度はDirectXのマネージ化がくるんじゃ
ねーかなと。
0351デフォルトの名無しさんNGNG
>>350
マネージ化してるってば。
0352デフォルトの名無しさんNGNG
していなかったら、そもそもこのスレが存在していない可能性が高い。
0353デフォルトの名無しさんNGNG
p://www.watch.impress.co.jp/game/docs/20040706/xna.htm
これを見た感じ、XNAはマネージ以上にハードル低いように読める。
0354デフォルトの名無しさんNGNG
誰でも簡単にというだけで、具体的にどれだけ簡単なのかまるで説明されていない。
描画や演算ライブラリが一通りそろっていても、それをイメージ通りに動かす上で、
そのイメージをどうやって伝えるのか、それが誰でも出来るほどに簡単にするすべは何なのかがさっぱり。
HTML作成ツールを例に挙げているが、あれだって配色や素材の問題もあるし、
ツールを使ったからと言ってセンスのいいデザインになるとは限らない。
また多機能にしようと思えば、ツールで補える範疇を超える。
小規模で定型に絞り、限られた範囲という条件で簡単だというのなら、
今までと大して変わるところはない。
0355デフォルトの名無しさんNGNG
物理エンジンや3DエンジンのAPIをMSが用意してそれの交換を楽にしてやるよって話じゃねーの
レゴブロックみたいに上手くいくかは知らんけど物理エンジン、3Dエンジン、シェーダーは挿げ替えできたほうがいい
0356デフォルトの名無しさんNGNG
>>353
ここで言ってる理想通りになったらそれこそスバラシイだろうけど
もし仮に実現したとしてもDirectXをコネコネしながら
ゲーム作ったって経験は生きそうな予感
出るの待ってる暇があったら必死こいてコード書いてたほうがよさげ
0357デフォルトの名無しさんNGNG
>>356
DirectXをコネコネしながらゲーム作ったって経験は活きるよ。

だけど、多くのゲーム作りたい人はゲームを作りたい訳であって、
DirectXをコネコネしたい訳じゃないよな。仕方なくコネコネ
しているだけでさ。

そう言う意味では、本来のゲーム作り以外の部分のハードルが
低くなる事には意味がある。

無論、現状では実現されてない訳だから、それを待ち侘びるだけ
ではなく、現状でやれる事をやってくってのは大事だと思うけど。
0358デフォルトの名無しさんNGNG
とりあえず、SDKドキュメントのチュートリアルはなぞってみた。
D3Dを使っての2D表示(要はビルボード)をいろいろいじってみたいんだが、
sampleディレクトリにある奴はどれも高度っぽくて参った。
将来的には簡単なシューティングゲームみたいな物を作ってみたいんだけど、
こんな文献が参考になるよーっていうのがあったら教えていただきたい。

…ってスレ違いですか?(´・ω・`)
0359デフォルトの名無しさんNGNG
最近そのままシューティングゲームを作る本が出たな。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797327316/
0360デフォルトの名無しさんNGNG
>>359
やっぱりというかなんというか
C#本じゃないのが残念
立ち読みしてきまふ
■ このスレッドは過去ログ倉庫に格納されています