[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/06 18:57 / Filesize : 237 KB / Number-of Response : 929
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part14 【C】



1 名前:デフォルトの名無しさん [2007/09/08(土) 22:21:46 ]
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

【C++】 DirectX初心者質問スレ Part13 【C】
pc11.2ch.net/test/read.cgi/tech/1182351826/

2 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 22:22:28 ]
【関連サイト】

MSDN DirectX
www.microsoft.com/japan/msdn/directx/default.aspx

DirectX Home Page
www.microsoft.com/japan/windows/directx/default.mspx

BBX (掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/

DXライブラリ置き場
ttp://homepage2.nifty.com/natupaji/DxLib/

Lamp:ゲーム開発とその学習をサポートするミドルウェア
ttp://lamp.sourceforge.jp/

TWINTAIL LOVERS.
ttp://www.twin-tail.jp/

Pastel's Laboratory
ttp://www.roy.hi-ho.ne.jp/pastel/home/index.html

GamDevPukiWiki - DirectX総合スレ (過去ログ等)
gamdev.org/w/?%5B%5BDirectX%C1%ED%B9%E7%A5%B9%A5%EC%5D%5D

GamDevPukiWiki - 3DCG製作ソフト (過去ログ等)
gamdev.org/w/?%5B%5B3DCG%C0%BD%BA%EE%A5%BD%A5%D5%A5%C8%5D%5D

ゲームを作るための素材を集めよう まとめサイト
paw.my-sv.net/index.html

3 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 07:27:58 ]
スマートポインタの話題禁止

4 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 08:36:08 ]
読み込んだメッシュを描画高速化のために最適化しようと考えているのですが
上手くいっているのか分かりません。

D3DXLoadMeshHierarchyFromXでメッシュを読み込んだ後にOptimize関数を
使ってメッシュを最適化しているのですが、速度が全然変わってないように
思えます。

D3DXLoadMeshHierarchyFromXを実行した際に
「 Miss rate before optimization: 1.000000 」
というデバッグメッセージが流れているのでD3DXLoadMeshHierarchyFromX内で
既に最適化処理をしているという事でしょうか?

5 名前:デフォルトの名無しさん [2007/09/09(日) 13:11:51 ]
D3DPOOL_DEFAULTなテクスチャをLockしてる間に
デバイスをロストしたらUnlockしないとマズー?


6 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 14:04:31 ]
ロストには

@.D3DDeviceがロストするとき(この場合はPOOLなんとかで作ったものも関係なく死ぬw)
A.リソースだけがロストするとき(この場合はPOOLなんとかで作ったもんは中途半端に生きている)

の2つがあって対処方法は2つ

T.それぞれの場合に対してキチンと対処する
つまり、@の場合の対処はD3DDeviceまで一度完全に破棄して、すべて作り直す
Aの場合の対処はD3DDeviceは生きているので死んだリソースだけチェックして
死んだリソースのみ復旧作業を行う

U.@もAもD3DDeviceまで一度完全に破棄して、すべて作り直す

大抵は面倒なのでほとんどの人はUの方を選ぶと思う
復旧にゲームの仕様まで絡むときもあるので注意して組むこと
諦めるのも手ではある

7 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 15:19:23 ]
>>6
Thanks!

8 名前:5 mailto:sage [2007/09/09(日) 15:42:13 ]
追加で質問なんだが
D3DDeviceがロストすると
D3DPOOL_DEFAULTなテクスチャの中身はあきらめ?
GPGPUみたいなことをやりたいんだが。


9 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 17:13:21 ]
>>8
D3DDeviceがロストするとすべてが駄目

10 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 17:40:58 ]
>>9
ども



11 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 21:57:31 ]
D3DXCreateTextureFromFileExでテクスチャを読み込む時にサイズを指定して
テクスチャの解像度を元のリソースより低めにして読み込んでるんだけど、
そのまんまの解像度で読み込んだ時と描画FPSが変わらない気ガス

元のリソースの方の解像度を変えないと描画速度変わりませんか?
高解像度と低解像度のリソース用意するのメンドクサイのですが・・・

12 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:21:14 ]
見当違いで無意味な最適化の努力で悩むのが初心者の特徴



13 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:23:13 ]
違う。脱初心者の背伸びを温かく見守るべき

14 名前:デフォルトの名無しさん [2007/09/10(月) 05:25:00 ]
今、DirectX SDKについてくる、チュートリアルを見ながら勉強しています。
Tut04_Litghs(円柱がくるくるまわるやつ)をいじっていろいろ試しているのですが、
D3DXMatrixPerspectivForLHで射影変換行列を得るときに、
第4引数の、近い方の前方投影面を小さな値にすると円柱の外側の面が欠けたように見えるのは
なんでなんでしょうか?
0.00008fぐらいにすると少し欠けて見えて、0.00001fにすると半分が消えたようになって見えます。

もともとは近い投影面が0でもいいのかどうかということが知りたくて、0にしたら半分が欠けてしまって、
いろんな値で試したらこうなったのですが、欠けてしまうことの理由がよく分からないです。
なぜなのでしょうか?

15 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 06:41:02 ]
>>14
最終的にZn〜Zfが0〜1になるように変換されるので、Zf/ZnがZバッファの
精度に影響する。

Znを0にしてしまうと計算上すべてのZが同じ値になってしまうので、Zバッファが
全く機能しなくなる。

16 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 06:43:44 ]
>>5さんではありませんがリソースだけのロストがあるんですか・・
デバイスロストしか知らなかった。

便乗してすみませんが質問してもいいですか。
ID3DResource9にロストを調べるAPIがないようなのですが
ロストしたことを知るにはどうしたらよいのでしょう?

17 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 07:04:07 ]
俺がやってたときはIsLostとかあった気がするけどねw

18 名前:16 mailto:sage [2007/09/10(月) 07:59:12 ]
>>17
レスありがとうございます。
DX8,DX9のヘルプを見てみたのですが
自分が探した範囲では IsLost 見つからないです。
DX8/9で関係がありそうなのはGet/SetPriority, Preload あたりでしょうか。
生成時にSetPriorityでそこそこ高い値を設定してGetPriorityで0が返ったら
管理下にないのでPreloadを実行?ですかね・・。よくわからないです。

19 名前:デフォルトの名無しさん [2007/09/10(月) 11:32:55 ]
ID3DXCreateBoxで作ったメッシュから
自力で頂点を集めて自力でワイヤー表示したいです。(RenderStateの設定とか使わずに)
おおかたうまく表示できているのですが、何本か正しくない飛び出た線が描かれてしまいます。
まったく原因が分からないんですが、やり方は正しいでしょうか?

****************************************
//頂点宣言など
struct Face{
D3DXVECTOR3 v0;
D3DXVECTOR3 v1;
D3DXVECTOR3 v2;
};

struct VERTEX{
D3DXVECTOR3 v;
};
#define FVF_VERTEX (D3DFVF_XYZ)

std::vector<Face> g_vecFaces;

***********************************
//描画部分
for(int i=0;i<g_vecFaces.size(); i++){
g_pD3DDev->DrawPrimitiveUP(D3DPT_LINESTRIP,3,g_vecFaces[i].v0,sizeof(VERTEX));
g_pD3DDev->DrawPrimitiveUP(D3DPT_LINESTRIP,3,g_vecFaces[i].v1,sizeof(VERTEX));
g_pD3DDev->DrawPrimitiveUP(D3DPT_LINESTRIP,3,g_vecFaces[i].v2,sizeof(VERTEX));
g_pD3DDev->DrawPrimitiveUP(D3DPT_LINESTRIP,3,g_vecFaces[i].v0,sizeof(VERTEX));
}



20 名前:19 [2007/09/10(月) 11:33:59 ]
つづき
*****************************************
//頂点集め
D3DXCreateBox(g_pD3DDev,2.0f,2.0f,2.0f,&g_pBox,NULL);

//バーテックスバッファ取得
BYTE* vb;//先頭のポインタ
g_pBox->LockVertexBuffer(D3DLOCK_READONLY,(void**)&vb);

//FVFサイズ取得
DWORD FVFSize;
FVFSize = D3DXGetFVFVertexSize(g_pBox->GetFVF());

std::vector<D3DXVECTOR3> vertices;
D3DXVECTOR3 *v;
for(unsigned int i=0;i<g_pBox->GetNumVertices();i++){
v = (D3DXVECTOR3*)( vb + (FVFSize * i) );
vertices.push_back(*v);
}

g_pBox->UnlockVertexBuffer();
unsigned short *ib = NULL;
g_pBox->LockIndexBuffer(D3DLOCK_READONLY,(void**)&ib );
for(UINT i=0; i<g_pBox->GetNumFaces()-1; i++){
Face face;
face.v0 = vertices[*ib++];
face.v1 = vertices[*ib++];
face.v2 = vertices[*ib++];
g_vecFaces.push_back(face);
}
g_pBox->UnlockIndexBuffer();
ここまで



21 名前:19 [2007/09/10(月) 12:01:53 ]
for(UINT i=0; i<g_pBox->GetNumFaces()-1; i++){

じゃなくて

for(UINT i=0; i<g_pBox->GetNumFaces(); i++){

でした。
試行錯誤していろいろ弄ってたのが残ってました。

22 名前:4 mailto:sage [2007/09/10(月) 15:25:42 ]
>>12
そのとおり最適化について全然分かっていない初心者なので、どの当たりが
見当違いなのかご指摘お願いします。

DX90SDKのOptimizeMeshを見ながらやっているのですが、階層構造の
スキンメッシュの場合だと、サンプルのソースをそのまま使う事も
出来ず困っています。
せめて勘違いしている部分だけでも・・・!

23 名前:11 mailto:sage [2007/09/10(月) 15:34:27 ]
漏れも最適化したいけど全然分かっていないのでアドバイス頼む!

24 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 18:45:58 ]
複数アニメーションのXファイルをmeshviewerで保存するとモーションの
順番が逆転するんだけど、これって防ぐ方法ってないの?

25 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 18:49:34 ]
meshviewerってXファイルを書き出す時にメッシュの形でエラーのある部分を
修正する機能があって重宝しているんで、ちょっと困ってる

26 名前:デフォルトの名無しさん [2007/09/10(月) 18:57:09 ]
>>15
なるほど。0〜1に変換されるというところが分かってませんでした。
ありがとうございました。

27 名前:デフォルトの名無しさん [2007/09/10(月) 19:32:46 ]
画面上に半透明な四角を表示するにはどうしたら良いですか?

28 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 22:54:00 ]
チュートリアルをきちんとやると出来るようになります。

29 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 00:40:55 ]
D3DXMatrixTranslation()などで指定する移動量って単位は何なんでしょうか??

30 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 00:59:32 ]
単位は自分で決めた通りのもの



31 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 02:07:45 ]
meshviewerってソースあるんだろ。好きなように改造すれば

32 名前:デフォルトの名無しさん [2007/09/11(火) 11:32:48 ]
directXで3Dクイズゲームを作っています。
回答は、画面上にキーボードから打ち込んで
答えるようにしたいと思っています。

そこで質問なんですが、3Dポリゴンが表示されている画面上にいっしょに
テキストボックスやボタンを表示するにはどうしたらよいですか?

33 名前:32 [2007/09/11(火) 11:37:00 ]
例ですが、
nichiyo-web.hp.infoseek.co.jp/page004.html
このことわざ蛍のようにテキストボックスを表示したいということです。

34 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 12:04:43 ]
>>33
SDKにそのまんまのクラスあったような‥‥

35 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 12:12:33 ]
D3DXの使いにくい機能を使うか、
フルスクリーンにしないことを前提に標準コントロールを使うか、
自前で実装するか。

36 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 12:40:55 ]
か、
DXUTのテキストボックス使うか、
DXUTのソース参考に自分で実装するか、
あきらめる。

Vista対応も考えるとなるとIME周りが非常に面倒。

37 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 13:14:15 ]
>>32
IDirect3DDevice9::SetDialogBoxModeを使えばフルスクリーンでもGDI関係と
一緒に使えるが、テキストボックスやボタンを子ウィンドウとして作成しても
問題ないかは試したことがないな。

38 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 13:22:59 ]
>>37
子ウィンドウをクリップするよう気をつけてPresentしないと塗りつぶされちゃうよ

39 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 17:54:23 ]
逆に言うと上書きに気をつければ使えるってことか

40 名前:29 mailto:sage [2007/09/11(火) 19:06:10 ]
>>30
ありがとうございました。
メートル単位でやってみることにします。



41 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 16:33:59 ]
光跡を描画したいんですが、簡単な方法はありませんか?

42 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 18:10:04 ]
まずは簡単の基準を明確にせよ。

43 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 18:11:31 ]
むずかしくてもいいので教えてください

44 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 17:34:27 ]
directplayを使ってローカルのマシン同士で通信を行うプログラムを
組んでいます。

通常の"169.254.205.100"等のIP同士で通信を行う場合は上手くいくのですが
"192.168.1.2"や"192.168.1.3"等のようにルータから割り当てられたIPだと
マシン同士の接続ができません。

しかしながら、人のDirectPlayプログラムのサンプルを実行してみると、
ルータによって割り当てられたIP同士でも通信できる物があるので、
上手くすれば自分のプログラムでも接続できるようになるとは思うのですが、
自分の力ではどうにも限界です。(サンプルのソースが公開終了してたり動作しなかったり)

ルータによって割り当てられたIPアドレス同士で通信を行うにはどうしたらよいのでしょうか?

45 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 18:21:49 ]
出来ないのが逆に不思議

46 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 18:37:13 ]
サンプルソースを幾つか集めてみた中で、ちゃんと接続出来る物の他に
出来ないものもあったのでプログラムの組み方次第で接続出来る様に
なるとは思うのですが・・・。

47 名前:44 mailto:sage [2007/09/13(木) 21:28:28 ]
なんとか解決できました。

デバッグ(F5)によってプログラムを実行させるた際と、実行(Ctrl+F5)
によって動作させた場合で動作が異なっていたのがバグの原因だったようです。

動作が異なっていた部分はHost関数とConnect関数なのですが、なぜデバッグ実行と
通常実行とで動作が異なっていたかが気になります…、とはいえ一応解決です。
ありがとうござました。

48 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 23:04:36 ]
DirectPlayってとっくにMicrosoftに見捨てられてなかったの?


49 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 23:14:35 ]
> Microsoft DirectPlay は不適切となっており、新しいアプリケーションを開発する際それを
> 使わないことを、Microsoft は強く推奨します。その代わり、拡張された Microsoft Windows
> ネットワーク テクノロジを、ゲーム開発者は使うべきです。

もうぶち切れですよ(サポートが)

50 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 09:26:46 ]
>>41
レンダリングターゲット以外に
画面サイズのテクスチャを2枚用意する

まず光跡以外の部分をレンダリングターゲットにレンダリングする

(そのときのZバッファの値をつかって)←発光部分が常に見えているならいらない
テクスチャ1に発光部分をレンダリングする

テクスチャ1を適当に透明度上げてテクスチャ2にレンダリングする

テクスチャ2をレンダリングターゲットに加算合成する

テクスチャ1と2を入れ替える
(つまり前回の発光部分に新しい発光部分を書き加える)
以下繰り返し



51 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 13:26:19 ]
>>50
ありがとうございます。
自分でも調べた結果、サンプルでもその方法で光跡を描画していました。

自分がやりたかったのは発射された弾の後で跡を残しながら飛んでいくというやつなので
その方法ではやりにくいです

2Dなら複数描画して先に描画したものを徐々に半透明にしていくことで
自分のやりたい感じのことができるんですが
3Dで描画(メッシュ)している場合でもそれと同じ方法でやれるものなんでしょうか?

52 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 14:51:20 ]
むしろ2Dは3Dの一部だから基本的に2Dでやってることは3Dで出来る。
なんか変だな。
DirectXの場合、2Dは3Dを平面にしただけと言うべきか。


53 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 15:21:06 ]
ミサイルの煙(曲がるレーザとか)なら、2Dなら平面で楽だけど3Dになると何故か筒状にする人がいたり。
別に3Dだからって煙も3Dにする必要は無く、
ビルボード(常にカメラのほうを向いている面)にして描画してやれば2Dと同じことが表現できる。
この方法だとカメラの目の前からミサイルが飛んでいくと煙が細い線になってしまうので、
ビルボードで描画された煙+それとは別の独立した煙を描画するなど対応する必要がある。

これができれば
3Dシューティングであればミサイルの数を多くして煙の数を増やす→1つのミサイルの煙を出来るだけ軽く
ロケットの打ち上げを見せ場にしたい→描画する自体を煙の数を増やしてロケットから大量の煙を出しているように見せる
など、あとは自分がしたいことに合わせて調節していけばいい。

54 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 15:54:32 ]
光跡と行っても具体的に何を描きたいのか、
3Dの軌跡データをどういうケースでどうレンダリングするか、紙の上で考えてみるといいかと。
俺も今からやるとこなんだけど(・∀・)アヒャ

55 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 20:27:43 ]
なぜメッシュだとできないと思ったのかが不思議だ

56 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 21:35:01 ]
>>53が言うような感じで面倒なケースがあるからだろ。

57 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 21:52:18 ]
慣れれば大したことじゃないけど、分からない状態で組み立てていくと難しく感じるかもね。
やってることはシンプルなんだけど。

58 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 21:57:09 ]
メッシュビューアーで見ると普通なのにメッシュとして読み込んで動かしてみると暗いって言うのは
法線の入れ忘れなんですか?
ライトをFALSEにすると若干明るくなりますが

59 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 21:59:52 ]
そのぐらいデータを見れば分かるだろ。

60 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:06:56 ]
どうやら法線がないようでした
法線を計算して入れるのってどういう風にやればいいんでしょうか?



61 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:09:46 ]
何らかのツール使ってるなら情報出されてないので答えようが無いのは承知の通り。
自分で入れるなら面に対して垂直方向に法泉を入れればいいだけ。

62 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:11:18 ]
メタセコイア+RokDeBoneです
今まで作ったのは勝手に法線入ってあったのになぁ・・・

63 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:12:48 ]
D3DXは使いたくないんですぅってこだわりがないなら
D3DXComputeNormals なんてのもある

64 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:16:38 ]
あ、すいません
法線はXファイルのMeshNormalsっていうのですよね?
これだとベクトルがたくさん書いてあるので法線は入っているみたいです

65 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:22:24 ]
解決しました

>DirectX9の固定機能パイプラインのデフォルト設定では、
>頂点ごとに色が設定されている場合は、それをディフューズ色として使用し、
>設定されていない場合は、代わりにマテリアル(D3DMATERIAL9)の色を使用するようになっています。
>頂点色がある場合に、あえてマテリアルの色を頂点色にしたい場合は以下のようにします。
>g_pd3dDevice->SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL );

これを適用したら、ちゃんと表示されました

66 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:23:23 ]
データに入っているならプログラムが悪い
ファイルの読み込み
ライトの設定
描画の方法
この辺をかいてみそ?

67 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 01:28:34 ]
D3DXFONTなんですが、これで描画するとものすごく遅いですよね
これってDrawText関数を呼び出す回数を減らせばちょっとでも早くなりますか?

たとえば

m_pText->Draw( "あいうえお" );
m_pText->Draw( "かきくけこ" );

とするより

m_pText->Draw( "あいうえおかきくけこ" );

とやった方が速度的には早いんですか?

68 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 01:57:23 ]
>>67
それで速度アップは無理だろうな
ロード字に使う文字だけ一文字ずつテクスチャに描き込んでおいて一気に描画しろ

69 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 08:14:16 ]
>>67
DirectX9cのD3DXSPRITEを用いたD3DXFONT->DrawTextは
結構実用的な速度だったけど、それじゃ駄目なの?
あと、必ず同じ文字を出すなら>>68の方法でやった方が早いよ。

70 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 12:45:30 ]
>>69
DirectX10だとどうすればいいの?




71 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 15:54:46 ]
>>70
コンシューマなら使う文字をテクスチャとして用意して使っている。
DirectXだからってわざわざWindows(IME)が用意しているものを使おうとしていること自体が変じゃないかな。
便利さを取って速度を捨てるか、面倒くさくても速度を取るかはその人次第だけど。



72 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 16:24:42 ]
Direct3D9EX(Vista専用の拡張9)だとフォント用の1bitテクスチャがあった希ガス。
あとそれを使った描画メソッドも。

73 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 16:49:05 ]
・フォントのライセンスどうしよう
・解像度を可変させたいが、作り置きのフォントが伸びてぼけるのはみっともない気がする
(個人製作なら)自前フォントを作るのが手間的に無理

74 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 16:54:40 ]
>>71
フォントとIMEは何の関係もない。
変なのはお前の頭。

75 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 20:09:15 ]
2D で画面がスクロールする描画をするときは、Sprite で背景画像をスクロールする分ピクセルをずらすのですか?

76 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 20:25:41 ]
テクスチャが小規模、例えばそのエリアでは1枚のテクスチャしか使わないのであれば
画面サイズのメッシュを用意してテクスチャ座標をずらすだけでも表現できる。
これの応用で2枚のメッシュを使うことにより複数のテクスチャに対応できる。
手段に正解は無いのでまず適当に作ってから自分の好きなように調整すればヨロシ

77 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 20:49:37 ]
背景を筒状にしてしまうのも手だな

78 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 20:55:25 ]
それはD3DXCreateCylinderとかで作ってテクスチャを貼り付けるとゆう事ですか?

79 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 21:28:35 ]
方法は自由。
「〜ですか?」ではなくまずやってみろ。


80 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 22:18:16 ]
なんでいちいちD3DXの機能が出てくるのか馬鹿の思考は理解できない。



81 名前:デフォルトの名無しさん [2007/09/16(日) 22:55:48 ]
D3DPOOL_DEFAULTなテクスチャがロストしたかどうか
調べるにはどうしたらいい?

82 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:03:19 ]
>>81
リソースが個別にロストするなんて事は無い。
デバイスがロストしたら再構築不可能なリソースは全て無効になる。

83 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:04:46 ]
東京から大阪まで行くのはどうすればいいか → 自分で決めろ
車の場合、高速道路を利用すべきかどうか  → 自分で決めろ

こんな感じの疑問を問いたい気持ちは分かるが、間違ってでも自分で判断してくれ
失敗は成功の元 プログラミングに関してはこの言葉が当てはまるから、無謀でもどんどん失敗して欲しい
・・・と思うのは俺だけでいい(´・ω・`)

84 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:06:42 ]
お説教もいらないから。

85 名前:デフォルトの名無しさん [2007/09/16(日) 23:10:48 ]
>>82
>>6は嘘?

86 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:11:21 ]
>>83
はじめの5行が無かったら素晴らしいレスだったのに

87 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:28:43 ]
>>85
大嘘

88 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:30:54 ]
>>1-88は全部嘘

89 名前:デフォルトの名無しさん [2007/09/17(月) 00:00:31 ]
おまえもうそかよ?

90 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:04:14 ]
何を信じて生きていけばいいの?



91 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:04:50 ]
信じる者は騙される

92 名前:デフォルトの名無しさん [2007/09/17(月) 00:13:18 ]
>>88がしんじつであるとすると
>>1-88はぜんぶうそになる
>>88はうそつきであるから
>>1-88はしんじつに…
もういいかんがえるのつかれた

93 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:15:09 ]
安物RPGのダンジョンの謎解きみたいだな

94 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 03:55:13 ]
>>81
だから、デバイスがロストするときとリソースだけロストするときがあるの
デバイスがロストするとリソースも死亡
リソースだけロストしたときはデバイスは生きてる

95 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 04:00:40 ]
BBXで説明されてるな
bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=32&vew=15


96 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 07:43:20 ]
>>94
リソースだけロストするなんて事はない。
嘘もいい加減にしろ。

97 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 09:22:03 ]
・実体験に基づき、リソースだけロストする状況に遭遇したことがない。
・DirectXの仕様から推測し、リソースだけロストする状況が想定できる。

という葛藤。
前者は、そう言えるほど十分に広い事例を試したのかという問題がある。

98 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 09:47:00 ]
>>96
研究が足り無いな
普通に動かしてりゃ2つの動作があることに気がつくだろ普通
それと、BBXのmasaさんのレス読んだのか?

【こっから】
ちょっとややこしいのですが、
リソースを再作成する必要が生じるタイミングには、
大きく二種類の状態があります。

まず、テクスチャ/頂点バッファ/スワップチェーンなど、
アダプタ(ビデオカード)内の VRAM のみが破棄され、
D3D ランタイムの D3D デバイス管理は生きているというケース。
#極簡単に言えばウィザードで生成されたコードの
#CD3DApplication::m_pd3dDevice ポインタが有効である時

ヘルプに書かれている「デバイスの消失」はこれです。
この場合、ハードウェア内の、つまり VRAM に置いたデータのみが消失しています。
#ウィンドウサイズの変更などで簡単に起こります。

もう一つは、D3D ランタイムの管理する D3D デバイス自体が
完全に破棄/再作成される場合です。
【ここまで】

99 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:04:57 ]
>>98
デバイスがロストでデバイスのインタフェイス自体が使えなくなるわけじゃない。
勘違いも甚だしい。

100 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 10:23:10 ]
>これは、モニタ解像度/色数の変更、フルスクリーン化など
>「ディスプレイの表示モードが変化した場合」や、
>HAL-->REF などのデバイスの切り替えで行われます。

これ大嘘だから。
実際に試してみれば分かるけど、手動管理のリソース開放とResetだけで動く。
デバイスインタフェイス自体を再作成する必用はない。








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<237KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef