【C++】 DirectX初心者質問スレ Part14 【C】at TECH
【C++】 DirectX初心者質問スレ Part14 【C】 - 暇つぶし2ch200:デフォルトの名無しさん
07/09/19 06:43:26
>>193
だからどこが?

201:デフォルトの名無しさん
07/09/19 07:53:44
>>192
俺は作り直すにしても、POOL_MANAGEDがいいかなと思う。
UMAやTurboCacheまで考慮したテクスチャマネージメントは難しいし、
最近の先読みレンダリングならドライバの方がプログラマよりも正確に
テクスチャの使われ方を把握することが可能だから、VRAMのやりくりは
任せてしまった方が良いんじゃないかな。

202:デフォルトの名無しさん
07/09/19 08:32:41
>>201
その問題より単純にメモリを食うことで遅くなってる場合のほうが多いっぽい
それと全部システムメモリにとっておくってのは個人的にやりすぎだと思うし思想に賛同できない
んで重要なデバイスロストに関しては対応できてないとかいうマヌケっぷり
こんなもんいらんわw

203:デフォルトの名無しさん
07/09/19 09:18:23
xfileの仕様が詳しく書いてあるサイトってありますか?


204:デフォルトの名無しさん
07/09/19 10:12:04
「シェーダー」の定義がよくわかりません
狭義では陰影を計算してテクスチャーを擬似立体化するらしいですが、
色々と読んでみれば別のこともできるみたいです。
(というか法線マップが使われるようになったのは近年になってからのはず)
頂点シェーダーは別にポリゴン数(頂点数)を出すために活動するわけでも、
ピクセルシェーダーはテクスチャー情報を扱うわけでもないんですよね?

具体的にシェーダー(ストリーミングプロセッサ)は何をするんですか?

205:デフォルトの名無しさん
07/09/19 10:16:09
テクスチャがシステムメモリから直接表示されるらしいw

206:デフォルトの名無しさん
07/09/19 10:45:27
>>200
>>135

207:デフォルトの名無しさん
07/09/19 10:49:00
>>203
URLリンク(msdn.microsoft.com)

>>204
実際に使ってみればわかるだろ

208:デフォルトの名無しさん
07/09/19 10:50:26
こっちだった
URLリンク(msdn.microsoft.com)

209:デフォルトの名無しさん
07/09/19 11:10:18
>>204
いままで固定機能パイプラインで
半ば自動的に処理されていた部分をある程度自由に
プログラムできるように(又はプログラムしなくてはいけなく)なった

頂点シェーダでは
頂点データを2D画面に表示できるようになるまでの
座標変換とライティングまでを行い
ピクセルシェーダーでは
頂点シェーダから渡された頂点データを元に
ポリゴンをピクセル単位に分解して
最終的に描画される色を決定する

210:デフォルトの名無しさん
07/09/19 11:39:26
>>207
ありがとうございmす


211:デフォルトの名無しさん
07/09/19 12:53:17
>>135は普通に嘘っぱちだろ

212:デフォルトの名無しさん
07/09/19 12:56:08
>>211は大嘘

213:デフォルトの名無しさん
07/09/19 14:25:52
>>213は嘘

214:デフォルトの名無しさん
07/09/19 15:00:53
>>92に戻る

215:デフォルトの名無しさん
07/09/19 16:10:33
いちいち蒸し返す意味がわからん

216:デフォルトの名無しさん
07/09/19 16:11:41
デバイスロスト厨は>>133で懲りて降参したんじゃないの?
まだ仲間がいるわけ?

ロストは2種類あるだの、これは嘘あれは嘘だの、いい加減うざいんだが。

217:デフォルトの名無しさん
07/09/19 16:36:10
誰か綺麗にまとめてくれ
現象と対処を箇条書きで頼む

218:デフォルトの名無しさん
07/09/19 16:40:48
そもそも発端の質問文>>81に肝心の「現象」が書かれていないので
まとめようがない。

219:デフォルトの名無しさん
07/09/19 16:49:22
まとめ
Q. >>81
A. >>59

220:デフォルトの名無しさん
07/09/19 18:07:16
>144が正解で、>6は惜しいけど>82の指摘が正しい。

>>192
プロならPOOL_DEFAULTが当然。
なんかおきたらPOOL_DEFAULTのリソースを解放後にResetを行う。
Resetが失敗したときに初めてデバイスを最初から作り直し。


221:デフォルトの名無しさん
07/09/19 18:09:45
D3DCREATE_MULTITHREADEDは重要。
このフラグはランタイムのAPIがスレッドをシリアライズするかどうかの違いになる。
複数スレッドから同じデバイスに対してAPIを呼び出すと場合には必修。
そうじゃないとランタイムが保持しているコンテキストに不整合が発生する。


222:デフォルトの名無しさん
07/09/19 18:31:20
自らプロと名乗る輩ほど信用ならないものはない

223:デフォルトの名無しさん
07/09/19 18:32:26
すげー勉強になるわ

頓珍漢なレスも多いけど、丁寧にスレ読んでいけば
深い知見を持った人が書いたと思しきレスもちゃんとあってすげー癒されるわ

224:デフォルトの名無しさん
07/09/19 18:35:41
>>223
URLリンク(up2.viploader.net)

225:デフォルトの名無しさん
07/09/19 18:41:44
ほわっつずぃすインザワールド?

226:デフォルトの名無しさん
07/09/19 19:07:46
モコモコチュンチュン

227:デフォルトの名無しさん
07/09/19 19:37:49
>>222
二重否定があまり良くないので対偶を

信用できる輩ほど、自らプロとは名乗らない。

228:デフォルトの名無しさん
07/09/19 19:49:00
>>224
壁紙にしたわ

229:204
07/09/19 22:13:07
>>207
それは無理です・・・

>>209
すると従来までは固定パイプライン(シェーダー)というものが存在して、
それが最近はプログラマブルになったという認識でいいのでしょうか?

230:デフォルトの名無しさん
07/09/19 22:19:43
>>229
おk
プログラマブルシェーダが登場したのはDirectX8から。
DirectX8と9は固定機能もシェーダも同時に使えて双方のステートなんかも混在してたんだが
DirectX10(Vista以降)からはシェーダのみになって固定機能は完全に削除された。

こういうのが知りたいのなら何か一冊本を買ってみるといいよ。オススメはないけどねw

231:デフォルトの名無しさん
07/09/19 22:24:27
>>229
チュートリアルにしたがって1回動かしてみればすべてが解決すると思うぜ

232:デフォルトの名無しさん
07/09/19 22:41:32
フル2DでRPG作成している者ですが
DirectDrawかDirectGraphics
どっちがいいと思われますか?
DirectDrawはとっつきやすく比較的簡単です

DirectGraphicsにおいて2Dの扱いは3Dの付属というか
ただテクスチャ貼れりゃいいみたいな扱いを受けてますが・・・
しかし円滑にフェードや半透明、回転、拡大縮小を実現するには
DirectGraphicsをやるべきだと僕個人は思ってます・・・

皆さんの意見を参考にしたいのでご教授をお願いいたします


233:デフォルトの名無しさん
07/09/19 22:43:16
>>232
わかってんならさっさとそうしろ

234:デフォルトの名無しさん
07/09/19 22:53:03
>>233
ん?いや、俺が聞きたいのはみんなはどう思ってるのかなってだけです^^;;;;
なんだこの人はwwwwwwwwwww

235:デフォルトの名無しさん
07/09/19 22:58:25
>>234
落ち着け、そしてsageろ
>>233はDirectGraphicsに触ったこともなさそうだからしょうがないだろ?空気嫁

俺はフル2Dはずいぶん前におさらばしたからなぁ~・・・・
まぁDirectGraphicsは基本3Dのためにあるようなもんだってのがわかってるようだし
素直にDD(DirectDraw)にしとき

DDにはDDのいいところがあるし、フェードとかやりたいんならロックすりゃいいんじゃないの?


236:デフォルトの名無しさん
07/09/19 23:04:08
>>234
ん?いやいや、誰に聞くまでもなくあなた様のおっしゃるとおりの状況なのですよ
現状でDirectDrawを使う選択肢は無いと結論付けていいです
これは速度の問題とクオリティの問題が大きいです
昔は320x240とか640x480ぐらいでよかったんですけどね
いまって最低でも800x600で、現実の線で1024x768とか当たり前っしょ?
2Dだときついですよ2Dだと

GDI+という選択死もありますが、これは回転、拡大縮小、半透明と
個別には速度もそれなりで問題なくできるんですが、回転+半透明とか回転+拡大縮小とか
合わせ技でNGです
DirectDrawだとこれらを全部自作する手間もはっきりいって今はもう失われ死技術といって過言ではないでしょう
よしんば、その技術を見つけたとしてもあんまりいい結果にはなりません(主に速度で)

ということでわかってもらえたでしょうか?

237:デフォルトの名無しさん
07/09/19 23:06:56
>>234
少々口は悪いが>>233は一つの意見だろ?俺も同感だし。

回答者に対して「なんだこの人は」はないだろう・・・

238:デフォルトの名無しさん
07/09/19 23:14:08
>>236 なんだこの人はwwww、これがキ印の人か

239:デフォルトの名無しさん
07/09/19 23:20:34
もうこの流れじゃマトモな答えは返ってこないな

240:デフォルトの名無しさん
07/09/19 23:22:14
恥ずかしいことをおっおっ聞きしますが...
MFCはだめぽと言われたのですが、
VC++2005EEでDirectXって使えるでしょうか?><

241:デフォルトの名無しさん
07/09/19 23:23:56
なんでわざわざ古いのを使おうとするんだ?
DirectDrawなんかありえんだろ
DirectDrawはGraphicsに吸収されただけで消滅したわけじゃ・・・消滅したか
2Dに扱いがひどいって?なぜそう思うのかわからん

242:デフォルトの名無しさん
07/09/19 23:25:02
自演だか成りすましだか知らないけど
一瞬にして流れを変えた>>232の破壊力だけは認める

もう誰もデバイスロストの事なんか覚えちゃいない

243:デフォルトの名無しさん
07/09/19 23:31:11
>>242
デバイスロストは現象、対処ともに綺麗にまとまったからもういいっしょ

244:デフォルトの名無しさん
07/09/19 23:33:51
>>242
結局わからなかったんだろ?ヘボはひっこんでろよwwww

245:デフォルトの名無しさん
07/09/19 23:37:29
>プロならPOOL_DEFAULTが当然。
>なんかおきたらPOOL_DEFAULTのリソースを解放後にResetを行う。
>Resetが失敗したときに初めてデバイスを最初から作り直し。
こうやってみるとデバイスロストも大して対応難しくないな

246:デフォルトの名無しさん
07/09/19 23:37:40
DirectDrawにはDirectDrawのいいところがあるんでは?
文字出力や画像出力のやりやすさとか
特殊なエフェクトを頻繁に塚わないのであればDirectDrawでいいんでは?
半透明とかいっぱい使えば綺麗ってわけでもなし

素材>=アイデア>>>エフェクト


247:デフォルトの名無しさん
07/09/19 23:44:29
慣れてるほうでやればいいだろ
そんなもん聞くな

248:デフォルトの名無しさん
07/09/19 23:47:17
>>246
ないって
すべてが遅いし
同じことDirect3Dでもっと綺麗にできるし
基本的な3D機能ならサポートされてないグラボのほうがめずらしい

249:デフォルトの名無しさん
07/09/19 23:51:27
>>244
俺は質問に対して真っ先に間違いを指摘したんだけどな

250:デフォルトの名無しさん
07/09/20 00:23:47
はじめのほうでデバイスロストが2種類ないっていってた厨房か?
デバイスロスト2種類あったじゃん
Resetかかる奴としける奴とで

251:デフォルトの名無しさん
07/09/20 00:27:54
DirectDrawはバイリニアフィルタ付きで画像を描画したい時に便利だった。
UYVYとかYUY2も大抵変換無しで使えるので、画像・動画デコーダの試験アプリには重宝した。

もし SetStretchBltMode(BILINEAR) とか用意されたら用済みだったろうけどね。

252:デフォルトの名無しさん
07/09/20 00:30:18
>>232,235
>DirectGraphics
そもそもそんな物は存在しない

253:デフォルトの名無しさん
07/09/20 00:34:36
>>250
もう何度も書かれているが、Resetが失敗する状況のことをロストとは言わない。
少なくともヘルプでは、その状況のことを"Lost"、「ロスト」、「消失」などとは呼んでいない。
>>135 >>144あたりを読み直しましょう。

254:デフォルトの名無しさん
07/09/20 00:37:32
URLリンク(www.google.co.jp)
URLリンク(www.google.co.jp)


255:デフォルトの名無しさん
07/09/20 00:45:40
人生相談
お金もあってカッコいい男と仲良くなれそうなのですが、
勝手知った昔からの彼氏(重度のオタです)との腐れ縁の方が
もし結婚しということになったとしても
なんだかんだいって長続きしそうな気がするのは分かりきっているのですが、
私はどうしたらよいでしょうか。

256:デフォルトの名無しさん
07/09/20 00:50:21
固定シェーダとかDirectGraphicsとか、世の中には謎の技術が多数存在する。
しかしそれは残念ながら、頭にウジの涌いた馬鹿にしか扱えない。

257:デフォルトの名無しさん
07/09/20 01:00:58
やべ、俺そういうの普通に扱えてるわ。

ということは・・・(((( ;゚Д゚))))

258:デフォルトの名無しさん
07/09/20 01:24:22
>>245
スマートポインターとか使って全ての関係を隠蔽し始めると、、、難しくなるよな。


259:デフォルトの名無しさん
07/09/20 01:25:30
>>254
600件近くも全世界に向けて赤っ恥を晒し続けているんだな

260:デフォルトの名無しさん
07/09/20 01:36:21
その600件のうち一件は俺のページな件について。

明日からちゃんと学校行きます・・・

261:204
07/09/20 01:39:43
>>230-231
了解しました。何か本買ってきます

262:デフォルトの名無しさん
07/09/20 05:31:13
コロコロ変な言葉作るMSが悪い。俺はただの犠牲者。

263:デフォルトの名無しさん
07/09/20 07:44:38
他人のせいにするゆとり世代

264:デフォルトの名無しさん
07/09/20 07:58:25
>>252
お前もしかして
DirectGraphicsじゃなくて
DirectXGraphicsだ、とかそういうことを主張したいわけ?
URLリンク(msdn.microsoft.com)


上げ足とるにもほどがあるだろ?
質問スレ、しかも初心者スレなのにちょっとウザいかな?とか空気読めて無いかな?とか考えないわけ?
お前嫌われてるだろ?w

265:デフォルトの名無しさん
07/09/20 08:18:09
>>264
こういう開き直り方をする奴って、プライドだけ高くて全然成長しないんだよな

266:デフォルトの名無しさん
07/09/20 08:25:19
>>265
たった一文字ついてないだけでなにをそんなにこだわってるの?
俺、お前みたいなのめちゃくちゃ嫌いなんだわ

267:デフォルトの名無しさん
07/09/20 09:28:38
お前らそんな事で言い合ってたら俺みたいなのが参加してしまうぞ

268:デフォルトの名無しさん
07/09/20 09:37:55
>>266
1文字でも間違えるとエラーになる世界にいるから
気になるんじゃないか?

269:デフォルトの名無しさん
07/09/20 09:46:00
A : DirectGraphics じゃなくて DirectX Graphics な。
B : そうか今度から気をつける。
これで済む話なのに煽り文句を入れるから荒れるんだよ。

270:デフォルトの名無しさん
07/09/20 12:34:15
別に質問者じゃないけど見てて腹が立つ
こんな本質とかけ離れた所指摘して悦に入ってる馬鹿みるたびに叩き殺したくなる

271:デフォルトの名無しさん
07/09/20 12:40:01
そしてごく一部の馬鹿のせいで間違った用語が初心者に氾濫していくと。

272:デフォルトの名無しさん
07/09/20 12:42:52
キチガイ>>270が来たーーーーーっ

キチガイってほんと怖いね。



273:デフォルトの名無しさん
07/09/20 12:45:15
しょせん2ちゃん
キチガイはおまえだ>>272

274:デフォルトの名無しさん
07/09/20 12:48:45
お前もキチガイだろ>>273

275:デフォルトの名無しさん
07/09/20 12:49:20
>>274
お前もな

276:デフォルトの名無しさん
07/09/20 12:52:47
>>275 いや、俺はキチガイだが殺そうとは思わんよ

キチガイでも重度となると、何してもいいから羨ましいよ>>275

277:デフォルトの名無しさん
07/09/20 13:52:03
おしえてください。DirectXをはじめようとおもってDirectX付属のチュートリアルをサンプルフレームワークで実行しようとしています。
三角形がでるだけの単純なやつなんですけど、三角形がぼろぼろになってでてしまいます。
チュートリアルのプロジェクトはちゃんと表示されるので、自分でサンプルフレームワークにいれるときに失敗していると思うのですが、
どのへんが悪いのかさっぱりわかりません。以下、移植時にいじったコードです。どこかおかしいですか?

#define DXUT_AUTOLIB
#include <dxstdafx.h>
#pragma comment(lib, "..\\dxut\\release\\DXUT.lib")

struct CUSTOMVERTEX
{
  FLOAT x, y, z, rhw;
  DWORD color;
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)
LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL;

278:277
07/09/20 13:52:54
HRESULT CALLBACK OnCreateDevice(IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext)
{
  CUSTOMVERTEX dxvertices[] =
  {
    { 150.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, },
    { 250.0f, 250.0f, 0.5f, 1.0f, 0xff00ff00, },
    { 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, },
  };

  if (FAILED( pd3dDevice->CreateVertexBuffer(3 * sizeof(CUSTOMVERTEX), 0, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &g_pVB, NULL)))
    return E_FAIL;

  VOID* pdxvertices;
  if (FAILED(g_pVB->Lock(0, sizeof(dxvertices), (void**)&pdxvertices, 0)))
    return E_FAIL;
  memcpy(pdxvertices, dxvertices, sizeof(dxvertices));
  g_pVB->Unlock();

  return S_OK;
}

void CALLBACK OnFrameRender(IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext)
{
  pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,255), 1.0f, 0);
  if(SUCCEEDED( pd3dDevice->BeginScene())) {
    pd3dDevice->SetStreamSource(0, g_pVB, 0, sizeof(CUSTOMVERTEX));
    pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
    pd3dDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);
    pd3dDevice->EndScene();
  }
  pd3dDevice->Present(NULL, NULL, NULL, NULL);
}

279:277
07/09/20 13:53:47
void CALLBACK OnDestroyDevice(void* pUserContext)
{
  SAFE_RELEASE(g_pVB);
}

INT WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
  DXUTSetCallbackDeviceCreated(OnCreateDevice);
  DXUTSetCallbackDeviceDestroyed(OnDestroyDevice);
  DXUTSetCallbackFrameRender(OnFrameRender);

  DXUTInit(true, true, true);
  DXUTCreateWindow(L"hoge");
  DXUTCreateDevice(D3DADAPTER_DEFAULT, true, 640, 480, NULL, NULL);
  DXUTMainLoop();

  return DXUTGetExitCode();
}

280:デフォルトの名無しさん
07/09/20 15:00:04
フルスクリーンかどうかはどうやって判別するのでしょう?

281:デフォルトの名無しさん
07/09/20 15:02:29
視認

282:277
07/09/20 15:09:59
理由がわかりました。

  CUSTOMVERTEX dxvertices[] =
  {
    { 150.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, },
    { 250.0f, 250.0f, 0.5f, 1.0f, 0xff00ff00, },
    { 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, },
  };

の位置が悪いようです。どうもお世話様でした。

283:デフォルトの名無しさん
07/09/20 21:19:13
URLリンク(msdn.microsoft.com)
ここの
>デバイスには、常に、カラー バッファが関連付けられていなければならない。
ってどういうこと?

284:デフォルトの名無しさん
07/09/20 21:22:28
>>283
描画する先が存在しなかったらどうすればいいと言うんだ?
何が疑問なのかさっぱり分からん。

285:デフォルトの名無しさん
07/09/20 21:24:48
>>284
その文の前の文からの繋がりが分からない、って言ってるんじゃないかね?

前の文には、SetRenderTargetにNULLを渡すこともできると書いてあるのに、・・・
ってことでは

286:デフォルトの名無しさん
07/09/20 21:34:55
>>284,285
すまん。
カラーバッファってサーフェイスのことか。
ものすごく勘違いしてた

287:デフォルトの名無しさん
07/09/20 22:48:41
英語版でがんばってるけど、やっぱり日本語ヘルプもそろそろ更新してほしいな
もう3年も経つのに・・・

288:デフォルトの名無しさん
07/09/20 22:55:28
今まで日本語版だけあったのが奇跡なんだと思え

289:デフォルトの名無しさん
07/09/20 23:04:56
はい。

290:デフォルトの名無しさん
07/09/20 23:06:13
MSに許可貰って日本語訳した本でも売れば専門学校がガシガシ買って儲かりそうだけどな。

291:デフォルトの名無しさん
07/09/20 23:12:10
何年かかるんだよw出来た頃にはとっくに新しいSDKが出てる

そんなことするなら自動翻訳するか初音ミクに歌わせたほうがマシだ。

292:デフォルトの名無しさん
07/09/20 23:56:02
だからアメにプラットフォーム奪われるのは危険なんだって昔から言ってたのに。
絶対自分の国の開発者を有利にするに決まってるんだから。

293:デフォルトの名無しさん
07/09/20 23:58:27
奪われる?

294:デフォルトの名無しさん
07/09/21 00:41:49
PC98でエロゲしか出てなかった国なんだから滅びても仕方ない



295:デフォルトの名無しさん
07/09/21 01:17:12
PC98て 表示色数4096色中16色 VRAMプレーン方式 スプライト機能なしの素敵ハードか

296:デフォルトの名無しさん
07/09/21 01:30:03
OUT 168,8
ってやると200ラインモードでも画面が綺麗になるんだぜ

297:デフォルトの名無しさん
07/09/21 07:59:00
>>292
ほとんどインド人だろがw

298:デフォルトの名無しさん
07/09/21 14:00:02
>>297
インド人多いけど、結局、上は白人だよ。

299:デフォルトの名無しさん
07/09/21 16:43:43
>>298
誤解されがちだけど、インド人は大部分がコーカソイド(白人)です。
モンゴロイド(黄色人種)ではありません。

人種は肌の色で決まるわけではないので悪しからず。

300:デフォルトの名無しさん
07/09/21 19:11:42
>>299
誤解してるのは君

301:デフォルトの名無しさん
07/09/21 21:39:28
よくわからないがXbox360ユーザーは非国民ということで

302:デフォルトの名無しさん
07/09/21 21:43:01
俺はアーリア人だから問題ないな

303:デフォルトの名無しさん
07/09/21 22:00:45
>>302
それは誤解

304:デフォルトの名無しさん
07/09/22 06:16:50
こんなスレで質問していないで、早く試行錯誤でバグ回避策を見つける仕事に戻るんだ!
何?やる気がありません?なら辞めろや、他の派遣雇うからw


305:デフォルトの名無しさん
07/09/22 09:17:59
脳内社員か。
派遣デバッガはレポート書いて提出したら仕事終わりで、
こんなところうろうろしてねえよ。



306:デフォルトの名無しさん
07/09/22 17:24:48
>>305
それは誤解
つうか偏見

307:デフォルトの名無しさん
07/09/23 00:09:04
>>306
だが現実

308:デフォルトの名無しさん
07/09/23 17:02:11
マ板でやれ

309:デフォルトの名無しさん
07/09/23 17:04:07
>>308
それも誤解

310:デフォルトの名無しさん
07/09/23 20:04:31
次の初心者まだ~?チンチン
みっくみくにしてやんよ

311:デフォルトの名無しさん
07/09/23 20:35:30
俺は教えてだぁりんの方が好きだな

312:デフォルトの名無しさん
07/09/24 06:59:25
おはようございます、動画処理について研究している者です。
VisualStudio2005を使い、処理プログラムを作成していきたいのですが、第一段階の目標として
「実時間(ストリーム)でカメラから撮影している動画をPCに表示する」を掲げています、
参考図書として[はじめての動画処理プログラミング-Win32APIとDirectXで実装する動画処理の基礎-]
 →URLリンク(www.cqpub.co.jp)
を使って勉強したのですが、この本では「DVカメラを~/USBカメラを~/IEEE1394で~」と書いてあります、
しかし自分の研究室にあるカメラはそのようなものではなく(URLリンク(up2.viploader.net))
このような古いタイプでした、IEEE1394規格でもありません AVALDATA社という所のこのようなボードを使って
URLリンク(www.avaldata.com) 一応取り込み・表示する事はできるのですが
応用力の無い私にはここからどうやって弄ればいいのか分かりません、
これがDVカメラならなんとかなりそうだったのですが…“まずどうすればいいか”を教えて頂ければ幸いです。
分かり辛い質問で申し訳ありません、そちらから聞きたい事があればどうぞ質問してください。

313:デフォルトの名無しさん
07/09/24 07:15:05
個人研究? 教官に聞けないの?

314:デフォルトの名無しさん
07/09/24 07:23:27
URLリンク(www.google.co.jp)

315:デフォルトの名無しさん
07/09/24 07:40:59
技術的な質問ならともかく、研究への応用について尋ねられてもなあ

316:デフォルトの名無しさん
07/09/24 07:43:10
>>312
たぶん、それについている「専用のSDK」とやらを使うしかない

317:312
07/09/24 08:08:10
やはり自分でSDKを使っていくしかないですか・・・
正直関数の説明書を見ても意味不明なのですが、
まぁもう少し頑張ってみたいと思います。
ぶっ続けで研究してたので今から休憩に入りますがもしかしたら
今晩くらいにまた質問させて頂くかも知れません、その時は宜しくお願いします。

318:デフォルトの名無しさん
07/09/24 08:27:21
SDKの関数を使って、SDKが使用しているバッファを一旦取り出し
DirectShowなり他のライブラリのバッファに突っ込むようなことをすれば
後者のAPIが使えて古い独自SDKに振り回されなくてすむようになる。
速度的に問題が無ければな。

余談だが、古い機材や糞SDKを使わざるを得ない状況を打開する経験ってのは
社会に出てからも何か役に立つんじゃないか。社会のことはよくしらねーけど。

319:デフォルトの名無しさん
07/09/24 13:51:30
もうダイレクトXわけわかんなすぎ!
たすけてよぉ~!!

320:デフォルトの名無しさん
07/09/24 14:04:09
つ OpenGL

321:デフォルトの名無しさん
07/09/24 14:50:09
画面を徐々に暗くしていく処理(フェードアウト?)を一番簡単にやるにはどうしたらいいですか?

322:デフォルトの名無しさん
07/09/24 15:15:07
>>321
あからじめ徐々に暗くするムービーを用意→再生

323:デフォルトの名無しさん
07/09/24 15:16:27
圧縮率も最強になるだろうし結構実用的だと思うぜw>ムービー

324:デフォルトの名無しさん
07/09/24 15:28:50
画面サイズの真っ黒な板を
一番手前において徐々に透明度を下げる

325:デフォルトの名無しさん
07/09/24 15:30:40
ユーザがモニタのあかるs

326:デフォルトの名無しさん
07/09/24 15:35:15
>>322
ツマンネ

>>323
馬鹿じゃねーの

>>324
偉い

>>325
くだらん

327:デフォルトの名無しさん
07/09/24 15:35:42
エロCGと同じフォーマットでグラデーションの一枚絵をたくさん用意→スクリプトで絵を切り替え。


328:デフォルトの名無しさん
07/09/24 15:47:27
おまえらどんなレベルのゲーム作れんのよ

329:デフォルトの名無しさん
07/09/24 15:58:13
ダダシン先生みたいなのですぅ!

330:デフォルトの名無しさん
07/09/24 16:10:31
>>324
この方法でいけそうです
ありがとうございました

331:デフォルトの名無しさん
07/09/24 16:10:51
このスレは無能な奴に限ってえらそうですね

332:デフォルトの名無しさん
07/09/24 16:44:59
すいません、さっきの続きの質問なんですが

フェードインをフェードアウトをまとめたクラスにいろんな場面からアクセスしたいんですが
こういう場合はやはりグローバル変数にするしかないですかね?

333:デフォルトの名無しさん
07/09/24 16:48:59
あほや・・・あほがおる!!

334:デフォルトの名無しさん
07/09/24 16:54:49
それはDirectXの質問ではないが、
グローバル変数でもSingletonでも好きなようにやれ。
フェードでまとめる以外にも、パーティクル等のエフェクト機能の一部という実装もある

335:デフォルトの名無しさん
07/09/24 17:34:50
グローバルにしておきます
ありがとうございました

336:デフォルトの名無しさん
07/09/24 18:04:19
それってなんか
クラスの作り方を間違えてる希ガス

337:デフォルトの名無しさん
07/09/24 18:20:02
とりあえずなんでもクラスにまとめてしまうもんで;;
何か他に良い設計ありますか?

338:デフォルトの名無しさん
07/09/24 18:38:32
各シーンから呼び出されるものではなく
システムの中に
シーンの切り替えなどを一括に管理する部分(クラス)を作って
そこから呼び出されるべきものではないかと思う

DirectXの話じゃなくて設計の話なので板違い
荒れる前に他行った方が良いぞ

339:デフォルトの名無しさん
07/09/24 18:43:52
おお、なるほど!
ありがとうございます

340:デフォルトの名無しさん
07/09/24 18:48:37
>>332
引数で渡すとかないのか?ウンコ?

341:デフォルトの名無しさん
07/09/24 18:52:14
引数で渡すのはスマートじゃないですからっ><

342:デフォルトの名無しさん
07/09/24 19:34:35
>>341
そんなのどこの本に書いてあったんですか?
グローバル変数なんて1つ使っただけでもう設計も糞もないんですよ?

343:デフォルトの名無しさん
07/09/24 19:42:05
本に書いてないとダメなのか?

344:デフォルトの名無しさん
07/09/24 19:45:10
糞っぽい。
フェードアウト完了のイベントで関数呼び出すという発想もないようだな。


345:デフォルトの名無しさん
07/09/24 19:49:59
そもそもゲームの設計に関して
きちんと書かれてる本なんて見たことない

これといった正解もないし
会社ごとに違うのは当たり前
社内でさえ基礎研究がきちんと全体に浸透してることなんて
ほとんどないからプロジェクトごとで違ったりするし
あまり深く考えずに
とりあえず今の自分の技術で最善と思われる方法をとればよろし
後で、あーすればよかったとか
こーすればもっと良くなるとか、そういうのを繰り返して上達するものだ

346:デフォルトの名無しさん
07/09/24 19:57:57
じゃあタスクシステムに一家言ある御仁に頼む↓

347:デフォルトの名無しさん
07/09/24 19:58:59
>>342
個人で作ってるので自分がコードを見てスマートかどうかですよ

348:デフォルトの名無しさん
07/09/24 20:02:32
>フェードアウト完了のイベントで関数呼び出す
??

349:デフォルトの名無しさん
07/09/24 20:04:54
>>343
少しは参考にするべきだと思うぜ
引数が多いと駄目なんて記述はどこの本読んでもない

それとシーンの管理だけどこの辺はちょっと考えて設計したほうがいいと思うぜ
現行

フェード処理S→→→フェード処理E
シーン1→シーン2・・・ ・・・シーンN

の可能性があるならフェードってつまり何?
シーンってつまり何?
ってちゃんと考えておいたほうがいいぜ
ロードのタイミングも考慮してね

その結果

フェード処理S→フェード処理E→→→→フェード処理S・・・
シーン1ロード→シーン2ロード→シーン1→シーン2→シーンアンロード→シーン?ロード・・・ ・・・シーンN

ってなるかもしんねーしw
とにかく色んな場面を考えてみろ

350:デフォルトの名無しさん
07/09/24 20:49:05
DIrectX日本語or英語版がDLできるところありませんか。・

351:デフォルトの名無しさん
07/09/24 20:49:24
>>346
タスクシステムこそ
ゲーム業界にのみ伝わる現代の魔術
連綿と口伝によってのみ受け継がれ
変化し、進化と退化を繰り返す
その亜流は数知れず、もはやその全てを語れるものはいない

352:デフォルトの名無しさん
07/09/24 20:50:33
"DIrectX"をgoogleで検索するとトップページにこんなのが!
URLリンク(www.microsoft.com)

353:デフォルトの名無しさん
07/09/24 20:57:11
退化と進化

進化という言葉が進歩を意味しないのは、生物学上は当然なのであるが、一般には誤解されやすい部分である。

今日の学校教育においてすら、国語教育の場では進化の反対語として退化を教える例がしばしば認められる。
しかし、退化は生物の個々の器官に対して使われる言葉である。したがって、その生物全体について使われる
進化と対応するものではなく、退化に対する言葉は『発達』である。

354:デフォルトの名無しさん
07/09/24 21:52:06
で?

355:デフォルトの名無しさん
07/09/24 21:55:40
>>353
勝手に話を生物学上に限定してんじゃねーぞドカス

356:デフォルトの名無しさん
07/09/24 22:00:29
>>355
生物学に限定しようがしまいが、退化は進化の対義語ではない。

って俺は小学校か中学校で習った覚えがあるんだが、お前らは習わなかったのか?

357:デフォルトの名無しさん
07/09/24 22:03:56
せめてDirectXの話で揉めようや

358:デフォルトの名無しさん
07/09/24 22:05:31
しんか しんくわ【進化】

(名)スル

(1)〔evolution〕生物は不変のものではなく、長大な年月の間に次第に変化して現生の複雑で多様
  な生物が生じた、という考えに基づく歴史的変化の過程。種類の多様化と、環境への適応に
  よる形態・機能・行動などの変化がみられる。

(2)物事が次第に発達していくこと。

>>351は(2)>>353は(1)を言ってる。それだけ。~~国語の時間糸冬~~


359:デフォルトの名無しさん
07/09/24 22:09:22
はいはいそうですか

360:デフォルトの名無しさん
07/09/24 22:18:43
つーか、おまいら
>>351の突っ込み所はそこじゃないだろw

361:デフォルトの名無しさん
07/09/24 22:19:18
誤解が多いが「退化」は進化なんだけどな。
環境に適応して無駄な部分が無くなるのが退化で、それは進化の一種。

362:デフォルトの名無しさん
07/09/24 22:21:08
>>351は的を得てるだろ

363:デフォルトの名無しさん
07/09/24 22:22:58
× 的を得る
○ 的を射る

364:デフォルトの名無しさん
07/09/24 22:23:35
○的を射る ×的を得る
○当を得る ×当を射る

365:364
07/09/24 22:24:43
(*'A`)

366:デフォルトの名無しさん
07/09/24 22:27:53
このスレDirectXはさっぱりだが国語の勉強にはなるな

367:デフォルトの名無しさん
07/09/24 22:30:52
マ板、ム板は
予想の斜め上あたりで議論が繰り広げられるから
面白いなw

368:デフォルトの名無しさん
07/09/24 22:33:50
>>363-364
キースっ!キースっ!♥

369:デフォルトの名無しさん
07/09/24 22:39:48
…(*'A) (A`*)…

370:デフォルトの名無しさん
07/09/24 22:41:56
…(*'AA`*)…

371:デフォルトの名無しさん
07/09/24 22:42:31
…(*'A`*)…

372:デフォルトの名無しさん
07/09/24 22:43:42
       _,,,  
      _/::o・ァ  さきほどお見苦しい映像が
    ∈ミ;;;ノ,ノ   流れましたことをお詫び申し上げます
      ヽヽ

373:デフォルトの名無しさん
07/09/24 22:44:24
融合してるし!w

374:デフォルトの名無しさん
07/09/24 22:44:27
この流れワロタ

375:デフォルトの名無しさん
07/09/24 22:44:33
良くなろうが悪くなろうが、ある種が時間とともに変化することを「進化」いう。
その「進化の過程において」、ある一部の器官が縮小、あるいは消滅することを「退化」という。

DirectX7→8、ってのは進化の例。
その「進化の中で」、DirectDrawが消えた、ってのが退化の例。


376:デフォルトの名無しさん
07/09/24 22:46:41
>>375
空気嫁w

377:デフォルトの名無しさん
07/09/24 22:47:36
>>375
お前には失望した

378:デフォルトの名無しさん
07/09/24 22:49:51
>>375は自重できずに自分のことばっか喋って相手を幻滅させるタイプ

379:デフォルトの名無しさん
07/09/24 22:52:18
>>375の人気に嫉妬www

380:デフォルトの名無しさん
07/09/25 01:18:39
DIrectX7の日本語or英語版がDLできるところありませんか。・

381:デフォルトの名無しさん
07/09/25 01:32:20
>>350

382:デフォルトの名無しさん
07/09/25 02:04:10
>>380
URLリンク(www.vb-fun.de)

383:デフォルトの名無しさん
07/09/25 02:08:09
>>382

ありがとうございます。DLしておきます。
SDKじゃなくてランタイムがいいんですが、今はSDKしか手に入りませんか?
なさそうならSDK入れることにします。

384:デフォルトの名無しさん
07/09/25 02:14:01
DirectX Run-Time Only

385:デフォルトの名無しさん
07/09/25 02:18:20
>>351
保存した

386:デフォルトの名無しさん
07/09/25 02:35:33
>>383
DX7がでた頃のエロゲーでもかってくるんだ

387:デフォルトの名無しさん
07/09/25 03:13:45
あの頃のエロゲはDirectXを使わないことが何か偉い事という価値観だったんじゃないの?


388:デフォルトの名無しさん
07/09/25 05:47:36
>>319
URLリンク(fatalita.sakura.ne.jp)

389:デフォルトの名無しさん
07/09/25 10:27:17
DirectX 9なんだけど 最新版ってどれになるの?
日付新しいのとかあるから わけわからなくなってます・・・

これ入れとけ!っての教えてください。

390:デフォルトの名無しさん
07/09/25 10:35:39
ランタイムのことなら Microsoft サイトから DirectX ランタイムウェブインストーラ
SDK なら 2007 August あたりなんじゃね?
詳細は Microsoft のサイトの DirectX ページにアクセク。

391:デフォルトの名無しさん
07/09/25 20:39:54
それはありえない。
VC6や.Net2003対応してない

392:デフォルトの名無しさん
07/09/25 20:45:05
2003はPlatform SDK入れればいいよって固定シェーダの人が言ってた

393:デフォルトの名無しさん
07/09/25 20:45:42
VS2005EE入れればいいだけじゃね

394:デフォルトの名無しさん
07/09/25 22:44:52
重いからやだ

395:デフォルトの名無しさん
07/09/25 22:48:11
2005軽いじゃん。

ヘルプ重いけど。

396:デフォルトの名無しさん
07/09/25 23:38:56
ぜったいやだ

397:デフォルトの名無しさん
07/09/25 23:43:24
結局何がやりたいんだ?

398:デフォルトの名無しさん
07/09/26 00:48:48
2003はまだサポートされてるんじゃ?

399:312
07/09/26 05:22:18
おはようございます、2日前の>>312です。
AVALDATA社のSDK説明書にサンプルプログラムとして「画像の連続入力」
というのもがあったので書いて実行してみたのですが(↓画像)の状態になるだけで
取り込んでいるはずの画像が表示されません…
表示もできるようにコードを書き換えて頂けませんでしょうか、
宜しくお願いします。m(__)m

実行結果 URLリンク(up2.viploader.net)
コード等 URLリンク(www12.axfc.net)


400:デフォルトの名無しさん
07/09/26 05:59:53
そのボードを持ってる奴がこのスレにいる可能性はどれくらいだと思う?

401:デフォルトの名無しさん
07/09/26 06:10:13
もともと表示まで行うサンプルではないようだ。贅沢を望むな。
GrabCallbackFuncでファイルにでも書き出せば。


402:399
07/09/26 06:33:45
GrabCallbackFuncとは何ですか? 検索しても引っかからないのですが・・・

403:デフォルトの名無しさん
07/09/26 06:38:21
自分がアップしたサンプルコードすら読んでないとは恐れ入る。
GrabCallbackFuncはFile_1605\rg\sample2.cの中の関数だよ。

404:402
07/09/26 06:54:09
アップしたコードの中でしたか・・・お恥ずかしい限りです、
正直難しい用語だらけで処理の流れがよく理解できていないのです
このGrabCallbackFunc(){~}の中に何かを付け加えると表示や書き出しができるということでしょう、
何処に何と付け加えるのか教えて頂けないでしょうか・・・


405:404
07/09/26 08:47:36
表示方法・・・どなたか教えていただけないでしょうかorz

406:デフォルトの名無しさん
07/09/26 09:18:42
>>405
GrabCallbackFuncが呼び出される時の引数を全部吐き出させろ。
そもそも呼び出されているかどうかすら怪しいし。
あと、Acap関数呼び出したらAcapGetLastErrorCodeでとりあえずエラーが無いか確認。
こういう時は、得られる情報を全て吐き出させてみるのが基本だ。

407:デフォルトの名無しさん
07/09/26 10:31:04
AVALか……

408:デフォルトの名無しさん
07/09/26 10:45:22
大学のレベルも落ちたもんだな

409:デフォルトの名無しさん
07/09/26 11:02:27
そもそもDirectXと無関係なのにいつまで迷惑をかけ続けるつもりなんだ?
本当に自分のことしか考えないやつだな。

410:デフォルトの名無しさん
07/09/26 20:07:25
OpenGLのglPushAttrib()とglPopAttrib()みたいに、
簡単に状態を保存したり復帰したりする方法はありますか?

411:410
07/09/26 20:20:42
自己解決しますた
IDirect3DStateBlockのCapture()とApply()がそうだったのですね

412:デフォルトの名無しさん
07/09/26 21:27:26
>>408
安心しろ某医大は毎年新人歓迎会でス○トロ祭りをやるらしい
程度の低さをいうなら昔からだ・・・w

413:デフォルトの名無しさん
07/09/26 21:32:27
>>412
   /⌒ヽ        ,r-、
   l   }      /  /
   ヽ  r --- 、 /   /
    y'´_,,_   _ ヽ、 /
    / /,r=、  ,'ニヽ Y
    } ( ● )l (,●)  l
   _L_ ̄ | 二rニ'7
    ヽ-フ `ーー'`´、 /
   /〈  < ̄/ ̄ Y、<スカト○祭だなんて、最近の大学はレベルたけえな
     )ヽ、 ̄, '´ / \
   _,_L      | ヽ

414:デフォルトの名無しさん
07/09/26 22:30:33
デバイス○ロスト祭り

415:デフォルトの名無しさん
07/09/26 22:54:36
>>414
おちつけ、なんもかんもあってないw
○も意味不明になってるw

416:デフォルトの名無しさん
07/09/27 02:00:20
最近になってDirectXを使い始めたのですが、
DirectGraphicsで簡単に画面に2Dテクスチャを表示できる、DPD3DXSPRITEですが、
貼付けた画像がどうしても歪んでしまいます(元の画像よりも大きくなってしまう)。
読み込む画像の辺の長さが2の累乗でなければならないという情報もネットで見つけたのですが、
もっと自由な元画像のサイズで、表示の際の大きさ指定をピクセル単位で出来るような方法はないのでしょうか?

417:デフォルトの名無しさん
07/09/27 02:10:10
>>416
ないなら自分で作ればいいじゃないか

418:デフォルトの名無しさん
07/09/27 03:37:48
D3DXSpriteを初心者が使うと変な副作用やバージョン違いに悩まされ
自殺することが多いのでお勧めできません。

419:デフォルトの名無しさん
07/09/27 03:52:25
質問してもいいですか?
DirectX9をダウンロードは出来たのですが、インストールが出来ません。
何度やっても、もう一度実行するか、ネットワーク接続を確認しろという画面が出ます。
何が悪いのでしょうか?

機種はVaio lx52gのMeです。

420:デフォルトの名無しさん
07/09/27 04:09:21
>>419
落としたのがWebインストラーで
ネットワークにつながってないって落ちじゃ

421:デフォルトの名無しさん
07/09/27 05:06:34
てか、久々にD3DXSpriteいじったらほんとに色々仕様が変わっててワロタ
デバイスロストとか色々対応してないけど後は自分で考えるんだ

class MySprite{
  MySprite( LPDIRECT3DDEVICE9 dev, TCHAR* file ) ;
  ~MySprite(){
    if(tex)tex->Release() ;
    if(sprite)sprite->Release() ;
  }
  void Draw(float x, float y, float w, float h ) ;

  LPD3DXSPRITE sprite ;
  LPDIRECT3DTEXTURE9 tex ;
  D3DXIMAGE_INFO info;
} ;
MySprite::MySprite(LPDIRECT3DDEVICE9 dev, TCHAR *file):sprite(NULL),tex(NULL)
{
  D3DXGetImageInfoFromFile(file, &info);
  D3DXCreateTextureFromFileEx(dev,file,info.Width,info.Height,
    1,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&tex);
  D3DXCreateSprite ( dev, &sprite ) ;
}
void MySprite::Draw(float x, float y, float w, float h)
{
  sprite->Begin(0) ;
  3DXMATRIX scale, trans ;
  D3DXMatrixScaling ( &scale, ((w==0)?info.Width:w)/(float)info.Width, ((h==0)?info.Height:h)/(float)info.Height, 0.0f ) ;
  D3DXMatrixTranslation ( &trans, x, y, 0 ) ;
  sprite->SetTransform(&(scale*trans)) ;
  sprite->Draw ( tex, NULL, NULL, NULL, 0xffffffff ) ;
  sprite->End() ;
}

422:デフォルトの名無しさん
07/09/27 06:05:23
業界標準のOpenSpriteライブラリとかないのかよ

423:デフォルトの名無しさん
07/09/27 06:14:30
業界標準はD3DXSPRITEなんて使いません

424:デフォルトの名無しさん
07/09/27 07:04:47
いらねーよな
入門書もやらずになんか表示しようとするから
そんな機能ほしいと思うんだろ

そんなもん使って表示したところで次になんかつながらないから
なにかあるたびにいちいち詰まる
こんなクラス使ってる奴ゲーム作るところまでいかないだろ

425:デフォルトの名無しさん
07/09/27 08:11:26
とりあえずは、D3DXSpriteで便利にやってみて、速度とかやりたい事の壁で
どうしようもなくなったら自前の処理に移れば良い。

ここは初心者スレなんだから、玄人ぶっても滑稽だよ。

426:デフォルトの名無しさん
07/09/27 08:14:33
>>425
初心者スレだからこそ、まずはキチンと入門書を追ってもらいたいと思う
そしたらDrawPrimitiveでの描画を通るはずだし、
こんな質問は絶対にでないと思う

427:デフォルトの名無しさん
07/09/27 09:35:19
ぇ、ていうか
わざわざ答えてもらってるのに
質問者が超便利関数とかを期待してて
>>422みたいな態度とったのかと思ったけど違うの?

428:416
07/09/27 11:30:40
質問に答えて頂きありがとうございました。
とりあえず今やりたいと考えていることは2Dで出来るため、
パラパラと本を読んで一番初めに目についたSpriteに飛びついたわけでしたが
あまり使われない方法のようですね・・。
>>426さんの言うようにDrawPrimitiveでの描画についても調べてみたいと思います。

>>421
丁寧にありがとうございます。大変参考になりました。

429:デフォルトの名無しさん
07/09/27 11:40:12
>>428
スプライトが歪んでいる場合、ID3DXSprite使うのやめるよりも前に
テクスチャの読み込み段階で歪んでいないか一応チェックね。
あれはデフォルト指定すると勝手にテクスチャサイズを
二の二乗に切り上げて、画像を拡大したテクスチャを作るから。

430:デフォルトの名無しさん
07/09/27 15:22:35
DirectXのAPIはいわゆる最小インターフェースってやつだろ。
手っ取り早くゲーム作りたい向きには不親切極まりない。

あんまプログラミング経験のないやつが、やりたいことを速攻でやりたいなら、
何か他人の作ったライブラリ漁ったほうがいいんじゃね?
俺は自分でやってるから詳しくないが。

431:デフォルトの名無しさん
07/09/27 21:55:30
DirectSoundで音を鳴らしたいのですが、
初っ端からつまづいてしまいました・・・。
VC++2005でビルドしようとすると、以下のようなエラーが出ます。

1>Source1.obj : error LNK2001: 外部シンボル "_IID_IDirectSoundCaptureBuffer8" は未解決です。
1>Source1.obj : error LNK2019: 未解決の外部シンボル _DirectSoundCaptureCreate8@12 が関数 _main で参照されました。

dsound.hのインクルード、dsound.libへのリンクもオプションで設定しているのですが、
どこがマズいのでしょうか??

432:デフォルトの名無しさん
07/09/27 23:20:33
dxguid.libとリンクしていないとこがマズいです。

433:431
07/09/28 07:39:04
>>432
ありがとうございます。
しかし、確認してみたところ、dxguid.libが含まれているディレクトリをライブラリディレクトリとして
設定できていました・・・。

434:デフォルトの名無しさん
07/09/28 07:55:19
ディレクトリを設定するだけじゃ意味無いだろ。

dsound.libをリンクするように設定してるんだろ?
同じようにdxguid.libをリンクしろ、って言ってるの。

435:デフォルトの名無しさん
07/09/28 08:59:17
すみません
UDXライブラリを使いたいのですがdirectX最新版ではつかえませんか
サンプルのXファイルが表示しません

436:デフォルトの名無しさん
07/09/28 09:15:46
UDXライブラリって何だよ
ライブラリならここじゃなくサポート掲示板なりで質問するべきでは?

437:デフォルトの名無しさん
07/09/28 09:19:12
>>436
UDXライブラリは2002年ころにfinal版が出て更新されていません ほかに聞けるところがないです

438:デフォルトの名無しさん
07/09/28 09:50:00
>>436
他のライブラリをいくつか調べたのですがUDXがもっとも手軽だと思います
これだけのソースでXファイルが表示できます
参考サイト 
URLリンク(f42.aaa.livedoor.jp)
URLリンク(www.geocities.co.jp)


#include"udx.h"
CMesh m;

void StartUp(){
SetVPos(VEC3(0, 0, -10));
m.Load("test.x"); }

void MainLoop(){
BeginScene();
m.Render(&MTX_FRONT);
ShowCameraInfo(0,0);
EndScene();
MouseLook(0.5);}

void CleanUp(){}

439:デフォルトの名無しさん
07/09/28 09:59:07
先日近所のスーパーでアニメのような3D表示するカードゲームをみました。
どうやらカートゥーンシェードというものらしいです。
DirectXでこのカートゥーンシェードを表示する勉強をしてみたいので、
仕組みの解説やライブラリを、Googleでカートゥーンシェードや、CartoonShadeを検索しても
それらしい情報が見つからないです。
みなさん、どこから情報を集めておられますか。先輩方、教えてください。

440:デフォルトの名無しさん
07/09/28 10:03:41
>>435
2002年に更新停止してるとかそんなマイナーなライブラリをなんの断りもなく持ち出すな

俺らにそのなんちゃらライブラリを使って試せと?

441:デフォルトの名無しさん
07/09/28 10:08:01
>>439
URLリンク(www.google.com)

442:デフォルトの名無しさん
07/09/28 10:10:32
>>440
使っている人がいたら動作環境を教えてもらいたいです
ライブラリ付属の線や四角は表示できるんですけど・・Xファイルが見えないです
あと、UDXに興味があったら使って動くか試してもらいたいです

443:デフォルトの名無しさん
07/09/28 11:33:43
>>442
ライブラリっていうかXファイルの問題じゃね?
そのライブラリはほんとに
すべてのXファイルの読み込みに対応してるのか?
Xファイルはテンプレート定義だから
よっぽど丁寧につくってないとXファイルによって読めないとかざらにある
メッシュのみOK、アニメーション付きは×とかな
人に試せというまえに
表示までの流れのどこでコケてるのかくらい調べてこいよ

444:デフォルトの名無しさん
07/09/28 11:44:23
>>443
ライブラリ付属のXファイルとソースでコンパイルまでは行くのですが画面に出ません

445:430
07/09/28 11:45:50
そうか、ライブラリに頼ってもこういう結果になる世界だったか……。
認識がチクロやサッカリンより甘かったわ。

昔のSDKでは動くのかな。動くならでそれで我慢するなり、
そうでなければ別のに乗り換えるしかないんじゃね。

446:デフォルトの名無しさん
07/09/28 12:12:34
>>442ですが
WindowsのバージョンはXP SP1
DirectXのバージョンは最新版(2007/7くらいのやつ)
DirectX SDKは8.1です UDX最終バージョンに合わせました
画面が全く出ないわけではなく、文字や線とかはかけます
もしかしたら、SDKも最新したらいいんですかね

447:デフォルトの名無しさん
07/09/28 12:15:21
だから、一言で表示されないといわれても
色々あるわけで・・・

・そもそもファイルが読み込めてない
・読み込めてるが座標変換がされてない
・座標変換されてるがカメラの範囲内にない
・カメラの範囲内にあるがでか過ぎて(小さすぎて)みえない
・あるべき場所にはあるが光源が無い
・透明になってる
・カリングの設定が間違ってる,etc,etc

どこで失敗しているのかくらいデバックできるだろ?
それがわからなければ直しようが無い
これは環境云々の問題じゃないぞ

448:デフォルトの名無しさん
07/09/28 12:22:50
>>447
サンプルをそのまま使っているんですよ 見えないサンプルって無いと思います

449:デフォルトの名無しさん
07/09/28 12:29:13
>>448
あのなぁ

あんたがどういう環境でやってるのか知らんが
たとえば使ってる文字セット
がユニコードなのかマルチバイトなのかが違うだけで
Xファイル内のテクスチャファイル名が読めなかったりするんだぞ?

ライブラリに合わせて環境をかえるんじゃなくて
環境にあわせてライブラリを変えることを考えろよ

450:デフォルトの名無しさん
07/09/28 12:36:22
馬鹿はほっとこうぜ

451:デフォルトの名無しさん
07/09/28 12:54:42
ありがとうございました
UDX動きました
実行ファイルの生成される位置にXファイルがないだけでした


452:デフォルトの名無しさん
07/09/28 13:54:46
ださすぎw

453:デフォルトの名無しさん
07/09/28 15:00:47
URLリンク(www.rupan.net)

UDXで人物を表示したんですけどメタセコでみるのより画像が悪すぎです
どうしてですか?

454:453
07/09/28 15:01:47
パスは 0 です

455:デフォルトの名無しさん
07/09/28 15:15:25
光源を設定してないとかじゃネーノ ( ´_ゝ`)

456:デフォルトの名無しさん
07/09/28 15:16:17
>>453
D3DX8BOR.DLLが見つからなかったため、このアプリケーションが開始できませんでした

お前もう、いい加減にしとけよ

457:デフォルトの名無しさん
07/09/28 15:25:49
>>456
URLリンク(www.rupan.net)
PASS 0
これでみれますか?

>>455
光源はいってるかよくわかりません サンプル書き換えただけなので 入れてみます

458:デフォルトの名無しさん
07/09/28 15:54:11
>>457
フルスクリーンはマジ簡便

見た限り光源計算がされてない
Xファイル自体に法線情報がはいってないので
ライブラリー内で
法線データがないときに自前で生成しているのか?とか
しているとして
ライトの設定がちゃんとしてあるか確認だな


459:デフォルトの名無しさん
07/09/28 16:32:12
ぜんぜん簡単に使えてないところがミソ

SDKのチュートリアルから地道にやったほうがよっぽど近道なのに、
そうやって手を抜こうとするから基本的なことすら理解できずに余計な苦労をする。

460:デフォルトの名無しさん
07/09/28 16:56:11
DirectXを一から勉強する方法教えてくれ!!
俺は燃えているぞおおおお!!

461:デフォルトの名無しさん
07/09/28 17:00:53
>>460
これを最初から最後まで読むといいよ
URLリンク(msdn.microsoft.com)

462:デフォルトの名無しさん
07/09/28 17:12:01
マウスとカーソルで動かせます これだけのことを生DirectXでやったら大変でしょ?コードは↓これだけ
URLリンク(www.rupan.net)

#include"udx.h"
CMesh m;CObject o;
void StartUp(){
SetVPos(VEC3(0, 1.5, -5));
m.Load("0.x");
o.SetMesh(&m,VEC3(0,0,5));}

void MainLoop(){
MouseLook(0.2f);
BeginScene();
ON_HOLD(DIK_LEFT) o.RotY(0.05f);
ON_HOLD(DIK_RIGHT) o.RotY(-0.05f);
ON_HOLD(DIK_UP) o.RotZ(-0.05f);
ON_HOLD(DIK_DOWN) o.RotZ(0.05f);
o.Render();

devSetLighting(FALSE);DrawAxis();
devSetLighting(TRUE);
BeginFont();
ShowCameraInfo(0,0);
EndFont();EndScene();}

void CleanUp(){}

463:デフォルトの名無しさん
07/09/28 17:14:05
>>458
なんかテクスチャーがあると絵が変になるみたいです
462はテクスチャー無しです メタセコが変なXファイルを生成しているのかUDX側なのか不明です

464:デフォルトの名無しさん
07/09/28 17:20:51
ここはDirectXの質問スレであって
ライブラリの使い方の質問スレじゃないんだか
そんなの、ライブラリ製作者に聞けよ

465:デフォルトの名無しさん
07/09/28 17:25:37
>>463
もうこれで最後な
メタセコでXファイル出力するときに
法線(スムージング)とUVマップの
チェック項目にチェックをいれろ

これでだめなら
お前のライブラリの使い方が悪い
基本を理解してないのに使おうとしても
応用が利かないってことがもうわかっただろ?

466:デフォルトの名無しさん
07/09/28 17:28:29
できましたサンクス

467:デフォルトの名無しさん
07/09/28 17:29:33
マイクロソフトによる講演「Windows Vista ゲーム開発」、数多くの国内PCゲームが躓いたIME問題は、SDKサンプルのささいなバグだった!?
URLリンク(www.watch.impress.co.jp)

468:デフォルトの名無しさん
07/09/28 17:44:41
>>441
ありがとうごぢゃいます。勉強させていただきます。

>>467
DXUTでIMEエディットボックスが利用できなかったのでおれの環境おかしいのかなぁとおもってましたが、
よくわかりました。教えてくれてありがとうございます。

469:デフォルトの名無しさん
07/09/28 18:19:19
Xファイルが大量にUPされてるサイトとかない?
モデル作れないorz

470:デフォルトの名無しさん
07/09/28 20:19:45
お金くれれば作ってあげる。
キャラ一体30万でいいよ。

471:デフォルトの名無しさん
07/09/28 20:42:45
30万とかぼったくりだろ。
俺だったら1ポリ1000円でいいよ。

472:デフォルトの名無しさん
07/09/28 21:07:18
な、なら俺は1頂点500円だ

473:デフォルトの名無しさん
07/09/29 01:25:24
ここ2,3日の質問レスはどれも死ねと回答したくなるような代物だった。
俺は何を思って初心者スレにいたのだろう。
たぶん俺はここにいるべきではないのだ。
自分のゲームを作る仕事に戻ったほうがいい.....



474:デフォルトの名無しさん
07/09/29 02:59:38
そうだ帰れ帰れ

475:デフォルトの名無しさん
07/09/29 06:23:48
>>473
そう思っただけでまったく回答なんてしてなかったんだろ?
ここにいるべきではないな

476:デフォルトの名無しさん
07/09/29 07:58:53
>>473はスカトロの話題で進んでほしかったらしいよ

477:431
07/09/29 11:36:28
>>434
あ・・・なるほど(汗)
おかげさまでできました!
ありがとうございました!

478:デフォルトの名無しさん
07/09/29 12:44:30
>>475
そのとき回答していない=ここにいるべきではない
とはならないだろ。回答できるだけの知識があって、回答できる質問がないかここに見に来たけどむかつく質問しかない、って言ってるんだから、それが理由で去るなら、このスレは回答者を一人失っただけ。回答者は答えなくても何も困らない。

技術的に初心者なのはぜんぜん構わないが、質問者として初心者なやつには答える気は全く起こらない。

479:デフォルトの名無しさん
07/09/29 17:31:23
DirectSoundでサウンドボードに入力される音声を再生したいです。
キャプチャバッファを作りWAVファイルに録音する方法は分かったのですが、
リアルタイムに再生する方法が分かりません。
おそらくセカンダリバッファに入力音声を入れて
(バッファのポインタ)->Play();
とすれば良いと思うのですが、キャプチャデバイスからの音声をセカンダリバッファに
放り込むやり方が分かりません。
ググっても、キャプチャデバイスを使うものは再生無しで録音するものばかりです・・・。

ご助言、よろしくお願いいたしますm(_ _)m

480:デフォルトの名無しさん
07/09/29 17:51:38
ストリーミング再生の事?
URLリンク(www2.muroran-it.ac.jp)

481:479
07/09/29 18:23:16
>>480
ストリーミング再生です。
そのページは読んでみたのですが、音楽CDの読み込みに特化しているようで
参考になりませんでした。

482:デフォルトの名無しさん
07/09/29 19:19:57
結局のところ、録音バッファと再生バッファの両方をロックしてmemcpyで終わりだろ。
何を悩んでいるんだ?

483:toshi
07/09/30 00:30:09
自分の理解の為に、3D知識についてwikiやhtmlページにまとめようと思っています。
(^o^;
本やWEBを参考に下記ページのようにまとめてみました。ぶしつけですが、
もし宜しかったら、皆様に間違いや補足知識の指摘を頂けないでしょうか?
URLリンク(toshi104.odap.jp)
辛口で構わないのですが、始めて3日足らずの初心者なので、間違いや不備は
沢山あると思います。どうぞ宜しくお願い致します。
(※リンクはしばらく残しておきます。)(※掲示板も設置しました)
(※宣伝ではないですよ。趣味です。ゲーム好きです。)


484:デフォルトの名無しさん
07/09/30 00:46:18
一番辛口に言うと
「チラシの裏にかいとけ」


一応斜め読んで気になったのは
FVFっていずれ使われなく(使えなく)なるんじゃね?とか
射影座標とスクリーン座標がごっちゃになってそうとか

485:toshi
07/09/30 01:35:47
レス感謝です。
>「チラシの裏にかいとけ」
あはは、そうですね。でもレス感謝です。

>FVFっていずれ使われなく(使えなく)なるんじゃね?
そうなんですか?頂点フォーマットですよね?他にどんなのがあるのでしょう?
一応DirectX9.0関連の本やWEBで一般に使われていたので・・・。
差し支えなければ、教えて下さい。

>射影座標とスクリーン座標がごっちゃになってそうとか
なるほどー、射影座標っていうのがあるんですね。勉強になります。
本に書いてありませんでした。でも、遠近法等を表現する「平行投影」「透視投影」
のハナシはありました。つまり、スクリーン座標前の変換である「プロジェクション変換」に含んでしまっているみたいですね。
どもです。

486:デフォルトの名無しさん
07/09/30 03:42:38
>>478
ごちゃごちゃいいわけウザイw

例え自分の正義に基づいてどうであっても
他人がお前をウザイと思えばお前の中でどうであってもウザイことに変わりはない

お前が知らないから答えられなくても、
お前が知っていて答えなくても質問者にとってはどうでもいいことだ

それにお前の望む質問者なんてもんは多分ほとんどいないといいきれるほど稀な存在だろう
初心者なんてのは色々ひっくるめて初心者なんであって
技術の部分「だけ」が足りない奴なんてのはほとんどいないといっていいだろう
そういう奴等をあらかた無視して色々お膳立てしてあって
「ハイ、後は、この部分の回答だけ貰えばOKなんです」
なんて状態になるわけない
こんなのいたら質問スレになんてくるわけない
多くの初心者は総合的に初心者であることがほとんど

要は俺がいいたいことは
現実にない状況(理想)を勝手に望んでそれを当然のこととするのはウザイ
ってことだ

まあ、ウザイだけで、正しいとか正しくないとかは問題じゃないからねw
好きにやりなよw

487:デフォルトの名無しさん
07/09/30 03:43:29
とりあえず寝ればいいんじゃね

488:デフォルトの名無しさん
07/09/30 10:28:26
>>485
プロジェクション変換は
スクリーン座標に変換するものではなく
ビュー変換から射影座標に変換するためのもの
そこからさらにVierport変換をかけて
ようやくスクリーン座標になる
Direct3Dの場合は
Viewport変換はViewpotの設定にしたがって
デバイスが勝手にやってくれるので忘れられがちだけど


でも、こんなのをまとめたところで
「で?」っていう感じがしないでもないんだが・・・

489:デフォルトの名無しさん
07/09/30 14:11:12
自分の知識を整理するって意味では有用じゃないの

他人からしたらあまり意味ないけど

490:デフォルトの名無しさん
07/09/30 14:17:52
そんな時のためにチラシの裏があるんだよ

491:デフォルトの名無しさん
07/09/30 14:27:51
ダイレクトX死ね

492:デフォルトの名無しさん
07/09/30 15:12:53
>>486
ごちゃごちゃ言いわけしてるのは君w
まあどうでもいいけど

493:デフォルトの名無しさん
07/09/30 18:40:21
XFileフォーマットに関して質問です。

現在D3DXを使わずにXファイルの書き出しをしています。
しかし、圧縮バイナリ"xof 0302bzip0032"の後の8バイトが何を指しているのか
分からずつまずいています。
前4バイトはおそらく解凍後のバイナリサイズだと思うのですが
残りの4バイトが分からないのです。

ご存知の方いらっしゃいましたらご教示お願いします。




494:479
07/09/30 18:54:05
>>482
おかげさまでできました。
ありがとうございましたm(_ _)m

495:デフォルトの名無しさん
07/09/30 22:08:33
新ねエーきょうみねええーあひゃひゃひゃ
今からここは初心者の性根を叩き
なおすつういみのしょしんしゃすれになるぜーーー


496:デフォルトの名無しさん
07/09/30 22:12:46
新ねえー興味ねええあひゃひゃひゃふあ
つうかいまからここは初心者の性根を叩きなおす
といういみでのしょしんしゃすれになったから

497:デフォルトの名無しさん
07/10/01 00:15:27
>>446
>>451
>>453
>>454
>>457
>>462
>>463
割れOS使ってんなよ

498:デフォルトの名無しさん
07/10/01 00:39:14
最近のSDKはダウンロード時にチェックされんのか
あんま意識してなかったけどそういやそうだった

だから古いのを使いたがるのね

499:デフォルトの名無しさん
07/10/01 07:31:45
古いSDKを使いたがる奴=割れ厨ってことだな

500:デフォルトの名無しさん
07/10/01 11:59:59
XP SP1で止まってる奴は十中八九割れ

501:デフォルトの名無しさん
07/10/01 15:19:08
テクスチャって2の累乗の正方形じゃないとダメみたいなことを
聞いたことがあったようななかったような気がするんですが、
そんな仕様ってありましたっけ?
CreateTextureFromFileとかで普通に読み込んで表示できてるんですが・・・

502:デフォルトの名無しさん
07/10/01 15:37:21
>>501
かつて、そういうGPUがあった。

503:デフォルトの名無しさん
07/10/01 15:57:57
>>501
TextureCaps の D3DPTEXTURECAPS_POW2 フラグと
D3DPTEXTURECAPS_SQUAREONLY フラグが立っているときがそれ。

504:デフォルトの名無しさん
07/10/01 16:34:19
>>503
全然気にせず作っていた、、、どの世代のGPUってそんな制限あったんだろう?
そのCAPってDX9だけどDX10にはCAPがないからその制限ないのかな?


505:デフォルトの名無しさん
07/10/01 18:15:20
>>504
2の累乗制限に関しては
・条件付きnon-pow-2サポート
・無条件non-pow-2サポート
の2種類がある。
URLリンク(msdn2.microsoft.com)

[条件付きnon-pow-2サポート]
D3DPTEXTURECAPS_POW2==TRUE && D3DPTEXTURECAPS_NONPOW2CONDITIONAL==TRUEのとき

[無条件non-pow-2サポート]
D3DPTEXTURECAPS_POW2==FALSE && D3DPTEXTURECAPS_NONPOW2CONDITIONAL==FALSEのとき

これとは別に、テクスチャの縦横サイズをそろえる必要があるかどうかの
D3DPTEXTURECAPS_SQUAREONLYフラグがある。

PixelShader 3.0への対応条件に
・D3DPTEXTURECAPS_SQUAREONLYがFALSEなこと
・条件付きまたは無条件のnon-pow-2テクスチャをサポートすること
が含まれているので、PixelShader 3.0対応ハードなら基本的に問題ない。
URLリンク(msdn2.microsoft.com)

C:\Program Files\Microsoft DirectX SDK (August 2007)\Samples\C++\Direct3D\ConfigSystem\CardCaps.pdf
にCAPS一覧がある。

>そのCAPってDX9だけどDX10にはCAPがないからその制限ないのかな?
ない。

またIDirect3DDevice9ExはPixel Shader 3.0対応は必須ではないが、
条件付きまたは無条件のnon-pow-2テクスチャをサポートすることは必須になっている。
Aeroが使える環境では必ず何らかのnon-pow-2テクスチャサポートがある。


506:デフォルトの名無しさん
07/10/01 18:38:22
この制限があった有名なビデオカードは3dfx社のVoodooだよね。
もう10年近く前のカード。DX9では本来対応すべきなんだろうけど
今ならフラグをチェックして制限があれば「対応外」としてもかまわない気がする。

507:デフォルトの名無しさん
07/10/01 18:52:17
そしてVoodoo以外はその制限があるカードが確認できない、都市伝説と化している。
あると主張する人が具体的な製品名を挙げることが出来た例は皆無。

508:デフォルトの名無しさん
07/10/01 18:58:52
C:\Program Files\Microsoft DirectX SDK (August 2007)\Samples\C++\Direct3D\ConfigSystem\CardCaps.xls
から調べてみた。
April 2006時点のものらしいので、ドライバのアップデートで変わってるかもしれないことに注意。

[D3DPTEXTURECAPS_SQUAREONLY]
そんなカードは無い。

[pow2のみ]
Pixomatic, Permedia 3, Wildcat VP870, ViperII Z200, 315, Xabre, TNT 2

[conditional non-pow2]
Millennium G450, DeltaChrome, Volari Family, 865G, 945G, RADEON 7000, RADEON 7200, MOBILITY M9,
RADEON 8500, RADEON 9000, RADEON 9100 IGP, RADEON 9200, MOBILITY FIRE GL, RADEON 9600,
RADEON 9700 , RADEON 9800, X300, X700, X800 , X850, X1800, GeForce 2, GeForce4 MX, GeForce3 Ti500,
GeForce4 Ti4200, GeForce FX 5200, GeForce FX 5900

[unconditional non-pow2]
Parhelia, GeForce 6200, GeForce 6800, GeForce 7800, Quadro FX 4400

>507
[pow2のみ]に挙げた7つは制限を持つらしい。
まあいまさら考慮する必要がないと思うけど。

509:デフォルトの名無しさん
07/10/01 18:59:16
二乗制限はまだ結構あるっぽい
正方形制限は今時ほぼなし

って事で大丈夫?

510:デフォルトの名無しさん
07/10/01 19:07:25
>>509
pow2 textureのみサポートはほぼ無くなったけど
条件付きnon-pow2テクスチャサポートの「条件」の部分を忘れやすいので注意という感じ。

A device that exposes this capability can use such a texture if all of the following requirements are met.
・The texture addressing mode for the texture stage is set to D3DTADDRESS_CLAMP.
・Texture wrapping for the texture stage is disabled (D3DRS_WRAP n set to 0).
・Mipmapping is not in use (use magnification filter only).
・Texture formats must not be D3DFMT_DXT1 through D3DFMT_DXT5.

ある程度大規模になってくるとDXTはどうしても使いたくなるので
商用ゲームなんかでは2の累乗を前提としたライブラリにしてると思う。
個人とかデモ用途なら、上の条件を踏まなければたいてい大丈夫。

511:510
07/10/01 19:19:11
まあ大規模って言っても色々あるか。

とにかく条件付きnon-pow2テクスチャサポートのカードは去年の段階でも結構残ってる。
圧縮テクスチャとかミップマップを必須と思うなら
ライブラリレベルで2の累乗化を考慮しておいた方が良いよという感じ。
あと背景のテクスチャとかでテクスチャアドレッシングモードやラッピングモードを弄りたいという場合も
2の累乗化しておいた方が良い。

まあドキュメントにはダメって書いてあっても実際には動いちゃうケースもありそうな気はするけど。

そんな機能は使わんというのなら多分気にする必要はない。

512:デフォルトの名無しさん
07/10/01 20:29:03
でもどうせなら2の累乗にしておくのが速度的には無駄がない悪寒。
# いや、DirectXは詳しくはないんですがGPUのアーキテクチャ的にね

513:デフォルトの名無しさん
07/10/01 20:39:35
>>512
確かにテクスチャキャッシュは2の累乗を前提としている可能性はあるかもね。

とはいえいつも「気楽にやりたい派」と「厳格に行きたい派」の対立なので
必要な情報だけしめして後は各自に任せるでいいんじゃないかと。
ミップマップや圧縮テクスチャを使ったことないって人もいるだろうし。

514:デフォルトの名無しさん
07/10/01 21:23:07
そんなこと言っても、自作ゲームの一枚絵を256x256で分割してる人今でもいるんじゃね?
手挙げてみ。

515:デフォルトの名無しさん
07/10/01 21:48:13
まぁでも普通はきりのいい2の累乗で描くだろうからな。
で、正方形でなくてもいいってなら
とくに制限は無いようなもんか。

516:デフォルトの名無しさん
07/10/02 00:27:31
Error: 外部シンボル 'DirectDrawCreateEx' が未解決
と、メイク時表示されます。
window.hとddraw.hをインクルードしているんですが何が不備なんでしょうか?
BCC devで、Borlandコンパイラ使っています。

517:デフォルトの名無しさん
07/10/02 00:34:52
>>516
どうみてもリンク時のエラーです。本当にあ(ry

リンカにddraw.libを参照させろ。あとdxguid.libも必要になりそうな予感。
BCCなんぞしらんから、方法は自分で調べれ。

518:デフォルトの名無しさん
07/10/02 07:24:21
最近
DirectX以前の問題の質問が多いな

519:デフォルトの名無しさん
07/10/02 08:29:34
bcc32用DirectX SDK
URLリンク(www.clootie.ru)

520:デフォルトの名無しさん
07/10/02 08:32:15
インポートライブラリだけならimplibで生成できるけどD3DXとかのスタティックライブラリは上の使わないとbcc単独では無理
(VC++とBCBにobjの互換性がない)

521:デフォルトの名無しさん
07/10/02 09:25:52
>>519
上のやつ以外にdirectX SDKも必要


522:デフォルトの名無しさん
07/10/02 09:56:15
ゲーム画面のジャギーを消したいんで、CreateDeviceのとき
D3DPRESENT_PARAMETERDの”MultiSampleType”に
D3DMULTISAMPLE_2_SAMPLESを設定してるんですが、
UI用に2Dの変換済みポリを描画するときにはアンチがかかってほしくないです。

こういうときはどうしたらいいでしょうか?

523:デフォルトの名無しさん
07/10/02 19:07:22
MultiSampleTypeは随時切り替えられるようなメソッドってないですよね?

524:デフォルトの名無しさん
07/10/02 19:24:55
D3DRS_MULTISAMPLEANTIALIAS


525:デフォルトの名無しさん
07/10/02 22:47:17
C++でdirectx9を使っている素人です。

1 バックバッファクリア
2 予めファイルから読み込んでいた小さな正方形テクスチャをバックバッファに並べてマップを作る
3 予めファイルから読み込んでいたプレイヤー用のテクスチャをマップ上に描画
4 バックバッファをサーフェイスに転送し表示

1~4を繰り返す中で3の表示位置をずらすことで移動を表現しているのですが、
2を毎回行うためやたら処理が遅くなります。
そこで予め大きなテクスチャに小さなテクスチャを並べてマップを作っておいてそれを2で
バックバッファに貼り付けようと思うのですが方法が見つからず困ってます。

D3DXCreateTextureで作成したテクスチャにD3DXCreateTextureFromFileで読み込んだ
テクスチャを並べるにはどうすればよいのでしょうか?
LockRectして描画は思っているのとは違う気がします・・・

526:デフォルトの名無しさん
07/10/02 22:55:32
>>525
なんでわざわざロード時に作る必要あんの?
HDDなんて広大なんだから、あらかじめフォトショップでくっつけておけよ

527:525
07/10/02 23:07:38
>>526
ランダム要素を取り入れるため動的に生成できたらなと^^;
でかいマップを作って部分ずつ表示したほうが楽でしょうか

528:デフォルトの名無しさん
07/10/02 23:09:14
>>525
つーか、それってなんかおかしくね?
どんだけマップ並べたらパフォーマンスが落ちるんだよw

テクスチャを1枚描画するたびに
BeginSceneとEndSeneを毎回読んでるとか
座標を更新するのに
毎回ロックして直接書き込んでるとか
そういうアホな落ちじゃねぇの?

529:デフォルトの名無しさん
07/10/02 23:20:38
つーか525ってRPGでマップ描画するときの定石じゃね?

530:デフォルトの名無しさん
07/10/02 23:26:09
>>525
いまどき何も考えずベタにチップ描画しても、たいして負荷があるとは思えないけど。
2をどうやってるのか描くんだ。たぶん犯人はそこだ

531:525
07/10/02 23:36:20
g_d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 0.0, 0);
g_d3ddev->BeginScene();
if(!g_d3dsp)
{
 D3DXCreateSprite(g_d3ddev, &g_d3dsp);
}
g_d3dsp->Begin(NULL);

// ここでマップを描いてる(つもり)
for(int y = 0 ; y < SCREEN_GRID_Y_MAX ; y++) {
 for(int x = 0 ; x < SCREEN_GRID_X_MAX ; x++) {
  RECT rc = {0, 0, 32, 32};
  D3DXVECTOR3 center(0, 0, 0);
  D3DXVECTOR3 pos((float)(x * GRID_WIDTH), (float)(y * GRID_HEIGHT), 0);
  g_d3dsp->Draw(g_map_texture, &rc, ¢er, &pos, 0xFFFFFFFF);
 }
}

// ここでプレイヤーを描いてる(少しずつ動かす)
RECT rc = {0, 0, 32, 32};
D3DXVECTOR3 center(0, 0, 0);
D3DXVECTOR3 pos(hoge_x, hoge_y, 0);
g_d3dsp->Draw(g_player_texture, &rc, ¢er, &pos, 0xFFFFFFFF);

g_d3dsp->End();
g_d3ddev->EndScene();
g_d3ddev->Present(NULL, NULL, NULL, NULL);

>>529ですです。win32apiでHDCとかでガリガリ書いたことがあるのですがDirectXならもっと簡単にできるのではと。

晒すけど怒らないでね♥

532:デフォルトの名無しさん
07/10/02 23:40:47
なんで毎回D3DXCreateSpriteしてるん?

533:デフォルトの名無しさん
07/10/02 23:41:20
テクスチャ座標を適切に設定した頂点リストを作れば一発で描画できるだろ。

534:デフォルトの名無しさん
07/10/02 23:42:44
さげ

535:デフォルトの名無しさん
07/10/02 23:45:38
チュートリアルをすっ飛ばしてID3DXSpriteなんか使うから余計なところで苦労することになる。

536:デフォルトの名無しさん
07/10/02 23:51:03
>>532毎回じゃないっす。ウィンドウ最小化して戻したときにResetした時ぐらいです。

見よう見まねでよくわかってないです・・・わかるように教えれ・・・。

537:デフォルトの名無しさん
07/10/03 00:01:39
>>536
5行目!おまえは自分のソースもよめねーのか

538:デフォルトの名無しさん
07/10/03 00:25:19
ポインタがnullだったらになっているから毎回やっているわけではないだろう。

とりあえずはID3DXSpriteを使うのをやめれば解決するだけの話。

539:デフォルトの名無しさん
07/10/03 00:43:55
>>531
これ、解像度1024x768?
だったら

1024/32で32
768/32で24
32x24で768回DrawPrimitive呼んでるからこれやると遅くなるよ

あらかじめフォトショップでチップを配置してマップにしろ
それかロード時にチップからチップEX(極小チップを
もうちょっとまとめた単位、理解できる?分子→原子→中性子みたいな関係だw)
テクスチャを作成(これはできるよな?)

仕組みがゲームの仕様に食い込んでるから
もし仕事でやってるなら企画とデザイナに相談しないと駄目だな
速度に問題がでなくてかつ汎用性を維持した程度にチップをある程度まとめなきゃ駄目だろ
極小単位のチップって絵的な問題だろ?でもマップの汎用性の単位のチップはもっとでかいだろ?
そこの仕様をカッキリきらんとどうにも身動きとれないね
難しいのはプログラムじゃなくて仕様がふにゃふにゃだからだな

540:525
07/10/03 01:01:27
>>539
画面いっぱい使っているわけではないので400回くらいです。
個人的に製作してるので仕事ではないです。

今までずっと変態御用達エディタでガリガリC書いてコマンドラインでコンパイルしてたんですが、
VisualC++とDirectXでゲームでも作って見ようかと思ったのがきっかけです。
CとWin32APIでガリガリするよりはよほど建設的だと感じますが、わけわからんw

頂点とかで混乱してたところにspriteなんて便利そうななもの見つけたばっかりにとんだ・・・
現在spriteを使わないように書き換えています。
なかなかエラーが取れない;

541:デフォルトの名無しさん
07/10/03 01:03:48
DirectSoundでの効果音の管理など、いろいろな場所で読み込みや
再生の関数を使う必要がある場合、クラスにまとめず、ばらばらの関数として
使用できる設計にするべきなのでしょうか?何かいい方法があれば教えてください

542:デフォルトの名無しさん
07/10/03 01:23:10
Visual C++2005で
URLリンク(www.h2.dion.ne.jp)
のコードをコンパイルしたらエラーがいっぱいでてくるんですが・・・
最初に #include "stdafx.h" を、ソースに追加しましたか?とでて
そのとおりにしたら
識別子が足りないとか、型指定がありませんとか
どうすればいいのでしょうか?

543:デフォルトの名無しさん
07/10/03 01:35:35
古い情報を参照するのをやめるか、エラー事に自分で一つ一つ対処するか。

544:デフォルトの名無しさん
07/10/03 04:39:41
->Releaseで落ちちゃうってことはつまりどういうことですかね?

545:デフォルトの名無しさん
07/10/03 07:03:09
インタフェースがすでに存在していないとか

546:デフォルトの名無しさん
07/10/03 07:25:06
インタフェースがまだ存在していないとか

547:デフォルトの名無しさん
07/10/03 07:41:23
デバッグで見てみたらIUnknownの中の
__vfptrの中が(エラーです:式を評価できません)ってなってました
これはつまり・・・>>545>>546ということでしょうか?


548:デフォルトの名無しさん
07/10/03 07:51:24
つーか、
なにが、いつ、どうやって落ちるのか
書いてもらわんとわかんね

549:デフォルトの名無しさん
07/10/03 09:09:45
LPDIRECTSOUNDBUFFER8のリリース時になります
ちゃんとこれで音も鳴らせるんですが、終了時にまとめて解放するところで引っかかります
エラーメッセージはこんなんです↓
(実行ファイル名) の 0x0....... でハンドルされていない例外が発生しました:
0x0.......: 場所 0x0....... を読み込み中にアクセス違反が発生しました

550:デフォルトの名無しさん
07/10/03 12:21:15
デバッカが使えるなら
いつまでそのポインタが有効で
いつからそのポインタが無効になってるかわかるんじゃねえの?

551:デフォルトの名無しさん
07/10/03 12:36:51
「どこで」解放しようとしてるかも重要かもね

クラスのデストラクタとか
コールバックとか別スレッドで解放しようとすると
設計が悪いと無効なポインタ場合もあるし

552:525
07/10/03 14:06:36
あれからspriteを使うのをやめて
SetFVF SetTexture DrawPrimitiveUp
を使って表示してみましたが描画は遅いままでした。
一枚絵にしても遅い。
んで、VMwareから出して実行したところ早い早いw
原因はVMwareです。
どうもお騒がせしました_| ̄|○

553:デフォルトの名無しさん
07/10/03 14:35:39
>>552
氏ね

554:デフォルトの名無しさん
07/10/03 17:06:35
あらかじめ書いとく

>>552の人気に嫉妬

555:デフォルトの名無しさん
07/10/03 18:52:21
誰か、D3DXMatrixTranslationとSetTransformをわかりやすくオレに教えてーー!!。



556:デフォルトの名無しさん
07/10/03 19:11:00
>>555
俺が教えて欲しいよ!!ばーか!!!

557:デフォルトの名無しさん
07/10/03 19:12:09
っ 線形代数の教科書

558:デフォルトの名無しさん
07/10/03 21:24:02
>>555
平行移動用の4x4行列を作るのにD3DXMatrixTranslationなんて要らない。
シェーダで組むからSetTransformも要らない。


559:デフォルトの名無しさん
07/10/03 21:29:30
初心者が自分の覚えたところまでの復習のついでに立ち上げたような
糞みたいな入門サイトでも読んでるのか

560:デフォルトの名無しさん
07/10/04 00:43:33
いままで頑張ってきたけどもう無理
ごめんみんな、俺ライブラリ使います

561:デフォルトの名無しさん
07/10/04 06:14:18
>>559
それ俺のサイトw

562:デフォルトの名無しさん
07/10/04 21:24:23
ピクセルの輝度値をもとに処理をかけたいのですが、この場合、各ピクセルに対し
RGB→YUV変換(Yのみ)の計算を施さないといけないのでしょうか?
それとも、もっと高速に変換してくれるDirectXのAPIがあったりするんでしょうか?
よろしくお願いします。

563:デフォルトの名無しさん
07/10/05 01:00:34
>>562
DirectXそのものにはYUVはサーフェイスの確保とか簡単なことしかサポートしてないし、現状だとDX9だけしかサポートしてない。
VistaならDXVA2とDX9を組み合わせると良いかもね。


564:デフォルトの名無しさん
07/10/05 11:06:31
HLSLでnoise関数が使えませんというか使うとコンパイルが通りません。
こちらのページでは普通に使えそうに書かれているのですが、
URLリンク(msdn2.microsoft.com)

こちらのページではnot yet implimentedとなっています。
URLリンク(msdn2.microsoft.com)

やっぱり使えないのでしょうか。同等の事を行う一番手っ取り早い方法はないでしょうか。

565:デフォルトの名無しさん
07/10/05 17:51:16
DirectShowで再生してる動画の上にテキストを置きたいんですけど(ニコニコ動画みたいな感じに)
普通に再生している動画をSetWindowPositionでウィンドウに表示させて、そのウィンドウの子ウィンドウとして
スタティックコントロールを動画の上に置こうとすると、動画の下に隠れてしまいます。
WS_EX_TOPMOSTを指定しても隠れてしまいました。

そこで、SetWindowPositionでウィンドウに動画を表示させるのをやめて
グラバフィルタでフレームを取得して、フレームを取得するごとに呼ばれる
コールバック関数内で取得したフレームをウィンドウに再描画するという形にしたところ
スタティックコントロールが上手く見えるようになりました。

しかし、今度は動画の再生が進むうちに動作が重くなってしまい、コマ飛びが起きるようになってしまいました。

コマ飛びが起きないような方法はないでしょうか。


566:デフォルトの名無しさん
07/10/05 18:50:01
DirectShowからイメージデータだけDIBで受け取って、後から合成すればいい。

567:デフォルトの名無しさん
07/10/06 20:44:59
Xファイルから読み込んだメッシュを徐々に透明にしていくにはどうしたらいいですか?

568:デフォルトの名無しさん
07/10/06 20:50:14
モルダーあなた疲れてるのよ

569:デフォルトの名無しさん
07/10/06 21:29:02
人体消失現象は絵空事ではない。

570:デフォルトの名無しさん
07/10/06 21:32:36
徐々だったら、アクトン・ベイビーのスタンド能力の発現でいける

571:デフォルトの名無しさん
07/10/07 00:14:41
おまえらちゃんとおもしろいこと言えんじゃん

572:toshi(485)
07/10/07 00:37:07
>>488
レス感謝。・・・回答頂いたのにレス遅くなりました。
2ちゃんアクセス規制に巻き込まれた・・・。
>プロジェクション変換はスクリーン座標に変換するものではなくビュー変換から射影座標に変換するためのもの
なるほど。スクリーン座標前の変換である「プロジェクション変換」って記述はNGですね。本では、射影座標とプロジェクション変換が一緒になっていた(^^;)。WEB見たら理解出来ました。
勉強になります。ありがとうございました。m(_ _)m
ちなみにhtmlの方も修正しました。なかなか勉強になっています。皆様に感謝です。
URLリンク(toshi104.odap.jp)

573:565
07/10/07 16:59:46
>>566
ありがとうございます。
後から合成すれば確かに負荷とかの問題はクリア出来そうなんですけど
最終的にはストリーミング動画再生を行いたいので、イメージデータを受け取って
すぐに再生したいんです…。

何か他に方法はないでしょうか・・・。

574:デフォルトの名無しさん
07/10/07 17:16:48
だからリアルタイムにイメージデータを取得して、合成したのをその場で再生すればいいだろ。
いったい何を言ってるんだ?

575:565
07/10/07 17:33:16
そうすると565で書いたグラバフィルタでフレームを取得して再生っていうのと変わらなくないですか?
合成っていう部分がよく分かっていないのでしょうか。

576:デフォルトの名無しさん
07/10/07 17:35:24
だから一度DIBに落として、DIB側で合成を終わらせた後にそれを描画するだけ。
余計なコントロールを使う必用は微塵もない。

577:565
07/10/07 18:06:41
度々申し訳ありません。

/*コールバックしてもらうための自前のクラス*/
class mySampleGrabber: public ISampleGrabberCB
{
public:
/*コンストラクタ*/
mySampleGrabber(){}
/*目的の関数*/
HRESULT STDMETHODCALLTYPE BufferCB(double SampleTime, BYTE *pBuffer, long BufferLen){
g_pImageBuffer = (long *)pBuffer; //画像データを受け取るバッファのポインタ
g_BufferSize = BufferLen; //画像データを受け取るバッファのサイズ
InvalidateRect(hWnd, NULL, FALSE) //メインウィンドウの再描画;
return S_OK;
}
/*使わないので実装なし*/
HRESULT STDMETHODCALLTYPE SampleCB(double SampleTime, IMediaSample *pSample){
return S_OK;
}
/*ここは本当は実装するべき?*/
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject){
return S_OK;
}
STDMETHODIMP_(ULONG) AddRef(){
return S_OK;
}
STDMETHODIMP_(ULONG) Release(){
return S_OK;
}
}
このクラスのBufferCBメソッドをコールバック関数としてイメージを取得する度に呼び出しているんですけど
これだとDIBに落として合成を終わらせた後に描画するだけという処理にはならないのでしょうか。;

578:565
07/10/07 18:09:09
すみません、インデントがずれてしまいました。

/*コールバックしてもらうための自前のクラス*/
class mySampleGrabber: public ISampleGrabberCB
{
public:
/*コンストラクタ*/
mySampleGrabber(){}
/*目的の関数*/
HRESULT STDMETHODCALLTYPE BufferCB(double SampleTime, BYTE *pBuffer, long BufferLen){
g_pImageBuffer = (long *)pBuffer; //画像データを受け取るバッファのポインタ
g_BufferSize = BufferLen; //画像データを受け取るバッファのサイズ
InvalidateRect(hWnd, NULL, FALSE) //メインウィンドウの再描画;
return S_OK;
}
/*使わないので実装なし*/
HRESULT STDMETHODCALLTYPE SampleCB(double SampleTime, IMediaSample *pSample){
return S_OK;
}
/*ここは本当は実装するべき?*/
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject){
return S_OK;
}
STDMETHODIMP_(ULONG) AddRef(){
return S_OK;
}
STDMETHODIMP_(ULONG) Release(){
return S_OK;
}
}


579:デフォルトの名無しさん
07/10/07 18:19:37
こっちで聞いた方がいいんじゃないかしら。

DirectShowと戦うスレ Part 2
スレリンク(tech板)

580:デフォルトの名無しさん
07/10/07 18:28:53
データを受け取るだけで何もしないのに表示されたらそれは魔法だ。

581:562
07/10/07 20:28:05
>>563
なるほど。
ありがとうございました。

582:デフォルトの名無しさん
07/10/10 13:24:52
すみません。質問です。
 DirectX 9.0をインストール仕様と努めましたがインストールできません。
どうすれば宜しいでしょうか?教えてください。

583:デフォルトの名無しさん
07/10/10 13:59:57
>>582
ランタイムの話ならすれ違い
あとOSくらいちゃんと正規品買おうな

584:デフォルトの名無しさん
07/10/10 14:57:30
>>582
DLページで「続行」か「Continue」って書いてあるボタン押せ。エラー出たら正規のWindows買え。

585:デフォルトの名無しさん
07/10/10 17:52:04
いや、いまなんだか知らんけどダウンロードセンターつながらないのよ
詳細が出てるかと俺もここに来た訳だがしばらく待ってみるか

586:デフォルトの名無しさん
07/10/10 19:22:57
割れ厨は消えればいいと思うよ

587:デフォルトの名無しさん
07/10/10 21:28:04
OS割れるとか愚かすぎる

588:デフォルトの名無しさん
07/10/10 22:19:37


589:デフォルトの名無しさん
07/10/10 22:38:17
URLリンク(aol.okwave.jp)
これか?

590:デフォルトの名無しさん
07/10/12 01:47:53
DirectXのサンプルをいろいろ見てると、メッシュを表示するときに
自前でDrawIndexedPrimitveとかを呼んでるのと
DrawSubsetを呼んでるのがあるんですけど、
この二つで出来ることに違いってあるんでしょうか?
(ボーンブレンディングはDrawSubsetじゃ出来ない、とか)

591:デフォルトの名無しさん
07/10/12 08:14:47
たとえばモーフィングとかシャドウマップ用の
頂点のストリームを複数持って必要な部分だけ切り替えるとか


592:デフォルトの名無しさん
07/10/12 11:49:55
DrawSubsetも最終的にはDrawIndexedPrimitive呼んでるんじゃないの?

593:デフォルトの名無しさん
07/10/14 23:24:39
爆発や水面の波などの表現方法を紹介した書籍やサイトはありませんでしょうか。
自分で練ったところで内部的には大して変わらなかったり
いわゆるHow to本だと1通りだけしか書かれてないなど、
エフェクト周りの知識が深まらないという状態になっています。


594:デフォルトの名無しさん
07/10/14 23:30:29
>>593
sample見れ

595:デフォルトの名無しさん
07/10/15 00:01:09
ゲームの体験版やってみる
たまにテクスチャやシェーダが読めるものもあるし。


596:デフォルトの名無しさん
07/10/15 00:05:07
誰が勉強や研究やるっつったよ
良いパクリ元教えろっての

597:デフォルトの名無しさん
07/10/15 01:12:32
RenderMonkeyとか、nVidiaのそれとか
良いパクリ元になるよ

598:デフォルトの名無しさん
07/10/15 01:32:00
>>596
馬鹿かお前、
どのゲームもエフェクトなんて上からムービーかアニメーションモデル被せて終了なんじゃボケ
アルファなんて重ねたらトータルコスト跳ね上がるんじゃボケ
PC移植したときにアルファ処理弱いんじゃボケ
パクリも糞もどこも横一線でムービー被せて終了なんじゃボケ
爆発だって、水面だって、木漏れ日だって、よくみりゃムービーなんじゃボケ
カメラ固定しろボケ
一番軽いのがそれなんじゃボケ
デザイナにすべてまかせたほうが効率いいんじゃボケ
いまどきプログラムでメガデモ気取りでそんなもん作ってるアフォチョーキモイんじゃボケ
汎用性ちょっとつけりゃムービーもテクスチャなんじゃボケ
つまり

モデルロード→アニメーション

で終了
プログラマの介入一切無し、完

599:デフォルトの名無しさん
07/10/15 12:22:30
時代はラスタスクロール

600:デフォルトの名無しさん
07/10/15 13:32:47
>>598
ス☆テ☆キ☆

601:デフォルトの名無しさん
07/10/15 21:29:26
なるほど、欧米に技術が追いつかないわけだ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch