C#でDirectX9 初心者の館

このエントリーをはてなブックマークに追加
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
2デフォルトの名無しさん:03/11/24 18:36
2
人間は宇宙人だし、日本語も宇宙語と言える。
よって(ry
1 は土日で勉強しながら、判らなかった事をチクチク書いたり。
引っかかって、困った事とか書きます。
とりあえず、今日までずっと判らなかった VisualStudio.NET 2003 に
インストールできない原因がわかったので、ここに書いておきます。
単なるVisualStudio.NET 2003未対応でした、DirectX 9.0 Update (2003 Summer)
で対応していたようです、
またこれをインストールするとき前のバージョンのDirectX SDKをアンインストールしないと、
プロジェクトの生成が変になるという事に気づいています。

>>3
それは屁理屈〜
おい >>1 よ、言語に関係なく >>5 に統合されたのを知ってるか?
7デフォルトの名無しさん:03/11/25 21:11
誰も居ないので独り言モード化す1です
とりあえず、ダウンロードには成功したのでヘルプを読んでいますが、C#で勉強しようとするといきなり壁がありますね。

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

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

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;

}

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

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

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

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

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

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

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

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

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

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
で分らないことを検索したりしてます。

もっと効率の良い学び方が有ったら、誰か教えてプリーズ。
FrontPage -PukiWiki-



サイトのタイトルではないと思うんだが。
( ’ ⊇’)つ旦
37デフォルトの名無しさん:04/01/28 14:42
conv3ds.exeってどこに入ってますか?
MSサイトから落としたのに見つからないです。
DirectX3Dのサンプルで、チュートリアルの中に
Vertexっていうのがあるんだけど、ポリゴンは
表示されるんだけど、視点を設定してもずっと同じ位置に表示
されたまんまなんだよね。

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

微妙にスレ違いで申し訳ないんですが、PocketPCで音を重ねたりするようなアプリを作る方法を探しています。どなたか情報ご存知でしたら教えていただけないでしょうか。
42超初心者:04/02/02 18:56
>>4
あの、VisualStudio.NET 2003のテンプレートにDirectX 9.0が表示されないのは
つまり、そういう事なんですか?
初心者ですいません。
43デフォルトの名無しさん:04/02/03 15:48
Managed DirectX と DirectX SDK の違いを教えて下さい。
どれをダウンロードしていいのかわかりません><。
44デフォルトの名無しさん:04/02/03 17:24
どっちともDLしてインスコする。
45デフォルトの名無しさん:04/03/02 00:45
C#でDirectXってほんとにいばらの道だね。
やっと1週間半かけてDirectInputを使ったプログラムが出来た。
先は長い・・・・

>C#でDirectXってほんとにいばらの道だね。
なんで?
4745:04/03/03 23:55
>>46

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

その程度の悩みなのか。
C++とかでやったらもっと死ぬぞ。
49デフォルトの名無しさん:04/03/04 21:50
>>48
C++は資料やHPがたくさんあるからマシ。
そうだね、C#でプログラム組んでわからなかったときは、C++のHP検索してるよ。
51デフォルトの名無しさん:04/03/24 13:23
http://popup.tok2.com/home/ryza/
見つけました!
52デフォルトの名無しさん:04/03/30 20:15
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が投げられてしまいます。
サンプルは正常に動作したのですが、問題点や上手い解決方法をご存知の方が
いらっしゃいましたらどうかよろしくお願い致します。
53デフォルトの名無しさん:04/04/04 00:14
>>52
joystick.Acquire();
joystick.Poll();
してから
joystick.CurrentJoystickState
で簡単にジョイスティックの情報が取れますよ
僕は
joystick = new Device(instance.InstanceGuid);
    break;
のコードにjoystick.Acquire();を追加しました

C++より列挙がらくでびっくりしました。
全くの手探りでとんでもなく初心者の質問なんですが。

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

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


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

例えば、

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

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

#PeekMessageが出るちゅう事は、前はMFC使わずWin32APIでゴリゴリ書いてたんかな?(w
単純にスレッドを生成してループさせればいいだけの話では?
57デフォルトの名無しさん:04/04/18 17:31
private Timer timer;
private void InitializeTimer() {
// タイマーを作成
timer = new Timer();
// インターバルを30[ms]に設定
timer.Interval = 30;
// イベントハンドラを指定
timer.Tick += new EventHandler( this.Render );
// タイマーを起動
timer.Start();
}
スレッドづくりは難しいのでイベントハンドらをつかってみるといいと思います
後は自作のRender()の中に描画処理を書けばいいです
58デフォルトの名無しさん:04/04/18 17:39
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){}内で呼べばいいです。
5954:04/04/22 18:03
返事が遅れました。ありがとうございます。

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

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

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

いろいろとすみません。
60デフォルトの名無しさん:04/04/26 23:03
>>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();
}
61デフォルトの名無しさん:04/04/26 23:04
>>59
こんな感じかな、コメント入り
http://www.realdigital.co.jp/densi2/program/d3d/dx3d-002.htm
しくみはここを見てください。
ここのサイトのコードをC#のコードにかきかえただけだけどね

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

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

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

どっかにサンプルない?
72デフォルトの名無しさん:04/05/12 14:18
C#初心者とDirectX初心者です。

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

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

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

以上へたな回答でした
74デフォルトの名無しさん:04/05/25 15:29
DirectX初心者です。

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

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

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

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

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

しかたがないから 1から自分で勉強したいので、
C#ユーザー向けの DirectXの初歩から学べる ページを紹介してください
80デフォルトの名無しさん:04/05/26 19:44
C#+DirectXでトゥーンレンダリングの方法を紹介しているページとかありますか?
81デフォルトの名無しさん:04/05/26 21:12
今日からDirectXに挑戦しようと思って、
DirectX SDKなどをダウンロードしてインストールしたはずなんですが、
サンプルプログラムをダウンロードして実行しようとすると
「初期化できない」というエラーになります。
どうしてなんでしょうか?
解決法を教えてください。このままじゃDirectXのDの字も出ないうちに
諦めなければなりません
>>81
Text3D、LightingVSあたりを実行してみ?
しょぼいグラフィックボードじゃSDKのかなりのサンプルは起動しない
少なくとも質問する上で、ビデオカードの種類や実行したサンプルの名前が必要だということを
考えることが出来ないのであれば、
>今日からDirectXに挑戦しようと思って、
これはまだ早すぎる。
>このままじゃDirectXのDの字も出ないうちに諦めなければなりません
妥当な判断。
デバイスマネージャで確認したところ
> 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だけど最近の機種だから動いてほしい、マジで。
> S3 Graphics ProSavage
これでまともに3Dをやるのは無理。
> S3 Graphics ProSavage
これでまともに3Dをやるのは無理。
> S3 Graphics ProSavage
これでまともに3Dをやるのは無理。
>>84
最新だから動くかっていうと、それは間違い。
とりあえず、DirectXの前に適切なPC購入の勉強からしてみてはどう?
>>84
昔、K6のDynabookでSavage(Proじゃない)が乗っていて、それで組んでいたことがある。
DirectX8のD3DXで、(確か)100ポリぐらいのQVGAで60fps動いた。
Spriteクラスを使って数個のオブジェクトが動く程度のものなら問題ないだろう。
・・・たぶん。(;´Д`)

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

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

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

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

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

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

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

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

ぜんぜん悲観することはないですよ。
>>93
>をみるとけたたましくわかりやすいです
斬新な表現だ。

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

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

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

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

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

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

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

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

近いうちにC#とDirectXで何か作ろうと思ってた所でとても助かりました。
>>79
その記事はDirectX初心者用ではないよ。
だってソースも間違ってるから、それに気づかないとダメっぽいw

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

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

ttp://blogs.msdn.com/tmiller/archive/2003/11/07/57524.aspx
↑すまん、レス間違い

>>90 ×
>>60 ○

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

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

>>117
ソース間違っているの?まだ日ソフのサイトから ソースだけ落として
VC#のプロジェクトに変換しただけで 中身見て無いけど。
実行はできたけど。
>>127
俺は>>117しゃないけど多分、サンプルの方。
Direct3D.Fontクラスの第一引数がnullになってる。
ここってstringでしょ?
>>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♯は始めたばかりなのでよく分かりませんが、他の方で修正無しでコンパイルできた方はいるのでしょうか?
ソースファイル自体は貴重な情報源なので重宝してますが。
130デフォルトの名無しさん:04/06/08 12:30
>>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のみがインストールされてたらコンパイルできねーよ。
ランタイムの方にもバージョンの違いで動かない等、問題がおきているよね。
リスクがいっぱいのManagedアプリよりも、Javaでのんびりゲーム製作したほうが楽しいと思う。
メインループさえまともに起こせない現段階のC#+ManagedDXに力注ぐのは無駄。

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

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

113さんは巧く行ったのだろうか。

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

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

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

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

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

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

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

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

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

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

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

いまいち想定している危険が想像できない
(´-`).。oO(商用でソースばれたらダメダメでは…
15554:04/06/10 02:13
>144
スレッドを使うという話になってなかったから。
いま仕方ないのでスレッドでやってます。

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

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

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

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

160157:04/06/10 05:01
俺はこんなかんじでやってるが、問題なし。


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()を呼んで再描画する)
}
スレッドを使えばいいだけのことを、なぜわざわざメッセージループ中でやろうとするのか、
理由と必要性がさっぱり分からない。
イベントをウインドウ制御側のスレッドで実行したければ、
必要に応じて別スレッドからSendMessageでユーザーメッセージを処理させればいいだけだし。
何故イベントリブンを無意味にするような方法を使おうとするのだろう?
スレッドはパフォーマンスが落ちるからなるべく避けてきたというゲーム独特の歴史的背景のせいだと思われ
16454:04/06/10 10:18
>157
そのソースを見る限り「Invalidate」のおかげで
WndProcに戻ってきてるのでは……。

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

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

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

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

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

だからスレッド使えよ。
*言うだけなら誰でも*
>>183
おまいの理想とする
スレッド使ったコードを晒してください
話はそれからだ

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

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

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

*言うだけなら誰でも*
ていうか、そもそもC#自体がWin32APIを直接叩く事を
推奨していない言語仕様だからなぁ。
196172:04/06/17 15:23
質問でつ チュートリアル2で
頂点バッファ.Lock(0, 0, 0);
といふ頂点をロックする処理がありまつが、

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

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

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

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

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

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

>1つめの引数=頂点バッファをロックを開始する位置(バイト単位)
>2つめの引数=頂点バッファをロックするサイズ(バイト単位)
>しかも両方のパラメータが0なのでバッファ全体をロックを指定したといふことですよね?
これはたぶんあってると思う
DirectX SDK 有料にしてでも ちゃんとしたヘルプつけてくださいまし
といいたくなるくらい ManagedのDirectXヘルプはウン○だね・・
#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

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

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

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

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

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

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

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

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

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

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

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

マニュアル登場

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

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

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

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

結局んとこ、この値を設定すると何がどうなるのかよくわかりませぬ
まったく指定しなくてもチュートリアルは普通に動くみたいだし
テクスチャマッピングの補正につかうんだったかなー
くだらん論議してるときは盛り上がるのに
質問でるととたんに静かになるんやね
>>258はそのくらい自分で調べろとか言われちゃうんだろうね
>>259
ためしにテクスチャ張って数値をいろいろ弄ってみたらワカッターよ
テクスチャを張ってから数値変更すると設定した数値ぶん、テクスチャが歪むのね
メディアプレイヤーのようにフォームの一部分にDirectXの画面を表示させたいのですが
C#で可能でしょうか?
可能
>フォームの一部分にDirectXの画面を表示させたいのですが
フォームに絵boxを配置して
Deviceの引数に絵boxを指定してもダメポだったよ
どうやって遣るんだかワカンネ
誰か教えれ
デバイスに指定するのはトップフレームであって表示する場所ではない。
ただそこがデフォルトになるだけの話。
描画先のウインドウを指定するのは描画する時点で、指定しなければデフォルトが適用されるだけ。
少しはメソッドのヘルプを読め。
>>264
Rectangle reg = new Rectangle();
reg.X=100;
reg.Y=100;
reg.Width=200;
reg.Height=200;
device.Present(reg,null,false);

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

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

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

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

>>292
ごめ、こんなカボチャみたいな頭の奴に反応してしまった漏れも逝ってヨシですね
煽って八つ当たりしないと気分が晴れないほど、デスマーチしてるんだよ。
きっと。
>>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に餌を与えないでください
FPSなどのゲームでよくある、
マウスで視点をグリグリ、
キーボードでカメラを移動というので
つまづいてます。
MATRIX関係の理解ができてないみたいで、
自分で初心者だなぁと思うかぎり。
>>296
マウスの移動量やらキーボードの入力を検出して
Transform.View = Matrix.LookAtLHの値を手動で操作するクラス作ってガンガレ
Transform.View = Matrix.RotationYとかでお手軽にカメラ回せるかとも思ったが
ダメポだったーよ
298297:04/06/28 15:01
>>296
>Transform.View = Matrix.RotationYとかでお手軽にカメラ回せるかとも思ったが
>ダメポだったーよ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

…ってスレ違いですか?(´・ω・`)
最近そのままシューティングゲームを作る本が出たな。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797327316/
>>359
やっぱりというかなんというか
C#本じゃないのが残念
立ち読みしてきまふ
>>359
アルゴリズム本であってシューティングを絡めた言語入門書じゃないぞ
362358:04/07/13 16:01
>>359
その本買ったんだけど、ガチガチのアルゴリズム本でした。
いや、承知して買ったんですが。
面白かったんですが、入門書にはならず。
C++のソースついてるけど、規模が大きいから
ソースなぞりながら理解していく、ってのが難しそうなのであきらめました('A`)
ネット対応3Dシューティング(FPSなど)のアルゴリズム本でないかな。
コンパクトなシューティングのソースならゲ製作技術板にイパーイある
C++とDelphiばっかりだけど
ColorKey.ColorSpaceHighValu ってARGB値ですか?
透過しなくて困っています。
久々の質問だ
気合入れて答えろよおまいら

俺?

すまん、わからん
>>365
ソースのサーフェスのピクセルフォーマットの通りに指定する。
んでもいまどき使う、それ?
368365:04/07/14 02:11
>367
え、いまどきは何を使うのでしょうか。
369365:04/07/14 03:09
いろいろ調べて試してみましたが、
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); //
う〜ん……

> ck.ColorSpaceHighValue = ck.ColorSpaceLowValue = Color.Green.ToArgb(); //左上をcolorkey

Color.Green.ToArgb()で取るより、直接サーフェイスから取った方が良くない?
せっかく、「左上をcolorkey」という仕様になっているんだから。
あと、サーフェイスってビデオカードの状態によって誤差が出そうな気がする。

DirectDrawが廃止される以前にC++でいじってた頃の記憶なので、はずしてたらスマソ。
371365:04/07/14 05:07
コメントは抜き忘れです。
本当はbmpに読み込んでbmp.GetPixel(0,0).ToArgb()をやってました。
でもこれもだめらしい。
サーフェイスから直接、ってどうやってとるんですか?

>>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
>>372
あ、これが済んで pexels が無用になっらた Unlock を忘れずに。
374365:04/07/14 13:13
ありがとうございました。

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

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

お金儲けをしようと思って、自販機のお釣り帰ってくるところを探し回る人と
同じくらいのレア度だと思いますよ。
C#からDirectDrawは使えないだろ?
C#からDirectShowは使えますか?
>>379
何の問題もなく使えるが、お前は何を言っているんだ?
DirectX7のころはDirectDrawサーフェイスに描画した画像を
テクスチャに指定することができたみたいですが
DirectX9になってからはできなくなったというのはホントでつか?
仮にホントだとして同じような機能を実現するにはどーしたらよいのでしょうか?
うそです。
無くなった機能をどうしても使いたいのなら、古いバージョンで開発する。
その為の互換性でもあるんだけどな……。
>>382
テクスチャに描画すればいいじゃん。
>>385
その方法がわからないのかと思われ
387382:04/07/18 01:17
>>385
殺り方とかのってるHPはないんでしょうか?
>>387
殺り方藁田
389デフォルトの名無しさん:04/07/19 12:32
ageてみますね・・・
>>387
GetDC して GDI で書いてもいいし、LockRect してバッファに直接書いてもいいし。
DirectDraw の頃とたいして変わってないと思うけど・・・
391デフォルトの名無しさん:04/07/20 15:53
392387:04/07/20 20:46
>>391
アンタ、スゲーいい香具師だな
メガトン級サンクスコ
393デフォルトの名無しさん:04/07/23 16:10
質問です。
うまく伝えられるかどうか分かりませんが・・・。

 Direct3Dのシーン上で二つのカメラを扱うことは
できますか?一つのオブジェクトを異なる複数の視
点から表示したいと思っています。
 よくゲームとかで、画面の隅っこの方にキャラク
タを上から見たようなの(地図みたいなの?)が表
示されるのってありますよね?そういうのを作りた
いと思うのですが、どうしていいのか、さっぱり、
分かりません。何かアドバイス等いただけたらと思
います。宜しくお願いします。
ビューの設定を変えて表示したい数だけレンダリングすればいい。
>>393
266をまとめた116の「ウインドウの一部に表示したい」
って奴を応用してカメラの位置かえて再描画
396駄目PG:04/07/23 22:51
すみません。
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.. 
>>396
.NET SDK付属MSDNライブラリ(無料)
401駄目PG:04/07/23 23:19
>>387 399
有難う。これから調べます!
402デフォルトの名無しさん:04/07/25 11:43
誰でも簡単にって・・・w
万能な開発ツール作ってコードの自動出力付ければいいだけだと思うがねw

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

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

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

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

#define wm_mycommand = 1111;

Cでかかれているこんな定義は何処ですればいいのだろう。
C++頭でC#を使って開発してもメリットないだろうな。
そもそもCでも#defineは別の物に置き換えるのが推奨されているし、
その書き方はC#側と同じになる訳なんだが。

つまりC#以前にCが理解できていないということなのだから、
まともに移植など出来ようはずがない。
public const = wm_mycommand = 1111;
415414:04/07/26 21:31
まちがいた
public const int wm_mycommand = 1111;
DEFINT A-Z
>>417
バカには参考になるんじゃないの
>>418
それが理解できないお前は何者なんだろうな。
420デフォルトの名無しさん:04/07/28 11:47
なんだろ、この思考力の欠片も感じられない最低品質の煽りはw
お前もな。
422駄目PG:04/07/28 18:02
>>415
すみません
ネームスペースの外に宣言できますか?
でなければクラスの外に宣言できますか?

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


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

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

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

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

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

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

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

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

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











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

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

>>457
>>459のとおり、ちゃんと双方のバージョン見直した方がいいと思う。
>>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
やべー、いくつか改行入れたのにまだ長すぎた(汗)
みなさんすいません。
しかもコンパイラ名の c が抜けて sc になってるよ。
今日はもうだめぽ。
ていうか長ぁ
468デフォルトの名無しさん:04/07/31 01:45
>>464-467
モチュチケ
>>467
ごめんね。


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

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

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

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

これFAQになりそうだ。
474472:04/07/31 16:00
>>473 は 唯一神です。

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

Cマガでやってた特集はどれも糞。
連載は他にはやってないんじゃないかなあ。
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

つづく。
481デフォルトの名無しさん:04/08/01 23:09
つづき。

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. 嘘ついてたらごめんょ。
ウィンドウのクライアント領域と同じ大きさのバックバッファサーフェスを作ったんですけど、
ウィンドウのサイズが変更されたときに、サーフェスのサイズを変更するにはどうしたらいいんでしょうか?
プロパティやメソッドの一覧を見ても、サイズを変更する方法が見つかりません・・・
protected override void OnLayout(LayoutEventArgs e)
{
  image.Dispose();
  image = new Bitmap(ClientSize.Width, ClientSize.Height);
}
新しく作り直すしかないんすか・・・ (´・ω・`)
なんかオーバーヘッドがでかそう。
オーバヘッドを気にするのなら、そもそもC#という選択に問題がある。
>>485
C++ だとどうやるんですか。参考までに。
>>485
Java だとどうやるんですか。参考までに。
あるけど

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

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


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

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

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

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

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

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

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

> Direct3Dオンリー?
いいえ

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

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

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

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

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

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

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

このようにメソッドがプロパティに変更されてる。
まぁ、こーゆー所を直しながらコードを打ち込んでいくのも勉強になるんで頑張れ。
いろんなところに、「SHOP TALK」ってあるんですけど、
これってなんですか?

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

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

public class Mesh : BaseMesh { ... }
545デフォルトの名無しさん:04/08/24 11:58
>541.544
Mesh box = Mesh.Box(device,1.0f,1.0f);
VertexBuffer vb = box.VertexBuffer;

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

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

>>552
DirectShowの機能だっけVideoって
Windows Mediaな。
555541:04/08/25 04:07
>546.548
どうもありがとうございました。
できました。めちゃくちゃ考え違いしていたみたいで・・・。お恥ずかしい。
大変お手数をおかけしました。ありがとうございました。
Audio audio = new Audio("smp.mp3", true);
audio.Play();

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

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

















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

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

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

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













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

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

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

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

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

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

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

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

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

俺たちをヒトバシラーにしてWinFXのグラフィック関連は使いやすくなるんだろうか?
そうなってもらわないと、報われないよ。ハニワ。
597593:04/08/30 10:18
>>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() だけでは有効にならない。)
>>590
DirectPlayのチュートリアルにのってるよ
まずはそこ嫁
>Update(); と Enabled = true; は同じ意味。
まじでこれは本当ですか?
>>599
自分で試してみればいいんでない?
>>593自身も書いているが、

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

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

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

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

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

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

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

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

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

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

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

どっか立ち読みで確認できる本屋の情報きぼん
つかUpしてくれ
あの本は良質だから、買って損はないよ。
気になるなら、amazon.comのほうのレビューを読んでみたらどうかな。
614508:04/09/03 01:36
>>611
>>522

Kick Startシリーズが何冊かまとめて置いてあるから、すぐ見つけられると思う。
>>612
技術情報を得るのにケチるなよ。
べつに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
ヴ  ュ  ー  !  !
以前Cマガで、DirectXを使って2Dを扱うという特集があったので参考にした。

>ヴュー
ワラタ(失礼)
619508:04/09/04 01:19
マルチBBXばんざ〜い
>>618
2003年10月号?
ほかにもあるなら教えてけれ
ttp://wanderer.jp/

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

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

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

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

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

申し訳ありません・・・・。
その参照の設定というのを教えてもらえませんでしょうか?
>>637
プ
>>633

>>480-481
とかじゃ駄目?
質問が下手な人は損だな。
>>610
最新版のSDKじゃなくて
一つ前のやつ(summer2003update)を入れればウィザードが出ますぜ。

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

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

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

650645:04/09/09 23:46
>>649
material.Diffuse = System.Drawing.Color.FromArgb(128, 255, 0, 0)

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

だめならとか
device.RenderState.SourceBlend = Blend.SourceColor;
device.RenderState.DestinationBlend = Blend.InvSourceColor;
651644:04/09/11 08:32:35
>>650
できました!!
 おかげさまで助かりました。ありがとうございます。

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

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

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
660デフォルトの名無しさん:04/09/23 18:31:19
DirectXの国産書籍はろくなのがないね・・ 実際
661デフォルトの名無しさん:04/09/23 18:40:37
>>659
その本、和訳版でてるよね。
ゲームプログラミングのための3Dグラフィックス数学
ってやつ。
ある程度数学わかってないと、初心者には難しい。
662デフォルトの名無しさん:04/09/23 18:41:05
>>660
だよね。本屋でDirectXのコーナーを見てると鬱になる。

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

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

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

667デフォルトの名無しさん:04/09/24 17:29:03
Zバッファが上手く機能しません。

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

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

Device.Clear()でZBufferをクリアしてない。ってのは?
670デフォルトの名無しさん:04/09/24 20:14:46
DirectXだと思ったら実はDirectorだったに32767ポリゴン。
671667:04/09/25 01:26:03
667ですが未だ上手くいきません。

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

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

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

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

それでOKなら おまいさんのコードかグラボのどっちかがダメってことで
673667:04/09/26 06:49:23
原因が分かりました。

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

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

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

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

プロジェクション・マトリックスはワールド座標系を同次座標系に
変換するマトリックスです。
675デフォルトの名無しさん:04/09/26 23:01:57
>プロジェクション・マトリックスはワールド座標系を同次座標系に
>変換するマトリックスです。

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

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

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

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

681デフォルトの名無しさん:04/09/29 19:18:09
誰か677の言ってることを日本語に翻訳してください
682デフォルトの名無しさん:04/09/29 21:26:16
>>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のリファレンスでも読んでくれ。
683682:04/09/29 21:26:54
続き

書籍で情報を得るなら以下の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グラフィックス数学」
のほうが数学としてはわかりやすくまとまっていたように記憶している。
(手元に本がないし長らく読んでいないので詳細がわからない)
684デフォルトの名無しさん:04/09/29 23:36:54
>>676
Vector3.Projectつかえばいい
ここにサンプルあるから
ttp://www.interq.or.jp/black/minami-m/
C++だけどね。まあわかるよ。
685デフォルトの名無しさん:04/09/30 03:18:17
>>678
start.wavなのに始められない、ってなんか笑えるな。w
いや笑っちゃいけないのかもしれないけれど…
686デフォルトの名無しさん:04/09/30 11:45:28
>>678
俺はYouTooFoolExceptionが発生して半分あきらめてる
687デフォルトの名無しさん:04/10/01 02:24:45
>>686
俺に対してTooFoolってこと?

それにしても短い音は駄目っぽ…
音の後半を無音にすれば行けるがスッキリしないな
あとDuplicateに対応するのってManagedだとCloneなんだろか。
688デフォルトの名無しさん:04/10/01 12:20:35
YouAreFoolTooException
689デフォルトの名無しさん:04/10/01 23:00:04


ハンドルされていない例外 ThreadAbonedException が発生したため、このスレは
690デフォルトの名無しさん:04/10/01 23:33:51
すれぽ
691デフォルトの名無しさん:04/10/02 02:08:12
やっぱその表現で行くのなら
YouIsBigFoolManException
だろw
692デフォルトの名無しさん:04/10/02 02:28:45
you is って聞いたことありません>>691は何語をしゃべっているのか教えてくださいおながいします。
693デフォルトの名無しさん:04/10/02 02:53:05
"you is big fool man"でググれ
有名なネタだ
694在日外国人参政権反対:04/10/02 03:00:14
ググラずに聞くが北米院?
695デフォルトの名無しさん:04/10/02 10:45:51
書き込み少ないけど、常駐率が変に高いスレだな。
696デフォルトの名無しさん:04/10/02 12:17:11
>>682 683
アリガトン ・ゲームプログラミングのための3Dグラフィックス数学 は手にとってみたけど
公式ばっかりならんでてウザかったんで挫折してしまいますた

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

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

いや規則は分かるが、なんでこんな変な付け方なんだ?
だれか解説きぼん
705デフォルトの名無しさん:04/10/09 17:53:21
706デフォルトの名無しさん:04/10/09 20:18:44
日本語版まだぁ〜
707デフォルトの名無しさん:04/10/09 21:26:20
>>706
一生待ってろ
708デフォルトの名無しさん:04/10/10 04:14:25
しもたー さっき2004summer入れたのに・・orz
709デフォルトの名無しさん:04/10/10 05:33:33
>>708
気分は夏でも暦は10月なんだなこれが
710デフォルトの名無しさん:04/10/10 05:35:09
>>708
つーか、October入れるのにSummerをアンインストールする必要はない、
というかアンインストール「してはいけない」。

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

711デフォルトの名無しさん:04/10/10 05:36:36
>>704
今回のOctoberでは変化ないな。
変な上がり方はともかく、内容が変わったのに数字に変化ないのはどーかと思うが。
712デフォルトの名無しさん:04/10/10 20:33:31
http://www.microsoft.com/downloads/details.aspx?FamilyId=143EF8C6-CFF7-4AF0-8209-1CDF49C58BC0&displaylang=en
再配布パッケージのリンクなんだが、サポートOSにFreeBSD入ってるのはどう思う?
713デフォルトの名無しさん:04/10/10 21:23:53
FreeBSD対応は、DirectXの前にウインドウフレームワークの実装の方が先だと思うが。
714デフォルトの名無しさん:04/10/10 21:35:53
October = 9.02.3900・・・?
715デフォルトの名無しさん:04/10/11 02:10:26
VS.NET2003でやってみたいんですが、やっぱりDirectX SDKが必要なんでしょうか?
200MB超えてるんですが orz
716デフォルトの名無しさん:04/10/11 02:20:02
最近はわからんが、雑誌の付録についてたりしないか?
717デフォルトの名無しさん:04/10/11 11:10:55
サンプルとかヘルプとか要らないなら再配布パッケージだけでも開発できるが、
やっぱりSDKがあった方がいい。
718デフォルトの名無しさん:04/10/11 14:17:50
200MBぐらいテレホで4日あれば落とせるよ
テレホ終了で自動的にモデムが切れるソフト使えば余裕
719デフォルトの名無しさん:04/10/11 20:32:41
http://www.microsoft.com/downloads/details.aspx?FamilyId=143EF8C6-CFF7-4AF0-8209-1CDF49C58BC0&displaylang=en
ってSDKでつか?
それともマネージドコードDirectXもインスコされるランタイムでつか?
720デフォルトの名無しさん:04/10/11 20:39:36
>>719
ランタイム
721デフォルトの名無しさん:04/10/11 20:45:24
トンクス 今までマネージドコードDirectX別にインスコさせてカッタルかったんで助かりまつ
722デフォルトの名無しさん:04/10/11 20:50:44
>>721
そういう事見たいやね。

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

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

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

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

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

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

続く
732デフォルトの名無しさん:04/10/12 21:45:19
    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;
    }
}
733デフォルトの名無しさん:04/10/13 16:25:48
Direct3DのSpriteってDirectDrawでDrawするのとは根本的に違うのでしょうか?
それともDirectDrawをDirect3Dから使えるようにしたものでつか?
734デフォルトの名無しさん:04/10/13 19:48:58
Direct3DのSpriteはポリゴンにテクスチャを貼り付けたものをバックバッファへ書く。
DirectDrawのDrawはオフスクリーンサーフェスからバックバッファへ転送する。

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

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

使わないなら Vector3(0,0,0)でも指定しとき
737デフォルトの名無しさん:04/10/14 17:05:09
>>736
ありがとうございました
738デフォルトの名無しさん:04/10/15 10:57:39
ところでスプライトって
RotationXやRotationYは使える?
漏れのダメポPCだとRotationZしかつかえない
ほかは表示がヘンチクリンだ
739デフォルトの名無しさん:04/10/15 19:32:22
>>738
こっちでも表示がヘンチクリンだ。
740デフォルトの名無しさん:04/10/16 01:40:51
ちょっと教えて下さい。
Vector3とMatrixの積を返すメソッド。
ヘルプで探したのですが見つからなかったので…。
741デフォルトの名無しさん:04/10/16 08:59:57
メソッドでやってもいいんだが
掛けるだけじゃ出来なかった?
Vector3 v = 〜〜〜〜;
Matrix matrix = 〜〜〜〜〜〜;
v = v*matrix;
742たけし:04/10/19 01:24:52
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を描画できるでしょうか?
743デフォルトの名無しさん:04/10/19 04:50:54
744デフォルトの名無しさん:04/10/19 23:27:14
Microsoft.Samples.DirectX.UtilityToolkitってなんどすか?
745デフォルトの名無しさん:04/10/20 00:11:09
>>744
プロジェクト開いて検索汁
746デフォルトの名無しさん:04/10/21 16:18:05
>Spriteの扱い方がかわって、スプライトの2D描画がうまくいきません。
以前のバージョンではちゃんと表示されてたのか?
747たけし:04/10/22 04:32:52
SDK2003のSprite.DrawではRectangleが(左,上,右,下)だったのが、SDK2004では(左,上,幅,高さ)に変わったようです。
これでうまくいきました。
748デフォルトの名無しさん:04/10/22 13:01:13
よし!がんばれ たけし!!
749デフォルトの名無しさん:04/10/24 21:08:30
次はDecember2004である、に一票。
750デフォルトの名無しさん:04/10/25 02:40:39
しかもまたスプライトの仕様が変わるに一票
751デフォルトの名無しさん:04/10/25 05:14:43
と思ったらフェイントでOctober-II 2004 緊急リリース!、に一票。
752デフォルトの名無しさん:04/10/25 19:19:52
かったるいから
しばらくの間
2004夏で我慢することにした
いちいち仕様カエルナヨ・・MSさんよぉ
753デフォルトの名無しさん:04/10/25 19:42:25
>>752
別にそれで構わんが、2004夏でManagedなら
TextureLoader.FromFileには気をつけろよ。
このせいで2004十月が出たようなもんだから。
754デフォルトの名無しさん:04/10/26 01:04:38
>>753
Managedで2004夏使ってなおかつTextureLoader.FromFileを使ってるんだが
何がどうまずいの?
755デフォルトの名無しさん:04/10/26 02:38:08
>>754
使ってて気づかないの?もしかしてエラー出力もチェックしたことないとか?

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

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

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



グビチョン
758デフォルトの名無しさん:04/10/31 19:45:26
ヘルプとサンプルでどうにかなるんでない?
やりたいことが2Dでも、3Dは勉強しなきゃならんと思う。
DXSDK\Samples\Managed\Direct3D\Tutorialsにあるサンプルを1から6までやるべし。
759デフォルトの名無しさん:04/10/31 20:08:03
>>758
うむむ、なかなか読み応えありますね
DirectXで2Dをやろうとすると、DirectDrawよりもDirect3D.Spriteを使ったほうが良い場合が多いそうですね(理由はわかりませんが)
とりあえず3Dに挑戦してみます。どうもでした
760デフォルトの名無しさん:04/10/31 20:11:35
仕様変更で面倒ばかり起こすSprite系には何のメリットもない。
普通に頂点を作ってテクスチャを張るべし。
761デフォルトの名無しさん:04/10/31 20:18:02
>>760
ほほぅ
肝に免じておきます
762デフォルトの名無しさん:04/10/31 23:56:11
DirectDrawとDirect3Dでは難しさが・・・
763デフォルトの名無しさん:04/11/01 00:48:36
2Dの場合、Direct3DはDirectDrawより少し遅い
2004Summerでまたスプライト関数の引数が変更したらしいな
764デフォルトの名無しさん:04/11/01 01:35:59
GDI+とどっちが早いですか?
765デフォルトの名無しさん:04/11/01 02:28:34
GUI+使うなら DirectDrawをオススメします

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

君ってチンカス以下だね
767デフォルトの名無しさん:04/11/02 22:32:03
>766
つまんね


C#にもC++並のサンプルつけてくれMS
VBに至ってはサンプルナッシングかよ
かわいそうに
768デフォルトの名無しさん:04/11/03 00:16:45
>>767
オマエモナー
769デフォルトの名無しさん:04/11/03 00:57:27
ぶっちゃけVBいらね
770デフォルトの名無しさん:04/11/03 11:13:30
ぶっちゃけC#いらね
771デフォルトの名無しさん:04/11/03 11:18:05
わざわざ無理にC#でやろうとしなくていいよ。
C++とかのほうが情報多いんだし。
772デフォルトの名無しさん:04/11/03 11:24:58
でも、未開拓の言語って触るの面白いんだよ。
……これが仕事でなければ。
773デフォルトの名無しさん:04/11/03 13:47:15
枯れた言語は掲示板のレスもツマンネ奴ばっかりだしな
774デフォルトの名無しさん:04/11/03 13:56:21
つまりC#も枯れた言語というわけか。
775デフォルトの名無しさん:04/11/03 14:05:22
C#のことは気にせず、
黒い箱にスパゲティ入れて遊んでな。
776デフォルトの名無しさん:04/11/03 17:28:11
C#でMDX使い始めたらC++でDirectXは使いたくなくなった
777デフォルトの名無しさん:04/11/03 23:29:36
>>776
M$の罠にかかった香具師がここにも一人。もうだめぽ。
778デフォルトの名無しさん:04/11/03 23:31:58
>776
そんなに楽?すぴーどなどもよろ。
779デフォルトの名無しさん:04/11/04 00:00:31
楽そうとかいう理由で使うやつは初心者。
C++のほうがパフォーマンスいいんだから、
そっちで無難にやっておけよと。
780 ◆Rk6dvtD5gI :04/11/04 01:23:47
自分ではパフォーマンスの測定もろくにせず
一般的な文言を鵜呑みにして他人をも洗脳しようとする>>779の方がよっぽどクズ。


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

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

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

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

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


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

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

783デフォルトの名無しさん:04/11/04 09:03:51
変なのが紛れ込んできたな。
どこかにここのリンク貼られたのか?
784デフォルトの名無しさん:04/11/04 09:28:10
>783
へんなのってこれか?>780
至極まっとうな意見だが。
785デフォルトの名無しさん:04/11/05 02:42:51
コピペじゃないと思われ
786デフォルトの名無しさん:04/11/05 02:53:10
すべてのぎろんが>780見たいな物だったらいいスレができると思われ
787デフォルトの名無しさん:04/11/05 03:21:56
起動が遅くて糞糞言われてるんだからネイティブもポジティブもないだろう。
788デフォルトの名無しさん:04/11/05 03:28:42
>ネイティブもポジティブも
つりなのかどうなのか微妙なところだ
789デフォルトの名無しさん:04/11/05 21:07:50
やっぱり780の意見は素晴らしいと思われ
790デフォルトの名無しさん:04/11/05 21:28:24
>>788
微妙だな。
不覚にも微妙にワロテシモタ
791デフォルトの名無しさん:04/11/05 21:44:42
チップ依存が吸収できる3Dエンジンなら、パフォーマンスなんかドブに捨ててもいいでつ。
趣味でプログラムしているうちが華だよもう (´・ω・`)
792デフォルトの名無しさん:04/11/05 23:03:35
趣味でプログラムしてる漏れは勝ち組


といった、クソ厨のような発言をオマイにささげてみるテスト(debugビルド)
793デフォルトの名無しさん:04/11/07 19:58:29
全然面白くない
794デフォルトの名無しさん:04/11/07 22:23:26
俺的には、C#でDirectXは面白い。
795デフォルトの名無しさん:04/11/08 00:59:54
面白いんだが
.netフレームワーク + DirectX + ManagedDirectX を
インストールさせなきゃならんのが
イイ手はないですか兄さん
796デフォルトの名無しさん:04/11/08 01:37:55
LongHormをインストールさせるがよろ氏。
797デフォルトの名無しさん:04/11/08 02:30:02
>>796
全然面白くない
798デフォルトの名無しさん:04/11/08 12:58:28
>LongHormをインストールさせるがよろ氏。
もうβ出たっけ?

>全然面白くない
面白くする努力するなり
他へ逝くなりご自由に
799デフォルトの名無しさん:04/11/08 13:08:37
ここで>>780氏による統括きぼん
800デフォルトの名無しさん:04/11/08 13:12:56
真投げは駄目駄目
801デフォルトの名無しさん:04/11/08 21:43:26
じゃ、じゃあ>>800氏によるすばらしい意見きぼん
802デフォルトの名無しさん:04/11/11 20:53:37
今度の
803デフォルトの名無しさん:04/11/12 07:46:24
衆議院選挙は
804デフォルトの名無しさん:04/11/12 15:45:06
なぁ、C#+DirectXで作ったアプリを配布する時って、
.NET再頒布パッケージ入れてMDXランタイム入れてもらえば良いんだよな?
805デフォルトの名無しさん:04/11/12 23:32:00
それとDirectXのインスコ
1パッケージで
全部インスコさせられたらいいのだがな
806デフォルトの名無しさん:04/11/13 06:07:44
MSのやる気が無いから仕方が無い。
807デフォルトの名無しさん:04/11/13 15:48:41
しばらくの間は報われそうにないな、俺ら(´・ω・`)
808デフォルトの名無しさん:04/11/13 16:06:53
>>780氏がついてるかぎり、大丈夫だ。がんばれ!!
809デフォルトの名無しさん:04/11/13 17:38:01
次期Winで
フレームワークが標準インスコされていて
かつDirectXにマネージドコードのも入れば・・

ウマーなんだがねアンダーソン君
810デフォルトの名無しさん:04/11/13 17:44:15
フレームワーク標準インスコはもうなってるだろ。
811デフォルトの名無しさん:04/11/13 18:30:18
2003Serverで?
812デフォルトの名無しさん:04/11/13 19:21:56
.NET FrameworkとDirectXだけですまないんじゃあ、他人への配布用アプリとしてはつらすぎる
813デフォルトの名無しさん:04/11/14 01:52:03
XPでデフォルトが1.0なのが辛い。
814デフォルトの名無しさん:04/11/14 11:52:11
あれ、XPに標準搭載されてたっけ?
815デフォルトの名無しさん:04/11/14 12:24:33
XPは、
.NET Frameworkは1
DirectXは8
816デフォルトの名無しさん:04/11/14 16:58:55
そろそろ2.0が・・・(´Д⊂
817デフォルトの名無しさん:04/11/14 17:20:04
全部インストーラに含められるツールか何かあるようなことを聞いたよ
英語版のみらしいが

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

Math.Floor, Math.Round, Math.Ceiling を使うべし。
821デフォルトの名無しさん:04/11/15 00:04:08
aが整数だったら四捨五入も何も
822デフォルトの名無しさん:04/11/15 00:38:34
>>821
アフォ?
823デフォルトの名無しさん:04/11/15 01:15:16
>>821
バカ再来だな
824デフォルトの名無しさん:04/11/15 08:06:39
だれかDirectShowのサンプルのSampleGeabberをC#に移植した方はいらっしゃいませんか?
はまってます。
825デフォルトの名無しさん:04/11/15 09:21:31
はまってるんなら素直にC++でやればよかろう
826デフォルトの名無しさん:04/11/15 14:47:28
Managed C++で作って.NETで使えるようにしたら?
827デフォルトの名無しさん:04/11/15 15:21:53
そして、だったら全部C++で書いた方が楽だということに気が付くという。
828デフォルトの名無しさん:04/11/15 17:12:28
824です。
C#のプロジェクトなんですけど、この部分だけC++で書くことにしました。
ていうか、何のためにC#使ってるかわかりません。
誰か教えてください。
829デフォルトの名無しさん:04/11/15 17:13:23
MS も ゲイツ も好きだけど、Windows95 あたりから Windows が嫌いになりました。
だって、不具合多過ぎるんだもん。あとウィルス、セキュリティホール。
Windowsを買ってからセキュリティの問題で毎日Windowsアップデートでてんてこ舞い。
こないだはWindowsXP SP2にしたら起動しないアプリ勃発、まだ直らず。
業務に多大な損害が出た。
ハードウェアの構成を替える度、アクティベーションにどれだけの時間を割いたことか。
気軽にパーツも買えん。
こんなに使い買っての悪いクソOSがあの値段だよ。またセキュリティホールだウィルスだよ。もう疲れました。
なんてレスをしているとまたセキュリティホールだよ、ウィルスだよ。勘弁してください。
最初からクソだと思っていたけど、最近のMSは醜態が際立ってるね。
古川が張り切ってはじめたMSN BlogなんてMS社員しか使ってないしな。
MSN Musicにおいてはサービス開始に誰も気づいていないw
もうだめじゃんw
830デフォルトの名無しさん:04/11/15 18:08:21
>>828
無難に情報量の多いC++でやれよw
831デフォルトの名無しさん:04/11/15 21:22:41
何かあるたびにC++でやれば? だもんなぁ・・
いや、確かに正論ですよ 正論ですとも
んじゃ何のためにこのスレがあるのか
いや それ以前にC#にもC++並のサンプルつけろMS
832デフォルトの名無しさん:04/11/15 22:22:05
まぁロングホーントレインの1千万パワーをまてという事ですよ
833デフォルトの名無しさん:04/11/15 22:52:56
>>828
>>780に詳しく書いてある。
過去ログくらいちゃんと嫁
834デフォルトの名無しさん:04/11/19 18:54:25
int a=1,b=1;

a=b=0;

この場合、どちらも0になりますか?
835デフォルトの名無しさん:04/11/19 19:32:23
なる。
つーか、自分で調べなよそれくらい。
836デフォルトの名無しさん:04/11/19 23:07:08
燃料のつもりだったのかな
837デフォルトの名無しさん:04/11/20 11:30:23
a=b=0;

a=b;
b=0;

これって同じことですか?
838デフォルトの名無しさん:04/11/20 11:31:48
DirectXと何の関係があるんだよ。
ネタとしても全く面白くない。
839デフォルトの名無しさん:04/11/20 11:36:47
文句タレは一人前だが
いざDirectXに関する質問が出てくると
答えられない香具師ばかりなインターネッツで
面白いも糞もないかと思うのだ
840デフォルトの名無しさん:04/11/20 11:40:00
一人で面白いと思って書き込んだあげく、否定されて憤慨。
アホの典型。
841デフォルトの名無しさん:04/11/21 03:21:00
842デフォルトの名無しさん:04/11/21 16:23:34
ひさしぶりにきてみたら
ものすごいくそすれになってますね
なんかかなしいです
なかよくやろうよもまいら
843デフォルトの名無しさん:04/11/21 21:35:22
ひもなな?

そうだな、オレもひもななな気分だ。
844デフォルトの名無しさん:04/11/22 11:08:41
845デフォルトの名無しさん:04/11/22 19:37:07
くだらんミニゲームを作ってみた
ここで晒したら遊んでくれるだろうか・・
846デフォルトの名無しさん:04/11/22 20:28:56
いいんじゃないの?
色々アドバイスくれるかも
847デフォルトの名無しさん:04/11/22 23:06:25
bool a=b=true;

abともに真である条件式で
if(a & b){}
if(a && b){}
お前らはどっち書く?
848デフォルトの名無しさん:04/11/22 23:10:14
a && bに一票
a & bだと
bitの andに見えるし
849デフォルトの名無しさん:04/11/22 23:59:49
DirectXと関係ない話題をいちいち振る馬鹿と、それに答える大馬鹿。
850デフォルトの名無しさん:04/11/23 00:08:12
その上マルチだ品
851デフォルトの名無しさん:04/11/23 00:42:08
  (´⌒⌒⌒`) 
__ 〃|___|ヽ
ヽ\ ノノノ)ヘ)、!〉
 (0_)! (┃┃〈リ
  Vレリ、" lフ/     呼んだ? 
    l´ヾF'Fl  
    〉、_,ノ,ノ  
852デフォルトの名無しさん:04/11/23 01:50:13
自作自演なんだからほっといてやれよ・・
853デフォルトの名無しさん:04/11/25 16:22:35
じゃあDirectXの話題を投下。といっても俺はPlayしか知らないが。

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

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

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

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

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

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

C#やVB.NETだと互換性のためにCOMサポート残してあるだけだから
ラッパクラスが必要になったり
864デフォルトの名無しさん:04/11/30 22:36:33
C#でMDXが楽すぎて仕方がない
865デフォルトの名無しさん:04/11/30 23:08:42
>>864
禿同。もうC++に戻れないかもしれん・・・。
866デフォルトの名無しさん:04/11/30 23:47:22
MDXのドキュメントも、Oct 2004 の日本語ドキュメントでやっと少し
マトモになったしね。
867デフォルトの名無しさん:04/12/01 00:05:56
ドキュメントまともになったんだ?
Octインスコするのまんどくさかったけど
やる気がでてきますた
868デフォルトの名無しさん:04/12/01 00:22:01
>>856
前に引っかかったことがある。俺も今更と思ったけど、
Effect.FromFileのStringに2バイト文字が入っていると
ロードできないっぽい。

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

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

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

880デフォルトの名無しさん:04/12/04 00:10:44
>>876
TVチューナーやビデオキャプチャ
ビデオやオーディオのエフェクト/変換も自由自在
881デフォルトの名無しさん:04/12/04 00:14:31
>TVチューナーやビデオキャプチャ
>ビデオやオーディオのエフェクト/変換も自由自在

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

DrawにJPEG関係の機能はない。
883デフォルトの名無しさん:04/12/05 19:05:57
>>876
USBカメラの画像取り込んでエフェクトかけて遊んだりできます
884デフォルトの名無しさん:04/12/05 20:14:26
>USBカメラの画像取り込んでエフェクトかけて遊んだりできます
C#でもManagedDirectXで普通に殺れまつか?
885デフォルトの名無しさん:04/12/05 22:08:26
886デフォルトの名無しさん:04/12/06 23:36:13
DirectSmellでこれを動作させる方法を教えてください

ttp://headlines.yahoo.co.jp/hl?a=20041206-00000086-mai-bus_all
887デフォルトの名無しさん:04/12/06 23:52:04
之で引きこもりの部屋のにおいとかも再現かのうなのかな・・・
888デフォルトの名無しさん:04/12/07 00:02:59
>>886
過去ログ読もうね。>>569
889デフォルトの名無しさん:04/12/07 00:48:50
>>888

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

これで僕の部屋のにおいが再現できました。
明日ネットカフェで試します。
890デフォルトの名無しさん:04/12/07 01:01:34
>>886
DirectSmellワロタ
将来はでるかもしれんな
http://www.mainichi-msn.co.jp/today/news/20041207k0000m020046000c.html
891デフォルトの名無しさん:04/12/07 01:52:29
>>890
分かってるとは思うが、DirectSmellは既出な。>>562
892デフォルトの名無しさん:04/12/12 12:40:43
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
893749:04/12/12 20:22:58
やったーーーーーーーーーーーーーーーーーーーーーーー!
予言的中!!!

誰かなんかくれ!!!

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

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

つーか、たぶん当たります。
900デフォルトの名無しさん:04/12/14 00:20:01
>>899
サムいよ偽物。
901デフォルトの名無しさん:04/12/14 02:43:23
>>899
情報ありがとう。じゃあ次バージョンは来週末あたりだな。
902デフォルトの名無しさん:04/12/19 20:18:42
よく知らないんですけど、このスレ的に
12月ってなんかいいことあるんですか?
903デフォルトの名無しさん:04/12/20 16:56:45
javaでDirect3Dプログラミングって不可能?
C++はあまり手つけたくない・・・。
904デフォルトの名無しさん:04/12/20 18:35:42
釣りかと思うがマジレスすると、無理、つーか、
JAVAクローンなC#をなぜ使わないのかな。
905デフォルトの名無しさん:04/12/20 18:49:00
【徹底討論】Java3Dの可能性について考える
http://pc5.2ch.net/test/read.cgi/tech/1033703640/
906デフォルトの名無しさん:04/12/20 19:35:35
DirectXはともかくJavaなら3Dなプログラムもそんな悪くないかと思われ
ただ、ゲーム作るんならおとなしくマイケル開発言語使ったほうがいいと思うが
907904:04/12/20 20:36:51
C#良さそうですね。
実は、ゲーム制作業界に入りたいとおもってるんですが、
CG制作で最も一般的なのはどの組み合わせかなと思って。
C++とDirect3Dかな?最近の動向はどうですか?
別にJAVAにこだわってるわけじゃないです。
908904:04/12/20 21:22:15
あ、C#やる場合、やっぱり、summer2003か2004ってことに?
909デフォルトの名無しさん:04/12/21 02:34:01
そんなことも自分で調べられない人間は、
俺が面接官なら絶対に落とすな。

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

911デフォルトの名無しさん:04/12/21 02:55:48
>>910
UMDみたいに?(w
912デフォルトの名無しさん:04/12/21 05:37:31
>>903
Java3DはDirectXで実装されてるんだがそういう話ではなく?
913デフォルトの名無しさん:04/12/21 05:43:56
>>912
俺、去年の今頃JAVA3Dを調べたっきりなんだが、
JAVA3Dが使っているのは、DirectXじゃなくてOpenGLじゃなかったっけ。
DirectXだとWindows限定じゃん。

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

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

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

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

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

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

レスポンス返信
-> 処理結果をカーネルメモリへコピー
-> TCP/IP 処理
926デフォルトの名無しさん:04/12/21 21:25:36
なるほど、そいうことね
927922:04/12/21 22:47:21
>>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
928デフォルトの名無しさん:04/12/22 13:02:56
Java,C# ≠ 初心者用の言語
929デフォルトの名無しさん:04/12/22 13:52:13
これは初心者用
あれは玄人用
区別したがる奴ほど初心者
あほらしくて見てらんないが
哀れだからエサは与えてみる
930デフォルトの名無しさん:04/12/22 14:58:01
とりあえず、VS2005でDirect3Dさわってみた。
仕組みよくわかっとらんが、とりあえず、Begin-EndSceneの間で力技で描画すればよいらしい。
3万ポリゴン表示してもそこそこ動く。
これなら作りたいやつに使っても大丈夫そう。
今知りたいこと。
・ウィンドウの一部に対する描画。
・Zソート?とかの使い方
・マウスと野などの操作との連動。
・マウスでクリックしたときのオブジェクト探す方法。
・透明。
・テキスト、線。

・・・まぁ入門書を素直に買って濃いって請った・・・
931デフォルトの名無しさん:04/12/22 21:43:17
・ウィンドウの一部に対する描画。
present

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

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

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

・透明。
alpha

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

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

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

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

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

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

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

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

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

950はさっさと次スレでも立ててこいってこった。
958デフォルトの名無しさん:04/12/25 15:44:57
んー自分は人の書いたサンプルとか見るの好きだけど。
人の主義主張に踏み込むやつのほうがう財
959デフォルトの名無しさん:04/12/26 01:06:50
自慢げに見てほしがる厨房がうざいなら
そいつがウンともスンとも言えないくらい
完璧かつ実用的あるいは面白いものを
モマイが作ってUPすればよいだけのこと
あまり否定的なこと書くとスレが閑散とするだろ〜が
せめて次スレぐらい立てろや無能
960デフォルトの名無しさん:04/12/26 01:29:56
せめて次スレぐらい立てろや>>950=>>956
961デフォルトの名無しさん:04/12/26 03:04:11
おまいの作ったサンプルみしたら立ててくる
962デフォルトの名無しさん:04/12/26 03:12:34
正直ほかのひとつくったすごいやつ見たいぞ
963デフォルトの名無しさん:04/12/26 03:18:09
964デフォルトの名無しさん:04/12/26 03:18:52
965デフォルトの名無しさん:04/12/26 12:54:05
このスレは今年中には1000いかない、に一票。
966デフォルトの名無しさん:04/12/27 01:02:13
>>955
ほかによさげなのがないので、買ったんだが、
値段の割にはたいしたことない。いまいち。
よっぽどのDirectX初心者でなければ買う価値なし。

ほかにお勧めもないけどね。
どうせかうなら、上のほうで出てた英語の本のほうがいいんではなかろうか。
967955:04/12/27 14:58:24
結局のところ、

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

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

何の大小を比較してるのか理解不能。
ってかお前アホだろ。
969デフォルトの名無しさん:04/12/27 20:21:49
ビットシフトだろ
970デフォルトの名無しさん:04/12/27 21:56:04
>>964
次スレなのでよろ
971デフォルトの名無しさん:04/12/27 22:25:32
>>955, >>966

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

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

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

英語でぐぐってもどっかの外人が同じようにメッシュにテクスチャはれねぇよ。・゚・(ノД`)・゚・。といってる掲示板があった・・orz
977デフォルトの名無しさん:04/12/29 00:01:18
C#でやってるわけだからメモリーリークは意識しなくていいはずだが。
リソースリークのことかい?
まあ>>973の様子だとリソースリークっぽいけど。
978デフォルトの名無しさん:04/12/29 00:06:36
動かしてるとメモリーが増大し続けます。
C#暦あさいのですが(C++つかい)いわれてるようにメモリーリークはしないと思っていたので困ってます。ガベコレも効果ありません。
DirectXも全体つかめていないのでどこか間違ってそうなんですが・・・
979デフォルトの名無しさん:04/12/29 00:16:13
現象が再現する最小限のソースを公開するのが一番早いかもしれんが・・・。
ソース見られるのが嫌だったら別に構わないよ。
980デフォルトの名無しさん:04/12/29 00:53:16
よかったらどこかにあげます。いろいろいじってる実験ソースなのでぐちゃぐちゃですが・・・
981デフォルトの名無しさん:04/12/29 01:26:08
>>979も言ってるが、問題が再現するミニマムコードにしてからにしてくれよ。
間違ってもそのまま見せるのは無礼極まりないよ。
982デフォルトの名無しさん:04/12/29 01:30:59
そうですね。自分でも切り出ししないといけないのでそれでも原因不明だったらあげることにします。
ガベコレ、などもいじってみます。
983デフォルトの名無しさん:04/12/29 02:24:14
なんかスレの住人増えてるな。
984デフォルトの名無しさん:04/12/29 03:13:58
C#+DirectX使うの楽だけど、こういうことした言ってる時に微妙にじょうほうしらべるのたいへんだぁね・・・
985デフォルトの名無しさん:04/12/29 11:15:39
C++&DirectXのスキルあってのC#&Directxだろう。おそらく。
986デフォルトの名無しさん:04/12/29 13:12:42
文字列メッシュで表示できるけど遅すぎ・・・
987デフォルトの名無しさん:04/12/29 15:38:54
それはC++でもかなり重い
988デフォルトの名無しさん:04/12/29 16:41:31
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
空間のなかをウぉークスルーするようなもの作りたいんですけど文字表示が遅すぎ・・・
989デフォルトの名無しさん:04/12/29 18:02:28
キャッシュ、α
990デフォルトの名無しさん:04/12/29 18:14:04
>>988
Webにもごろごろ資料はころがってるし、
探せば2chにもいい回答が沢山ある。

何度も言うが、ここはダメ日記帳ではない。
質問なら聞きたい部分の要点をはっきりと書け。
正直うざすぎ。
991デフォルトの名無しさん:04/12/29 20:41:27
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
高速にきれいな文字を表示するにはどうしたらいいんでしょうね。
992デフォルトの名無しさん:04/12/30 01:25:49
>>991
どこを縦に読むんだろう。
993デフォルトの名無しさん:04/12/30 01:36:51
>>990
どうせまともな回答できる人はごくまれと思われ
994デフォルトの名無しさん:04/12/30 05:55:56
欲しい回答を得られる精度をもって質問せよ。
995デフォルトの名無しさん:04/12/30 06:58:15
>>994
なるほど、その通りだな。
>>988はそれ以前に質問ですらないわけだが。
996デフォルトの名無しさん:04/12/30 09:22:56
>>994 前行は質問じゃねーの
997デフォルトの名無しさん:04/12/30 10:53:35
>>992
ある2行をジグザグに読むと「はにはに」
998デフォルトの名無しさん:04/12/30 10:54:00
行じゃないな・・・列か_| ̄|○
999デフォルトの名無しさん:04/12/30 13:46:09
住人増えるのはいいんだけど、
変なのしか増えていない気がWw W w。。 W
まったりとせん
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。