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
0312デフォルトの名無しさん
NGNGS3 Graphics ProSavage + utilitiesのデバイス
↑グラフィックボードのこと?
もしそうだとしたらPCパーツスレのほうが
けたたましく詳しい回答が得られると思ふ
0313デフォルトの名無しさん
NGNGグラフィックボードのことです
レスありでした〜
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG>>79-97あたりを読むと幸せになれるかもね
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG中卒って将来ヤクザ、暴力団とかそんなレベルの奴だろ?
0318デフォルトの名無しさん
NGNGこういうページは飽きて更新しなくなっても消さないで置いておいてほしいもんだな。
0319デフォルトの名無しさん
NGNGそれはお前の主観
0320デフォルトの名無しさん
NGNGゲーム屋にはちらほら居るよ、
そういう連中は三流大卒よりゃハイレベルだったりする
0321デフォルトの名無しさん
NGNGあまり学歴は関係ないな。
0322デフォルトの名無しさん
NGNGどなたか教えてください・・・
0323デフォルトの名無しさん
NGNGチュートリアルを扱ったHPは
途中で放置なとこが多いような気がしなくもない
>>318
どういう意味で消さないでほしいのか気になりますね
>>322
おまいはVB6でジャンケンゲーム作ることからはじめるとよいよ
あと312あたりも参考に汁
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGC++でやってたころよりゲーム本編の作成に集中できるというか。
0326デフォルトの名無しさん
NGNG結局MC++と併用することに。
ツール部分を作るのは楽になったが、ゲーム本体は余計に面倒になった。
0327デフォルトの名無しさん
NGNG面倒ならC++だけで作れよ・・
それともう来なくていいからね
0328デフォルトの名無しさん
NGNGウインドウフレームワークが必要な部分に関してはC#側で作った方が圧倒的に楽。
DirectXを利用するという点に関してはC++の方が組みやすいが、
実際のゲーム作成は本体だけ作れば良いわけではない。
本体はC++の方が楽だが、そうなるとツール側と本体の関連プログラムを二重に作らなければならなくなる。
つまり両方の利点を生かす上で、MC++との併用が一番楽だったという話。
作成方法は個人によって異なるとは思うが、何故頭ごなしに併用を否定するのだろう。
0329デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGから
>>328
を想像することを期待するのですか
0332デフォルトの名無しさん
NGNG無限ループの予感がするから
C++の話はここで終了ね
おねーさんとの約束よ?
>>328はC++やC#じゃなくて空気の読みかた勉強したほうがよいよ
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG低レベル部分をアセンブラで作って、Cで利用するのはよくやりました。
0336デフォルトの名無しさん
NGNGC++にはないのにC#にはあるメソッドは悲惨でつねほんと
ヘルプがダメポすぎなのにC++のほうは参照できないといふ・・
>>335
他のピノキオが脊髄反応するのような
スレ違いな話題振るのやめましょうね
0337デフォルトの名無しさん
NGNG使いやすいラッパーを作っていければ、開発が楽になります。
C用のライブラリはたくさんあるのに、
C#は今のところ、そういったものを公開している人がいないところが泣き所です。
0338デフォルトの名無しさん
NGNGわざわざ.NET用のラッパーを作る奇特な神はいないのだろう
0339デフォルトの名無しさん
NGNGスレ違いだということで荒れる原因になるという。
全てがC#でなければスレ違いというローカルルールがいつ出来たのかは知らないけど。
0340デフォルトの名無しさん
NGNGやれC++のヘルプを見れだとか言うレスが付くからなんじゃね?
まぁ、あれだ。C#でDirectXを扱うのが困難な状況を改善しない
MSが諸悪の根源なんじゃねーかなぁと。
0341デフォルトの名無しさん
NGNG.NET FrameworkにDirectXを叩くクラスが無いのが問題だと思う。
別にラッパー作りたい訳じゃないから。
0342デフォルトの名無しさん
NGNG直接叩くようにするのは無理っぽい。
いっそC#にもアンマネージの直接アクセス出来る機能を付けるとか。
どうせDirectXを使った時点で移植なんか無理なんだし。
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG保護された安全な場所から、外の戦場を制圧する武器を作っているような状態で、
出来る限り現地で行動するのと似せて作ってあるけど、やっぱり限界がある。
0345デフォルトの名無しさん
NGNGそれやるとC#の意味ねぇと思うがどうか。
元々C#もDirectXも出所は同じなんだから、いっその事
過去の互換性を捨ててでもDirectXのマネージコード化
を進めそうな希ガス。
DirectX10の話を聞かなくなったから、今度はマネージ
コードだと言われても驚かないな俺は。
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG話をどっかのサイトで読んだんだが、これがDirectX10の代わりに
来るんじゃないのかね?
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGあれはむしろ、Windows、WindowsMobile、XBox用のソフトがクロス開発できる
プラットフォームかなと見たが。
0350デフォルトの名無しさん
NGNGそれだ。
.NET FrameworkがWindowsとWindowsMobileのソフトウェア開発の
ハードルを下げたように、今度はDirectXのマネージ化がくるんじゃ
ねーかなと。
0351デフォルトの名無しさん
NGNGマネージ化してるってば。
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNGこれを見た感じ、XNAはマネージ以上にハードル低いように読める。
0354デフォルトの名無しさん
NGNG描画や演算ライブラリが一通りそろっていても、それをイメージ通りに動かす上で、
そのイメージをどうやって伝えるのか、それが誰でも出来るほどに簡単にするすべは何なのかがさっぱり。
HTML作成ツールを例に挙げているが、あれだって配色や素材の問題もあるし、
ツールを使ったからと言ってセンスのいいデザインになるとは限らない。
また多機能にしようと思えば、ツールで補える範疇を超える。
小規模で定型に絞り、限られた範囲という条件で簡単だというのなら、
今までと大して変わるところはない。
0355デフォルトの名無しさん
NGNGレゴブロックみたいに上手くいくかは知らんけど物理エンジン、3Dエンジン、シェーダーは挿げ替えできたほうがいい
0356デフォルトの名無しさん
NGNGここで言ってる理想通りになったらそれこそスバラシイだろうけど
もし仮に実現したとしてもDirectXをコネコネしながら
ゲーム作ったって経験は生きそうな予感
出るの待ってる暇があったら必死こいてコード書いてたほうがよさげ
0357デフォルトの名無しさん
NGNGDirectXをコネコネしながらゲーム作ったって経験は活きるよ。
だけど、多くのゲーム作りたい人はゲームを作りたい訳であって、
DirectXをコネコネしたい訳じゃないよな。仕方なくコネコネ
しているだけでさ。
そう言う意味では、本来のゲーム作り以外の部分のハードルが
低くなる事には意味がある。
無論、現状では実現されてない訳だから、それを待ち侘びるだけ
ではなく、現状でやれる事をやってくってのは大事だと思うけど。
0358デフォルトの名無しさん
NGNGD3Dを使っての2D表示(要はビルボード)をいろいろいじってみたいんだが、
sampleディレクトリにある奴はどれも高度っぽくて参った。
将来的には簡単なシューティングゲームみたいな物を作ってみたいんだけど、
こんな文献が参考になるよーっていうのがあったら教えていただきたい。
…ってスレ違いですか?(´・ω・`)
0359デフォルトの名無しさん
NGNGttp://www.amazon.co.jp/exec/obidos/ASIN/4797327316/
0360デフォルトの名無しさん
NGNGやっぱりというかなんというか
C#本じゃないのが残念
立ち読みしてきまふ
0361デフォルトの名無しさん
NGNGアルゴリズム本であってシューティングを絡めた言語入門書じゃないぞ
0362358
NGNGその本買ったんだけど、ガチガチのアルゴリズム本でした。
いや、承知して買ったんですが。
面白かったんですが、入門書にはならず。
C++のソースついてるけど、規模が大きいから
ソースなぞりながら理解していく、ってのが難しそうなのであきらめました('A`)
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGC++とDelphiばっかりだけど
0365デフォルトの名無しさん
NGNG透過しなくて困っています。
0366デフォルトの名無しさん
NGNG気合入れて答えろよおまいら
俺?
すまん、わからん
0367デフォルトの名無しさん
NGNGソースのサーフェスのピクセルフォーマットの通りに指定する。
んでもいまどき使う、それ?
0368365
NGNGえ、いまどきは何を使うのでしょうか。
0369365
NGNG367の発言だけで巧くいくほど理解していないようです。
ソースのサーフェスのピクセルフォーマットは
どこで設定しているのでしょうか。
現在のソースは以下のようになっています。
SurfaceDescription description = new SurfaceDescription(); //
description.Clear(); // Clear out the SurfaceDescription structure.
Surface bmpSurf = new Surface("filename" description, draw); // .
ColorKey ck = new ColorKey(); // Create a new colorkey.
ck.ColorSpaceHighValue = ck.ColorSpaceLowValue = Color.Green.ToArgb(); //左上をcolorkey
bmpSurf.SetColorKey(ColorKeyFlags.SourceDraw, ck); //
0370デフォルトの名無しさん
NGNG> ck.ColorSpaceHighValue = ck.ColorSpaceLowValue = Color.Green.ToArgb(); //左上をcolorkey
Color.Green.ToArgb()で取るより、直接サーフェイスから取った方が良くない?
せっかく、「左上をcolorkey」という仕様になっているんだから。
あと、サーフェイスってビデオカードの状態によって誤差が出そうな気がする。
DirectDrawが廃止される以前にC++でいじってた頃の記憶なので、はずしてたらスマソ。
0371365
NGNG本当はbmpに読み込んでbmp.GetPixel(0,0).ToArgb()をやってました。
でもこれもだめらしい。
サーフェイスから直接、ってどうやってとるんですか?
0372デフォルトの名無しさん
NGNGSurface を Lock して、左上と思しきアドレスから、1ピクセル分と思しき
サイズ (2バイト〜4バイト) だけデータを読んで、RGB部分を取り出して使う。
たぶんこんな感じ。
byte [] pixels = bmpSurf.Lock();
switch (description.PixelFormat.RgbBitCount + description.PixelFormat.AlphaBitDepth ) // RGB と仮定
{
case 15: val = pixels[1]*256 + pixels[0]; break;
case 16: val = pixels[1]*256 + pixels[0]; break;
case 24: val = (pixels[2] * 256 + pixels[1]) *256 + pixels[0]; break;
case 32: val = ((pixels[3] * 256) + pixels[2] * 256 + pixels[1]) *256 + pixels[0]; break;
}
val = val & (description.PixelFormat.RBitMask | description.PixelFormat.GBitMask | description.PixelFormat.BBitMask);
>え、いまどきは何を使うのでしょうか
Direct3D を使ったほうが情報も多いしラクだと思います。
しょぼいビデオカードでも VSync に厳密にあわせられてテアリングしないのは良いけど > 昔のDDraw
0373デフォルトの名無しさん
NGNGあ、これが済んで pexels が無用になっらた Unlock を忘れずに。
0374365
NGNG確かにDIrect3dのほうが情報が多いんですよね。
少し3Dもやってみます。
本もどかどか買ったことだし……。
0375デフォルトの名無しさん
NGNGおばかな質問かとバカにされるかもしれませんが・・・。本当に分からないので。
Direct3DとDirectDrawを同時に使うということはできるものなのでしょうか?
Direct3Dでオブジェクトを表示させている画面の上に、スプライトでテクスチャを貼るということは可能でしょうか?
本とかサイトを見る限り、板ポリゴンの上にテキスチャを張っているサンプルが多いのですが・・・。
参考になるページとかありましたら、お教えください。よろしくお願いします。
0376デフォルトの名無しさん
NGNG>Direct3DとDirectDrawを同時に使うということはできるものなのでしょうか?
不可能
>Direct3Dでオブジェクトを表示させている画面の上に、スプライトでテクスチャを貼るということは可能でしょうか?
一部意味不明な部分があるがポリゴンとスプライトの混在は可能
>参考になるページ
Cマガでたまに組む特集ぐらいしか取っ掛かりがないよね
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG変換済み頂点を使った板ポリゴンで十分だから、いまさら DirectDraw の
スプライトを使う人はほとんどいないと思います。
お金儲けをしようと思って、自販機のお釣り帰ってくるところを探し回る人と
同じくらいのレア度だと思いますよ。
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG何の問題もなく使えるが、お前は何を言っているんだ?
0382デフォルトの名無しさん
NGNGテクスチャに指定することができたみたいですが
DirectX9になってからはできなくなったというのはホントでつか?
仮にホントだとして同じような機能を実現するにはどーしたらよいのでしょうか?
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGその為の互換性でもあるんだけどな……。
0385デフォルトの名無しさん
NGNGテクスチャに描画すればいいじゃん。
0386デフォルトの名無しさん
NGNGその方法がわからないのかと思われ
0388デフォルトの名無しさん
NGNG殺り方藁田
0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNGGetDC して GDI で書いてもいいし、LockRect してバッファに直接書いてもいいし。
DirectDraw の頃とたいして変わってないと思うけど・・・
0391デフォルトの名無しさん
NGNGこれは?
http://www.microsoft.com/japan/msdn/directx/japan/dx9/mxd10.asp
0393デフォルトの名無しさん
NGNGうまく伝えられるかどうか分かりませんが・・・。
Direct3Dのシーン上で二つのカメラを扱うことは
できますか?一つのオブジェクトを異なる複数の視
点から表示したいと思っています。
よくゲームとかで、画面の隅っこの方にキャラク
タを上から見たようなの(地図みたいなの?)が表
示されるのってありますよね?そういうのを作りた
いと思うのですが、どうしていいのか、さっぱり、
分かりません。何かアドバイス等いただけたらと思
います。宜しくお願いします。
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNG266をまとめた116の「ウインドウの一部に表示したい」
って奴を応用してカメラの位置かえて再描画
0396駄目PG
NGNGC#ビルダー使いはじめたのですが、そもそも言語仕様を詳しく解説したサイト
ありませんか?とくにCとの比較 違い
Cでこうしたい時は、c#ではこう書く みたいな...
いきなり構造体の中に配列作ろうとしてエラー
#define <(これは無いらしいのはわかった、正確にはあるけと用途が違う)
useing ...
const int MAXVIEWPORT =8; <ここでは宣言できないらしい
amespace hoge
{
const int MAXVIEWPORT =8; <ここでも宣言できないらしい
#define MAXVIEWPORT =8;<これも駄目らしい #defineはこういう使い方ではない
struct dRECT{
int T,L,W,H;
}
struct SaveFORMAT {
int ClientSizeX,ClientSizeY;
dRECT RECTS[MAXVIEWPORT];<こんな使い方したいけど全文がエラーだから駄目
dRECT RECTS[7];<こういう書き方もだめ orz...
};
public class WinForm : System.Windows.Forms.Form
{
}
グローバルな定数をどうやって宣言するのだろう。
ある程度C++も理解しているが、かえってその違いにクラクラしてますorz..
0397デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1087297504/
0398デフォルトの名無しさん
NGNG.NET SDK付属MSDNライブラリ(無料)
0399デフォルトの名無しさん
NGNGttp://black.sakura.ne.jp/~third/programming/cs/cs.html
0400デフォルトの名無しさん
NGNGhttp://bbs.2ch2.net/dotnet/
0401駄目PG
NGNG有難う。これから調べます!
0402デフォルトの名無しさん
NGNG万能な開発ツール作ってコードの自動出力付ければいいだけだと思うがねw
XNAには期待してないからDirectX10だせや
また一から覚えなおすのはやだから
0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
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デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています