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

C#でDirectX9 初心者の館

レス数が1000を超えています。これ以上書き込みはできません。
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
0002デフォルトの名無しさんNGNG
2
0003デフォルトの名無しさんNGNG
人間は宇宙人だし、日本語も宇宙語と言える。
よって(ry
0004デフォルトの名無しさんNGNG
1 は土日で勉強しながら、判らなかった事をチクチク書いたり。
引っかかって、困った事とか書きます。
とりあえず、今日までずっと判らなかった VisualStudio.NET 2003 に
インストールできない原因がわかったので、ここに書いておきます。
単なるVisualStudio.NET 2003未対応でした、DirectX 9.0 Update (2003 Summer)
で対応していたようです、
またこれをインストールするとき前のバージョンのDirectX SDKをアンインストールしないと、
プロジェクトの生成が変になるという事に気づいています。

>>3
それは屁理屈〜
0005デフォルトの名無しさんNGNG
Managed DirectX vol.2
http://pc2.2ch.net/test/read.cgi/tech/1061285378/
0006デフォルトの名無しさんNGNG
おい >>1 よ、言語に関係なく >>5 に統合されたのを知ってるか?
0007デフォルトの名無しさんNGNG
誰も居ないので独り言モード化す1です
とりあえず、ダウンロードには成功したのでヘルプを読んでいますが、C#で勉強しようとするといきなり壁がありますね。

サンプル等を見ていると、まずは一旦C++で軽く流しておいたほうがやはり無難なのでしょうかね?

>>6
ここはド素人お間抜けなので知っているけど知らない事にしておきますぅ
DirectX 初心者はもちろんC#初心者も歓迎します、だれか一緒に勉強しましょ〜
0008デフォルトの名無しさんNGNG
のし
0009デフォルトの名無しさんNGNG
良スレノ予感
0010デフォルトの名無しさんNGNG
せっかくのC#なのでDirectXをポトペタで済ます方法ないっすかねー
0011デフォルトの名無しさんNGNG
・・・ポトペタ? ('o';
0012デフォルトの名無しさんNGNG
>>10
ぽとぺたってなんですか?
0013デフォルトの名無しさんNGNG
メッシュの方から頂点のデータを取ってきて物体を変形させたりしたいんですが、

mesh = Mesh.FromFile("mesh.x",
MeshFlags.SystemMemory, device, out materials);

VertexBuffer vertexBuffer = mesh.VertexBuffer;
CustomVertex.PositionNormalTextured[] verts = new CustomVertex.PositionNormalTextured[10];
GraphicsStream stm=null;

for (int i=0;i<10;i++)
{
verts[i].X = 10.0f;
stm = vertexBuffer.Lock(0, 0, 0);
stm.Write(verts[i]);
  }

stm.Close();

vertexBuffer.Unlock();


meshMaterials = new Direct3D.Material[materials.Length];
for( int i=0; i<materials.Length; i++ )
{
meshMaterials[i] = materials[i].Material3D;
meshMaterials[i].Ambient = meshMaterials4[i].Diffuse;

}

これではダメなのでしょうか?ビルドは通るんですが描画されずに灰色の画面になるのれす・・
分かりにくい説明でスマソ(;´∀`)
0014デフォルトの名無しさんNGNG
とりあえずメッシュ描写コードだけ出来るかどうか試してみては。
どういうデータのメッシュか知らないけど、視点に近づきすぎてるか
それともDevice設定間違ってるか。
0015デフォルトの名無しさんNGNG
>>12
DelphiとかC#とかでー
ぽとっとコンポーネントを落としてペタっと貼り付けながらソフトウェアを作っていくこと

つまり初期化がまだ面倒だからいいかげんDirectXコンポーネント作れってこと
DelphiとかだとダブルクリックすりゃDirectXの世界へご案内なのよ
誰かつくってよー
0016デフォルトの名無しさんNGNG
>>15
作って欲しいと思ったら、必要なコンポーネントと明確な仕様を挙げよ。
0017デフォルトの名無しさんNGNG
>>15
これで放置スレと認定
001813NGNG
どっかでデバイスかVertexBufferの設定間違ってるんですかね?
まとりあえず色々やってみま(ノ∀`)
0019デフォルトの名無しさんNGNG
>>18
現在ヘルプ読み読み中の1 です、プログラムをみても現状なんだかさっぱりですが頑張ってください
僕も頑張ってますよろしくお願いします。
0020デフォルトの名無しさんNGNG
>>16
Xファイルアニメーションのサンプル。
あれのの単独ソースが欲しいデス。

Xファイルのサンプルいじってるんだけれど、元々のBlank以外のコードがわけわかめ。。。。
ヴぁーちゃる使いまくってる部分ですらコメント殆ど無いし。

わかんねーと思ってかたっぱしからぐぐってるけど、ヒットするページが1・2件しかないのもざらにある・・・。

Xファイルのアニメーションまで書いてる書籍ってなんかありますかね。
0021デフォルトの名無しさんNGNG
C#使う必要性がわからん…
X-BOXででも動かすのか?
0022デフォルトの名無しさんNGNG
骨アニメできたー、ハァハァ
といっても自前のコードに殆どこぴぺで持ってきただけですが。
デフォで出力されてるコードの説明が切実に欲しいと願う今日の半日・。
こっちの説明する方が先だろうと思うのは俺だけでしょうか。
いくらぐぐっても解説全然でてこねえし。英語覚えろって事ですかね・・・・。

>>21
なんでX-Boxが引き合いに出るのかよく分かりませんが・・・・
まぁフォームのコントロールの追加とかが楽なんでこっちでやっとります。
コード自体かなり減ってるし、個人で遊ぶならこっちのがええかなと。
0023デフォルトの名無しさんNGNG
Xfileつーか、3Dモデルって人気あるんだね。
でもさ、DX8の頃から思ってたけどXfile扱うのって処理する関数や型を覚える事じゃ無いのになって。
(提供されるライブラリ処理のみで良いって方は、それにあらず)

最初は3Dの基本を覚える。
で、Xfileのフォーマットを覚える。
それで、fileから必要な情報を受ける。
それを基に頂点描画。
アニメーション情報が入ってるなら、スキニングなり親子構造なりでモデルを動かす。

これってさ、D3DX系のライブラリ使うのを覚えるのとは別次元の物。
関数をどう使うか調べるだけじゃなく、関数の処理を理解出来てないと
つかえねーだの、不親切だのって言い出す始末になるかと。
ある程度の人間は自前でXfile読み込み、自前のモデル型に情報いれて
自前でアニメーションなんてあたり前だよ。
つまり、言語を覚えて、プログラム覚えて、
数学出来て、3D処理出来てって感じの基礎力が必要なんだよ?
DirectXの関数覚える事 != 3Dの勉強
これを踏まえて、Xfile系を覚えたいって人間は基礎力があるか自分を振り返ってみれば。

…マジモードでした。
0024デフォルトの名無しさんNGNG
長文はスルー
0025デフォルトの名無しさんNGNG
>>21
1の場合はGDIよりもう少し派手な事がしたいのと、ちょっとムチャな描画をしても耐えられそうなのと
きたる Longhorn の布石です。
バリバリ3Dをしようとは思っていません。
0026デフォルトの名無しさんNGNG
>>25 にちょっと付け加え
そうは言っても、できるようになったら・・・するかも知れません
0027デフォルトの名無しさんNGNG
>>21
すごく楽なことがわかんないのかな。
0028デフォルトの名無しさんNGNG
DirectXがC#に向いてるんじゃない
C#がDirectXに向いてるんだ
0029デフォルトの名無しさんNGNG
>>22
X-BOXの中の人はC#が多かったりするのだよ。
0030デフォルトの名無しさんNGNG
日本語原稿付らしい。
ttp://www.microsoft.com/japan/msdn/theshow/episode037/default.asp
0031デフォルトの名無しさんNGNG
X-BOXはC#はおろかDirectXも経由せずにチップ直接キックとか良く聞くけど
0032デフォルトの名無しさんNGNG
XBoxって.NETネイティブなの?
0033デフォルトの名無しさんNGNG
今のDXバージョンv9.00.0900ですか?
0034デフォルトの名無しさんNGNG
自分も初心者で今勉強中なんですけど、
これから勉強する人のために、今のところ参考にしているサイトを挙げてみます。

FrontPage -PukiWiki-
ttp://web.sfc.keio.ac.jp/~yanagawa/recipe_wiki/pukiwiki.php?FrontPage
先ずはここに行っておけ的サイトその1。
工学社「DirectX9 3DゲームプログラミングVol.1C#によるアルゴリズムの基礎」
著者:大川善邦
と合わせて見ないとまるで意味が無いが、その価値は十二分にあり。
しつこい程に基礎力をつけさせられるが、実際それぐらい無いと開発出来なさそうなのが泣ける。
あと上の書はvol.2まで出ているが、どちらも必要不可欠級良書なんで、きっと買うの必須。

Managed C# DirectX 9によるシミュレーション
ttp://dxsimulation.at.infoseek.co.jp/index.htm
先ずはここに行っておけ的サイトその2。
いきなりXファイルを多用しているので、上のFrontPageと合わせて見ると良いかも。
上で基礎力つけて、こっちで遊ぶみたいな。
ここのソースを.NETから吐き出されるサンプルソースに使えるように書き換えたりすると
かなり自己満足。

Cutting Edge DX 9
ttp://www.microsoft.com/japan/msdn/directx/japan/dx9/
現在進行形で進んでいるっぽいやつ。
Xファイルでアニメーションするところは、Xファイルに頼りすぎで全く使えないが
ちょっぴり痒いところに手が届く感じ。

あとはひたすら
Microsoft.comの検索
ttp://search.microsoft.com/search/search.aspx?view=ja-jp
で分らないことを検索したりしてます。

もっと効率の良い学び方が有ったら、誰か教えてプリーズ。
0035デフォルトの名無しさんNGNG
FrontPage -PukiWiki-

↑

サイトのタイトルではないと思うんだが。
0036■■■■■■■安室奈美恵「style」絶賛発売中NGNG
( ’ ⊇’)つ旦
0037デフォルトの名無しさんNGNG
conv3ds.exeってどこに入ってますか?
MSサイトから落としたのに見つからないです。
0038デフォルトの名無しさんNGNG
DirectX3Dのサンプルで、チュートリアルの中に
Vertexっていうのがあるんだけど、ポリゴンは
表示されるんだけど、視点を設定してもずっと同じ位置に表示
されたまんまなんだよね。

試しに別のサンプルのポリゴンを同じ画面に表示したら
ちゃんと視点の設定が反映された。
同じような現象になった方いませんか?
というかどこかに視点の設定を反映させるパラメータが
あるんだろうか?
0039デフォルトの名無しさんNGNG
>>38
トランスフォーム済み頂点だからじゃんとかいってみる
0040デフォルトの名無しさんNGNG
PockertPC用DirectPlayってのをMSのサイトで見たんですが、ってことはそれ以外(DirectSoundとか)はまったくPocketPCでは使えないってことなんですか?

微妙にスレ違いで申し訳ないんですが、PocketPCで音を重ねたりするようなアプリを作る方法を探しています。どなたか情報ご存知でしたら教えていただけないでしょうか。
0041デフォルトの名無しさんNGNG
http://game2.2ch.net/test/read.cgi/retro/1075031898/145
0042超初心者NGNG
>>4
あの、VisualStudio.NET 2003のテンプレートにDirectX 9.0が表示されないのは
つまり、そういう事なんですか?
初心者ですいません。
0043デフォルトの名無しさんNGNG
Managed DirectX と DirectX SDK の違いを教えて下さい。
どれをダウンロードしていいのかわかりません><。
0044デフォルトの名無しさんNGNG
どっちともDLしてインスコする。
0045デフォルトの名無しさんNGNG
C#でDirectXってほんとにいばらの道だね。
やっと1週間半かけてDirectInputを使ったプログラムが出来た。
先は長い・・・・

0046デフォルトの名無しさんNGNG
>C#でDirectXってほんとにいばらの道だね。
なんで?
004745NGNG
>>46

資料が少ないのと、comとusing Microsoft.DirectXとどっちを使ったら
いいのか分からないから

0048デフォルトの名無しさんNGNG
その程度の悩みなのか。
C++とかでやったらもっと死ぬぞ。
0049デフォルトの名無しさんNGNG
>>48
C++は資料やHPがたくさんあるからマシ。
0050デフォルトの名無しさんNGNG
そうだね、C#でプログラム組んでわからなかったときは、C++のHP検索してるよ。
0051デフォルトの名無しさんNGNG
http://popup.tok2.com/home/ryza/
見つけました!
0052デフォルトの名無しさんNGNG
Visual Studio .NET 2002 + .NET Framework 1.1 + DirectX9 SDK summer update + C#
VSの参照設定はWINDOWS\Microsoft .NET\v9.00.1126の中の物を使用しています。

DirectInputのJoystickサンプルをそのままビルドしてみたのですが、実行すると

foreach (DeviceInstance instance in Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly))
{
    joystick = new Device(instance.InstanceGuid);
    break;
}

の部分のManager.GetDevicesでNullReferenceExceptionが投げられてしまいます。
サンプルは正常に動作したのですが、問題点や上手い解決方法をご存知の方が
いらっしゃいましたらどうかよろしくお願い致します。
0053デフォルトの名無しさんNGNG
>>52
joystick.Acquire();
joystick.Poll();
してから
joystick.CurrentJoystickState
で簡単にジョイスティックの情報が取れますよ
僕は
joystick = new Device(instance.InstanceGuid);
    break;
のコードにjoystick.Acquire();を追加しました

C++より列挙がらくでびっくりしました。
0054デフォルトの名無しさんNGNG
全くの手探りでとんでもなく初心者の質問なんですが。

C++で作った時はPeekMessageとかでメッセージループを書いたもんですが
>51 をみるかぎりやっていないようです。
C#はまさかタイマーでやるとか? 違うよなぁ。

どなたかサンプルコードを提示していただけませんか。
form の main にループを書くのかしら。。。


0055デフォルトの名無しさんNGNG
>>54
ちゃうちゃう、この場合すでにFormクラスにループが仕込んであってイベントがあったら
それに対応したメソッドを呼ぶんよ。

例えば、

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

ここのソースの場合、OnPaintってのがそのメソッド。

#PeekMessageが出るちゅう事は、前はMFC使わずWin32APIでゴリゴリ書いてたんかな?(w
0056デフォルトの名無しさんNGNG
単純にスレッドを生成してループさせればいいだけの話では?
0057デフォルトの名無しさんNGNG
private Timer timer;
private void InitializeTimer() {
// タイマーを作成
timer = new Timer();
// インターバルを30[ms]に設定
timer.Interval = 30;
// イベントハンドラを指定
timer.Tick += new EventHandler( this.Render );
// タイマーを起動
timer.Start();
}
スレッドづくりは難しいのでイベントハンドらをつかってみるといいと思います
後は自作のRender()の中に描画処理を書けばいいです
0058デフォルトの名無しさんNGNG
private int preCount = 0;
private const int FPS = 16;
public void GameLoop() {
int t =0;

if( Environment.TickCount < preCount) preCount = Environment.TickCount;

double t = Math.Abs(Environment.TickCount - preCount);

if( t >= FPS ) {
do {
t -= FPS;
preCount += FPS;
}while( t >= FPS );

// 描画開始
Render();
}
}
Timer使わないとするとEnvironment.TickCountを使ってこの関数を作って
この関数をwhile(true){}内で呼べばいいです。
005954NGNG
返事が遅れました。ありがとうございます。

>55
はい、WIN32APIで書いてました。
Formクラスに既にメッセージループがある、ということですね?
メッセージハンドラなどはMFCを触ったのでそれは解りますが、
一定の間隔でプログラムを実行したい場合、どうすれば良いかが分かりません。

タイマーだと簡単ですが、それ以外の方法ではないと
DirectXのゲームとしては遅くありませんか?

>58
ありがとうございます。
ところで while(true){} はどこに書くのが理想なのですか?
この状態でもメッセージハンドリングは生きているのですか?
終了処理は無くても良いのですか?

いろいろとすみません。
0060デフォルトの名無しさんNGNG
>>59ごめんおれもおくれた・・・

Formを継承したクラス内のゲームの初期化をすべて終えた後にいれます。
ぼくはRun()の中に書いた、ぶちゃけどこでもいいよ。
while (this.Created) {
// 1フレームの長さをfpsにそろえます
if (device != null) {
if( Environment.TickCount < preCount) preCount = Environment.TickCount;
int t = Math.Abs(Environment.TickCount - preCount);
// fpsだけ経過していたときレンダリングをします
if( t >= fps ) {
do {
t -= fps;
preCount += fps;
}while( t >= fps );
// レンダリングの前処理を行います。
// デフォルトではクリア処理が行われます
PreRender();
SetupMatrices();
// レンダリングを行います。
device.BeginScene();
Render();
device.EndScene();
// 表画面に表示します。
device.Present();
}
}
// Windowsメッセージを処理します。
Application.DoEvents();
}
0061デフォルトの名無しさんNGNG
>>59
こんな感じかな、コメント入り
http://www.realdigital.co.jp/densi2/program/d3d/dx3d-002.htm
しくみはここを見てください。
ここのサイトのコードをC#のコードにかきかえただけだけどね

ちなみにD3DApp.cs(GraphicsSampleクラスが記述されている)
のソースをサンプルから探すといいよ英語だけど解読する価値はあるよ

んじゃ
0062デフォルトの名無しさんNGNG
 現在、C#とDirectXを勉強しています。
DirectXのC++のDirectShowのサンプルのCaptureTexのようなもの(USB or IEEEカメラでリアルタイムにDirect3D画面に出す)をC#で作りたいと考えています。
 C#ではDirectShowがサポートされていないと聞きましたがDirectShowをラッパー?したものを使えば大丈夫とも聞きました。
 C#でこのようなプログラムを作成するにはどうすればいいでしょうか?サンプルや参考になるページなどがありましたらお教えください。よろしくお願いします。
0063デフォルトの名無しさんNGNG
MC++でラッパーを作るだけ。
0064デフォルトの名無しさんNGNG
>63
具体的にどうすればいいでしょうか?
0065デフォルトの名無しさんNGNG
DirectShowが呼び出せる言語でDLLを作って、C#からDllImportする。
0066デフォルトの名無しさんNGNG
>62-65
誰か作って・・。簡単なの?
0067デフォルトの名無しさんNGNG
他人に頼るくらいなら、きっぱり諦めたほうがいいよ。

0068デフォルトの名無しさんNGNG
まずC++側で目的のものを作る。
次にMC++で.NET対応のコンポーネント化する。
.NET対応作業はさして難しくはない。
0069デフォルトの名無しさんNGNG
C++はさっぱり分からないんですが・・・。
0070デフォルトの名無しさんNGNG
文法はC#に近いんだから、それほど問題はない。
こんなところで分からないなどと書き込んでいる暇があったら、
その時間に学習すればいいだけの話。
0071デフォルトの名無しさんNGNG
ところで、DirectDrawのHardware overlay surface(たぶん)を使って
ビットイメージを連続的にTV出力したいだけの漏れなんだが、いったい
どっから手を付けていけばいいのか?

どっかにサンプルない?
0072デフォルトの名無しさんNGNG
C#初心者とDirectX初心者です。

 Managed C#で作成したプロジェクトがありまして
そこにImageListを追加してImagesに画像を追加しました。
実行すると

【'GraphicsTemplate.ourRenderTarget'は'フィールド'を意味しますが、'クラス'でなければなりません。】

とエラーが出てきました。単なるWindowsアプリケーションではこのようなエラーはでなかったのですが、どうしてでしょうか?簡単な説明と解決法をお願いします。
0073デフォルトの名無しさんNGNG
エラーの意味はourRenderTargetはネームスペースだけどクラスではない、と言う意味。
Listを使っているみたいだから、foreach構文を使って追加した画像にアクセスしてみたらどう。
それとArrayクラスやリストについて勉強するといいかも。

以上へたな回答でした
0074デフォルトの名無しさんNGNG
DirectX初心者です。

VertexBufferを動的に扱う方法をお教えください。
VertexBufferの要素の数と値を動的に変化させたいと思っています。

具体的にはマウスをクリックする度にVertexBufferに追加していきたいと思っています。
マウスでクリックした座標をどんどん結んでいく感じです。

試しに作ってみたのですが、クリックを繰り返すと

「Exception An exception has occurred. This sample must exit.
System.OutOfMemoryException:プログラムの実行を続行するための十分なメモリがありませんでした。」
と出てきてしまいます。何か方法などありますか?
0075デフォルトの名無しさんNGNG
最初に作ったときのサイズを超えていたらエラーが出るのは当然。
DirectXに手を出す前に、言語の基礎をやり直すべき。
0076デフォルトの名無しさんNGNG
ぃあ、配列のオーバフローとかそういう意味ではないんですよ。
Render()の中で新規でVertexBufferを作成してその中にListに格納した値を入れています。
Render()中でVertexBufferを作るというのは、問題なのでしょうか?

0077デフォルトの名無しさんNGNG
それは解放されずに作りすぎになっているのでは?
0078デフォルトの名無しさんNGNG
たぶん。仰る通りそうだと思います。
いまいち、Render()、Frame()、InitializeDeviceObjects()などの関係が
よく分かりません。この場合どうするのが一般的なんでしょうか?
0079デフォルトの名無しさんNGNG
日経ソフトウェアの今月号にC#とDirectXでシューティングゲームを作るというのがあったので
DirectX初心者の私でもできるような記事かなと思って買ったのですが
うまく実行できません。VC#使いだけど、記事ではBorland使っているし。

しかたがないから 1から自分で勉強したいので、
C#ユーザー向けの DirectXの初歩から学べる ページを紹介してください
0080デフォルトの名無しさんNGNG
C#+DirectXでトゥーンレンダリングの方法を紹介しているページとかありますか?
0081デフォルトの名無しさんNGNG
今日からDirectXに挑戦しようと思って、
DirectX SDKなどをダウンロードしてインストールしたはずなんですが、
サンプルプログラムをダウンロードして実行しようとすると
「初期化できない」というエラーになります。
どうしてなんでしょうか?
解決法を教えてください。このままじゃDirectXのDの字も出ないうちに
諦めなければなりません
0082デフォルトの名無しさんNGNG
>>81
Text3D、LightingVSあたりを実行してみ?
しょぼいグラフィックボードじゃSDKのかなりのサンプルは起動しない
0083デフォルトの名無しさんNGNG
少なくとも質問する上で、ビデオカードの種類や実行したサンプルの名前が必要だということを
考えることが出来ないのであれば、
>今日からDirectXに挑戦しようと思って、
これはまだ早すぎる。
>このままじゃDirectXのDの字も出ないうちに諦めなければなりません
妥当な判断。
0084デフォルトの名無しさんNGNG
デバイスマネージャで確認したところ
> S3 Graphics ProSavage + utilities
とのことです。

2002年のPCだし仕方ないのかもしれん。
ネットに転がっているゲームなどは、DirectXの初期化ができない。
DirectX診断ツールでは、
> ディスプレイ ドライバがサポートしていないため、
> ハードウェア アクセラレータを使った Direct3D 9+ は利用できません。
> ハードウェアの製造元から新しいドライバを入手できるかもしれません。
というので更新しようと思った。
で、検索したが、ない。メーカーに聞いたがないとのこと。もうだめぽ。

DirectDraw アクセラレータ、Direct3Dアクセラレータ、AGP テクスチャアクセラレータは
すべて 使用可能 と 成っているので まだ少しの希望は残っているのですが・・・

Text3D は起動した。 いろいろプログラム動かしているから遅いのかもしれないが、
それでも 400x300で 4fps(w
Lighting は 3fps。

http://dxsimulation.at.infoseek.co.jp/supplement/test.htm
ここの「オブジェクトの表示」は動かなかった。

長々とすみませんね。
でも諦めきれないので、なんとかDirectXを弄れるように頑張ります。
最近のPCなら動くと思うので試しますが、手元にあるのは今年に買ったノートPCだけ・・・。
ノートPCだけど最近の機種だから動いてほしい、マジで。
0085デフォルトの名無しさんNGNG
> S3 Graphics ProSavage
これでまともに3Dをやるのは無理。
0086デフォルトの名無しさんNGNG
> S3 Graphics ProSavage
これでまともに3Dをやるのは無理。
0087デフォルトの名無しさんNGNG
> S3 Graphics ProSavage
これでまともに3Dをやるのは無理。
0088デフォルトの名無しさんNGNG
>>84
最新だから動くかっていうと、それは間違い。
とりあえず、DirectXの前に適切なPC購入の勉強からしてみてはどう?
0089デフォルトの名無しさんNGNG
>>84
昔、K6のDynabookでSavage(Proじゃない)が乗っていて、それで組んでいたことがある。
DirectX8のD3DXで、(確か)100ポリぐらいのQVGAで60fps動いた。
Spriteクラスを使って数個のオブジェクトが動く程度のものなら問題ないだろう。
・・・たぶん。(;´Д`)

なにせ何年も前の話だから記憶も曖昧なのは勘弁。
0090デフォルトの名無しさんNGNG
>>84
そういうのはメーカーや型番さらさないと有益な情報が集まらないと思われ
ドライバの情報収集は自作板が強いよ
PCの能力自体を疑うなら3DMarkなどベンチをとってみれば?

とりあえずドライバはここな
http://www.savagenews.com/?action=articles&article=list&dir=7
0091デフォルトの名無しさんNGNG
>>85-90
サンクスコ。 とりあえず自作板とか初心者板、くだ質巡って 情報収集してきます。
早く喪前らと同じくらいの実力をつけたいですよ・・・。第一歩すら踏めてない。

もともとゲーム(=DirectX)使うつもり無くてPC買ったからなぁ。
少しグラフィック関係には弱いのかもしれない。
デスクトップにテレビ機能なんていらんから、3Dを強化したの選べばよかった。

デスクトップ(2002年購入)は英語分からんからメーカーの日立に聞いたら
「無い」って断言してたので諦め。
ノート(2004年購入)はメーカーのNECのウェブサイトにドライバアップデートの時に見たら
ATI社の RADEON だった。期待できるかもしれないな。
0092デフォルトの名無しさんNGNG
>>74
// マルチレンダリングターゲット
device.DrawUserPrimitives(PrimitiveType.TriangleFan, 2, verts);
をつかいましょう僕も動的に扱うのにC#の資料がなくて苦労しました。。。
vertsにフレキシブルな頂点データの参照を書きます(わかるよね?)
あとはサンプル、ヘルプやC++の資料を柔軟に解釈すればできるはずです。

では健闘を祈ります
0093デフォルトの名無しさんNGNG
>>80
C#からDirectXを始める場合資料がないので結局C++からC#に直して考えるかMSのページで我慢するかです
3Dグラフィクスを始めたい場合おすすめ書籍は

「DirectXゲームグラフィックスプログラミング(N2Factrory)」

をみるとけたたましくわかりやすいです。すべてのDirectXの初期化コードの意味がわかるようになります。
いかんせんC++なのですがC#に似ているコマンドを探せば何とか対処できるはずです。

C++より断然かんたんなC#ですからがんばってください。
0094デフォルトの名無しさんNGNG
>>91
そのパソコンでも勉強はできます。
3Dゲームプログラムは2Dゲームの応用なので
まずDirectDrawをつかった2Dゲームを作る練習からすると良いと思います。
またDirectDrawは初期化も簡単だし、スプライトさえ表示できれば簡単にゲームが作れます。

ぜんぜん悲観することはないですよ。
0095デフォルトの名無しさんNGNG
>>93
>をみるとけたたましくわかりやすいです
斬新な表現だ。

0096デフォルトの名無しさんNGNG
つーかさ、DirectXを叩くクラスが.NET Frameworkにあれば
けたたましく苦労する事ないのにな。
0097デフォルトの名無しさんNGNG
>>94
自作板で厨房な質問したのに、親切に教えてもらえた―(゚∀゚)――!!!
おかげで無事にドライバアップデート完了。
Direct3Dが使えるようになりますた。

これで日経ソフトウェアについてたサンプルが実行できますよ。

その後は2DからDirectXの勉強していきたいです
0098デフォルトの名無しさんNGNG
よかったな。厨房質問しなくて良いようにがんがれよ
0099デフォルトの名無しさんNGNG
88べーしっくしかつかったことなかったが
きょうからC#とDirectX9勉強する
初心者にもわかるHPつくってまとめるから
わからないことあったらおしえろ
と書いてみるてすと
0100デフォルトの名無しさんNGNG
なんだよ まじで誰もいないのかよ
C#.netでDirectXってこと自体が破綻してるってことか?
だがチュートリアルを攻略するまでは諦めんからな
誰でもいいから教えろまじで
0101ぐっすり八兵衛NGNG
...zzzZZZ
0102デフォルトの名無しさんNGNG
>>92
>// マルチレンダリングターゲット
>device.DrawUserPrimitives(PrimitiveType.TriangleFan, 2, verts);

ありがとうございます。がんばって調べてやってみます。
C++からDirectXやっている方は、C#でプログラムしてもなんとかなるかと
思いますが、C#からDirectXをはじめたものとしては、参考書とか少なくて
大変です。これからもがんばってみます。
0103デフォルトの名無しさんNGNG
C#からDirectXを始めたヤシはC++の参考書も読むべし
0104デフォルトの名無しさんNGNG
>>102
そのへんは結構がんばったのでまた分からないことがあれば質問してください。
ま、僕が答えられたらの話だけど。。。
010599NGNG
C#。NETの本を読んでみた
Cっぽくてなんとなくわかりやすかった
土日でDirect3Dのチュートリアルをやりまつ
とイチイチ予告してみるてすと。
0106デフォルトの名無しさんNGNG
>>105
独り言を言いたいならゲ製作技板にそういうスレあるよ
0107デフォルトの名無しさんNGNG
Direct3Dのチュートリアル1の
パラメータ設定んところで SwapEffectの項目は
D3DSWAPEFFECT_DISCARDが選択されてますが

D3DSWAPEFFECT_FLIP
D3DSWAPEFFECT_COPY
との違いが説明読んでもよくわからないので
解説お願いシマス
0108デフォルトの名無しさんNGNG
>>107
交換と上書きコピー
0109デフォルトの名無しさんNGNG
>>108
D3DSWAPEFFECT_FLIP = バッファ交換
D3DSWAPEFFECT_COPY = 上書き
D3DSWAPEFFECT_DISCARD = これは何?
0110デフォルトの名無しさんNGNG
>>109
ドライバに任せる
0111デフォルトの名無しさんNGNG
超サンクスコよくわかりました
0112デフォルトの名無しさんNGNG
おれも聞きたい。
SwapEffect.Discardのとき250のfpsが
なぜかSwapEffect.CopyにするとFpsが200になる??

読んでもあんまわかんなかったけど予想はつく、
Discardだとバックバッファの情報はPresent()した瞬間に消えて再利用ができない。
Copyの場合バックバッファを二つ作ってPresent()した後コピーするからバックバッファを利用できる。
しかしメモリ効率が悪い。

たぶんCopyはマルチパスレンダリングや2分割画面を使うのに有効だと思う。。。
0113デフォルトの名無しさんNGNG
>>55
>ちゃうちゃう、この場合すでにFormクラスにループが仕込んであってイベントがあったら
>それに対応したメソッドを呼ぶんよ。

その仕込んであるループってどういう形なんだろうか?
その部分がメソッド化しててオーバーライド可能であればWin32APIのような
メッセージループができるわけだが・・・
0114デフォルトの名無しさんNGNG
Form.WndProc()
0115113NGNG
>>114
なるほど!ありがとうございました。そのまんまWndProc()だったんですか!
C#で何も操作していなくても画面が進行していく処理が知りたかったのですが
これならタイマやスレッドを使うより高速で安定してますね。

近いうちにC#とDirectXで何か作ろうと思ってた所でとても助かりました。
0116デフォルトの名無しさんNGNG
http://www.geocities.jp/mootdata/
0117デフォルトの名無しさんNGNG
>>79
その記事はDirectX初心者用ではないよ。
だってソースも間違ってるから、それに気づかないとダメっぽいw

それと、その程度で行き詰ってるようでは先は無いな。
諦めろw
0118デフォルトの名無しさんNGNG
諦めろとか、やめろとか安易に言う奴さ、
おまえはよほどいいゲームを作れたんだな?
作品見せてみろよ

初心者用の板で吼えてるんじゃねーよ
子ね
0119デフォルトの名無しさんNGNG
>>116 >>90
アフォ、DoEventは動作が不安定になる(数秒間とまったりする)ってManaged DirectXの
作者自らが公言しているだろ。
きちんとApprication.run(form)して >>114みたいにプロシージャでループ作れよ。

ttp://blogs.msdn.com/tmiller/archive/2003/11/07/57524.aspx
0120デフォルトの名無しさんNGNG
↑すまん、レス間違い

>>90 ×
>>60 ○

0121デフォルトの名無しさんNGNG
C#+DirectX関連の書籍、
いつまでたっても
ほとんどでなさすぎだなぁ。
0122デフォルトの名無しさんNGNG
すごい日本語ですね。
0123デフォルトの名無しさんNGNG
日本語は意味が伝わればモウマンタイ。
0124デフォルトの名無しさんNGNG
どうでもいいけど、ゲイツちゃんは
DirectXベースの.NETFrameworkは作らないのかよ!?
0125デフォルトの名無しさんNGNG
Microsoft XNAのことか?
0126デフォルトの名無しさんNGNG
DirectXがFrameworkに取り込まれたら
けたたましくステキなヨカン
だが、逆に使いにくくなるような気がしなくもない予感

>122
?
0127デフォルトの名無しさんNGNG
しかしC#+DirextX9の解説はネットにあまり転がっていないなぁ。
本のほうも、あまり多くないし、ヘルプは 更新されていないし間違い多いし。

>>117
ソース間違っているの?まだ日ソフのサイトから ソースだけ落として
VC#のプロジェクトに変換しただけで 中身見て無いけど。
実行はできたけど。
0128デフォルトの名無しさんNGNG
>>127
俺は>>117しゃないけど多分、サンプルの方。
Direct3D.Fontクラスの第一引数がnullになってる。
ここってstringでしょ?
0129デフォルトの名無しさんNGNG
>>127
7月号特集7「C♯とDirectXで3Dゲーム作りに挑戦!」の106ページリスト4font.DrawTextの第一引数のこと?
あと、サイトから落とせるt70407.zipのD3DSampleフォルダのWinForm.csと
SpaceSimフォルダのGamePlay.csにあるfont.DrawTextの第一引数もnullになってるね?
C♯Builderではこれでいいの?
VC♯だとnullを消さないと「引数が多い」等のエラーでコンパイルできなかった。

Microsoft.DirectX.Direct3D.FontのDrawTextメソッドのシグネチャは2種類あって
どちらも第一引数はstringなんですね。
私は先月C♯は始めたばかりなのでよく分かりませんが、他の方で修正無しでコンパイルできた方はいるのでしょうか?
ソースファイル自体は貴重な情報源なので重宝してますが。
0130デフォルトの名無しさんNGNG
>>129
外出だろうけど
コンパイルできない理由は多分、参照しているDirect3Dアセンブリのバージョンが違うからじゃねーの?
ここ読んでみろ。
http://www.dwahan.net/nyaruru/getreadyformdx/

DirectX9.0bのDirect3Dアセンブリのバージョンは1.0.900.0
DirectX9.0 UPDATE SUMMER 2003のDirect3Dアセンブリのバージョンは1.0.1901.0
日経のそのソースは後者のDirectX9.0 UPDATE Summer 2003で組まれているから1.0.1901.0の方を参照するべし!

もしDirectX9.0bのみがインストールされてたらコンパイルできねーよ。
ランタイムの方にもバージョンの違いで動かない等、問題がおきているよね。
0131デフォルトの名無しさんNGNG
リスクがいっぱいのManagedアプリよりも、Javaでのんびりゲーム製作したほうが楽しいと思う。
メインループさえまともに起こせない現段階のC#+ManagedDXに力注ぐのは無駄。

もう一度言う。LongHone出るまではキッパリあきらめて、Javaゲーム製作の練しとけ。
0132デフォルトの名無しさんNGNG
同人ゲームつくるのにC#がいいかなって思ってるんだけどさ、
どうやって配布すりゃいいのか悩む。
.NET Framework再配布パッケージをCDに入れるのも、なんだかトラブルの元になりそう。
Javaで作っても同じだけどね。

ネット配布の場合はMSのページにリンクでも張っとじゃなんとかなるかもしれんけど、
CD媒体のアプリではC#は避けるべきなんだろうか…
0133デフォルトの名無しさんNGNG
トラブルの元になりそうと思った理由は?
0134デフォルトの名無しさんNGNG
RPGツクールのようなゲームエディタ系アプリの中で
ソースコードを吐き出してくれるモノってあるの?
板違いかもしれんが・・・
0135129NGNG
>>130
最新のSDK入れたら動きました。初代9.0からSDK変えて無かったorz
0136デフォルトの名無しさんNGNG
>>131
Javaじゃろくなゲームできないだろうに。
現行の市販3Dゲームと同じような
クオリティのものなんてみたことないぞ。
Java3Dってパフォーマンスよくないっしょ。
0137デフォルトの名無しさんNGNG
>>131
>メインループさえまともに起こせない現段階のC#+ManagedDXに力注ぐのは無駄。
それはつまりスレッドをまともに扱えない無能者であることの宣言ですか?
0138デフォルトの名無しさんNGNG
>119
単にDoEventの行だけ削除するんじゃダメなん?
0139138NGNG
今更だがスゲーあほな質問してました
ダメに決まってるよな  スマソ
014054NGNG
WndProcの中で永久ループしちゃっていいの?
いまやってみてるけど、巧く行かない…。

113さんは巧く行ったのだろうか。
0141デフォルトの名無しさんNGNG

.NET系はソースレベルで逆コンパイルできるから
EXE配布==ソース公開 と思ったほうがいいぞ。

せっかくC#にもなれてC#まんせーって感じだったのに
まともなリバースエンジニアリング対策ができない事がわかってやる気なくした。

難読化ぐらいはできるがデバッグ情報付で再コンパイルできるんだぞ
署名機能とかあるけど間単にはずせる。

ようはオープンソース派以外は.NET系は使わないほうがいい。
もしくはMSにどうにかしろとメールだすなりして対策されるまで使わないか、
せめて誰かエロい人が.NetFrameworkのコール隠すツールが作られて公開されるまで.NET系は使わない方がいい。

0142132NGNG
>133
単純に、インストーラを2つ立ち上げなければならないってだけで、
ユーザは十分混乱すると思われ。

…と思ったんだが、さっきぐぐってみたら.NET再配布パッケージをインストーラに
ふくめることができるツールがあるとか。
ただし英語版のみで日本語環境ではそのままでは動かないらしいが。
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=1509

それじゃ配布に関しても特に問題はないのか…俺のC#Builderで
こいつが動くかどうか不安だが。
0143デフォルトの名無しさんNGNG
>141
そんなのはどの環境で作ったって同じでしょ。程度の問題で。
0144デフォルトの名無しさんNGNG
>>140
何故スレッドを使うという選択肢が存在しないのですか?
0145デフォルトの名無しさんNGNG
>>143

程度っていうけど普通のEXEの逆アセンブルレベルじゃないぞ
普通のEXEならC++のクラスレベルで逆コンパイルは出来ない。(少なくとも漏れのしるかぎりでは)

.NET系の場合は綺麗に逆コンパイルできるから
EXEから一部のクラスをそのままぱくる事が可能。
しかもILレベルで逆コンパイルとじゃなくC#の言語レベルで逆コンパイルできる。
0146デフォルトの名無しさんNGNG
たいしたものでもないのに、
やたらソース見せたくないと思ってるやついるよな。
0147デフォルトの名無しさんNGNG
パクられて困るようなものってそんなにないと思うがどうか
0148デフォルトの名無しさんNGNG
ネットゲーム
0149デフォルトの名無しさんNGNG
パスワードがべた書きとかじゃなければ 別に良いよ。
どうでも良いヤツ(糞ソースとか、ブス女とか)ほど隠したがるのは
どの世界でも共通なんだなw
0150デフォルトの名無しさんNGNG
議論がずれてないか?

なんにしても、ソースまる分かりな.NETを商用で使えるかってなると使えないだろ?
ソースが綺麗とか価値があるないとかは関係ないぞ
0151デフォルトの名無しさんNGNG
初心者の館で商用の話すんなよ
0152デフォルトの名無しさんNGNG
>>151
同人ゲーで一儲けしようと思ってるんだよ。
相手にすんな。
0153デフォルトの名無しさんNGNG
商用でソースがバレたらなぜだめなのかがわからない。
ネットゲームでプロトコルがバレたらまずいなどの理由ならわかるが
商用全般を指しているようだ

>ソースが綺麗とか価値があるないとかは関係ないぞ
と書いてあるので技術流出も関係なさそうだ

いまいち想定している危険が想像できない
0154デフォルトの名無しさんNGNG
(´-`).。oO(商用でソースばれたらダメダメでは…
015554NGNG
>144
スレッドを使うという話になってなかったから。
いま仕方ないのでスレッドでやってます。

でもWndProcで出来ないというのもイヤですよね?
せっかく聞いたのに。
0156デフォルトの名無しさんNGNG
WinProcをオーバーライドして使ってみたんだが、
何かしらのメッセージが発生した時に来る。
つまり、PeekMessageの中って事になるわけで…。
それだったらループには組み込めないんだけど、
WinProcで回してる人はどうやってやってるんだろう?
それよりも実際にいるの?
0157デフォルトの名無しさんNGNG
>>156
Controlクラス上のイベントハンドラの定義されていないようなメッセージの場合は
Win32APIの時と同じようにswitch,case文で自前でメッセージ処理を行えばいい。
ドキュメントのControl.WndProcの欄を見ればやり方が書いてある。
てか普通、気にしなくてもいいと思う。

>>140
その中でループを組んじゃダメ。
WndProgメソッド自体をループだと思えばいい(毎フレーム呼ばれる、と思う)
アプリの初期化処理はApprication.run()以前に済ませておくか、formのコンストラクタ内でやる。
描画に関してはOnPaintをオーバーライドしてDevice.Begin()〜end()を含んだRander()なりを入れればOK。
This.invalidate()メソッドをオーバーライドしたWndProc()の最後に入れてやると、
実行後ほおっておいても再描画を繰り返してくれる。

チョット分かりにくい説明ですまんが
0158157NGNG
>>156
常にWM_ACTIVATEAPP (0x001C)は呼ばれている(毎フレームかどうかは知らんが)ので大丈夫です
0159157NGNG
すまん、徹夜で超疲れてて発言おかしい。

Summer2004版ではおそらくDoEventの改善は行われるはずだから
リリースまで待ってみるのもいい。

0160157NGNG
俺はこんなかんじでやってるが、問題なし。


protected override void WndProc(ref Message m)
{
     switch(m.Msg) {    // メッセージ処理
       case 0xxxx:
        break;
       }

     Game.mapDraw();    // マップ処理
     Game.characterDraw(); // キャラクタ処理
     Game.padInput();     //入力処理
    base.WndProc(ref m); // 親クラスにもメッセージを送る(必須)
    this.Invalidate(); // 画面の更新(OnPaint()を呼んで再描画する)
}
0161デフォルトの名無しさんNGNG
スレッドを使えばいいだけのことを、なぜわざわざメッセージループ中でやろうとするのか、
理由と必要性がさっぱり分からない。
0162デフォルトの名無しさんNGNG
イベントをウインドウ制御側のスレッドで実行したければ、
必要に応じて別スレッドからSendMessageでユーザーメッセージを処理させればいいだけだし。
何故イベントリブンを無意味にするような方法を使おうとするのだろう?
0163デフォルトの名無しさんNGNG
スレッドはパフォーマンスが落ちるからなるべく避けてきたというゲーム独特の歴史的背景のせいだと思われ
016454NGNG
>157
そのソースを見る限り「Invalidate」のおかげで
WndProcに戻ってきてるのでは……。

だったらそもそもOnPaintの中に書けばいいんじゃないかな。

0165デフォルトの名無しさんNGNG
そしてメッセージループ中で重い処理を書いた方が、
ウインドウの反応速度が落ちて重く感じることになるという。
0166デフォルトの名無しさんNGNG
http://www.csharphelp.com/archives2/archive387.html
0167デフォルトの名無しさんNGNG
OnIdleなんぞ使おう物なら、どうでもいいときに制御が回ってきて無駄が多いは、
他のスレッドが重い処理をするととたんに回ってこなくなるはで、さあ大変。
0168デフォルトの名無しさんNGNG
>>161
スレッドはアクションゲームには向かないし初心者には同期とるのもね。デッドロックかかちゃいそう。
>>140
この答えはいろいろあるとおもいますが
>>60の最後に書いてるけど

// Windowsメッセージを処理します。
Application.DoEvents();

をつけたせばウインドウズのメッセージを処理できるー>無限ループにならない。
僕はWinProcやOnPaintはつかってないねぇ。
0169デフォルトの名無しさんNGNG
>スレッドはアクションゲーム向かないし
あなたがどうしようもないほどの馬鹿だということが分かりました。
0170デフォルトの名無しさんNGNG
>>160
すべてのメッセージがそこを通るんだから描画と処理の同期がおかしくなる
0171デフォルトの名無しさんNGNG
初心者が大勢集まってるもんだから
0172デフォルトの名無しさんNGNG
Device デバイス = new Device(
                 0,
                 DeviceType.Hardware,
                 フォーム,
                 CreateFlags.SoftwareVertexProcessing,
                 パラメータ );
のときに 1つめの引数が0になっていますが0ってどういう意味でしょうか?
C++ヘルプでは
Adapter[in]ディスプレイ アダプタを示す序数。D3DADAPTER_DEFAULT は常にプライマリディスプレイ アダプタである。
とありますが 0はプライマリディスプレイアダプタなんでしょうか?
0173デフォルトの名無しさんNGNG
#define D3DADAPTER_DEFAULT 0
0174172NGNG
D3DADAPTER_DEFAULT=0
defineの数値に対応してるんでつね、
ありがとうございます
にしてもC++のへるぷないとどうにもなりまつぇんね・・
おとなしくC++でヤったほうがよいのかとすら思えてきますた
0175デフォルトの名無しさんNGNG
>>169
自分のこと書いて楽しいですか?
0176デフォルトの名無しさんNGNG
>>169
馬鹿って言い方は失礼だと思うぞ。
単に、ここ最近のWindowsの仕組みを知らずに言い放った愚か者ってだけ。
0177デフォルトの名無しさんNGNG
スレッドを勘違いしている無能者って、VBからC#に移ってきた奴なんだろうなあ。
0178デフォルトの名無しさんNGNG
N88べーしっくから移ってきた漏れよりはマシなんではないでしょうか
0179デフォルトの名無しさんNGNG
>176
ここ最近って何か変わったの?
0180デフォルトの名無しさんNGNG
そもそもVB厨でもなければ、スレッドを使わずにDoEventでぶん回そうなどと、
阿呆なことは考えない。
0181デフォルトの名無しさんNGNG
>>180
おまいの理屈だと
チュートリアル作ったやつも
VB厨って解釈できるが
それについて何かコメントおながいしまつ

もうね、ループすりゃどうだっていいじゃん
偉そうなこと書くなら
おまいらの言う理想のループ処理とやらを書いてくれ
参考にさせてもらうから
0182デフォルトの名無しさんNGNG
>>180殿、さ、どうぞ!

0183デフォルトの名無しさんNGNG
だからスレッド使えよ。
0184デフォルトの名無しさんNGNG
*言うだけなら誰でも*
0185デフォルトの名無しさんNGNG
>>183
おまいの理想とする
スレッド使ったコードを晒してください
話はそれからだ

*言うだけなら誰でも*
0186デフォルトの名無しさんNGNG
関係ない話題は、然るべきスレでかきなよ。
いい加減、うっとおしくなってきた。
0187デフォルトの名無しさんNGNG
C++ではメインループとウインドウメッセージを分けることなど当たり前なのに、
何故C#になるとスレッドを使おうとしないのか不思議で仕方がない。
別にC#特有の問題が存在するわけでもないのに。
0188デフォルトの名無しさんNGNG
>>187
C#ではメインループとウィンドウメッセージを意識せずにコードが
書けるからでは?
0189デフォルトの名無しさんNGNG
>>187
スレッドの場合
たとえば16ms毎にゲーム処理のスレッドを呼び出すとすると、もしスレッドの処理が3msで終わってしまえば
次の呼び出しまでの13msは待ち時間となり無駄になるだろ?

でもメインループなら、マシンの限界まで処理を回ることができる。
お前ってMFCしか使ったこと無いの?
0190デフォルトの名無しさんNGNG
スレッドをループさせれば同じことじゃないの?

あと、アクションゲームの場合は、おそらくイント単位で処理することになるから、
メインループでもスレッドでも、待ち方が違うだけで同期処理は同じになると思われ。
0191デフォルトの名無しさんNGNG
イントってなに?
0192デフォルトの名無しさんNGNG
>>189
待ち時間はSleepなり、正格にやるならマルチメディアタイマーのイベントシグナル(コールバックを使わない方法)等で
処理を休ませることになるが、Win32APIでプログラムを組んだことがないの?
0193デフォルトの名無しさんNGNG
正格→正確
0194デフォルトの名無しさんNGNG
Sleepもマルチメディアタイマーも問題山積なのを隠して語っても仕方ないだろう
とりあえず叩き台になるソース晒せや

*言うだけなら誰でも*
0195デフォルトの名無しさんNGNG
ていうか、そもそもC#自体がWin32APIを直接叩く事を
推奨していない言語仕様だからなぁ。
0196172NGNG
質問でつ チュートリアル2で
頂点バッファ.Lock(0, 0, 0);
といふ頂点をロックする処理がありまつが、

1つめの引数=頂点バッファをロックを開始する位置(バイト単位)
2つめの引数=頂点バッファをロックするサイズ(バイト単位)
でいいのでせうか?
しかも両方のパラメータが0なのでバッファ全体をロックを指定したといふことですよね?

3つめの引数は0になってまつが、
D3DLOCK_DISCARD
D3DLOCK_NO_DIRTY_UPDATE
D3DLOCK_NO_SYSLOCK
D3DLOCK_READONLY
D3DLOCK_NOOVERWRITE
のどれが0だかわからないでつ デファインに対応した数値表とかないんでつかね?
0197デフォルトの名無しさんNGNG
>問題山積なのを
何が問題なのか提示せず反論だけ。

*言うだけなら誰でも*
0198デフォルトの名無しさんNGNG
C#でWin32API使うのは、面倒で非効率です。
素直にMC++と併用するのが無難でしょう。
0199デフォルトの名無しさんNGNG
>>197
マルチメディアタイマーの機種依存、Sleepの精度
Win32APIやったことあるなら知ってるだろ?
そういう話題の振り方して逃げるようなこと書くなや
0200デフォルトの名無しさんNGNG
Sleepに関しては、精度が気になるのであればマルチメディアタイマーと書いている。
マルチメディアタイマーに関しては機種依存といっても、最小間隔の値のが違うだけで、
しかも1msに設定できないのは、そうとう昔のチップセットの話。
3Dを扱うPCスペックのマシンで、最近も問題があるというのなら具体例を挙げて欲しい。
今、機種依存の問題と書くからには、それなりの根拠があった上での話だよね?
0201デフォルトの名無しさんNGNG
         ☆ チン

       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヽ ___\(\・∀・)< DirextXのラッパークラスまだー?
            \_/⊂ ⊂  )_ \________
          / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
       |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
       |   愛媛みかん   |

0202デフォルトの名無しさんNGNG
>>196
ここのバカどもには答えられないから他で質問汁
まぁ漏れもそんなバカどもの一人だが
0203デフォルトの名無しさんNGNG
C++側のヘルプを見れば載っているのに、Managedの方しか見ない奴が悪い。
0204デフォルトの名無しさんNGNG
C++イラネ
0205デフォルトの名無しさんNGNG
.Net Frameworkのヘルプを見ても載ってないマイクロソフトが悪い。
0206デフォルトの名無しさんNGNG
スレッド使うとかゆいところに手が届かないというか、
届かなくてもいいとこなら使うって感じなんだが、

ゲーム開発の世界ではふつーに使ってるものなの?
0207202NGNG
>>203
C++のほうも見たが196 の
>どれが0だかわからないでつ デファインに対応した数値表とかないんでつかね?
は俺もわかりませんでつたよ わかる神はいませんか?

>1つめの引数=頂点バッファをロックを開始する位置(バイト単位)
>2つめの引数=頂点バッファをロックするサイズ(バイト単位)
>しかも両方のパラメータが0なのでバッファ全体をロックを指定したといふことですよね?
これはたぶんあってると思う
0208デフォルトの名無しさんNGNG
DirectX SDK 有料にしてでも ちゃんとしたヘルプつけてくださいまし
といいたくなるくらい ManagedのDirectXヘルプはウン○だね・・
0209デフォルトの名無しさんNGNG
#define D3DLOCK_READONLY 0x00000010L
#define D3DLOCK_DISCARD 0x00002000L
#define D3DLOCK_NOOVERWRITE 0x00001000L
#define D3DLOCK_NOSYSLOCK 0x00000800L
#define D3DLOCK_DONOTWAIT 0x00004000L

#define D3DLOCK_NO_DIRTY_UPDATE 0x00008000L

これじゃなくて?
0210デフォルトの名無しさんNGNG
>>208
> DirectX SDK 有料にしてでも ちゃんとしたヘルプつけてくださいまし
DirectX5以前までは英語版のヘルプしかなく、
和訳された辞書みたいな分厚い本が2,3万で売ってた気がするけどな。
0211デフォルトの名無しさんNGNG
フラグを付けなければ、フラグにある効力は一切使用しないだけ。
デフォルトもへったくれもない。
0212デフォルトの名無しさんNGNG
>>210
ああ、あったな。「馬鹿高い本だなぁ。」と驚いた。
なつかしい。
Managed DirectX(C#)用の詳細に書いた本が今でれば、
2,3万でも買うんだけどなぁ。
0213デフォルトの名無しさんNGNG
>>209
それ、どこに載ってた?
0x〜ってことは16進数だよね・・
10進数値が0のやつは1つもないね
0214デフォルトの名無しさんNGNG
>>213
>[in] 実行するロックの種類を記述する、0 個以上のロッキング フラグの組み合わせ。このメソッドに使用できるフラグは次のとおり。

>0 個以上のロ
これじゃねーの

>>209はC++のヘッダファイルより
0215172NGNG
>>214
いつのまにか神が降臨してる〜
つい最近c#はじめた漏れにC++のヘッダファイル云々ってムリポでつよママン
つまり 0を指定してるのでフラグつかってませんってことでつね
ボロHPにまとめておきまつ
0216デフォルトの名無しさんNGNG
あえてC#でやるからには、
C#の特性を存分に使うべきだね。
そうしなければ、C++でやったほうが
情報も多いし、パフォーマンスも優れるし良いと思う。
まあ、あたりまえのことだけど・・・。
0217デフォルトの名無しさんNGNG
>>216
.Net FrameworkにDirextXのラッパークラスが載ってない以上、
C#でDirectXを使うメリットはないと思う…

そう言う意味では>>201や>>205は的を射ている。

つか、WindowsもOfficeみたく、殆どの機能をクラスで扱える
ようになればいいのに。
0218デフォルトの名無しさんNGNG
ビデオカードのテクスチャサイズ制限(256x256までとか、2のべき乗とか)を
プログラムで取得するにはどうしたらいいでしょうか?

RADEON9600で640x480のテクスチャ読み込ませたら問題なく使えてしまったので
もしかしたらsummer版から内部で適当に処理してくれてるのかと思ったのですが
そうでもない気がしてきたので…。

VRAMのテクスチャバッファ残量を動的に取得する方法もあるようでしたら知りたいです。
0219デフォルトの名無しさんNGNG
CAPS?
0220218NGNG
>>219
caps見れば良かったんですね。
あっさり解決しました。ありがとうです。
0221デフォルトの名無しさんNGNG
     C++                 C#
DrawIndexedPrimitiveUP   DrawIndexedPrimitives
DrawIndexedPrimitive     DrawIndexedUserPrimitives
DrawPrimitiveUP        DrawPrimitives
DrawPrimitive          DrawUserPrimitives

これでいいですか?
0222221NGNG
すみません。よく調べたらUP系が逆でした…
0223デフォルトの名無しさんNGNG
>221-222
その無駄な変化はなんなんですか...
0224デフォルトの名無しさんNGNG
D3DX系(Sprite、Matrix)と自前系(Primitive)を比較してみると機種にもよるがフレームレートの差は2〜5倍もある。
糞重いD3DX使ってる奴は艇脳負け組って意味だろw
0225デフォルトの名無しさんNGNG
差はあっても、カード依存という壁をなんとかしてくれるD3DX系の使いよさは、
多くのユーザーを抱える場所では開発コストを抑えられるたまらない恩恵なわけで。
0226デフォルトの名無しさんNGNG
どこの板でも定期的に>>224みたいな馬が涌いてくるね
0227デフォルトの名無しさんNGNG
土日の定期便みたいなもんだ
0228デフォルトの名無しさんNGNG
馬鹿定期便。
0229デフォルトの名無しさんNGNG
>>224
D3DXが無ければXファイルや形状データ、座標を扱うのって難しくないですか?
自前ライブラリを持つメーカーならともかく、一般人ならD3DXに頼らざるを得ないと思う。

初心者の意見ですけど。
0230デフォルトの名無しさんNGNG
速度云々よりは、内部構造を理解しておかないと、
用意されていない機能を実現しようとするときに困ることになる。
実用出来るかどうかは別にしても、Xファイルの読み込みからレンダリングまでは、
ある程度自分で作れるようになっておくに超したことはない。
まあ何を作るかにもよるので、何が必要なのかは各々で判断すればいい。
0231デフォルトの名無しさんNGNG
自作ライブラリ作るのが生きがいですってならともかく
漏れみたいに、ただヌルい3Dゲを作りたいって人は
レンダリングまで自分でやりたいなんて到底思わないかと
0232172NGNG
Microsoft.DirectX.Direct3D.Pool.の
Default
Managed
Scratch
SystemMemory
の違いがイマイチよくわからんでつ よくわからない場合はとりあえずDefaultを選べってことでつか?
0233デフォルトの名無しさんNGNG
今後
C#が、C++での実装に
パフォーマンスで追いつくことは不可能かな?
0234デフォルトの名無しさんNGNG
GDI+が異常に遅かったのは自分でチャックしたんだけど、トータルでも結構遅いの?
0235デフォルトの名無しさんNGNG
>>233
ノートPCの性能がデスクトップに追いつくの?
ってのと同等の質問に見えた漏れは夢がないんでしょうか・・?
0236デフォルトの名無しさんNGNG
C#やJavaに日頃慣れていると、
C++の開発が非効率に思えてね。
0237デフォルトの名無しさんNGNG
>>234
俺も偏った部分しかチャックしてないが、あんま速くなかったよ。
でもま、あれは簡単に扱えるって意味でのライブラリだから、あんなもんでいいと思うよ。

チャック?
0238デフォルトの名無しさんNGNG
GDI+はDIBでゴリゴリやってるのと同じだし、
別にDirect3D使ってるわけじゃないし、
遅いのはC#のせいじゃないだろ。
0239デフォルトの名無しさんNGNG
じゃあ、C#+DirectXで
パフォーマンスは追いつくわけだ。
0240デフォルトの名無しさんNGNG
         ☆ チン

       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヽ ___\(\・∀・)< DirextXのラッパークラスまだー?
            \_/⊂ ⊂  )_ \________
          / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
       |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
       |   愛媛みかん   |
0241デフォルトの名無しさんNGNG
完全にスレ違いけど、GDI+ ってα値付きで絵が描けるんで DirectX のテクスチャに
絵を書くときとても便利だよね。線とかパスのスミージングも出来るし。
0242デフォルトの名無しさんNGNG
 ↑
スミージング・・・何語だよ
0243デフォルトの名無しさんNGNG
誰か>>232に答えられる神はいないのか?
0244デフォルトの名無しさんNGNG
用途によって異なるとしか言いようがない。
ヘルプを読めば分かるだろ。
0245デフォルトの名無しさんNGNG
ヘルプ読んでもわからない馬鹿がここにいますが何か?
ヘルプ読めばわかるって言うならこんなスレいらないよね
0246デフォルトの名無しさんNGNG
ヘルプは粗末すぎだよな。
メソッドやフィールド名で推測するしかないし。
高くてもいいから、分厚い本でもだしてくれ。
0247デフォルトの名無しさんNGNG
C++のヘルプも読め、そっちにきっちり書いてあるから。
0248デフォルトの名無しさんNGNG
どこがわからないとか言わないと回答のしようもないよ
まさか専門用語がわからないなどとググりもせずホザイテマスカ?
0249デフォルトの名無しさんNGNG
>>247のとおり、C++側に大抵書いてある。
若干名前が変わってるが手順などほとんど同じだし。
0250デフォルトの名無しさんNGNG
>>246
「高くてもいいから、分厚い本でもだしてくれ」

マニュアル登場

「もっとわかりやすい本だしてくれ」

分かりやすいマニュアル本登場

「なんかマンドクセー!」
0251デフォルトの名無しさんNGNG
C++でDirectX慣れていれば、
C#でもすらすらと開発できそうなんだけどなぁ。
0252デフォルトの名無しさんNGNG
>>251
「初心者」っていうのは、C# にも DirectX にも、ドキュメント読むことにも、考えることにも、
推測することにも、質問することにも、調べることにも初心者なんですよ。

どれか一つでもうまく出来るようなら、他のことも大抵できるようになって、もう初心者じゃ
なくなるから。
0253デフォルトの名無しさんNGNG
C++のドキュメント読まないといけないなんてC#は糞ですね?
0254デフォルトの名無しさんNGNG
>>252
それは人間の初心者。
今までの人生で成長が存在しないとは、いったい何をしていたんだか。
0255デフォルトの名無しさんNGNG
単純にドキュメントだけにフォーカスをあてるなら253の言う通りC#&Xはクソですな
0256デフォルトの名無しさんNGNG
C++も2003summerの日本語ドキュメントないよ
0257デフォルトの名無しさんNGNG
>>253
いや、マイクロソフトがヽ('A`)ノウンコー
0258デフォルトの名無しさんNGNG
RHW=同次空間上のトランスフォームした頂点。(x,y,z) データは既に w で除算 (w の逆数を乗算) されている。

結局んとこ、この値を設定すると何がどうなるのかよくわかりませぬ
まったく指定しなくてもチュートリアルは普通に動くみたいだし
0259デフォルトの名無しさんNGNG
テクスチャマッピングの補正につかうんだったかなー
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#本じゃないのが残念
立ち読みしてきまふ
0361デフォルトの名無しさんNGNG
>>359
アルゴリズム本であってシューティングを絡めた言語入門書じゃないぞ
0362358NGNG
>>359
その本買ったんだけど、ガチガチのアルゴリズム本でした。
いや、承知して買ったんですが。
面白かったんですが、入門書にはならず。
C++のソースついてるけど、規模が大きいから
ソースなぞりながら理解していく、ってのが難しそうなのであきらめました('A`)
0363デフォルトの名無しさんNGNG
ネット対応3Dシューティング(FPSなど)のアルゴリズム本でないかな。
0364デフォルトの名無しさんNGNG
コンパクトなシューティングのソースならゲ製作技術板にイパーイある
C++とDelphiばっかりだけど
0365デフォルトの名無しさんNGNG
ColorKey.ColorSpaceHighValu ってARGB値ですか?
透過しなくて困っています。
0366デフォルトの名無しさんNGNG
久々の質問だ
気合入れて答えろよおまいら

俺?

すまん、わからん
0367デフォルトの名無しさんNGNG
>>365
ソースのサーフェスのピクセルフォーマットの通りに指定する。
んでもいまどき使う、それ?
0368365NGNG
>367
え、いまどきは何を使うのでしょうか。
0369365NGNG
いろいろ調べて試してみましたが、
367の発言だけで巧くいくほど理解していないようです。
ソースのサーフェスのピクセルフォーマットは
どこで設定しているのでしょうか。

現在のソースは以下のようになっています。

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++でいじってた頃の記憶なので、はずしてたらスマソ。
0371365NGNG
コメントは抜き忘れです。
本当はbmpに読み込んでbmp.GetPixel(0,0).ToArgb()をやってました。
でもこれもだめらしい。
サーフェイスから直接、ってどうやってとるんですか?

0372デフォルトの名無しさんNGNG
>>371
Surface を 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
>>372
あ、これが済んで pexels が無用になっらた Unlock を忘れずに。
0374365NGNG
ありがとうございました。

確かにDIrect3dのほうが情報が多いんですよね。
少し3Dもやってみます。

本もどかどか買ったことだし……。
0375デフォルトの名無しさんNGNG
 最近、DirectXを始めたので、周りに聞く人もいないので、質問させてください。
おばかな質問かとバカにされるかもしれませんが・・・。本当に分からないので。
Direct3DとDirectDrawを同時に使うということはできるものなのでしょうか?
 Direct3Dでオブジェクトを表示させている画面の上に、スプライトでテクスチャを貼るということは可能でしょうか?
 本とかサイトを見る限り、板ポリゴンの上にテキスチャを張っているサンプルが多いのですが・・・。
 参考になるページとかありましたら、お教えください。よろしくお願いします。
0376デフォルトの名無しさんNGNG
>>375
>Direct3DとDirectDrawを同時に使うということはできるものなのでしょうか?
不可能
>Direct3Dでオブジェクトを表示させている画面の上に、スプライトでテクスチャを貼るということは可能でしょうか?
一部意味不明な部分があるがポリゴンとスプライトの混在は可能
>参考になるページ
Cマガでたまに組む特集ぐらいしか取っ掛かりがないよね
0377デフォルトの名無しさんNGNG
そもそもスプライトなどという機能は存在しないので、無い物は混在できない。
0378デフォルトの名無しさんNGNG
>>375
変換済み頂点を使った板ポリゴンで十分だから、いまさら DirectDraw の
スプライトを使う人はほとんどいないと思います。

お金儲けをしようと思って、自販機のお釣り帰ってくるところを探し回る人と
同じくらいのレア度だと思いますよ。
0379デフォルトの名無しさんNGNG
C#からDirectDrawは使えないだろ?
0380デフォルトの名無しさんNGNG
C#からDirectShowは使えますか?
0381デフォルトの名無しさんNGNG
>>379
何の問題もなく使えるが、お前は何を言っているんだ?
0382デフォルトの名無しさんNGNG
DirectX7のころはDirectDrawサーフェイスに描画した画像を
テクスチャに指定することができたみたいですが
DirectX9になってからはできなくなったというのはホントでつか?
仮にホントだとして同じような機能を実現するにはどーしたらよいのでしょうか?
0383デフォルトの名無しさんNGNG
うそです。
0384デフォルトの名無しさんNGNG
無くなった機能をどうしても使いたいのなら、古いバージョンで開発する。
その為の互換性でもあるんだけどな……。
0385デフォルトの名無しさんNGNG
>>382
テクスチャに描画すればいいじゃん。
0386デフォルトの名無しさんNGNG
>>385
その方法がわからないのかと思われ
0387382NGNG
>>385
殺り方とかのってるHPはないんでしょうか?
0388デフォルトの名無しさんNGNG
>>387
殺り方藁田
0389デフォルトの名無しさんNGNG
ageてみますね・・・
0390デフォルトの名無しさんNGNG
>>387
GetDC して GDI で書いてもいいし、LockRect してバッファに直接書いてもいいし。
DirectDraw の頃とたいして変わってないと思うけど・・・
0391デフォルトの名無しさんNGNG
>>387
これは?
http://www.microsoft.com/japan/msdn/directx/japan/dx9/mxd10.asp
0392387NGNG
>>391
アンタ、スゲーいい香具師だな
メガトン級サンクスコ
0393デフォルトの名無しさんNGNG
質問です。
うまく伝えられるかどうか分かりませんが・・・。

 Direct3Dのシーン上で二つのカメラを扱うことは
できますか?一つのオブジェクトを異なる複数の視
点から表示したいと思っています。
 よくゲームとかで、画面の隅っこの方にキャラク
タを上から見たようなの(地図みたいなの?)が表
示されるのってありますよね?そういうのを作りた
いと思うのですが、どうしていいのか、さっぱり、
分かりません。何かアドバイス等いただけたらと思
います。宜しくお願いします。
0394デフォルトの名無しさんNGNG
ビューの設定を変えて表示したい数だけレンダリングすればいい。
0395デフォルトの名無しさんNGNG
>>393
266をまとめた116の「ウインドウの一部に表示したい」
って奴を応用してカメラの位置かえて再描画
0396駄目PGNGNG
すみません。
C#ビルダー使いはじめたのですが、そもそも言語仕様を詳しく解説したサイト
ありませんか?とくに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デフォルトの名無しさんNGNG
C♯相談室 Part16
http://pc5.2ch.net/test/read.cgi/tech/1087297504/
0398デフォルトの名無しさんNGNG
>>396
.NET SDK付属MSDNライブラリ(無料)
0399デフォルトの名無しさんNGNG
C++移転組ならこれ便利
ttp://black.sakura.ne.jp/~third/programming/cs/cs.html
0400デフォルトの名無しさんNGNG
.NET板
http://bbs.2ch2.net/dotnet/
0401駄目PGNGNG
>>387 399
有難う。これから調べます!
0402デフォルトの名無しさんNGNG
誰でも簡単にって・・・w
万能な開発ツール作ってコードの自動出力付ければいいだけだと思うがねw

XNAには期待してないからDirectX10だせや
また一から覚えなおすのはやだから
0403デフォルトの名無しさんNGNG
そろそろ俺の出番かな?
0404デフォルトの名無しさんNGNG
関係無いが、池袋に「俺の出番」というラーメン屋がある。
0405デフォルトの名無しさんNGNG
ダレでも簡単 ってヤツに限って 誰でも簡単にいじれない代物なんだよね・・(にや
0406デフォルトの名無しさんNGNG
関係ないが、小便少女もいる。
0407デフォルトの名無しさんNGNG
申し訳ありません。質問です。
自分で作ったフォントをインストールさせずにDirectFontで使用する事はできますか?
0408デフォルトの名無しさんNGNG
申し訳ありません。質問です。
印刷業界を崩すために98年MicroSoftが放つとどめの一撃。
AdobeのAcrobat実用段階システムにしてMSでDirectFontと呼ばれていたプロジェクトって何ですか?
0409駄目PGNGNG
いろいろ調べたけど明確な答えが見つからないなぁorz..

構造体の中に配列すら単純に記章できないのでしょうかorz..
サンプル見てもc#の得意な事ばかり強調されているけど、C++からの移植について
ベーシックな部分を説明しているところがない...

構造体にコンストラクタって(もちろん便利ではあるのだけど)
構造体のポインタをファイル関数に渡して、メモリイメージを保存したい。
そんな場合には、無用な機能だし

誰か明快なお答えをorz..

#define wm_mycommand = 1111;

Cでかかれているこんな定義は何処ですればいいのだろう。
0410デフォルトの名無しさんNGNG
>>409
こちらで聞いてみれば?
ttp://pc5.2ch.net/test/read.cgi/tech/1062421817/l50
0411デフォルトの名無しさんNGNG
こっちのがHOTかも
ttp://pc5.2ch.net/test/read.cgi/tech/1087297504/l50
0412デフォルトの名無しさんNGNG
C++頭でC#を使って開発してもメリットないだろうな。
0413デフォルトの名無しさんNGNG
そもそもCでも#defineは別の物に置き換えるのが推奨されているし、
その書き方はC#側と同じになる訳なんだが。

つまりC#以前にCが理解できていないということなのだから、
まともに移植など出来ようはずがない。
0414デフォルトの名無しさんNGNG
public const = wm_mycommand = 1111;
0415414NGNG
まちがいた
public const int wm_mycommand = 1111;
0416デフォルトの名無しさんNGNG
DEFINT A-Z
0417デフォルトの名無しさんNGNG
工学社から出てるこれらの本は参考になるのかな?

http://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
>>417
バカには参考になるんじゃないの
0419デフォルトの名無しさんNGNG
>>418
それが理解できないお前は何者なんだろうな。
0420デフォルトの名無しさんNGNG
なんだろ、この思考力の欠片も感じられない最低品質の煽りはw
0421デフォルトの名無しさんNGNG
お前もな。
0422駄目PGNGNG
>>415
すみません
ネームスペースの外に宣言できますか?
でなければクラスの外に宣言できますか?

クラス内でしか宣言できないとなると 
クラスで使用したい構造体の為の宣言が出来ないのですがorz...


0423デフォルトの名無しさんNGNG
>>422
あのさ(←書き方が乱暴で悪いけど)、世の中には C# で必要な struct を定義して
Win32 API を読んだり、あるいは単に C# で struct を使ったりしてる例が山ほどあるでそ。

喪前のやろうとしていることは、どれほど「特別な」ことなんだ?
誰でも当たり前のように出来るのに、422には出来ない、という場合には、
「できますか?」って質問するんじゃなくて、何をやろうとしているのかを具体的に書いて、
「やり方を教えてください」って頼んだ方が良いと思う。
0424デフォルトの名無しさんNGNG
>>423
「できますか?」って質問に対しては、
単純に
「できます」
「できません」
って答えてあげればいい
0425デフォルトの名無しさんNGNG
ばーか
0426潜伏していた1NGNG
>>422
こうするんです
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
>>417
初めてDirecTXにふれるなら参考になるはず。
俺はその系統のDirectX8のヤツ買ったけどかなり役に立ったよ。
0428デフォルトの名無しさんNGNG
DirecTV
0429デフォルトの名無しさんNGNG
まずは、オブジェクト脳を作るんだ。
0430デフォルトの名無しさんNGNG
そもそも、>>422は
なぜわざわざC#でやりたいんだろうか・・・。
C++で無難にやったほうが
情報量も多いし、パフォーマンスもいいのに。
0431デフォルトの名無しさんNGNG
>430
開発時間が圧倒的に短いから。

> 情報量も多いし、パフォーマンスもいいのに。

Managedによるパフォーマンスの低下は約一割。
ケース倍ケースだが、C#を選ぶ理由は充分にある。
0432デフォルトの名無しさんNGNG
生産性がいいわりには苦労してるようだが……。
0433デフォルトの名無しさんNGNG
>>431
SDKのサンプルを見る限りは、軒並み一割どころではない差が付いているが、
何をもって一割なんだか意味不明。
0434デフォルトの名無しさんNGNG
>>431
C++からの移行だとそうでもないよ、もともとDirectXはC++を想定して作られているので
C#のクラスとして考えるとやり方のキテレツな方法が仕様中に詰まってます。
メモリーの構造がイメージできないと理解に苦しむような仕様があります。
パフォーマンスもかなりトリッキーな事をしないと一割は難しい。
誇大広告は鵜呑みにするべからず。

それでもGDI+よりかなり面白い事ができるので、気に入ってはいますけど・・・
0435anonymousNGNG
あるWindowsアプリケーションが、一連の動作の中で
使用するポート、プロトコルについて
調べるソフトウエア または、方法はないでしょうか?
0436デフォルトの名無しさんNGNG
>>435
Ethereal
0437デフォルトの名無しさんNGNG
>430
メモリ管理がらくでわかりにくいバグがでないからだと

>434
CustomVertexのこと?
もっとましなインターフェイスにしてほしいよ。
0438デフォルトの名無しさんNGNG
コマンドラインからビルドするにはどうすればいい?

csc /lib:"e:\windows\microsoft.net\managed directx\v9.00.1126"
/r:Microsoft.DirectX.dll *.cs

とかやってもだめです。
0439デフォルトの名無しさんNGNG
>>437
そもそも言語側でメモリ管理をしなきゃならんってのが今となっては前時代的だしなぁ。
0440デフォルトの名無しさんNGNG
言語側でメモリーを管理するのが前時代的なのか。
それじゃC#はもろに前時代的な言語だな。
0441デフォルトの名無しさんNGNG
>>439-440
煽りは死滅スレでやってね、くだらない質問で埋め尽くされるのは、このスレの意義があったと言えるが
キチガイ発言で埋め尽くされるのはゴメンだよ。
0442デフォルトの名無しさんNGNG
>>440
そりゃあーたC/C++じゃねーのか?

>>441
スマソ、でもこれだけは言って置きたかった。
0443デフォルトの名無しさんNGNG
C/c++は言語側が管理するのではなく、プログラマ側が管理するんだが。
0444デフォルトの名無しさんNGNG
2004 summer入れたらビルド通らなくなってた。
微妙に変わっているのね。
0445デフォルトの名無しさんNGNG
C/C++だと、ハードをプログラマが管理するんですね











とてもとても前時代的ですね。
0446デフォルトの名無しさんNGNG
>>443 >>443 >>445
よそへ逝け
0447デフォルトの名無しさんNGNG
最近のドライバは大概C/C++で組まれているが。
どんな最先端OSを使っているのか興味津々。
0448デフォルトの名無しさんNGNG
リソースの管理はロックしないように気を付けたり、
勝手に開放されないように明示的設定をする必要があったりと、
気を抜ける場所ではありません。
0449デフォルトの名無しさんNGNG
でもま、メモリをプログラマが一々管理するってのはアホらしいとは思うね。

機械的な作業まで人間様が面倒見なならんってのはなぁ。
0450デフォルトの名無しさんNGNG
>>449
氏ねキチガイ
0451デフォルトの名無しさんNGNG
VS.NET2002だとDirectXSDK入れただけでウィザード出来るんじゃないんですか?
0452デフォルトの名無しさんNGNG
夏版なら2004でもウイザート動くよ
0453デフォルトの名無しさんNGNG
無料でアップグレードできるのに、未だに2002を使っている理由が分からない。
アカデミックならゴミみたいな値段で買えるし。
0454デフォルトの名無しさんNGNG
2004からウィザードは無くなったよ
0455デフォルトの名無しさんNGNG
>>453
そーゆーのは余計なお世話ってやつじゃない
0456デフォルトの名無しさんNGNG
2004ってなに?
0457デフォルトの名無しさんNGNG
2004Summerを入れたんですがDirectXプロジェクトのウィザードが出来ないんです
MSのフォーラムによれば2002ならウィザードが出来るはずなんですが。
0458デフォルトの名無しさんNGNG
2003ですね(藁
0459デフォルトの名無しさんNGNG
Visual Studioのバージョンと、DirectX SDKのバージョンが
激しく混乱している予感
0460デフォルトの名無しさんNGNG
>>450
機械的な作業でお金貰ってたら人間として恥ずかしいだろ。
0461デフォルトの名無しさんNGNG
アホは無視の方針で頼む >ALL
0462デフォルトの名無しさんNGNG
未だに2002を使っている奴って、非合法的手段で入手した臭いがするんだが。
0463デフォルトの名無しさんNGNG
そうだな。下らないので>>461は無視する。まだ>>460の方が的を射ている。

>>457
>>459のとおり、ちゃんと双方のバージョン見直した方がいいと思う。
0464デフォルトの名無しさんNGNG
>>438
俺はこんな感じでやってる。こんなんでいいのかは知らんが。
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
しかもコンパイラ名の c が抜けて sc になってるよ。
今日はもうだめぽ。
0467デフォルトの名無しさんNGNG
ていうか長ぁ
0468デフォルトの名無しさんNGNG
>>464-467
モチュチケ
0469デフォルトの名無しさんNGNG
>>467
ごめんね。
0470デフォルトの名無しさんNGNG
↓

こんな感じのテクスチャを用意しておいて、
スプライト描画するときに回転させて描画(←とか↑とか)させたいんですが
どうやったらできるでしょうか?
Sprite.Draw2D()に回転角を引数に取るものがあったのですが、
説明が少なくてよくわかりませんでした。
(全体が回転する?)
0471438NGNG
>>464
できたYO。
0472デフォルトの名無しさんNGNG
>>457

俺も2004summerを入れたけど、ウィザードできなかった。
VisualStudioのバージョンは2003。
theSpokeのやつ。

VisualStudio2003じゃウィザードでないですか?!

激しい既出の質問ですが、答えらしい答えは無かったような気がします。
どなたか分かる方いたら、教えてください!
おねがいしゃす!おねがいしゃす!
0473デフォルトの名無しさんNGNG
Summer2004ではウィザードは廃止された。
代わりにGUIも使える新しいフレームワークのサンプルが、
EmptyProjectとしてサンプルブラウザからインストール出来る。

これFAQになりそうだ。
0474472NGNG
>>473 は 唯一神です。

ありがたき幸せ。生きていて本当に良かった。ありがとう。ありがとう。
0475デフォルトの名無しさんNGNG
>>473
つーコトは、VC#以外の開発環境(ボーランドの奴とか#D)でもサクッと作れるように
なったのか。ヒャッホウ!
0476デフォルトの名無しさんNGNG
てか、機能ダウンだろ。
0477デフォルトの名無しさんNGNG
根本的にウィザードなど使用する必要性がないのでどうでもいい。
0478デフォルトの名無しさんNGNG
日経ソフトウェアで連載始まったらしいけど
他にも連載してるとこある?
Cマガで2回ほど特集してるのは持ってるんだけど
0479デフォルトの名無しさんNGNG
>>478
アバンジェリスト川西さん期待age。

Cマガでやってた特集はどれも糞。
連載は他にはやってないんじゃないかなあ。
0480デフォルトの名無しさんNGNG
VS.NET 2003でManagedDXウィザードを使うには。

1. 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デフォルトの名無しさんNGNG
つづき。

3.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
protected override void OnLayout(LayoutEventArgs e)
{
  image.Dispose();
  image = new Bitmap(ClientSize.Width, ClientSize.Height);
}
0484デフォルトの名無しさんNGNG
新しく作り直すしかないんすか・・・ (´・ω・`)
なんかオーバーヘッドがでかそう。
0485デフォルトの名無しさんNGNG
オーバヘッドを気にするのなら、そもそもC#という選択に問題がある。
0486デフォルトの名無しさんNGNG
>>485
C++ だとどうやるんですか。参考までに。
0487デフォルトの名無しさんNGNG
>>485
Java だとどうやるんですか。参考までに。
0488デフォルトの名無しさんNGNG
あるけど

backSurface.SurfaceDescription.Width
backSurface.SurfaceDescription.Height
0489デフォルトの名無しさんNGNG
>>486
そもそも、フレームバッファをウィンドウフレームのサイズに拡大縮小してBlitしているだけで(CViewが勝手にやってくれるんだと思う)、
クライアントエリアの大きさが変更されても、実際にフレームバッファ(フロント・バック・Z・ステンシル等)のサイズが変更されるわけじゃないよ。
だから、320x240のフレームバッファを1024x768のウィンドウフレームに表示してくれるしその逆もある。
0490デフォルトの名無しさんNGNG
拡大縮小を行うか否かは出力時に決定するものだが、
なぜ突然行うことが前提で話し出す馬鹿が出現するんだろう?
0491デフォルトの名無しさんNGNG
>>489
>だから、320x240のフレームバッファを1024x768のウィンドウフレームに表示してくれるしその逆もある。
主観だけど、そんなゲームやりたくないし、作りたくないよ。っていうか、482で明確に

>ウィンドウのクライアント領域と同じ大きさのバックバッファサーフェスを作ったんですけど、
って書いてるから、今話してるプログラムはそういうタイプのものでは無いと思う。
0492デフォルトの名無しさんNGNG
>>491
おまえこそなんか勘違いしている。
0493デフォルトの名無しさんNGNG
理由も無しに決めつけるのはよくないですね
0494デフォルトの名無しさんNGNG
>>492
どう勘違いしてるの?参考までに。
0495デフォルトの名無しさんNGNG
>>494
何がわからないの。参考までニヒヒ。
0496デフォルトの名無しさんNGNG
なんか10秒に一回くらい、0.5秒くらい固まるんだけど、コレって何?
0497デフォルトの名無しさんNGNG
ガベコレががんばっているんじゃないの?
0498デフォルトの名無しさんNGNG
Dispose を忘れてますた OTL
0499デフォルトの名無しさんNGNG
directinputでマウスの動きを検出しようとしてるんだが、
何故かdeviceのSetEventNotificationで設定したイベントが
飛んでこない。
サンプルと同じようにやってるのに何故だorz
0500デフォルトの名無しさんNGNG
中濃ソース晒さんとアドバイスもできん
サンプルが普通に動いてるなら
おまいのコードが悪いってことに
0501デフォルトの名無しさんNGNG
焼そばソースなら晒せます。
0502デフォルトの名無しさんNGNG
おじさんつまんなーい
0503デフォルトの名無しさんNGNG
> 本来、アニメーションセットの取得には GetAnimationSet メソッドを使うべきですが、
> DirectX 9.0 Update (Summer 2003) では、GetTrackAnimationSet メソッドがその機能を持っています。
> 逆に言うと、このリリースの GetTrackAnimationSet は正しく実装されていません。
> これは修正される予定なので、このコードは将来のバージョンでは正しく動作しません。
> GetAnimationSet メソッドを使ったコードをコメントアウトしていますので、正しく修正されたリリースではそちらを使ってください。


2004夏ではこのバグ(?)は修正されていますでしょうか。
落とされた方教えて下さい。
0504デフォルトの名無しさんNGNG
C#で高速化目指すなら静的なプログラミングじゃないと難しいなぁ。
大量のnew→disposeの繰り返しは厳しすぎる。
まぁゲームは基本的にスタンドアロンだから開始前に大量にメモリ確保しても問題ないか。
いちいち事あるごとにnewなんてしてられないしね。
0505デフォルトの名無しさんNGNG
ここは駄目初心者の日記帳じゃないんだが。
0506デフォルトの名無しさんNGNG
ここは書き込みの内容が支離滅裂で意味不明で標語的な言葉を暗記するだけで判断を外部に任せてしまう駄目初心者の日記帳じゃないんだが。
0507デフォルトの名無しさんNGNG
ManagedDirectXを解説したオススメの書籍とかないでしょうか?
0508デフォルトの名無しさんNGNG
>>507
某MVP大学生も押しているが、イチオシといえばこれしかない。

Managed Directx 9: Kick Start : Graphics and Game Programming
ttp://www.amazon.co.jp/exec/obidos/ASIN/0672325969

なんてたってMDXのAPI設計者自らが書いている点で信頼性大。
ソースコードが歯切れ良く鏤められている点も分かりやすくてよい。
0509デフォルトの名無しさんNGNG
押すじゃなく推すじゃないのか
0510デフォルトの名無しさんNGNG
>508の本は俺も持っている。
突然自分の頭が良くなったんじゃないか?ってぐらいわかりやすい。
超オススメ。
0511デフォルトの名無しさんNGNG
>>508
カケラも日本語でのなさそうな ふいんき(なぜかry)なんだが・・
英語オンリーじゃ教養のない漏れにはつらすぎる
0512デフォルトの名無しさんNGNG
>>511
いや、本当にわかりやすいんだよ。
とにかく英語が平易でわかりやすい。
辞書なしで読み進めることができたんで
自分でもビックリした。
0513デフォルトの名無しさんNGNG
技術英語なら何とかなる.がんがれ
0514デフォルトの名無しさんNGNG
ならないよ

才能のある人間達の会話はこれだから嫌なんだ
0515デフォルトの名無しさんNGNG
才能じゃなくて努力だろ。
がんばれ。
0516511NGNG
どちらにせよ英語確定なわけか・・
立ち読みしてみて判断したいとこだが
洋書じゃそういうワケにもいかんよなぁ・・
0517デフォルトの名無しさんNGNG
MSDN(英語)で挫折した偏差値50の俺でも大丈夫でしょうか?
0518デフォルトの名無しさんNGNG
偏差値50なら学校で英語の授業ないだろ
0519デフォルトの名無しさんNGNG
あったわい
0520デフォルトの名無しさんNGNG
>517
なら無理。
でも努力すれば可
0521デフォルトの名無しさんNGNG
サンプルコードとかって載ってますか?
0522508NGNG
>>521
前の書き込みで書いたが、
コードだけでも読み進められるくらい、
めちゃくちゃいっぱい載ってる。

あと紀伊国屋新宿南店で存在確認。
0523デフォルトの名無しさんNGNG
すまん質問さしてくれ
マネージドの解説本らしいがVBとC#どっち使ってる?
この本にはどんなサンプルがのってるん?
Direct3Dオンリー?
サンプルやチュートリアルで網羅しきれてないサンプルとかある?
ぶっちゃけこれ一冊で簡単な3Dゲが作れるくらいのボリュームですか?

新宿遠すぎ
騙されたともって買ってみるカ・・
0524デフォルトの名無しさんNGNG
騙されないから買っておけ。
0525デフォルトの名無しさんNGNG
> マネージドの解説本らしいがVBとC#どっち使ってる?
C#

> この本にはどんなサンプルがのってるん?
いろいろ
おまけCDはMSI

> Direct3Dオンリー?
いいえ

> サンプルやチュートリアルで網羅しきれてないサンプルとかある?
いいえ(はい)

> ぶっちゃけこれ一冊で簡単な3Dゲが作れるくらいのボリュームですか?
はい(いいえ)

> 新宿遠すぎ
いいえ
0526デフォルトの名無しさんNGNG
> サンプルやチュートリアルで網羅しきれてないサンプルとかある?
いいえ(はい) ←どっちでつか

> ぶっちゃけこれ一冊で簡単な3Dゲが作れるくらいのボリュームですか?
はい(いいえ) ←どっちでつか

アマゾンで注文しまつた
0527デフォルトの名無しさんNGNG
>>526
>>508にまんまと嵌められたな。
糞して後悔するがいい。
0528デフォルトの名無しさんNGNG
Mesh.LoadHierarchyFromFile
でアニメーションが入ってないファイルを読み込むと、

中身が腐ったAnimationRootFrame.AnimationContollerが返ってくる。

外からじゃ腐ってるか判別できないから、
覗こうとして適当なプロパティをを参照した瞬間あぼーんもうだめぽ
0529デフォルトの名無しさんNGNG
何回やってもデバイスの初期化であぼんぬなんですがやっぱノーパソごときでMDX使うのが間違ってますかね?
0530デフォルトの名無しさんNGNG
>>508は、例のマネージド本の出版社の社員です。
>>526は彼の営業活動に騙された、立派な被害者です。
0531デフォルトの名無しさんNGNG
ノーパソもここ2年ぐらいは3D強化されてるから動くと思うけど
どんな化石を使ってるのかね
0532526NGNG
>>530
訴えていいでつか?
0533デフォルトの名無しさんNGNG
>>525補足
おまけCDにはVB.NETのソースもはいってたはず
0534デフォルトの名無しさんNGNG
この本、付属のCDにC#とVBのコードが入ってる。
しかし、すでに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
いろんなところに、「SHOP TALK」ってあるんですけど、
これってなんですか?

前後の文脈から、点睛慎吾みたいなものかなあと想像するのですが
0536デフォルトの名無しさんNGNG
"Shop Talk"
うんちく話。相手、時、場所を選ばず、自分の商売の話ばかりすること。専門話。
0537デフォルトの名無しさんNGNG
要するに、トリビアか。
0538デフォルトの名無しさんNGNG
英英辞書
ttp://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デフォルトの名無しさんNGNG
藻前らいっしょにShop TALKしようぜ。
0540デフォルトの名無しさんNGNG
summer2003と2004ぜんぜん入れてませんでつた
アップテートとかぬかしてるのに上位互換なんいんですねこいつら
サンプル動かなくて激しく鬱でつ
0541デフォルトの名無しさんNGNG
ちょっと分からないので質問します。
DirectXのMeshクラスでティーポットとかトーラスを作成できますよね。
そのティーポットの頂点データなどを取得する方法はありますか?
どうすればよいでしょうか?宜しくお願いします。
0542デフォルトの名無しさんNGNG
マルチか?コピペか?厨房王国BBXが今夜も嵐を呼ぶ!!
0543デフォルトの名無しさんNGNG
>>541
Mesh.Teapot(device).Device.RenderState.Lighting = true;

これで落ちるらしいぞ。
0544デフォルトの名無しさんNGNG
>>541
あ〜。うろ覚えなんで、自分で確かめてほしいんだけど。
BaseMeshにVertexBufferやIndexBufferをゲットするためのプロパティがなかったかな?
メッシュ、プログレメッシュ、パッチメッシュなどは、このクラスからの継承。

public class Mesh : BaseMesh { ... }
0545デフォルトの名無しさんNGNG
>541.544
Mesh box = Mesh.Box(device,1.0f,1.0f);
VertexBuffer vb = box.VertexBuffer;

ここから、どうやってvbに格納されている頂点データを取得したらいいのでしょうか?
0546デフォルトの名無しさんNGNG
>>545
お前はなぜ自分で調べようとしないんだ?
サンプルならWebにごろごろ転がってるぞ。
0547よしおNGNG
Direct3Dで動いてる画面のスクリーンショットを取るプログラムを作り
たいのですがどのAPI?クラスを使えばいいのでしょうか?
スクリーンショットを取ってメモリやbitmapで保存できるような物が作
りたいのですが
0548デフォルトの名無しさんNGNG
>>545
手順を書いとく。
たしか、DXの付属サンプルに、その目的そのまんまのコードが
あったような気がする。イルカのやつ。

�@メッシュからVertexBufferとその数を取得。
�A新しいVertexBufferを確保。
�BメッシュからゲットしたVertexBufferをロック。ストリームまたは配列をゲット。
�C新しいVertexBufferへメッシュのVertexBufferをコピーする。
�DメッシュからゲットしたVertexBufferをアンロック。
0549デフォルトの名無しさんNGNG
>548
そうだ、忘れてた。w
書き込むバッファもロック、アンロックしろよ。
0550デフォルトの名無しさんNGNG
DirectSoundではMP3を再生することはできなんでしょうか?
0551デフォルトの名無しさんNGNG
デコードしながらバッファに書き込んでいけば問題なく出来るだろ。
0552デフォルトの名無しさんNGNG
>>550
素直にVideo使えって。
0553デフォルトの名無しさんNGNG
>>551
そんな上等なことできたら初心者板に居る必要ないね

>>552
DirectShowの機能だっけVideoって
0554デフォルトの名無しさんNGNG
Windows Mediaな。
0555541NGNG
>546.548
どうもありがとうございました。
できました。めちゃくちゃ考え違いしていたみたいで・・・。お恥ずかしい。
大変お手数をおかけしました。ありがとうございました。
0556デフォルトの名無しさんNGNG
Audio audio = new Audio("smp.mp3", true);
audio.Play();

Video video = new Video("smp.mpg", true);
video.Play();
0557デフォルトの名無しさんNGNG
>>556
神キタ〜〜〜〜〜〜〜〜〜!!
胡散臭いとか言う次元すら超越してアッサリ実装できますた 多謝。

なんかDirectSoundみたいに
自動でループとかいうステキなメソッド・プロパティないんすね
ここ参照にしてみますた これまたアッサリ実装できますた
http://fe0r.at.infoseek.co.jp/Doc/midi.htm
0558デフォルトの名無しさんNGNG
どこが神なんだ・・・
サンプルからそのままやんか
0559デフォルトの名無しさんNGNG
551や558に比べたら超神杉だろ
文句だけは達者なヤツはウザイだけ
他池
0560デフォルトの名無しさんNGNG
結局、条件のDirectSoundでというのは何だったんだ?
再生できるなら何でもいいのなら、そんな条件を付けなければいいのに、
何のためにDirectSoundを指定したんだ?
0561デフォルトの名無しさんNGNG
音鳴らすってことを全部DirectSoundでできたら楽なのにとか思ったんだろ?
それ以外はダメなんて一切書いてないしAudioあたりで満足したみだいだし放置しとけ
0562デフォルトの名無しさんNGNG
>>561
匂いを出すってことは全部DirectSmellでできることを知らない罠。
0563デフォルトの名無しさんNGNG
>>562
神きたーーーーーーーー!!!!!!!!
DirectSmell使ってみたけどホントに臭い出たよ!!
ようやくレモンの香りのするシューティングが完成しそう
アリガトン!!!

















って時代がいつか来るのかな・・?
臭い出た時点で少なくともクリスクロスは超越するわけだが
0564デフォルトの名無しさんNGNG
現代でいうブラクラのニオイ版とかあったら、マジで洒落にならないよな。
悪質なニオイに出くわしたら、ほんとに吐いて具合悪くするんじゃない?
0565デフォルトの名無しさんNGNG
そうなると、きっと匂いファイヤーウォールとか出るに違いない。
フィルタリングする項目にウンコ、カメムシ、生ごみとかリストアップしてあったりして。
0566デフォルトの名無しさんNGNG
あ
0567デフォルトの名無しさんNGNG
 匂いファイアウォール・・・。嫌ですね。特にカメムシは・・・。
質問です。C#でForceFeedbackについて簡単に解説&サンプルが載ってるページってご存知でしょうか?
 あと「それぐらい調べてください」といわれそうですが、質問ついでに質問します。ごめんなさい。
DirectPlayは使ったことがないので良く分かりませんが、
 一つの空間に複数の人がアクセスしてくるようなプログラムを作成したい場合、
DirectPlayの関数で、簡単に空間を共有してくるような機能ってありますか?やっぱり、
DirectPlayは単なる通信の方法でしかなくて、オブジェクトの共有とかデータで送ってあげないとムリですか?
やっぱ、そこまではできませんよね?
0568デフォルトの名無しさんNGNG
>匂いファイヤーウォール
匂いデバイスを意図的に誤動作させるパケットを切れば・・
それ以前に匂いを発生させるデバイスがない限り無問題っぽいが
そんな装置作ったら特許モンだよな

> 一つの空間に複数の人がアクセスしてくるようなプログラムを作成したい場合、
クライアント/サーバー トポロジのことを言ってんのか
ピアツーピア トポロジのことを言ってんのか
どっちなのかはっきりしてほしいぞ ヘルプに絵つきで糞わかりやすい解説がついてるからまずそれを見てくれ
たぶんクライアント/サーバー トポロジのほうを想定してるんじゃないと思うが

>DirectPlayの関数で、簡単に空間を共有してくるような機能ってありますか?
>DirectPlayは単なる通信の方法でしかなくて、オブジェクトの共有とかデータで送ってあげないとムリですか?
たとえばおまいさんの想像してるのは
キャラクタ1〜10までの座標とHPを共有 とか設定すれば勝手にデータ転送して整合性保ってくれる
みたいなのか? だとしたら無理 そんな都合のいい機能はないかと思われ 自分で実装しる
DirectPlayはパケット(文字列やら数値やら音声やら)を転送するための手段を提供してくれるだけと考えておいたほうがよいよ
0569デフォルトの名無しさんNGNG
>>563
そのくらいヘルプ嫁、と言いたいところだが、ヒントだけな。
味はとりあえず俺の好みに合わせているが、各人好きなように調整してくれ。

DirectSmell.Device dev = new DirectSmell.Device(form1);
DirectSmell.Buffer coffee = DirectSmell.Presets.Coffee.Wonda.MorningShot(CoffeeStrength.Strong, CoffeeSugar.Double, dev);
coffee.Play();
0570デフォルトの名無しさんNGNG
>>569
匂いだけでなく味まで再現するのか・・
どんなハードウェアか想像もつかん













みんなが飽きる前にそのネタやめとけ?
0571デフォルトの名無しさんNGNG
もうとっくに飽きてるんですが何か。
0572デフォルトの名無しさんNGNG
たぶん、色表現をRGBの値で表現するように、
色々においを表現できるんだろうな。
ウイルスの付録になりそう。
0573デフォルトの名無しさんNGNG
>>569
砂糖入れすぎ
0574デフォルトの名無しさんNGNG
おまいら、たまにはニュースみろよ
臭いのでるデバイスはネットカフェで遊べるよ
東京だけど
0575567NGNG

>DirectPlayはパケット(文字列やら数値やら音声やら)を転送するための手段を提供してくれるだけと考えておいたほうがよいよ

 やっぱりそうですよね。もしかしたらそういう「便利な機能もあったりして?」と思っただけです。
お手数をおかけしました。
0576デフォルトの名無しさんNGNG
DirectDrawを使って2D画像を拡大縮小させたりしたいのですが、2D画像のサイズは
2の倍数しか扱えないのですか?
0577576NGNG
それと、C#のGDI+系の命令と共存して使用できますか?
0578デフォルトの名無しさんNGNG
wmsdk.hって何を落とせば入ってくるの?dx9sdk落とせばいい?
9入れたら8戻らないとかあったりしませんよんね
0579デフォルトの名無しさんNGNG
>>577
できるよ。
Surface.GetGraphics() で GDI+ のグラフィックスオブジェクトをゲットできる。
使い終わったら Surface.ReleaseGraphics() で開放すること。

そのときの注意点は以下の通り。

・サーフェスのフォーマットはバックバッファに使われるのと同じ種類でないとダメ。
・サーフェスをミップマップのテクスチャチェーンに入れてはダメ。
・すでにロックしてあるサーフェスに Surface.GetGraphics() を呼び出すと失敗する。
・サーフェスがレンダーターゲットの場合は、ロッカブルであること。
・メモリプールを Pool.Default にした場合はダイナミックバッファであること。
・メモリプールがスクラッチの場合は常に失敗する。
0580デフォルトの名無しさんNGNG
>DirectDrawを使って2D画像を拡大縮小させたりしたいのですが、2D画像のサイズは
>2の倍数しか扱えないのですか?

DirectDrawに関してはんなこた〜ない筈
拡大縮小も任意の数値で思いのママだよ
その昔、爺フォースとかのグラフィックボードが
3Dポリゴン(メッシュ)に貼り付けるテクスチャは
2の乗数でないとダメって仕様なのはあったとは思ったが
たぶんそれと勘違いしてるのかと思われ
0581デフォルトの名無しさんNGNG
>>573
とりあえずソースよろしこ
もしホントなら逝ってきて体験談をここに記す
0582デフォルトの名無しさんNGNG
間違えた>>574だったよ
0583デフォルトの名無しさんNGNG
>>576
>2の倍数しか扱えないのですか?

偶数しか使えないとかいう制限は聞いたことないな
0584デフォルトの名無しさんNGNG
>>526
そろそろ届く頃かな?
本の感想きぼん
0585デフォルトの名無しさんNGNG
526じゃないけどアマゾンで買ってみた。
これくらいの英語ならさくさく読める感じ。高校レベル+専門用語知識

内容は…あんまり深く読んでないのでパス。
4kちょいの出費が痛くなければいいんじゃない?
0586デフォルトの名無しさんNGNG
>>508の被害者がまた一人増えたな。
SAMSマンセー
0587デフォルトの名無しさんNGNG
>>586
君はくだらない人間だな。
0588デフォルトの名無しさんNGNG
ピアーツーピアを使ったサンプルってありませんかね?
0589デフォルトの名無しさんNGNG
サンプルもなにも
PtoPなら普通にチュートリアルあるだろうが
0590デフォルトの名無しさんNGNG
>>589
それは何処にありますか?
ドキュメントの中から探しても見つからなかったんですけど。
0591デフォルトの名無しさんNGNG
LightにCommitというメソットがあります。
ヘルプを見ると「指定したライトに対する遅延ライト設定を適用する。」
と書かれてあるのですが、この意味がさっぱり分かりません。
遅延ライトとはどういう意味なのでしょうか?
0592デフォルトの名無しさんNGNG
3D空間内にテキストを出す方法ってないですか?
人のモデルの頭上にテキストをつけたいんですが
C++でもいいのでサンプルないですかね。
0593デフォルトの名無しさんNGNG
>>591
Summer 2004 では Commit() はなくなって、代わりに Update() になっている。
Light の各プロパティは、それぞれ変更された瞬間に値がデバイスに反映されるのではなく、
Commit()/Update() されるまで反映されない。
Update(); と Enabled = true; は同じ意味。

“遅延ライト”というのはよく分からない。
そもそも、"light" なのか "write" なのか…。(意味的には後者。)
0594デフォルトの名無しさんNGNG
>Update(); と Enabled = true; は同じ意味。
けひひ。これは本当ですか?
0595デフォルトの名無しさんNGNG
ちょこちょこ仕様変えるのは勘弁してもらいたいなぁ。
0596デフォルトの名無しさんNGNG
>>595
ホントだよねぇ。

俺たちをヒトバシラーにしてWinFXのグラフィック関連は使いやすくなるんだろうか?
そうなってもらわないと、報われないよ。ハニワ。
0597593NGNG
>>594
あうあう。ここでは“意味”ではなく“効果”というべきでした。

> Changes made to the Light object's properties do not take effect until this method is called,
> or Light.Enabled is set to true.

Enabled = true で Update() と同じ効果(デバイスの更新)が得られる。
Update() は Enabled = true; で代用できる。
Enabled プロパティの本来の目的は Light の有効無効の切り替え。
Light を利用するには Enabled = true; が必須。(Update() だけでは有効にならない。)
0598デフォルトの名無しさんNGNG
>>590
DirectPlayのチュートリアルにのってるよ
まずはそこ嫁
0599デフォルトの名無しさんNGNG
>Update(); と Enabled = true; は同じ意味。
まじでこれは本当ですか?
0600デフォルトの名無しさんNGNG
>>599
自分で試してみればいいんでない?
0601デフォルトの名無しさんNGNG
>>593自身も書いているが、

>Light を利用するには Enabled = true; が必須。(Update() だけでは有効にならない。)

という時点で少なくとも同義ではない。
よって>>594のけひひは正しい。
0602デフォルトの名無しさんNGNG
すいません。
Visual Studio .netのアカデミック版使っているんですが、分からないところが・・・。
DirectXのSDKをインストールしてもプロジェクトのところにDirectが追加されません。
それにサンプルもコンパイルが通らないです。
いくら調べても
「SDKをインストールするとプロジェクトに追加されます」
見たいなことしか書いてありません。

どこか設定おかしいのかと思っていろいろいじくって見ましたが、結果は変わらず。
さらに日本語ドキュメントをインストールしたにもかかわらず、そんなものありません。

どこかおかしいとは思うんですが、なにぶんC#初めて4ヶ月足らずなものですからぜんぜん分かりません。
教えていただけないでしょうか?
0603デフォルトの名無しさんNGNG
>>602
サンプルブラウザのempty projectをフォルダにインストールするがよい
0604デフォルトの名無しさんNGNG
DirectPlayのサンプルでパケを送信するとき
送信フラグに C++でいうところのDPNSEND_SYNCが設定されてますが

DPNSEND_SYNC=非同期 IDirectPlay8Peer::SendTo 要求を取り消す。

これだけではワカランです
非同期の要求を取り消す=同期させるってとこですか?
何に同期させるのか、同期と非同期が具体的にどう違うのか知ってる方いたら教えてくらはい
0605デフォルトの名無しさんNGNG
>>603
ありがとうございます。
一応インストールしてみました。
しかし、インストールして実行してみますと、なんか
「オブジェクト参照がオブジェクトインスタンスに設定されていません」
と意味がさっぱり分からない警告が出ます。
教えてくれたことの意味を取り違えていたらすいません。

何かいい本ないでしょうか・・・・。
実はは格闘ゲーム(2D)を作ってみたいのです。
参考になる書籍などを探しているのですが、なかなか見当たりません。

そもそもそういったものはDirectXを使わないでも実現できるものなのでしょうか?
DirectXの概念といいますか、何も分からないもので。
すいません。
0606デフォルトの名無しさんNGNG
ゲームスピードにもよりけりだろうけど多分GDI+じゃ無理だと思う
0607デフォルトの名無しさんNGNG
ADVでおなじみのクロスフェードをC#でしこしこ書いてみたんだけど、
そこそこ実用的な速度になったよ。
ただ、同じことをGDI+でやらせようとすると無茶苦茶遅い。
0608605NGNG
やっぱりDirectX使ったほうがよいのでしょうか。
使ったほうが、というより勉強した方がっていうのが正しいですけどw

でも・・・まだDirectXのサンプルのコンパイルが通りません・・うるうる(涙
昨日書き込んだ後からもずっと解決策を探していましたが、いまだにできません。

あと書籍のことですが、DirectX関連の本は全部3Dグラフィックばっかりで・・。
自分にはとても・・・・経験足りなくて分からないです。
2D関係のことを解説している本はあるでしょうか?
C++では見つけたような気もしますが、C#が見つからないです。
なにか書籍はあるでしょうか?
またまた申し訳ありませんが、よろしくお願いします。
0609デフォルトの名無しさんNGNG
>>508の本は2Dも一つの章を使って解説してるよ。オススメ。
0610608NGNG
え・・・英語っすか・・。
鳥肌が・・・・。
でもやってみないとこの先進めなさそうですから、がんばって読むしかなさそうですね。
ありがとうございました。

英語分からなくてもソースコードだけで十分という方もおられるようですが
それだけの技術はまだないっす・・・・・。
和訳ソフトを共同で読み進めていけるぐらいだと期待して、購入いたします。
0611デフォルトの名無しさんNGNG
また>>508の本薦めてるやつがいるな・・

どっか立ち読みで確認できる本屋の情報きぼん
0612デフォルトの名無しさんNGNG
つかUpしてくれ
0613デフォルトの名無しさんNGNG
あの本は良質だから、買って損はないよ。
気になるなら、amazon.comのほうのレビューを読んでみたらどうかな。
0614508NGNG
>>611
>>522

Kick Startシリーズが何冊かまとめて置いてあるから、すぐ見つけられると思う。
0615デフォルトの名無しさんNGNG
>>612
技術情報を得るのにケチるなよ。
0616デフォルトの名無しさんNGNG
べつに3Dだから2Dが使えないって事はないわけで・・・・・。
データをヴュー変換後のモノとして扱えばそれで2Dな訳だ。

Object Space
   ↓
World Space
   ↓          ← Model-View/World 変換
Camera Space
   ↓          ← Projection 変換
Homogeneous Space
   ↓          ← Viewport 変換
Window Clipping Space
  (これが実際のウィンドウでの座標になる)

Managed DirectX では
  CustomVertex . TransformedXXX となっているのがヴュー変換後の座標値。

CustomVertex.Transformed
CustomVertex.TransformedColored
CustomVertex.TransformedColoredTextured
CustomVertex.TransformedTextured
0617デフォルトの名無しさんNGNG
ヴ  ュ  ー  !  !
0618デフォルトの名無しさんNGNG
以前Cマガで、DirectXを使って2Dを扱うという特集があったので参考にした。

>ヴュー
ワラタ(失礼)
0619508NGNG
マルチBBXばんざ〜い
0620デフォルトの名無しさんNGNG
>>618
2003年10月号?
ほかにもあるなら教えてけれ
0621デフォルトの名無しさんNGNG
ttp://wanderer.jp/

ここの管理者が書いてる。
何度か特集があったんで立ち読みしてきたが、
これのために買うくらいなら、ヘルプ、サンプルを眺めたほうがよっぽどまし、なレベルだ。
0622デフォルトの名無しさんNGNG
>>620
2004/03 学校の図書館でコピーしたのを持ってるから間違いない。
0623618NGNG
>>620-622
結構前だった気がする。ということで検索したら2001年10月号だった。
ttp://www.cmagazine.jp/contents/200110.html
当時はEnter the 3D Programmingなんかも連載していて参考になった。
0624デフォルトの名無しさんNGNG
C#でForceFeedbackについて簡単に解説&サンプルが載ってるページってご存知でしょうか?
0625デフォルトの名無しさんNGNG
C#でDirectXを使う人も増えてきたみたいだし、
そろそろ和書も多くなっていいと思うけどなぁ。
0626デフォルトの名無しさんNGNG
SDK Update (Summer 2004)をインストールしたら
vs.netのDirectXウィザードで作られたアプリがビルドできなくなった。

名前空間がないとかどうたら言われて・・・
0627デフォルトの名無しさんNGNG
>>626
リリースノートくらい読めよ・・・
マルチくらい自覚しろよ・・・
0628デフォルトの名無しさんNGNG
45度見下ろしRPGで、地面をクリックすると緑の環ができる
やり方知ってる方います? スクリーン座標と地面座標の合せ方がちょと
わからないんですけど・・・。
0629デフォルトの名無しさんNGNG
緑の輪ってどこにどう表示されるんだ?
あと地面は平坦か?
ぐらいは書けよ…
0630デフォルトの名無しさんNGNG
シミュレーションRPGみたいなのかな?
0631デフォルトの名無しさんNGNG
プログラムをまともに書けない奴は、説明のための文章もまともに書けない。
0632デフォルトの名無しさんNGNG
>>631
こっちのほうが正しくねえか?

説明の文章をまともに書けない奴は、プログラムもまともに書けない。

0633610NGNG
すいません。
本当に助けてください・・・。
あれからずっとプロジェクトのところにDirectXという項目を追加させるための設定をいろいろ見ていましたが
やはりいまだにできません・・・。
ttp://www.plustarnet.com/aspil/Programming/
ttp://www.wander.jp/dotnet/index.html
を見ても解決できませんでした・・・・。
これ以上打つ手がなくて困っております・・・。
本当はあるんでしょうが、私の実力だともう限界です。
設定でなにやってんだ?って感じでしょうが
教えていただきたく存じます。
0634デフォルトの名無しさんNGNG
だからウィザードには追加されないと何度言えば(ry
0635デフォルトの名無しさんNGNG
・・・と思ったがもしかして参照の設定のことを言ってるのか?
0636デフォルトの名無しさんNGNG
>>631-362
どちらも可である可逆式ですか・・?

例えばあるメッシュが表示されてたとして
スクリーン座標(X,Y)にはそのメッシュが表示されているか調べるメソとかないんでしょうか
あるいはあるメッシュのスクリーン座標(X,Y)を返すメソとか
0637デフォルトの名無しさんNGNG
計算すればいいだけの話で、何が聞きたいのかさっぱり分からん。
0638デフォルトの名無しさんNGNG
>>634-635
あれ?ウィザードには追加されないんですか?
そうだったら・・・・なんて無駄な努力を・・・・。

申し訳ありません・・・・。
その参照の設定というのを教えてもらえませんでしょうか?
0639デフォルトの名無しさんNGNG
>>602-603
0640デフォルトの名無しさんNGNG
>>637
プ
0641デフォルトの名無しさんNGNG
>>633

>>480-481
とかじゃ駄目?
0642デフォルトの名無しさんNGNG
質問が下手な人は損だな。
0643デフォルトの名無しさんNGNG
>>610
最新版のSDKじゃなくて
一つ前のやつ(summer2003update)を入れればウィザードが出ますぜ。

購入した本がウィザードがあることを前提にして解説してたもんで
summer2003で学習してますが・・・
いつか最新のSDKに切り替えないとまずいんでしょうね。
0644デフォルトの名無しさんNGNG
 VertexBufferで四角のBOXを作成して、それを半透明にしたいと思っています。が・・・。
どこをどうやったら半透明になるのかサッパリわかりません。
半透明の設定はどこを設定すればいいのでしょうか?ご教授をお願いします。
0645デフォルトの名無しさんNGNG
>>644
マテリアルのアルファ値をさげればよろし
RenderState.AlphaBlendEnableもかえる
0646デフォルトの名無しさんNGNG
デバイス.RenderState.SourceBlend=Microsoft.DirectX.Direct3D.Blend.SourceAlpha;
デバイス.RenderState.DestinationBlend=Microsoft.DirectX.Direct3D.Blend.InvSourceAlpha;
デバイス.TextureState[0].AlphaOperation= Microsoft.DirectX.Direct3D.TextureOperation.Modulate;

ブレンド設定とか αオペレーションの設定も必要〜
と追加してみるてすと
0647デフォルトの名無しさんNGNG
へっぽこハミルトニアン
0648641NGNG
>>640
おお!
これは気が付きませんでした・・。
できました!!
ありがとうございます。
でもなぜ2004だとウィザードに追加されないのでしょうね。
やはり最新バージョンの2004で勉強していったほうがよいのでしょうか?
2004はどこか変わっていたりするんでしょうが、どっちの方がいいのかなと・・・。
0649644NGNG
返答ありがとうございます。

645
> マテリアルのアルファ値をさげればよろし
マテリアルのメソットにアルファの値を入力できるような項目がないのですが・・・。

0650645NGNG
>>649
material.Diffuse = System.Drawing.Color.FromArgb(128, 255, 0, 0)

とか
>>646をやればアルファ下げる必要はない気もする

だめならとか
device.RenderState.SourceBlend = Blend.SourceColor;
device.RenderState.DestinationBlend = Blend.InvSourceColor;
0651644NGNG
>>650
できました!!
 おかげさまで助かりました。ありがとうございます。

0652デフォルトの名無しさんNGNG
>>648
>でもなぜ2004だとウィザードに追加されないのでしょうね。
メンテが大変だからウィザードはもう作らない、サンプルexeからプロジェクトをインストールしてくださいな、
みたいなことがリリースノートに書いてあった気がしますが。
うろ覚え。
0653デフォルトの名無しさんNGNG
3Dゲームプログラミングに必要な数学って、
線形代数と微分積分位でしょうか?
空間図形は役に立ちますかね・・・。
0654デフォルトの名無しさんNGNG
ここに載ってるくらいが普通に分かっていればいいんじゃねえか?
ttp://yaneu.com/yaneurao/3dcg/
0655デフォルトの名無しさんNGNG
>>653
とりあえず線形代数だけわかっていれば問題ない。

微分積分はまじめに計算することはめったにない。
たいていコンピュータ向けの解法をつかう。
たとえば微分だと極小区間の単純な差分で求めたり
積分でもモンテカルロ積分をつかったり。
0656デフォルトの名無しさんNGNG
>>654-655
レスどうもです。
とりあえず、線形代数から学んでみようと思います。
0657デフォルトの名無しさんNGNG
3Dゲームプログラマーのための 数学 [基礎編]
が工学社からでるらしい。
0658デフォルトの名無しさんNGNG
>>657
http://www.esbooks.co.jp/books/detail?accd=31431355
これですね。
本屋さんでみかけたら覗いてみます。
0659デフォルトの名無しさんNGNG
その大川義邦って人、モーレツに内容の薄い本を書くよね。

DirectX9 3Dゲームプログラミングって本、アマゾンで
買っちゃったんだけど、インキネ技を上下巻にわけて
延々と解説してる。もうちょっと書く事あるんじゃないかと・・・・・・。
ステップ・バイ・ステップなのはいいんだけどさぁ。

俺はEric Lengyelの数学本だけでよいや。
シンプルにまとまってるし、そこそこ内容も詰め込まれてる。

ttp://www.amazon.co.jp/exec/obidos/ASIN/1584502770/qid=1095931465/sr=1-2/ref=sr_1_2_2/249-9283699-1129136
0660デフォルトの名無しさんNGNG
DirectXの国産書籍はろくなのがないね・・ 実際
0661デフォルトの名無しさんNGNG
>>659
その本、和訳版でてるよね。
ゲームプログラミングのための3Dグラフィックス数学
ってやつ。
ある程度数学わかってないと、初心者には難しい。
0662デフォルトの名無しさんNGNG
>>660
だよね。本屋でDirectXのコーナーを見てると鬱になる。

「俺がもっとましなヤツ書いてやるぜーっ!」って思う。
0663デフォルトの名無しさんNGNG
>>659
確かに、その人の本はどれもおすすめできないね。

特にこの本の第一章は、読んでると腹の底からモーレツにムカついてくる。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4875934998
0664デフォルトの名無しさんNGNG
>>661
和訳版は一応でているが、
値段がべらぼうに高いのに、それに見合うだけの内容が全然ない。
紙面のマージンをべらぼうに取りすぎ。
0665デフォルトの名無しさんNGNG
主にアルゴリズム関連を知りたいのですが、
洋書のおすすめの書籍って何かありますかね?
Game Programming Gemシリーズが有名みたいですが。
0666デフォルトの名無しさんNGNG
gemsは別にアルゴリズムの本ではない。

純粋にアルゴリズムについて調べたければ、ゲームの枠に虎割れてはいけない。
数学とかソフトウェア工学とか、学会の論文を当たってみても、
金を斯けずともおいしいものはゴロゴロと転がっている。

0667デフォルトの名無しさんNGNG
Zバッファが上手く機能しません。

レンダ毎に
Device.RenderState.ZBufferEnable=true;
としてやっているのですが、
後から描画したオブジェクトがZ-Bufferを無視して
前面に描画されてしまいます。

考えられる問題点としてどのようなことが挙げられるのでしょうか。
宜しくお願いします。
0668デフォルトの名無しさんNGNG
マトリクス使ってないに100セペタ
0669デフォルトの名無しさんNGNG
べつに毎回ZBufferEnableを設定せんでも・・・・・・。

Device.Clear()でZBufferをクリアしてない。ってのは?
0670デフォルトの名無しさんNGNG
DirectXだと思ったら実はDirectorだったに32767ポリゴン。
0671667NGNG
667ですが未だ上手くいきません。

>668
マトリクスと使っていないというのは、
具体的にどういう状況を指しているのでしょうか。

>669
レンダ毎に
Device.Clear(ClearFlags.Target|ClearFlags.ZBuffer, Color.DarkBlue, 1, 0);
とやっております。引数に何らかの問題点が…?

>670
ポリゴン数が多すぎるのも原因になるのでしょうか。
およそ、400,000ポリゴン使っております。
0672デフォルトの名無しさんNGNG
>>671
その設定だったら問題なさそうなんだが

そいうときはもっと簡単な手法で確認すれ
例えばチュートリアルの三角形やら虎メッシュを2つ表示してみるとか

それでOKなら おまいさんのコードかグラボのどっちかがダメってことで
0673667NGNG
原因が分かりました。

Device.Transform.Projection
に設定するMatrix
Matrix.PerspectiveFovLH(fieldOfViewY, aspectRatio, znearPlane, zfarPlane)
の第3引数であるznearPlaneの値に問題があったようです。

問題解決以前はznearPlaneの値を0に設定していました。
この値を適度な正の数値に変更をしたら、
とりあえず見た目の問題は解決しました。
但し、この数値が小さいと、
局所的にZバッファが無視されるという現象が発生しました。

改めてこのあたりの数学的な意味を勉強し直す必要があるようです。

ご指示を頂きありがとうございました。
0674デフォルトの名無しさんNGNG
>>667
なるほど、プロジェクション変換で間違ってたんですね。
解決して良かった、良かった。

プロジェクション・マトリックスはワールド座標系を同次座標系に
変換するマトリックスです。
0675デフォルトの名無しさんNGNG
>プロジェクション・マトリックスはワールド座標系を同次座標系に
>変換するマトリックスです。

なに言ってんのあんた。
「ワールド座標系」と「同次座標系」は言葉のカテゴリが全然違うでしょ。

プロジェクション行列は、ビュー座標からプロジェクション座標への変換。
DirectXでは、どっちの座標も同次座標で表される。
0676デフォルトの名無しさんNGNG
ワールド座標XYZからスクリーン座標XYを知るにはどう計算すればいいんですか?
0677デフォルトの名無しさんNGNG
>>676
ワールド座標をベクトル(x,y,z,1)とするとこれに(ビュー行列x射影行列)
を掛けて求まったベクトル(x',y',z',w')の各成分をw'で割ると
スクリーン座標が求まる。っつーかこれがわかってないと
3Dプログラミングができないと思うんだけどどうしてんの?
0678デフォルトの名無しさんNGNG
Managed DirectXのDirectSoundってうんこ?
c:\Windows\media\start.wavで再生の練習しようとしたんだけど、
うまくいかなくてどーにもこうにもおかしいと思ったんです。
自分のコードが駄目かもと思ったがサンプルのbinにあるcsPlaySoundでも再生不可能。
ほかのファイルなら自分のもcsPlaySoundもOK。

調べていくとBufferTooSmallExceptionってのが発生してるらしい。
ということは極度に小さい長さのファイルは再生できないってこと???
そんなあほな…。C++じゃこんなことなかったのに。
というわけで折角C#に移行しようとしたのにいきなり出鼻を挫かれたという感じ。
0679デフォルトの名無しさんNGNG
ものすごくアホな質問ですいませんがDirectX9cをダウンロードできませんorz
セットアップ中の承諾したあとにコンポーネントをダウンロードしますってところから
進みません

漏れには何が何だかわからないんです(´・ω・`)
どうしたらいいのですか。・゚・(ノД`)・゚・。
0680デフォルトの名無しさんNGNG
>677
視点固定でマウスで操作しないタイプならなんとかなるポ
その説明でも分からない漏れは死んできまつ

0681デフォルトの名無しさんNGNG
誰か677の言ってることを日本語に翻訳してください
0682デフォルトの名無しさんNGNG
>>680

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/fixedfunction/transforms/transforms.asp
これでも読めれ。

多分、同次座標系が解らんと意味がわからんと思うので解説。

3DCG用途では透視変換や平行移動を4行4列の行列で扱える
ようにするため同次座標系というのをつかう。同次座標系では通常の
3次元ベクトル(x,y,z)に等質wを加えた(x,y,z,w)で表現される。

通常の3次元ベクトル(これをユークリッド座標系という)と
同次座標系との相互変換は以下のとおり。

・3次元ユークリッド座標系でx,y,z)で表されるベクトルを同次座標系(x',y',z',w')に変換
w=1とし、x,y,zはそのままつかう。(x',y',z',w')=(x,y,z,1)となる。

・同次座標系(x,y,z,w)を3次元ユークリッド座標系(x',y',z')で表されるベクトルに変換
同次座標系の各成分をwで割る。(x',y',z')=(x/w,y/w,z/w)となる。

以上から例を挙げれば同次座標系(x,y,z,w)と(2x,2y,2z,2w)は3次元ユークリッド
座標系上では同一のベクトルとなる。

ビュー行列と射影行列はネットでも検索して勉強してくれ。

昔(DirectX5とか6とかの時代)はSDKの解説はもうちょっと詳しかったし
もっぱら話題の中心がこんなことばっかりだったからもっと解説している
サイトが多かった(宇治社中とかが親切だった)けど、今はあまりこんなの
だれも解説しないからな。初心者には厳しいかも。もし手に入るようだったら
昔のDirectXのSDKのリファレンスでも読んでくれ。
0683682NGNG
続き

書籍で情報を得るなら以下の2冊がいいと思ったけど初心者には
必要なところを抜き出して読むのが難しいかもしれない。

・コンピュータグラフィックス 理論と実践
http://www.amazon.co.jp/exec/obidos/ASIN/4939007375/qid%3D1096460418/249-2167903-6130707

・ゲームプログラミングのための3Dグラフィックス数学
http://www.amazon.co.jp/exec/obidos/ASIN/4274064050/qid%3D1096460363/249-2167903-6130707

たしかどちらかといえば「ゲームプログラミングのための3Dグラフィックス数学」
のほうが数学としてはわかりやすくまとまっていたように記憶している。
(手元に本がないし長らく読んでいないので詳細がわからない)
0684デフォルトの名無しさんNGNG
>>676
Vector3.Projectつかえばいい
ここにサンプルあるから
ttp://www.interq.or.jp/black/minami-m/
C++だけどね。まあわかるよ。
0685デフォルトの名無しさんNGNG
>>678
start.wavなのに始められない、ってなんか笑えるな。w
いや笑っちゃいけないのかもしれないけれど…
0686デフォルトの名無しさんNGNG
>>678
俺はYouTooFoolExceptionが発生して半分あきらめてる
0687デフォルトの名無しさんNGNG
>>686
俺に対してTooFoolってこと?

それにしても短い音は駄目っぽ…
音の後半を無音にすれば行けるがスッキリしないな
あとDuplicateに対応するのってManagedだとCloneなんだろか。
0688デフォルトの名無しさんNGNG
YouAreFoolTooException
0689デフォルトの名無しさんNGNG


ハンドルされていない例外 ThreadAbonedException が発生したため、このスレは
0690デフォルトの名無しさんNGNG
すれぽ
0691デフォルトの名無しさんNGNG
やっぱその表現で行くのなら
YouIsBigFoolManException
だろw
0692デフォルトの名無しさんNGNG
you is って聞いたことありません>>691は何語をしゃべっているのか教えてくださいおながいします。
0693デフォルトの名無しさんNGNG
"you is big fool man"でググれ
有名なネタだ
0694在日外国人参政権反対NGNG
ググラずに聞くが北米院?
0695デフォルトの名無しさんNGNG
書き込み少ないけど、常駐率が変に高いスレだな。
0696デフォルトの名無しさんNGNG
>>682 683
アリガトン ・ゲームプログラミングのための3Dグラフィックス数学 は手にとってみたけど
公式ばっかりならんでてウザかったんで挫折してしまいますた

>>684
ミラクル トンクス。
やっぱり便利なメソがあったんでつね
自分で計算しろとかいうウザイやつばかりだったんで感激でつ
0697デフォルトの名無しさんNGNG
>>696
ウザイウザイ言う君が一番ウザイ。
0698デフォルトの名無しさんNGNG
初心者すれで揚げ足とって楽しんでる奴もう(ry
0699デフォルトの名無しさんNGNG
音楽関係の質問ですが、
AudioVideoPlaybackを使ってMP3を複数同時に再生するにはどうしたらいいのですか?
最終的には2つ以上の音が合成されて出力させたいのです。
0700デフォルトの名無しさんNGNG
new Audio("1.mp3").Play();
new Audio("2.mp3").Play();

じゃだめなのん?いや全然試してないんだけどね。
0701デフォルトの名無しさんNGNG
それ以前にMP3じゃなくてOggを使おうぜと言ってみるてすつ
0702デフォルトの名無しさんNGNG
それ以前に
new Vorbis.OggAudio("1.ogg").Play();
でいいような気が。
0703デフォルトの名無しさんNGNG
今Managed C++でOggのSDKからSystem.IO.Streamへのプロキシを書き終えた。
WAVEファイルに見せかければSecondaryBufferにStream食わせて簡単に再生できるからねぇ。
だけど実際はストリーミングしないでワンショットとして扱うらしく、長いファイルの演奏に向いてなさげ。
結局ストリーム再生しようとしたら今まで通りその辺を自力で書かないと駄目かもなあ。
0704デフォルトの名無しさんNGNG
900 -> 1901 -> 2902 -> ?

いや規則は分かるが、なんでこんな変な付け方なんだ?
だれか解説きぼん
0705デフォルトの名無しさんNGNG
http://www.microsoft.com/downloads/details.aspx?familyid=B7BC31FA-2DF1-44FD-95A4-C2555446AED4&displaylang=en
DirectX 9.0 SDK Update - (October 2004)
リリースsage。
0706デフォルトの名無しさんNGNG
日本語版まだぁ〜
0707デフォルトの名無しさんNGNG
>>706
一生待ってろ
0708デフォルトの名無しさんNGNG
しもたー さっき2004summer入れたのに・・orz
0709デフォルトの名無しさんNGNG
>>708
気分は夏でも暦は10月なんだなこれが
0710デフォルトの名無しさんNGNG
>>708
つーか、October入れるのにSummerをアンインストールする必要はない、
というかアンインストール「してはいけない」。

だから君は正しい手順を踏んでるよ。

0711デフォルトの名無しさんNGNG
>>704
今回のOctoberでは変化ないな。
変な上がり方はともかく、内容が変わったのに数字に変化ないのはどーかと思うが。
0712デフォルトの名無しさんNGNG
http://www.microsoft.com/downloads/details.aspx?FamilyId=143EF8C6-CFF7-4AF0-8209-1CDF49C58BC0&displaylang=en
再配布パッケージのリンクなんだが、サポートOSにFreeBSD入ってるのはどう思う?
0713デフォルトの名無しさんNGNG
FreeBSD対応は、DirectXの前にウインドウフレームワークの実装の方が先だと思うが。
0714デフォルトの名無しさんNGNG
October = 9.02.3900・・・?
0715デフォルトの名無しさんNGNG
VS.NET2003でやってみたいんですが、やっぱりDirectX SDKが必要なんでしょうか?
200MB超えてるんですが orz
0716デフォルトの名無しさんNGNG
最近はわからんが、雑誌の付録についてたりしないか?
0717デフォルトの名無しさんNGNG
サンプルとかヘルプとか要らないなら再配布パッケージだけでも開発できるが、
やっぱりSDKがあった方がいい。
0718デフォルトの名無しさんNGNG
200MBぐらいテレホで4日あれば落とせるよ
テレホ終了で自動的にモデムが切れるソフト使えば余裕
0719デフォルトの名無しさんNGNG
http://www.microsoft.com/downloads/details.aspx?FamilyId=143EF8C6-CFF7-4AF0-8209-1CDF49C58BC0&displaylang=en
ってSDKでつか?
それともマネージドコードDirectXもインスコされるランタイムでつか?
0720デフォルトの名無しさんNGNG
>>719
ランタイム
0721デフォルトの名無しさんNGNG
トンクス 今までマネージドコードDirectX別にインスコさせてカッタルかったんで助かりまつ
0722デフォルトの名無しさんNGNG
>>721
そういう事見たいやね。

うちの翻訳ソフトの出力:

このダウンロードは、開発者が含むことができる再分配可能なDirectX 9.0cエンド・ユーザーに
彼らの製品を与えます。
この更新は、DirectX 9.0 SDKアップデート(2004年10月)から管理されたコードのための
DirectXアップデートを含みます。

管理されたコードのためのDirectX == Managed DirectX
0723デフォルトの名無しさんNGNG
普通にWindowsUpdateで入るDirectX9.0cだとManaged DirectXで作られたアプリは動かないってこと?
0724デフォルトの名無しさんNGNG
マネージドだいれくとセックルを別にインスコすれば動く
だけどそれがメンドイ

ところで 
DirectX 9.0c Redistributable for Software Developers - Multilingual - 日本語
with updated DirectX for Managed Code (October 2004)
って フレームワーク以外何も入ってない環境でも コレ一つでおK?
0725デフォルトの名無しさんNGNG
DirectXで全画面表示にして最小化されたりとかして
元に戻してもおかしくならない方法って結構複雑にならない?
もっと簡単に出来ないのかな。
0726デフォルトの名無しさんNGNG
最大化できないようにウインドウサイズを固定するんじゃダメなのか?
0727デフォルトの名無しさんNGNG
>>726
いや、通常は全画面(画面の解像度とか変えたりするほう)で表示してるけど、
Alt+Tabキーとか押されたら最小化されちゃうから
そのときに描画処理やらないようにするための処理が結構面倒で
何とかならんもんなのかなぁと。
0728725NGNG
スマソ。
今書いてみたらあんまり面倒じゃなかった。
0729デフォルトの名無しさんNGNG
全画面モードにするとデバッグ中に開発環境が「小さくなる」のは痒い。
0730デフォルトの名無しさんNGNG
聞いて解決したんなら、自己解決でも
何をしたか書こうな。
0731デフォルトの名無しさんNGNG
>>730
面倒だと思ったことをやってみたけど
実際は面倒じゃなかったってだけのことだったんで
書かなくてもいいかなと思ったんだけど書いとくか。

bool deviceLost = false;をどっかに置いといて
レンダリングメソッドにて

public void Render()
{
    if ((deviceLost) || (Form.ActiveForm != this))
    {
        System.Threading.Thread.Sleep(100);
    }

続く
0732デフォルトの名無しさんNGNG
    if (deviceLost)
    {
        try
        {
            device.TestCooperativeLevel();
        }
        catch (DeviceLostException)
        {
            return;
        }
        catch (DeviceNotResetException)
        {
            device.Reset(device.PresentationParameters);
            OnDeviceResizing(device, new CancelEventArgs());
        }
        deviceLost = false;
    }

    device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, options.Background, 1.0f, 0);

    //ここで描画処理

    try
    {
        device.Present();
    }
    catch (DeviceLostException)
    {
        deviceLost = true;
    }
}
0733デフォルトの名無しさんNGNG
Direct3DのSpriteってDirectDrawでDrawするのとは根本的に違うのでしょうか?
それともDirectDrawをDirect3Dから使えるようにしたものでつか?
0734デフォルトの名無しさんNGNG
Direct3DのSpriteはポリゴンにテクスチャを貼り付けたものをバックバッファへ書く。
DirectDrawのDrawはオフスクリーンサーフェスからバックバッファへ転送する。

まあDirect3Dのほうはポリゴンだから変形が楽だとか
演算やシェーダを使ってエフェクトをかけたりすることもできるというあたりかなり高機能
0735デフォルトの名無しさんNGNG
Sprite.Drawのcenterパラメータってなんか意味あるの?
回転するパラメータもないのに。
0736デフォルトの名無しさんNGNG
>Sprite.Drawのcenterパラメータってなんか意味あるの?
何を言ってるんですか意味ありまくりですよあなた

>回転するパラメータもないのに。
Draw2DやRotationZで回転するときの中心補正点になるんだよ

使わないなら Vector3(0,0,0)でも指定しとき
0737デフォルトの名無しさんNGNG
>>736
ありがとうございました
0738デフォルトの名無しさんNGNG
ところでスプライトって
RotationXやRotationYは使える?
漏れのダメポPCだとRotationZしかつかえない
ほかは表示がヘンチクリンだ
0739デフォルトの名無しさんNGNG
>>738
こっちでも表示がヘンチクリンだ。
0740デフォルトの名無しさんNGNG
ちょっと教えて下さい。
Vector3とMatrixの積を返すメソッド。
ヘルプで探したのですが見つからなかったので…。
0741デフォルトの名無しさんNGNG
メソッドでやってもいいんだが
掛けるだけじゃ出来なかった?
Vector3 v = 〜〜〜〜;
Matrix matrix = 〜〜〜〜〜〜;
v = v*matrix;
0742たけしNGNG
DirectX 9.0 SDK Update (October 2004)になって、Spriteの扱い方がかわって、スプライトの2D描画がうまくいきません。

まずsprite.Begin(SpriteFlags.None);とsprite.End();が必要になったのはわかりました。

ですが、Draw関数を以下のように、体力の黄色と赤のゲージを描画するコードだと、1本で体力を表したいのに、上下に2つ画像が描画されます。
sprite.Draw(
barTEX,
new Rectangle(0,0,(hero.energy>0)?hero.energy:0,16),
new Vector3(0,0,0),
new Vector3(10,10,0),
Color.White);
sprite.Draw(
barTEX,
new Rectangle((hero.energy>0)?hero.energy:0,16,300,32),
new Vector3(0,0,0),
new Vector3(10+hero.energy,10,0),
Color.White);

Draw2Dは、
public void Draw2D(Texture, Point, float, Point, Color);
だけうまく描画されましたが、他は描画さえされません。

以前のバージョンのコードを、ちょっと変更してプログラミングしただけなので、それがまずいのかもしれませんが、どうやればうまくスプライトのDrawとDraw2Dを描画できるでしょうか?
0743デフォルトの名無しさんNGNG
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=17601
0744デフォルトの名無しさんNGNG
Microsoft.Samples.DirectX.UtilityToolkitってなんどすか?
0745デフォルトの名無しさんNGNG
>>744
プロジェクト開いて検索汁
0746デフォルトの名無しさんNGNG
>Spriteの扱い方がかわって、スプライトの2D描画がうまくいきません。
以前のバージョンではちゃんと表示されてたのか?
0747たけしNGNG
SDK2003のSprite.DrawではRectangleが(左,上,右,下)だったのが、SDK2004では(左,上,幅,高さ)に変わったようです。
これでうまくいきました。
0748デフォルトの名無しさんNGNG
よし!がんばれ たけし!!
0749デフォルトの名無しさんNGNG
次はDecember2004である、に一票。
0750デフォルトの名無しさんNGNG
しかもまたスプライトの仕様が変わるに一票
0751デフォルトの名無しさんNGNG
と思ったらフェイントでOctober-II 2004 緊急リリース!、に一票。
0752デフォルトの名無しさんNGNG
かったるいから
しばらくの間
2004夏で我慢することにした
いちいち仕様カエルナヨ・・MSさんよぉ
0753デフォルトの名無しさんNGNG
>>752
別にそれで構わんが、2004夏でManagedなら
TextureLoader.FromFileには気をつけろよ。
このせいで2004十月が出たようなもんだから。
0754デフォルトの名無しさんNGNG
>>753
Managedで2004夏使ってなおかつTextureLoader.FromFileを使ってるんだが
何がどうまずいの?
0755デフォルトの名無しさんNGNG
>>754
使ってて気づかないの?もしかしてエラー出力もチェックしたことないとか?

せっかくキーワードがそのまま書かれてるんだからちょっとは調べろよ。
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=14982
0756デフォルトの名無しさんNGNG
C#でDirectXの入門サイトでお勧めのところを教えてください。もしくは書籍。

やりたいのは2Dの処理です。パズルゲームとかトランプゲームみたいなのを作りたいと思ってます。
(わざわざDirectXでやるな、といわれそうですが・・・)

いろいろ探してみたんですが、C++で解説してたり、3Dを扱ってたりでお手上げです。
いちおうあげておきます
0757デフォルトの名無しさんNGNG
そうやって他人が何とかしてくれるだろうと甘い考えを持った末路は、



グビチョン
0758デフォルトの名無しさんNGNG
ヘルプとサンプルでどうにかなるんでない?
やりたいことが2Dでも、3Dは勉強しなきゃならんと思う。
DXSDK\Samples\Managed\Direct3D\Tutorialsにあるサンプルを1から6までやるべし。
0759デフォルトの名無しさんNGNG
>>758
うむむ、なかなか読み応えありますね
DirectXで2Dをやろうとすると、DirectDrawよりもDirect3D.Spriteを使ったほうが良い場合が多いそうですね(理由はわかりませんが)
とりあえず3Dに挑戦してみます。どうもでした
0760デフォルトの名無しさんNGNG
仕様変更で面倒ばかり起こすSprite系には何のメリットもない。
普通に頂点を作ってテクスチャを張るべし。
0761デフォルトの名無しさんNGNG
>>760
ほほぅ
肝に免じておきます
0762デフォルトの名無しさんNGNG
DirectDrawとDirect3Dでは難しさが・・・
0763デフォルトの名無しさんNGNG
2Dの場合、Direct3DはDirectDrawより少し遅い
2004Summerでまたスプライト関数の引数が変更したらしいな
0764デフォルトの名無しさんNGNG
GDI+とどっちが早いですか?
0765デフォルトの名無しさんNGNG
GUI+使うなら DirectDrawをオススメします

3DSpriteは仕様変更がウンザリなのと
ちょっと古いPCやドライバの更新もできないような
ヘタレ君の環境だとマトモに表示されないケースが多いのがマズー
0766デフォルトの名無しさんNGNG
>>765
GUI+なる謎の物体を突然持ち出す君の方がマズー

君ってチンカス以下だね
0767デフォルトの名無しさんNGNG
>766
つまんね


C#にもC++並のサンプルつけてくれMS
VBに至ってはサンプルナッシングかよ
かわいそうに
0768デフォルトの名無しさんNGNG
>>767
オマエモナー
0769デフォルトの名無しさんNGNG
ぶっちゃけVBいらね
0770デフォルトの名無しさんNGNG
ぶっちゃけC#いらね
0771デフォルトの名無しさんNGNG
わざわざ無理にC#でやろうとしなくていいよ。
C++とかのほうが情報多いんだし。
0772デフォルトの名無しさんNGNG
でも、未開拓の言語って触るの面白いんだよ。
……これが仕事でなければ。
0773デフォルトの名無しさんNGNG
枯れた言語は掲示板のレスもツマンネ奴ばっかりだしな
0774デフォルトの名無しさんNGNG
つまりC#も枯れた言語というわけか。
0775デフォルトの名無しさんNGNG
C#のことは気にせず、
黒い箱にスパゲティ入れて遊んでな。
0776デフォルトの名無しさんNGNG
C#でMDX使い始めたらC++でDirectXは使いたくなくなった
0777デフォルトの名無しさんNGNG
>>776
M$の罠にかかった香具師がここにも一人。もうだめぽ。
0778デフォルトの名無しさんNGNG
>776
そんなに楽?すぴーどなどもよろ。
0779デフォルトの名無しさんNGNG
楽そうとかいう理由で使うやつは初心者。
C++のほうがパフォーマンスいいんだから、
そっちで無難にやっておけよと。
0780 ◆Rk6dvtD5gI NGNG
自分ではパフォーマンスの測定もろくにせず
一般的な文言を鵜呑みにして他人をも洗脳しようとする>>779の方がよっぽどクズ。


いろんな系統のプログラムで測定してみたが、
俺の環境ではManagedによるパフォーマンス低下は大体0〜15%。

当たり前のことだが、GPUよりCPUを酷使するプログラムでは
パフォーマンスはネイティブに比べ大きく低下する。
逆にパフォーマンスがほぼGPUでの処理のみに依存しているようなプログラムでは、
体感的にはもちろん、数値的な差もほとんど確認できない。

ただし、MDXが提供するクラスの中には、単なる状態取得プロパティ・メソッドに見せかけて、
実は呼ばれる度にオブジェクトを新規に確保→コピーを繰り返すという、なんとも迷惑なのがかなり多くある。
また最近のバージョンでは減ってきたとはいえ、>>755みたいなバグが未だ潜んでいる可能性は大いにある。

Managedでパフォーマンスを重視するなら、ネイティブでの開発経験はもちろん、
Managedメソッドとそれに対応するネイティブメソッドとの関係を詳細に把握しておくことが必要。

逆にManagedで開発するメリットとしては、やはり圧倒的な開発効率がある。
.NET Frameworkが提供する豊富なライブラリを利用できる上、
対象の説明まで表示してくれるインテリセンスなどIDEのサポートも非常に便利。
上では欠点ばかり書いてしまったが、
MDXのクラスはManagedの流儀に併せてきれいに再構成されているし、
ほとんどのクラスがMarshalByRefObjectから派生しておりAOP的なプログラミングも可能。


何にでも言える事だが、そのデメリットを充分に理解しているのなら、
そのメリットを生かすためにそれを使うことには躊躇しなくてもよい。

俺はもちろんネイティブDirectXも使うし、Managed DirectXもありがたく使わせてもらっている。
0781デフォルトの名無しさんNGNG
コピペ乙
0782デフォルトの名無しさんNGNG
>>772
>でも、未開拓の言語って触るの面白いんだよ。
ここは同意出来るが、C#が未開拓かと言えばそうでもない。
いつものように既存のものを名前変えただけだろ。

0783デフォルトの名無しさんNGNG
変なのが紛れ込んできたな。
どこかにここのリンク貼られたのか?
0784デフォルトの名無しさんNGNG
>783
へんなのってこれか?>780
至極まっとうな意見だが。
0785デフォルトの名無しさんNGNG
コピペじゃないと思われ
0786デフォルトの名無しさんNGNG
すべてのぎろんが>780見たいな物だったらいいスレができると思われ
0787デフォルトの名無しさんNGNG
起動が遅くて糞糞言われてるんだからネイティブもポジティブもないだろう。
0788デフォルトの名無しさんNGNG
>ネイティブもポジティブも
つりなのかどうなのか微妙なところだ
0789デフォルトの名無しさんNGNG
やっぱり780の意見は素晴らしいと思われ
0790デフォルトの名無しさんNGNG
>>788
微妙だな。
不覚にも微妙にワロテシモタ
0791デフォルトの名無しさんNGNG
チップ依存が吸収できる3Dエンジンなら、パフォーマンスなんかドブに捨ててもいいでつ。
趣味でプログラムしているうちが華だよもう (´・ω・`)
0792デフォルトの名無しさんNGNG
趣味でプログラムしてる漏れは勝ち組


といった、クソ厨のような発言をオマイにささげてみるテスト(debugビルド)
0793デフォルトの名無しさんNGNG
全然面白くない
0794デフォルトの名無しさんNGNG
俺的には、C#でDirectXは面白い。
0795デフォルトの名無しさんNGNG
面白いんだが
.netフレームワーク + DirectX + ManagedDirectX を
インストールさせなきゃならんのが
イイ手はないですか兄さん
0796デフォルトの名無しさんNGNG
LongHormをインストールさせるがよろ氏。
0797デフォルトの名無しさんNGNG
>>796
全然面白くない
0798デフォルトの名無しさんNGNG
>LongHormをインストールさせるがよろ氏。
もうβ出たっけ?

>全然面白くない
面白くする努力するなり
他へ逝くなりご自由に
0799デフォルトの名無しさんNGNG
ここで>>780氏による統括きぼん
0800デフォルトの名無しさんNGNG
真投げは駄目駄目
0801デフォルトの名無しさんNGNG
じゃ、じゃあ>>800氏によるすばらしい意見きぼん
0802デフォルトの名無しさんNGNG
今度の
0803デフォルトの名無しさんNGNG
衆議院選挙は
0804デフォルトの名無しさんNGNG
なぁ、C#+DirectXで作ったアプリを配布する時って、
.NET再頒布パッケージ入れてMDXランタイム入れてもらえば良いんだよな?
0805デフォルトの名無しさんNGNG
それとDirectXのインスコ
1パッケージで
全部インスコさせられたらいいのだがな
0806デフォルトの名無しさんNGNG
MSのやる気が無いから仕方が無い。
0807デフォルトの名無しさんNGNG
しばらくの間は報われそうにないな、俺ら(´・ω・`)
0808デフォルトの名無しさんNGNG
>>780氏がついてるかぎり、大丈夫だ。がんばれ!!
0809デフォルトの名無しさんNGNG
次期Winで
フレームワークが標準インスコされていて
かつDirectXにマネージドコードのも入れば・・

ウマーなんだがねアンダーソン君
0810デフォルトの名無しさんNGNG
フレームワーク標準インスコはもうなってるだろ。
0811デフォルトの名無しさんNGNG
2003Serverで?
0812デフォルトの名無しさんNGNG
.NET FrameworkとDirectXだけですまないんじゃあ、他人への配布用アプリとしてはつらすぎる
0813デフォルトの名無しさんNGNG
XPでデフォルトが1.0なのが辛い。
0814デフォルトの名無しさんNGNG
あれ、XPに標準搭載されてたっけ?
0815デフォルトの名無しさんNGNG
XPは、
.NET Frameworkは1
DirectXは8
0816デフォルトの名無しさんNGNG
そろそろ2.0が・・・(´Д⊂
0817デフォルトの名無しさんNGNG
全部インストーラに含められるツールか何かあるようなことを聞いたよ
英語版のみらしいが

ゲーム本体より付属品のほうが容量大きくて笑えそうなヤカン
0818デフォルトの名無しさんNGNG
四捨五入とか切り上げとかをする方法を教えてください
0819デフォルトの名無しさんNGNG
四捨五入
int b = (int)(a + 0.5);
切り上げ
int c = 1 + (int)a;
0820デフォルトの名無しさんNGNG
>>819
それ、切り上げの方、a が整数だったときに変になるよ。

Math.Floor, Math.Round, Math.Ceiling を使うべし。
0821デフォルトの名無しさんNGNG
aが整数だったら四捨五入も何も
0822デフォルトの名無しさんNGNG
>>821
アフォ?
0823デフォルトの名無しさんNGNG
>>821
バカ再来だな
0824デフォルトの名無しさんNGNG
だれかDirectShowのサンプルのSampleGeabberをC#に移植した方はいらっしゃいませんか?
はまってます。
0825デフォルトの名無しさんNGNG
はまってるんなら素直にC++でやればよかろう
0826デフォルトの名無しさんNGNG
Managed C++で作って.NETで使えるようにしたら?
0827デフォルトの名無しさんNGNG
そして、だったら全部C++で書いた方が楽だということに気が付くという。
0828デフォルトの名無しさんNGNG
824です。
C#のプロジェクトなんですけど、この部分だけC++で書くことにしました。
ていうか、何のためにC#使ってるかわかりません。
誰か教えてください。
0829デフォルトの名無しさんNGNG
MS も ゲイツ も好きだけど、Windows95 あたりから Windows が嫌いになりました。
だって、不具合多過ぎるんだもん。あとウィルス、セキュリティホール。
Windowsを買ってからセキュリティの問題で毎日Windowsアップデートでてんてこ舞い。
こないだはWindowsXP SP2にしたら起動しないアプリ勃発、まだ直らず。
業務に多大な損害が出た。
ハードウェアの構成を替える度、アクティベーションにどれだけの時間を割いたことか。
気軽にパーツも買えん。
こんなに使い買っての悪いクソOSがあの値段だよ。またセキュリティホールだウィルスだよ。もう疲れました。
なんてレスをしているとまたセキュリティホールだよ、ウィルスだよ。勘弁してください。
最初からクソだと思っていたけど、最近のMSは醜態が際立ってるね。
古川が張り切ってはじめたMSN BlogなんてMS社員しか使ってないしな。
MSN Musicにおいてはサービス開始に誰も気づいていないw
もうだめじゃんw
0830デフォルトの名無しさんNGNG
>>828
無難に情報量の多いC++でやれよw
0831デフォルトの名無しさんNGNG
何かあるたびにC++でやれば? だもんなぁ・・
いや、確かに正論ですよ 正論ですとも
んじゃ何のためにこのスレがあるのか
いや それ以前にC#にもC++並のサンプルつけろMS
0832デフォルトの名無しさんNGNG
まぁロングホーントレインの1千万パワーをまてという事ですよ
0833デフォルトの名無しさんNGNG
>>828
>>780に詳しく書いてある。
過去ログくらいちゃんと嫁
0834デフォルトの名無しさんNGNG
int a=1,b=1;

a=b=0;

この場合、どちらも0になりますか?
0835デフォルトの名無しさんNGNG
なる。
つーか、自分で調べなよそれくらい。
0836デフォルトの名無しさんNGNG
燃料のつもりだったのかな
0837デフォルトの名無しさんNGNG
a=b=0;

a=b;
b=0;

これって同じことですか?
0838デフォルトの名無しさんNGNG
DirectXと何の関係があるんだよ。
ネタとしても全く面白くない。
0839デフォルトの名無しさんNGNG
文句タレは一人前だが
いざDirectXに関する質問が出てくると
答えられない香具師ばかりなインターネッツで
面白いも糞もないかと思うのだ
0840デフォルトの名無しさんNGNG
一人で面白いと思って書き込んだあげく、否定されて憤慨。
アホの典型。
0841デフォルトの名無しさんNGNG
>>839
>>830
0842デフォルトの名無しさんNGNG
ひさしぶりにきてみたら
ものすごいくそすれになってますね
なんかかなしいです
なかよくやろうよもまいら
0843デフォルトの名無しさんNGNG
ひもなな?

そうだな、オレもひもななな気分だ。
0844デフォルトの名無しさんNGNG
0845デフォルトの名無しさんNGNG
くだらんミニゲームを作ってみた
ここで晒したら遊んでくれるだろうか・・
0846デフォルトの名無しさんNGNG
いいんじゃないの?
色々アドバイスくれるかも
0847デフォルトの名無しさんNGNG
bool a=b=true;

abともに真である条件式で
if(a & b){}
if(a && b){}
お前らはどっち書く?
0848デフォルトの名無しさんNGNG
a && bに一票
a & bだと
bitの andに見えるし
0849デフォルトの名無しさんNGNG
DirectXと関係ない話題をいちいち振る馬鹿と、それに答える大馬鹿。
0850デフォルトの名無しさんNGNG
その上マルチだ品
0851デフォルトの名無しさんNGNG
  (´⌒⌒⌒`) 
__ 〃|___|ヽ
ヽ\ ノノノ)ヘ)、!〉
 (0_)! (┃┃〈リ
  Vレリ、" lフ/     呼んだ? 
    l´ヾF'Fl  
    〉、_,ノ,ノ  
0852デフォルトの名無しさんNGNG
自作自演なんだからほっといてやれよ・・
0853デフォルトの名無しさんNGNG
じゃあDirectXの話題を投下。といっても俺はPlayしか知らないが。

一番目のパケットが届いてそれの処理をしている間に二番目にパケットが来た場合、
二番目のパケットの受け入れを一時的にロックしておくような機能ってある?

あと確認だが、一回目のReceiveイベントと二回目のReceiveイベントは非同期に処理されるよな?
0854デフォルトの名無しさんNGNG
受け取りたくなければ受け取らなければいい。
0855デフォルトの名無しさんNGNG
>一番目のパケットが届いてそれの処理をしている間に二番目にパケットが来た場合、
>二番目のパケットの受け入れを一時的にロックしておくような機能ってある?
漏れはそれっぽい機能を発見できなかったのでArrayListで解決したよ
パケットくるたびにキャッシュに叩き込んで逐次取り出すってのはだめなのか?
ArrayListはいじくるたびにlockしないと悲惨なことになるが

>一回目のReceiveイベントと二回目のReceiveイベントは非同期に処理されるよな?
デバッグウインドウに処理するたびにメッセージ表示するようにして検証すれ
たぶん非道鬼だったと思った

>受け取りたくなければ受け取らなければいい。
受け取りたいけど受け取れないから保留にしたいという話を・・げふんげふん(咳
0856デフォルトの名無しさんNGNG
Effect.FromFileのStringって2バイト文字が入ってると失敗するんですかね?
デスクトップにEmptyProjectのディレクトリ置いてたせいで実行出来なくて原因を
探すも今時そんな原因も無いだろと思ってたのでハマってしまってたんだが・・・。

あとデバッカのウォッチの動作がおかしいのはバグなんでしょか。
明らかに同一スコープ内のフィールドの中身が"スコープ外です"と表示できなかったり、
あるメソッド内で特定のメソッドを呼んでいるとウォッチで見るクラスや構造体の
定義されてるはずの中身が一部"error: cannot obtain value"と"<未定義の値>"になったり、
"<未定義の値>"をクリックして変更しようとすると文字が巨大化するし。
0857デフォルトの名無しさんNGNG
>>856
「スコープ外です」
「cannot obtain value」
は俺もしょっちゅうあるなあ。どうにかして欲しいよね・・・
0858デフォルトの名無しさんNGNG
なぁなぁ、ManagedDirectXの日本語ドキュメントをVSを使わずに見る方法があるはずなんだが、
どうやってやるんだっけ?
0859在日外国人参政権反対NGNG
マルチ(・A・)イクナイ!!
0860デフォルトの名無しさんNGNG
iexplorer.exe
0861デフォルトの名無しさんNGNG
>>858
#D、C#Bを入れる
0862デフォルトの名無しさんNGNG
I/O書籍シリーズはVC++で書いてるし
やっぱ、VBやらC#より
メンドイだろうけど
キッチリできるんだろうなぁ・・

と言いつつVBでやってみたり・・・('A`)
0863デフォルトの名無しさんNGNG
旧VBやVCはCOMネイティブ対応だからね
ATLなんてまさにActiveX作るためにあるようなものだし

C#やVB.NETだと互換性のためにCOMサポート残してあるだけだから
ラッパクラスが必要になったり
0864デフォルトの名無しさんNGNG
C#でMDXが楽すぎて仕方がない
0865デフォルトの名無しさんNGNG
>>864
禿同。もうC++に戻れないかもしれん・・・。
0866デフォルトの名無しさんNGNG
MDXのドキュメントも、Oct 2004 の日本語ドキュメントでやっと少し
マトモになったしね。
0867デフォルトの名無しさんNGNG
ドキュメントまともになったんだ?
Octインスコするのまんどくさかったけど
やる気がでてきますた
0868デフォルトの名無しさんNGNG
>>856
前に引っかかったことがある。俺も今更と思ったけど、
Effect.FromFileのStringに2バイト文字が入っていると
ロードできないっぽい。

エフェクトファイルをFileStreamで開いて、Effect.FromStreamを
使えば回避できる。
0869デフォルトの名無しさんNGNG
なるほどそんな解決方法が。
それにしてもサンプル(EmptyProject等)がそう書かれてるのでとりあえず修正して欲しいなぁ。
0870デフォルトの名無しさんNGNG
DirectShowがマネージ化されないと話にならないって言うか
0871デフォルトの名無しさんNGNG
MC++が使えないC#使いは話にならないって言うか
0872デフォルトの名無しさんNGNG
>>870
Showは他のコンポーネントと違って、COMクラス・インタフェイスの数が膨大だからねー。
素直にComImportAttributeなりで直接COMを叩くほうがいいんじゃない?
ってスタンスなんじゃないかな。

お手軽版?のAudioVideoPlaybackは機能が少ない分構成も頗るシンプルで、
これはこれで間違っちゃいないとは思うが、
やっぱり標準のマネージShowは見てみたいな。
0873デフォルトの名無しさんNGNG
MC++は意味あるんだろうか。
0874デフォルトの名無しさんNGNG
あるよ
Cで作られてるSDKを.NETに移植するとか
0875デフォルトの名無しさんNGNG
DirectShowのラッパならここにある
ttp://www.conferencexp.net/community/
0876デフォルトの名無しさんNGNG
DirectShowってMP3流せるのと動画再生するの以外に何かできることあるん?

MP3流すためにしかたなく使用してる漏れ程度では
いまいちありがたみがわからんですよ
0877デフォルトの名無しさんNGNG
mpegファイルやreal media ファイルなどの音声、動画ファイルを、
すべて再生できるようにする場合は
読み込むファイルの種類によって、それぞれ対応するしかないのですか?
(realmediaの場合は、Real Player ActiveX Control Libraryを使って
再生したり、そのほかは、QuartzTypeLibを使用したりなど。)
一括して、すべてのファイルを操作できるような方法はないのでしょうか?
0878デフォルトの名無しさんNGNG
対応する汎用CODECを作れば可能。
0879デフォルトの名無しさんNGNG
offscreen = new Surface("C:\\dxdata\\Samples\\C#\\DirectDraw\\Windowed\\無題.bmp", description, draw);
ここの対応してる画像の拡張子はBMPだけですか?
jpgだとエラーが起きて落ちてしまいます。

0880デフォルトの名無しさんNGNG
>>876
TVチューナーやビデオキャプチャ
ビデオやオーディオのエフェクト/変換も自由自在
0881デフォルトの名無しさんNGNG
>TVチューナーやビデオキャプチャ
>ビデオやオーディオのエフェクト/変換も自由自在

マジカヨー そらぁ便利だな
まぁ便利でも対応してないんじゃアレなんだが
Webカメラの画像とかも扱えるのだろうか
0882デフォルトの名無しさんNGNG
>>879
そのSurfaceがDrawのものなのか、3Dのものなのか、自分じゃ何も言わない。エラーの種類も書かない。
もうだめぽ。

DrawにJPEG関係の機能はない。
0883デフォルトの名無しさんNGNG
>>876
USBカメラの画像取り込んでエフェクトかけて遊んだりできます
0884デフォルトの名無しさんNGNG
>USBカメラの画像取り込んでエフェクトかけて遊んだりできます
C#でもManagedDirectXで普通に殺れまつか?
0885デフォルトの名無しさんNGNG
ttp://mobiquitous.com/programming/usbcamera.html
0886デフォルトの名無しさんNGNG
DirectSmellでこれを動作させる方法を教えてください

ttp://headlines.yahoo.co.jp/hl?a=20041206-00000086-mai-bus_all
0887デフォルトの名無しさんNGNG
之で引きこもりの部屋のにおいとかも再現かのうなのかな・・・
0888デフォルトの名無しさんNGNG
>>886
過去ログ読もうね。>>569
0889デフォルトの名無しさんNGNG
>>888

検索してませんでした。すいません。

これで僕の部屋のにおいが再現できました。
明日ネットカフェで試します。
0890デフォルトの名無しさんNGNG
>>886
DirectSmellワロタ
将来はでるかもしれんな
http://www.mainichi-msn.co.jp/today/news/20041207k0000m020046000c.html
0891デフォルトの名無しさんNGNG
>>890
分かってるとは思うが、DirectSmellは既出な。>>562
0892デフォルトの名無しさんNGNG
DirectX December 2004 release
ttp://www.thezbuffer.com/articles/104.aspx

また新しい SDK が公開された模様。
>>749 の予言が的中。

とりあえずリリースノートだけ読んでみた。
MDX のアセンブリバージョンは 1.0.2903.0 になったらしい。
次は来年の二月に公開予定とのこと。

Release Notes
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=358CBC1E-F5AB-417D-9F6F-779BE38EFB69&displaylang=en
0893749NGNG
やったーーーーーーーーーーーーーーーーーーーーーーー!
予言的中!!!

誰かなんかくれ!!!

SDK本体はここだね。
December 2004
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=4E825A37-0C94-4421-9EC8-156E52525D11&displaylang=en
0894デフォルトの名無しさんNGNG
>>893
チューしてやるよ(*゚3゚)
0895デフォルトの名無しさんNGNG
ドキュメントもっと充実キボンヌ
0896デフォルトの名無しさんNGNG
矢継ぎ早にSDKの更新されてますが
これって入れる度に古いSDKアンインストールしてから入れるものなんでしょうか
そのまま上書きしても大丈夫なものでしょうか?
0897デフォルトの名無しさんNGNG
>>896
使い方とかリリースノートくらい読めよ。
読むのすら面倒くさい奴は使うな、向いてない。
0898デフォルトの名無しさんNGNG
>>896
古い奴から順番にいれろ!
新しい奴だけ入れてもいいけど昔のサンプル入ってねぇぞ!!
サンプル以外は一緒だ。精神的に不安定な奴はウィンドウズの再インスコからしとけ。
0899749NGNG
前回の予言が的中しご好評いただいたので、今回もやってみます。

次のバージョンは、DirectX SDK Update Christmas 2004 です。

つーか、たぶん当たります。
0900デフォルトの名無しさんNGNG
>>899
サムいよ偽物。
0901デフォルトの名無しさんNGNG
>>899
情報ありがとう。じゃあ次バージョンは来週末あたりだな。
0902デフォルトの名無しさんNGNG
よく知らないんですけど、このスレ的に
12月ってなんかいいことあるんですか?
0903デフォルトの名無しさんNGNG
javaでDirect3Dプログラミングって不可能?
C++はあまり手つけたくない・・・。
0904デフォルトの名無しさんNGNG
釣りかと思うがマジレスすると、無理、つーか、
JAVAクローンなC#をなぜ使わないのかな。
0905デフォルトの名無しさんNGNG
【徹底討論】Java3Dの可能性について考える
http://pc5.2ch.net/test/read.cgi/tech/1033703640/
0906デフォルトの名無しさんNGNG
DirectXはともかくJavaなら3Dなプログラムもそんな悪くないかと思われ
ただ、ゲーム作るんならおとなしくマイケル開発言語使ったほうがいいと思うが
0907904NGNG
C#良さそうですね。
実は、ゲーム制作業界に入りたいとおもってるんですが、
CG制作で最も一般的なのはどの組み合わせかなと思って。
C++とDirect3Dかな?最近の動向はどうですか?
別にJAVAにこだわってるわけじゃないです。
0908904NGNG
あ、C#やる場合、やっぱり、summer2003か2004ってことに?
0909デフォルトの名無しさんNGNG
そんなことも自分で調べられない人間は、
俺が面接官なら絶対に落とすな。

今現在のゲーム業界にプログラマとして入りたいんなら、
C++を使いこなせることは大前提。
今のゲーム機に.NETなんて入ってると思ってるのか?
0910339NGNG
ゲーム業界なんて、いつ吹き飛ぶか判らんぞ。入ってもいいことないぞ。

0911デフォルトの名無しさんNGNG
>>910
UMDみたいに?(w
0912デフォルトの名無しさんNGNG
>>903
Java3DはDirectXで実装されてるんだがそういう話ではなく?
0913デフォルトの名無しさんNGNG
>>912
俺、去年の今頃JAVA3Dを調べたっきりなんだが、
JAVA3Dが使っているのは、DirectXじゃなくてOpenGLじゃなかったっけ。
DirectXだとWindows限定じゃん。

もし俺の勘違いだったらスマソ。
0914デフォルトの名無しさんNGNG
>>903
J++
0915デフォルトの名無しさんNGNG
>>913
ウィンドウズはDirectXとOpenGLの両方が出てる
何で実装するかなんて決められていない
0916904ではなくて903だったNGNG
>>912
JAVA3Dが結局はDirectXかOpenGLを使ってることは知ってます。
でも、JAVAでゲームとかはあまり良くないというか標準でないと聞いたので。
しかも、3Dやるなら、わざわざJAVAでやる必要性もなく、直でDirectX、OpenGL等
使ったほうがいいかな、と。

色々調べたところ、C++との組み合わせが普通らしく、
でも、C++は難しいのであまり手を付けなくないといった状況です。
やっぱり、C++するしかないのだろうか
C#だとどうなのか?といった感じです。
0917904ではなくて903だったNGNG
JAVAでC++またはC#のようにDirectX等を直に扱えないかなということです。
JAVA3D経由じゃなくて。
そもそも、JAVAVM通り越して、DirectX扱うってむりぽい?
ではなんで、C#の.NETはDirectX使えるんだ?
すいません、何も分かってない状況です。。。
0918デフォルトの名無しさんNGNG
>>917
DirectXというのは何層にもわかれている。
ハードウェア、デバイスドライバ、API、ライブラリ、フレームワーク。
おまいさんが「直」と表現しているのはおそらくAPIのことだろう。
このAPIはCOMとManagedの二種類が用意されている。
つまり二通りの「直」がある。
COMのほうはVC++用のLIBがデフォルトで用意されている。
変換ツール等を使うことでBC++、DelphiなどからでもDirectXを直で扱うことができる。
Managedのほうはもっとシンプルで.NETに乗っていれば基本的にどんな言語からでも使うことができる。
これらAPIの上にライブラリ(D3DXなど)やフレームワーク(DXUT)が乗る。
さらにツールやプラグイン、ドキュメントなどを含めた総称がDirectX SDK。
0919デフォルトの名無しさんNGNG
Q. Javaで直接DirectXを扱えますか?
A. 扱えません
0920904ではなくて903だったNGNG
>>918
説明ありがとうございます。

C#使うとすると、
C# + Managed + DirectX ということになるのかな
おとなくしく、C++にしとけって感じなんですが。。。

.NETが将来どうなるのかが、けっこう不安。。。
0921デフォルトの名無しさんNGNG
C++でDirectXを扱う知識がある上で、C#のDirectXを扱うのは、容易いと思った。
C++での知識があれば「あれはこうやるんだな」ってのがなんとなく想像できちゃうからね
だけどいきなりManaged DirectXから入るのはどうか分からん
0922デフォルトの名無しさんNGNG
まだ先の話だが、C#(.NET)でかくとManaged空間しかいじれなくなることが保障される。
そのためManagedコードに関してはユーザーモードでなくカーネルモードで動かしても問題が生じなくなり、
現在のカーネルモードとユーザーモードの切り替えに生じるロスをなくすことができパフォーマンスが爆発的に増加する。
とあった。時期など不明だがそういうのもきたいされるかも。
0923デフォルトの名無しさんNGNG
とりあえずここにJ#おいときますね
0924デフォルトの名無しさんNGNG
完全にネイティブなコードになるみたいなイメージでいいのかそれは>>922
0925デフォルトの名無しさんNGNG
>>924
えーと、エンタープライズ分野で重要なサーバ類のお仕事の多くが、↓みたいな感じだから、サーバアプリは
場合によってはすごく速くなるだろうけど、DirectXの場合昔からカーネルメモリ空間に直接してるから変わらないと思う。

リクエスト受信
-> TCP/IP処理
-> ユーザーメモリへコピー
-> アプリ処理

(そして処理中のFileやネットワークのI/O処理)
-> データをカーネルメモリへコピー
-> I/O 処理
-> データをユーザメモリへコピー

レスポンス返信
-> 処理結果をカーネルメモリへコピー
-> TCP/IP 処理
0926デフォルトの名無しさんNGNG
なるほど、そいうことね
0927922NGNG
>>924
ネイティブがバイナリのことをさすなら違うと思います。
  アプリ
-------------
  カーネル
が
  
--------------------
  カーネル  アプリ
こんな感じになるのでCPUコンテキストスイッチが発生せず早いとか
>>925
DIRECTXアプリだとどうなんでしょうね。

参考:http://216.239.57.104/search?q=cache:9Dr1Pwcw9yQJ:www.i.u-tokyo.ac.jp/ss/report/04COEsympo/pdf/maeda.pdf+CPU+%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89+%E3%83%A6%E3%83%BC%E3%82%B6%E3%80%80Pentium&hl=ja
0928デフォルトの名無しさんNGNG
Java,C# ≠ 初心者用の言語
0929デフォルトの名無しさんNGNG
これは初心者用
あれは玄人用
区別したがる奴ほど初心者
あほらしくて見てらんないが
哀れだからエサは与えてみる
0930デフォルトの名無しさんNGNG
とりあえず、VS2005でDirect3Dさわってみた。
仕組みよくわかっとらんが、とりあえず、Begin-EndSceneの間で力技で描画すればよいらしい。
3万ポリゴン表示してもそこそこ動く。
これなら作りたいやつに使っても大丈夫そう。
今知りたいこと。
・ウィンドウの一部に対する描画。
・Zソート?とかの使い方
・マウスと野などの操作との連動。
・マウスでクリックしたときのオブジェクト探す方法。
・透明。
・テキスト、線。

・・・まぁ入門書を素直に買って濃いって請った・・・
0931デフォルトの名無しさんNGNG
・ウィンドウの一部に対する描画。
present

・Zソート?とかの使い方
zbuffer

・マウスと野などの操作との連動。
DirectInput

・マウスでクリックしたときのオブジェクト探す方法。
transform2d
transform3d

・透明。
alpha

・テキスト、線。
drawtext
drawline
0932デフォルトの名無しさんNGNG
>>931
感謝
0933デフォルトの名無しさんNGNG
Java,C# ≠ 初心者用の言語
0934デフォルトの名無しさんNGNG
>>930=932
頼むからダメ日記はここじゃなく広告のウラに書いてくれ。
今の時代、本がないと何も出来ない奴は何やっても無駄。あきらめれ。
0935デフォルトの名無しさんNGNG
自治厨多杉
0936デフォルトの名無しさんNGNG
2chは日記帳じゃないYO!
0937デフォルトの名無しさんNGNG
個人的にはそういう批判もチラシの裏にでも書いてて欲しいがな。
まあ、例によってオレモナー、なんだけど。
0938デフォルトの名無しさんNGNG
資料がないと何もできないと思うんだが…
本っていうのはたまたま媒体が紙なだけで。
0939デフォルトの名無しさんNGNG
>>934
じゃぁお前はプログラム関係の本を雑誌を含め一切買ったことがなく、すべてSDKとWEB(サイト、掲示板、メーリングリストなど)だけで済ましてるんだな?
してそれにどれほどの意味が?
0940デフォルトの名無しさんNGNG
>>939
少し同意。漏れはWin者なのでSDKとMSDNでかなり十分足りてるけど、Unixの人は
正直本読むの悪くないと思う。manpage を頭から順に流し読みするとか、し難いし・・・
0941デフォルトの名無しさんNGNG
「本」って「資料」だろ?
「ヘルプ」とか「Webサイト」とかも「資料」だろ?
なぜ「本」だけを目の敵にするのかがわからん。
0942デフォルトの名無しさんNGNG
これは初心者用
あれは玄人用
区別したがる奴ほど初心者
本がどうとか
MSNみろとか
ググれとか
言ってる奴ほど自分で調べない
広告とか
日記とか
うざいと言う奴のほうが遥かに邪魔
0943デフォルトの名無しさんNGNG
結局誰かがまとめたものよりも自分で散在した資料を纏め上げろってことなんでしょ?
その分の時間をほかに使えばいいだけなのに。
誰かがしたことをまた自分でしてオナニーしてるだけな部分もあるのでないの?
0944934NGNG
>>939
うーん、正直に言うと、プログラム関係の雑誌は買ったことあるな。
93年ごろまでのベーマガ。今でも全て持ってる。
別に「意味」があったわけじゃなく、ど田舎育ちで小遣いも月千円だった俺にとって唯一の情報源だったから。

ここ十年はプログラム関係の本は恐らく買ってない(と思われ)。
今は、研究・開発のためのリソースはヘルプとWebのみだな。
情報の取捨選択さえてきぱきと出来れば、今現在はこれで必要充分。

>>941
うーん、本が嫌いだからかなー。
小説とかも読書感想文の宿題以外では読んだことないのよ。

>>942
俺は別に初心者とか玄人とか区別はしないが、MSNは見ないぞ。
ちなみに、広告のウラ、プリンタ用紙のウラは大好きだな。徹底活用してる。
0945デフォルトの名無しさんNGNG
>>942
自治臭い君が一番邪魔だからw
0946デフォルトの名無しさんNGNG
普通にインストールできないんですが、何故ですか?
0947デフォルトの名無しさんNGNG
>>946
自治臭い君が一番邪魔だからw
0948デフォルトの名無しさんNGNG
ヘルプやらドキュメントを読んでも
3Dの用語がさっぱり分からない_| ̄|○
0949デフォルトの名無しさんNGNG
>>921
C++でDirectX使ったこと無い人間が
C#+MDXをいじってみてるが、結構辛いですよorz

MDXのドキュメントがあんまりないから
C+++DirectXのドキュメントを探して、その中の
関数名をSDKドキュメントから探す、の繰り返しです

でも、D3DXHOGEHOGE〜みたいに定数を
書き連ねまくらなくてすむのはいいと思った>MDX
0950デフォルトの名無しさんNGNG
ね、ワールド変換ってどんなとき使うの?

仕組みはわかるんだが、自分だとビューをぐりぐり動かすのしか使わないもんで・・・
0951デフォルトの名無しさんNGNG
3DCGソフトのモデリングビューたいのだと使うのか。
0952デフォルトの名無しさんNGNG
なるほど、ベーマガを読めばいいのか。
0953950NGNG
やっとカメラ移動実装できた・・・一日つぶれてしまった。
なんか動いてるのでとりあえずあげてみる。
しかしC#楽ね・・・VS2005のせいもあるのかインテリセンスが(・∀・)イイ!!
http://djkazu.oops.jp/source/JUP^0142.exe
0954デフォルトの名無しさんNGNG
>>953
>>780を熟読しろ。
0955デフォルトの名無しさんNGNG
C#+DirectX関連の書籍でいいのある?

DirectX9 3Dゲームプログラミング〈vol.1〉C#によるアルゴリズムの基礎

これ検討中なんだけど
0956950NGNG
>>954
ん?適当に作ったのだから終了処理とかなにも見てないが、そのこと?
0957デフォルトの名無しさんNGNG
作ったプログラムを自慢げに見てほしがる厨房がいちばんうざい。
誰が好き好んでお前のアホプログラムなんか見たがると思ってるんだ?

950はさっさと次スレでも立ててこいってこった。
0958デフォルトの名無しさんNGNG
んー自分は人の書いたサンプルとか見るの好きだけど。
人の主義主張に踏み込むやつのほうがう財
0959デフォルトの名無しさんNGNG
自慢げに見てほしがる厨房がうざいなら
そいつがウンともスンとも言えないくらい
完璧かつ実用的あるいは面白いものを
モマイが作ってUPすればよいだけのこと
あまり否定的なこと書くとスレが閑散とするだろ〜が
せめて次スレぐらい立てろや無能
0960デフォルトの名無しさんNGNG
せめて次スレぐらい立てろや>>950=>>956
0961デフォルトの名無しさんNGNG
おまいの作ったサンプルみしたら立ててくる
0962デフォルトの名無しさんNGNG
正直ほかのひとつくったすごいやつ見たいぞ
0963デフォルトの名無しさんNGNG
http://pc5.2ch.net/tech/index.html#1
ほれ
0964デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1103998649/
間違えた・・・orz
0965デフォルトの名無しさんNGNG
このスレは今年中には1000いかない、に一票。
0966デフォルトの名無しさんNGNG
>>955
ほかによさげなのがないので、買ったんだが、
値段の割にはたいしたことない。いまいち。
よっぽどのDirectX初心者でなければ買う価値なし。

ほかにお勧めもないけどね。
どうせかうなら、上のほうで出てた英語の本のほうがいいんではなかろうか。
0967955NGNG
結局のところ、

C++を取得 << C#でDirectXを扱うための情報の収集

のような気がしてきたので、おとなしく、 C++でいきます。
0968デフォルトの名無しさんNGNG
> C++を取得 << C#でDirectXを扱うための情報の収集

何の大小を比較してるのか理解不能。
ってかお前アホだろ。
0969デフォルトの名無しさんNGNG
ビットシフトだろ
0970デフォルトの名無しさんNGNG
>>964
次スレなのでよろ
0971デフォルトの名無しさんNGNG
>>955, >>966

Tomさんの新しい本が出てるよ。
ttp://www.amazon.co.jp/exec/obidos/ASIN/0672326612

今度のは、DirectXの本というよりは
彼の作ったゲームを例にしたゲ製作一般の本なのかな?
0972955NGNG
不等号は労力の大きさです。。。
0973デフォルトの名無しさんNGNG
動かしてるとメモリを食いまくり仮想メモリが足りなくなるんだが、リソースの開放忘れ?
我部これしてくれないのか?
0974デフォルトの名無しさんNGNG
GC.GetTotalMemoryで確認してみてはいかがか。
俺は毎フレームこの値を表示させてるけど、
ちゃんと解放できていれば定期的にガクンと減ってくれる。
0975デフォルトの名無しさんNGNG
ガベコレを強制行使するのもええかもしれん

タスクマネージャで見るとメモリ使用量減るまで時間かかるのがムカツクが
0976デフォルトの名無しさんNGNG
System.GC.Collect呼びだししてみたんですが、さくっと抜けてしまいメモリはそのまま依然増えてしまいます・・・。・゚・(ノД`)・゚・。s
GC.TotalMemoryちょっとやってみます。
現在3つ問題抱えています・・・
・メモリーリーク
・大量のメッシュオブジェクトある際のオブジェクトピッキングに時間がかかること(全部なめてます)。
・メッシュに別に作成したテクスチャの作成。

英語でぐぐってもどっかの外人が同じようにメッシュにテクスチャはれねぇよ。・゚・(ノД`)・゚・。といってる掲示板があった・・orz
0977デフォルトの名無しさんNGNG
C#でやってるわけだからメモリーリークは意識しなくていいはずだが。
リソースリークのことかい?
まあ>>973の様子だとリソースリークっぽいけど。
0978デフォルトの名無しさんNGNG
動かしてるとメモリーが増大し続けます。
C#暦あさいのですが(C++つかい)いわれてるようにメモリーリークはしないと思っていたので困ってます。ガベコレも効果ありません。
DirectXも全体つかめていないのでどこか間違ってそうなんですが・・・
0979デフォルトの名無しさんNGNG
現象が再現する最小限のソースを公開するのが一番早いかもしれんが・・・。
ソース見られるのが嫌だったら別に構わないよ。
0980デフォルトの名無しさんNGNG
よかったらどこかにあげます。いろいろいじってる実験ソースなのでぐちゃぐちゃですが・・・
0981デフォルトの名無しさんNGNG
>>979も言ってるが、問題が再現するミニマムコードにしてからにしてくれよ。
間違ってもそのまま見せるのは無礼極まりないよ。
0982デフォルトの名無しさんNGNG
そうですね。自分でも切り出ししないといけないのでそれでも原因不明だったらあげることにします。
ガベコレ、などもいじってみます。
0983デフォルトの名無しさんNGNG
なんかスレの住人増えてるな。
0984デフォルトの名無しさんNGNG
C#+DirectX使うの楽だけど、こういうことした言ってる時に微妙にじょうほうしらべるのたいへんだぁね・・・
0985デフォルトの名無しさんNGNG
C++&DirectXのスキルあってのC#&Directxだろう。おそらく。
0986デフォルトの名無しさんNGNG
文字列メッシュで表示できるけど遅すぎ・・・
0987デフォルトの名無しさんNGNG
それはC++でもかなり重い
0988デフォルトの名無しさんNGNG
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
空間のなかをウぉークスルーするようなもの作りたいんですけど文字表示が遅すぎ・・・
0989デフォルトの名無しさんNGNG
キャッシュ、α
0990デフォルトの名無しさんNGNG
>>988
Webにもごろごろ資料はころがってるし、
探せば2chにもいい回答が沢山ある。

何度も言うが、ここはダメ日記帳ではない。
質問なら聞きたい部分の要点をはっきりと書け。
正直うざすぎ。
0991デフォルトの名無しさんNGNG
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
0992デフォルトの名無しさんNGNG
>>991
どこを縦に読むんだろう。
0993デフォルトの名無しさんNGNG
>>990
どうせまともな回答できる人はごくまれと思われ
0994デフォルトの名無しさんNGNG
欲しい回答を得られる精度をもって質問せよ。
0995デフォルトの名無しさんNGNG
>>994
なるほど、その通りだな。
>>988はそれ以前に質問ですらないわけだが。
0996デフォルトの名無しさんNGNG
>>994 前行は質問じゃねーの
0997デフォルトの名無しさんNGNG
>>992
ある2行をジグザグに読むと「はにはに」
0998デフォルトの名無しさんNGNG
行じゃないな・・・列か_| ̄|○
0999デフォルトの名無しさんNGNG
住人増えるのはいいんだけど、
変なのしか増えていない気がWw W w。。 W
1000デフォルトの名無しさんNGNG
まったりとせん
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。