[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 02/12 16:22 / Filesize : 34 KB / Number-of Response : 154
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:05:47 ]
※回答する人も、質問する人も必ず読んでください

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

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

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

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

2 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:06:25 ]
【関連サイト】

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 [2008/02/10(日) 18:08:01 ]
>>1


4 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:10:26 ]
ゲーム製作技術板のDirectXスレくらいは足してもいいかと思ったんだけど
過去になんか揉め事があったんだっけ?
まぁいいや。

5 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:22:36 ]
DXライブラリ3D
ttp://fatalita.sakura.ne.jp/3DLib/

6 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:24:53 ]
ttp://www.roy.hi-ho.ne.jp/pastel/home/index.html消えてるが

7 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:52:05 ]
代わりにt-pot入れておこうぜ
www.t-pot.com/program/history.html

8 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:17:36 ]
>>1
そもそもお前よく考えろよ
そんなんで時間って短縮できるの?マジで?
だってさぁ、プレイヤーの入力を受け付けるから次の画面が決定する場合のが多いじゃん?
↑↓→←な
で、時間短縮ってさぁ、プレイヤーの入力は一定タイミングでくるし
入力を受け付けるまで次の画面って描画する意味ないじゃん
ていうか内部の処理が決定しなくね?
キューイングなんてどれだけ意味があるのかさっぱりわからないんだけど?
画面更新が仮に1sごとにくるなら1s以内で処理を終えても
次のフレームの処理なんてやってもたかが知れてると思うんだけど?
ていうか安定しなくね?そんな設計にしちゃそもそも駄目じゃね?

1フレ内での時間短縮は意味があるかもしれないけど
フレーム間同士の時間短縮ってなんかやる意味あんの?


9 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:23:35 ]
あまりに必死すぎる>>700に涙

10 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:26:26 ]
全スレをこのネタで終わらせたしな



11 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:27:06 ]
前スレ

12 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:45:54 ]
っというか、そろそろおもしろがった他人がしてるとしか思えない。

13 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:44:58 ]
何年の何月のSDKにならDirectMusicのインクルードファイルとか入ってますか?(´;ω;`)

14 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:50:59 ]
とりあえずDirectInputも廃止するのはやめて欲しいなぁ
というかXInputがダメすぐる

15 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:08:31 ]
August 2007なら入ってんじゃね?

16 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:01:28 ]
DirectX関連は事実上使われもしない機能が1/3くらいはあるので
毎回根本設計から作り直さないとゴミばかり抱え込むことになる。

世間でプロジェクトがデスマーチ進行に陥るとき、
それを推進する最も有力な力が互換性至上主義である。


17 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:15:51 ]
今ならDX9未満か

18 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:18:21 ]
MSは互換性至上主義でここまで来た会社なので難しいと思います先生
互換性を捨てるならくえりーいんたーふぇーすの存在意義がないです

19 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:33:01 ]
>>13
そんな物には手を出さない方がいいです
1ヶ月ぐらい無駄にして結局DirectSoundに落ち着いた俺が言うんだから間違いない

20 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:51:59 ]
DirectXの勉強をしようとXPx64にSDKインストールしたんですが
ライブラリ ファイルの検索先パスって
C:\Program Files (x86)\Microsoft DirectX SDK (November 2007)\Lib\x86

C:\Program Files (x86)\Microsoft DirectX SDK (November 2007)\Lib\x64
のどっちの方がいいんでしょうか?
どちらでもコンパイル成功してちゃんと動くんですが、x64の方は64bitOS用に
コンパイルされて32bitOSでは動かなかったりしますか?



21 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 02:32:56 ]
32ビットに未練があるなら大人しくx86使ってろ

22 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 02:38:12 ]
>>20
それで合ってるだろ。

23 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 02:49:00 ]
>>21-22
ありがとうございます。そういうことなのね
x86の方をリンクするようにします

24 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 11:20:49 ]
DirectX SDK (November 2007)にはMayaのxファイルエクスポートするプラグイン
のソースついてないの?

25 名前:デフォルトの名無しさん [2008/02/11(月) 13:26:30 ]
クラスのstatic関数でD3DXCreateTextureFromFileExを呼び出すと、
E_OUTOFMEMORYが出て、高頻度でテクスチャーの作成に失敗します。

しかし、成功するときも結構あったり、
直前にウェイトを入れると失敗しなかったりと、
原因がよく分かりません。

原因に予測がつけば、教えてもらえませんでしょうか。

26 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 14:37:19 ]
なんでこういう奴って自分の書いたコードを晒さないんだろうな。
出し惜しみするほどのもんでもあるまいし。
普通にやってれば動くものなんだから、ただ動きませんとか言われても
エスパーじゃない限り回答不能だよ。


27 名前:25 mailto:sage [2008/02/11(月) 14:58:28 ]
コードが分散してて、どこを晒せばいいのか分からないんですが、
D3DXCreateTextureFromFileExの呼び出しはこんな感じです。

D3DXCreateTextureFromFileEx(_pDevice, path, _width, _height,
0, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT,
D3DX_FILTER_NONE, D3DX_DEFAULT,
0xff00ff00, NULL, NULL, &_pTexture);

28 名前:25 mailto:sage [2008/02/11(月) 15:15:12 ]
過去スレに同じ症状が出てたんですが、
CreateDeviceのBehaviorFlagsに、
D3DCREATE_MULTITHREADEDを入れたら失敗しなくなりました。

しかし原因は分からず、ホントにこれでいいのかも不明です。

29 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:04:31 ]
アップローダに上げるなりして全部晒せよ。
全部見られるのが嫌なら、問題が発生する最小の状態にすればいい。

30 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 21:50:19 ]
>>15
アリアリアリーガトーサン!!(礼を申し上げる!)
>>19
何でですか?MIDIはダメですか・・・?



31 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:55:58 ]
>>30
MIDIを扱うならDirectMusicでいいと思う
waveを扱うなら俺もDirectSoundの方がいいと思う

32 名前:デフォルトの名無しさん [2008/02/11(月) 23:11:27 ]
失礼します

メタセコイアでモデリング⇒RokDeBone2でモーション作成⇒DirectXを使ったソフトでモーションを操作しようとしています。

現在、モデリングは完了し、とりあえずボーンだけ入れてモーションつける手前なのですが、
この後、上記の事をさせたい場合はどのようにすればいいのでしょうか?

モーション付きxファイルのモーションを操作する方法が分かっていない為、
こちらに書き込んだのですがスレ違いでしたらよければ誘導お願いします。

33 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:20:26 ]
DirectMusicは、ちょっとBGMを鳴らす程度ならDirectSoundより楽かも知れないけど
WAVを複数音鳴らそうとすると鳴らなかったり音が割れたり酷い事になってたな。
色々サイトまわって、何度見直してもサウンドの確保や解放手順は
同様の事をやっているはずだったのに、どうにも上手く行かない。

まあ本当は俺のプログラムの組み方が何か悪かったのかもしれないけど、
参考になるサイトもまともな質問の回答もなく、どうしようもなくなって
DirectSoundに移行したら同じことが苦もなく簡単にできた。

本当に時間の無駄だった。
いや、簡単に思えるものには落とし穴があるという勉強にはなったな。

34 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:54:41 ]
もう今更midiのまま再生させることもねーしなぁ。
BGM用途ならoggに固めてDirectSoundで再生させちゃうし、
midi編集用途ならmidi***系APIの方を使っちゃうし。

35 名前:デフォルトの名無しさん [2008/02/12(火) 00:04:42 ]
ちょっと別件の質問です。
とあるサンプルを開こうとすると、d3d8.hが見つからずエラーが出てしまいます。

あれ?と思い、インストールしてあるフォルダを直で検索してみましたが見つからず。
directc9.0になってからこのファイルは削除してしまったのでしょうか?

36 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:08:18 ]
>>35
マジかwだっせーw

37 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:29:37 ]
コンピュータ全体を検索して見つからなかったら、
別のSDKいれな。

38 名前:デフォルトの名無しさん [2008/02/12(火) 01:33:32 ]
すいません、>>35は解決しました。

とりあえずd3d8 = d3d9、d3dx8 = d3dx9 と読み込むファイル切り替えて、
ソースコード側でも8から9へ書き換えるという無理やりな方法でなんとかなりました。

39 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:41:37 ]
>>24
最近のはついてないっぽいな

40 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 11:03:15 ]
>>34
すいません。oggに固めるってのはどのソフト使ってるのか教えてもらえませんか?
あとmidi***系のAPIってのはどちら様でしょう・・・?



41 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 11:09:06 ]
>>40
msdn.microsoft.com/library/ja/jpmltimd/html/_win32_midioutopen.asp
msdn.microsoft.com/library/ja/jpmltimd/html/_win32_midioutshortmsg.asp

42 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:02:42 ]
一方俺は簡易ソフト音源を作ってMIDIファイルを自前で鳴らせるようにした
修羅の道だがなー

43 名前:デフォルトの名無しさん [2008/02/12(火) 14:15:40 ]
DirectXというか作法に近い質問かもしれませんが、

LPDIRECT3DDEVICE9は、
グローバルで持っていいものなのでしょうか?

それとも、描画する関数に引数として持たせるべきでしょうか?
void 描画管理(pDevice)
{
...
描画(pDevice)
...
}


44 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:06:42 ]
んなもん好きにしろよ

45 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:42:27 ]
描画クラスのメンバとして持たせるのが一般的です

46 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:11:43 ]
>>41
ありがとうございます。Win32の方でしたか。ちょっと使うぐらいなら断然こっちでしょうね・・・。
>>42
ソフト音源って、まさか自前のWAVEをMIDIデータにあわせて鳴らしてるんですか?
踏み込みたくねーー!すごいよ

47 名前:42 mailto:sage [2008/02/12(火) 18:52:34 ]
実はそんなにすごく無かったり・・・修羅の道ってほどでもないわ

DirectSoundで効果音を鳴らすくらいは誰でもやるっしょ?
そしたら次に、任意の音程を付けられるようにする
それを任意のタイミングで鳴らしたり止められるように管理する

あとは音の仕上がりをどこまでこだわるか次第
こだわらなければ意外と簡単なのよね

でもoggとかで鳴らしちゃったほうが圧倒的に楽w

48 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 21:09:30 ]
MPTRACKとか言うソフト使ったらmidiをmp3に変換できたんで、やっぱり
DirectSoundになりそうです。家のPCでmidi再生すると分解能が低いのか
テンポが躓くような感じだったので、これも解決しそうです。

49 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:18:35 ]
D3DXのベクトル関係の関数を使い続ける人と別に用意する人とどちらが多いのでしょうか

50 名前:デフォルトの名無しさん [2008/02/13(水) 22:52:17 ]
3D空間上に、リアルな
「炎」や「ビームのような光」、「爆発」など
特殊な効果のオブジェクトを表示させるにはどうしたら良いのでしょうか?

もしかしたら基礎知識なのかもしれませんが、初心者なもので・・。
よろしくお願いします。



51 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:21:26 ]
パーティクルの事を聞きたいのか?


52 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:26:12 ]
>>49
俺は別に持ってるよ
なんでかというと、D3DXに依存すると
Win32にも依存することになって、
いらないモノも一緒に入り込むのがイヤだからだ。
BOOLとかDWORDとか名前空間なしのブツとか。

53 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:28:29 ]
なんだ自己満足か


54 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:45:48 ]
俺は普段プログラムする時は大抵INT,FLOATなど全てVC依存で書いてるよ

55 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:55:04 ]
DirectX使ってる時点で描画レイヤはWin依存を避けられないわけで

56 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:59:24 ]
D3DXのベクトルや行列の関数、CPUが対応してる拡張があれば使って高速化すると聞いたことがある
ただ、それが微妙な精度の差を生んで、CPUが違うとSTGのリプレイなんかがズレたりするとか
自分で確認はしてないが…
リプレイ等がいらないなら、D3DXの関数使っといた方が高速化を期待できるんじゃない?

57 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:46:15 ]
D3DXの行列が速いとか、どこの都市伝説だよ(w


58 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 05:45:32 ]
>>57
> D3DXの行列が速いとか、どこの都市伝説だよ(w

59 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 07:15:23 ]
OS 依存避けたきゃ普通は OpenGL 使うわな。

60 名前:デフォルトの名無しさん [2008/02/14(木) 14:09:40 ]
最大テクスチャサイズの制限を回避する方法を教えてください。

1枚7680x2048の画像を同解像度の専用ディスプレイにスプライト表示させたいのですが、
テスト環境は普通のSVGAディスプレイなため、エラーが出てしまいます。



61 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 14:12:03 ]
たくさんの小さなテクスチャに分割してタイル状に貼り合わせる

62 名前:デフォルトの名無しさん [2008/02/14(木) 14:18:37 ]
いえそういうチキン技を教えてほしいんじゃなくて、(それぐらい知ってますし)
何か自前で読んでコピーすれば回避できるとか聞いたんです。

63 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 14:20:33 ]
自前で3Dエンジンを組む

64 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 14:20:57 ]
スプライトなら2Dエンジンでいいか

65 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 14:36:42 ]
>>61
その方法でやってみます。

>>64
デジカメで撮った写真を等倍で表示するビューア作ってるんですが、
最近の10Mピクセル超えの場合、ぱらぱらやった時に表示が遅すぎて
DirectXを使ってみようと思った次第です。

が、何分素人なもので右も左もわからない状態で、エラーでまくり
色々制限があるという事が判明し困っていた次第です。

66 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 15:03:28 ]
対応するテクスチャサイズは環境によっても違うからな。
まあ1024×1024ぐらいならどの環境でも使えると思うから
それで小分けタイルでいいんじゃねーの?

67 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 15:03:47 ]
>>65
DirectXを使ったからって魔法のように速くなったりはしないよ。
その程度で遅いってのは単純に組み方が悪いだけ。
「ぱらぱら」の意味が分からんが、スライドショー的なことを言っているなら
DirectXを使う意味が全くない。

68 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 15:06:41 ]
カード性能がよければDirectX使う方がまあ早いだろう。

69 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 15:12:27 ]
>>67
いや、あるだろ。
グラボ積んでるなら、システムメモリーからVRAMよりも、VRAM間の方が断然早いわけで、
先にVRAMへ画像を読み込んでおけば、大きな画像ほどVRAM間の方が早く表示されるはず。
例えば、hamanaなんかはDirectX使って表示するビューアだったはず。

70 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 15:14:22 ]
まあ別にDirectXじゃなきゃVRAM扱えないわけじゃないけどな



71 名前:デフォルトの名無しさん [2008/02/14(木) 15:23:16 ]
メッシュは表示されるが割り当ててあるはずのテクスチャが
表示されない場合、まずどの辺から疑ってかかるべきですか?

SUCCEEDED( D3DXCreateTextureFromFileEx(...) )が通ってる
(=画像を読んではいる)ところまでは確認できてます。

72 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 15:37:53 ]
>>71
とりあえず固定機能パイプラインなのか
頂点・ピクセルシェーダーなのかくらい書こう

それすら関係ないところだと
頂点情報の中にテクスチャ座標がきちんと格納されてるかとか

73 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 15:57:53 ]
>>70
と言うからにはもちろん使えるんでしょうな?(・∀・)ニヤニヤ

74 名前:デフォルトの名無しさん [2008/02/14(木) 16:01:42 ]
>>72
固定機能かシェーダーなのかわかりませんがDirectX 9についてるサンプルプログラムです
全部テクスチャが表示されないんです
画像を読んでるところも問題ないですしセットしてるところも通ってました

一応パソはこれです Pentium3-1G 512MバイトRAM 8GバイトHD Milenium-2M SB Windows XP SP2

75 名前:デフォルトの名無しさん [2008/02/14(木) 16:06:34 ]
> D3DXの行列が速いとか、どこの都市伝説だよ(w

一応、D3DXの場合、ランタイムでSSEとかが利用可能かチェックして、使えれば使ってるみたいだし、かなりの最適化はされているはず。
自分で普通にC++で書いたコードよりは速いんじゃない。


76 名前:71 mailto:sage [2008/02/14(木) 16:14:15 ]
>>74 勝手に便乗すんなw
>>72
固定機能かシェーダーなのかはわからないですが
下記URLサンプルのCMapModelクラスを移植しておかしくなりました。
ttp://www.cmagazine.jp/books/3drpg/

元のサンプルは正常に表示されるのでどこかで移植ミスやったか、あるいは本家SDKの
チュートリアル頼りに組んだDirect3Dの初期化処理周りがおかしいかとか考えていたのですが
(最初はメッシュも表示されなかったがClearでZバッファ消してなかった)

77 名前:71 mailto:sage [2008/02/14(木) 16:47:12 ]
ちょっと試行錯誤してて気づいた点があったので補足。

・移植元と問題ので同じメッシュを作りD3DXSaveMeshToX()で
Xファイルを吐きださせたところMeshNormalsの値が違う
移植元は0.000000;1.000000;0.000000;が延々と続くが
問題の方は0.250000;0.500000;0.000000;<br>0.500000;0.500000;0.000000;と
2行ごとに0.25ずつ増えていき24で0に戻るループになっている。

・メッシュの壁と床に別々のテクスチャを張り付けているが、テクスチャファイルを
入れ替えたところ、表示されているメッシュの色が入れ替わった。
(片方が微妙に黄ばんでいる。ちなみにテクスチャは両方ともモノクロ)

つまり
・テクスチャを読めてはいる。かつ反映・表示もされている。
・反映のされ方がおかしいか、初期化の仕方がおかしいかで
ちゃんとテクスチャの模様が表示されるところがツルッツルになっている
・しかしどこがおかしいのかまでは突き止められていない。

78 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 17:00:51 ]
とりあえず1ポリで試してみろ

79 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 17:49:25 ]
>>70
明示的にVRAMに確保できるわけじゃないし、Vistaだとシステムメモリに
確保されてしまうけどね。

等倍表示程度では、DirectXを使う意味は全く無い。
スライドショーなら、ユーザの入力を待たずに次の画像を読み込んでおくとかの
工夫の方が遥かに大事。

>>77
テクスチャ座標が設定されてないだけかと。

80 名前:71 mailto:sage [2008/02/14(木) 18:20:01 ]
ありがとうございます。解決できました。
構造体D3DVERTEXの定義がおかしかったのが原因でした。



81 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 18:27:41 ]
ワロス

82 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:04:32 ]
質問者なりすまししてフザけてるバカでトンマな能無しが居るので質問者はトリップでもつけれ。

83 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:36:33 ]
OpenGLのNVidia拡張を使うのは機種依存のうちに入るの?

84 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 02:21:38 ]
DicrectSound を使うための
サンプルコードなのですが

//聞き手の位置の設定
//(x,y,z) ... 3D空間上の座標
void CWaveControl::SetListenerPos(double x,double y,double z)
{
if(lpDS3DListener!=NULL)
lpDS3DListener->SetPosition(D3DVAL(x),D3DVAL(y),D3DVAL(z),DS3D_IMMEDIATE);
}

error C3861: 'D3DVAL': 識別子が見つかりませんでした
というエラーがでてしまって 先に進めない状況です
どうしたら解決するでしょうか?


85 名前:デフォルトの名無しさん [2008/02/15(金) 19:44:56 ]
>>84

D3DVALUEなら知っている。
ただの float。

typedef float D3DVALUE;


86 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 19:49:03 ]
ぶっちゃけdoubleってほとんどつかわないよな

87 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 19:55:45 ]
3D だと使わないだろうね。
逆に科学計算だと float が役に立たないが。

88 名前:デフォルトの名無しさん [2008/02/15(金) 20:02:09 ]
俺はむしろ、3Dゲー制作で 256bit 浮動少数とか使いたい。
特に物理演算。float 市ねといいたい。


89 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:22:57 ]
ttp://up2.viploader.net/upphp/src/vlphp139808.jpg

90 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:28:04 ]
みやみやなにやってんの?



91 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:03:49 ]
>>88
具体的にどんな演算をしていて精度が足りなくなったの?

92 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:16:54 ]
ミサイルの弾道計算だろ

93 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:28:18 ]
>>85

確認してみたのですが
D3DVAL で間違いないです


94 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:50:43 ]
>>93
何を確認してみたのよ

95 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:55:50 ]
>>93
たぶん参考にしてるものがめちゃくちゃ古いバージョンなんだよ


96 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:25:01 ]
>>94
参照してるコードですが

>>95
たしかに 参照してるページ自体
古いものでした
別のサンプルを探してきます

ありがとうございました

97 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 23:43:33 ]
floatは駄目だけどdoubleではOKです、なんて
それはちょっと違うだろ。
自分のソフトが誤差に対応出来てないだけだろ。
double並みのダイナミックレンジが欲しいってなら別だが、
本当に必要なのかあやしいもんだ。
って、俺もこれを克服出来なくて挫折した部類な訳だが。




98 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:46:32 ]
D3DVALは型じゃなくてD3DVALUE型を生成するマクロだよ。
#define D3DVAL(val) ((float)val)

99 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:12:36 ]
どっちみちそんなの標準装備のだと他で上手くいかないんじゃないか?

100 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:36:59 ]
肝心なこと書き忘れたけど、7までのd3d.hにはあるけど
8以降はない>D3DVALマクロ



101 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:19:38 ]
VC使ってる奴にとってマクロは
インテリセンス機能が働かなくなる嫌がらせにしか見えない

102 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 03:12:38 ]
単一色で塗りつぶされたテクスチャを作りたいのですが、サイズや色が
変わる仕様です。どうするのが一番簡単でしょうか?

103 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 08:49:01 ]
単一色ならテクスチャである必用はありません。

104 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 09:13:28 ]
>>103
>単一色ならテクスチャである必用はありません。
いえディフューズとテクスチャでは色が異なりますから、
正確な色を必要とするときはテクスチャである必要がありますよ。

たとえばマテリアルは256階調でしかやれませんが、
テクスチャなら1024階調まで表現できます。

105 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 09:32:36 ]
正確な色が出せないのは固定機能ならステートの設定を理解していないか、
シェーダなら書き方がおかしいだけです。
自分の頭が悪い理由を他に求めるのはやめましょう。

106 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 10:25:40 ]
>>105
たとえばD3DRGBマクロは256階調になっていますよ。
これ以上の何を理解しろというんでしょうか。

107 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 10:46:06 ]
色が変わるのは精度の問題ではなく計算方法が間違っているからです。

108 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 11:44:58 ]
確かに単一色ならテクスチャを使う必要はなさそうだな。
シェーダ定数やテクスチャブレンディングファクタで代用出来るだろう。
(>>104のようにレンジを考えなければ)
だけど>>103の指摘は余計なお世話なんじゃないの?

109 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 11:52:04 ]
マテリアルで良いじゃんっちゅー話なんじゃねーの。余計なお世話とも思わんが。
ところで、単一色を「正確に」モニタに表示するのにレンジを気にする意味がわかりません。

110 名前:102 mailto:sage [2008/02/16(土) 13:16:27 ]
レス、ありがとうございます。
発想が良くなかったみたいなので元の問題の方を教えてください。
ある色で塗りつぶされた背景に文字列を表示しようと思っています。
背景は動きます。文字列も変化します。
文字の色は黒にする予定ですが、変わるかもしれません。
これを10〜50程度表示します。
どの様にするのが良いでしょうか?

マテリアルは今からぐぐってきます。



111 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:37:33 ]
背景塗りつぶされてるのに
背景が動くとか言ってることに不安を感じる
正しく直せ

112 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:11:52 ]
質問です。
以下のサイトで
www.geekpage.jp/programming/directshow/renderfile.php
ローカルの動画ファイルを再生するにはIMediaControl->RenderFileを使用する事が分かったのですが、
自分でメモリ上に展開した動画データを直接再生する方法が分かりません
何か方法はあるでしょうか?
宜しくお願いしますm(__)m

113 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 17:17:11 ]
pc11.2ch.net/test/read.cgi/tech/1162913156/

114 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:15:54 ]
>>113
誘導ありがとうございます
そちらの方へ行ってみます

115 名前:デフォルトの名無しさん [2008/02/17(日) 21:16:31 ]
すみません質問です。
LPD3DXMESHに入った巨大なメッシュを絵画する時に
「カメラからどの辺の距離まで絵画するのか」を制御するにはどうすればよいですか?

116 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:17:38 ]
絵画するって面白い言葉だな

117 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:19:32 ]
普通は描画な

118 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:26:48 ]
さらに巨大になると壁画とか

119 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:32:59 ]
小さくなると漫画か。

120 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:39:14 ]
総合するとこういうことか?

D3DXMatrixPerspectiveFovLH( D3DXMATRIX* pOut, FLOAT fovy , FLOAT Aspect , FLOAT manga , FLOAT hekiga );



121 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:12:05 ]
>>115
メッシュの各頂点のうち、カメラに最も近い点までの距離を
カメラの近平面の距離とすればいいんじゃね?
もしくはバウンディングボリュームでもいい。

122 名前:デフォルトの名無しさん [2008/02/18(月) 01:56:45 ]
Far Clipping 以前に、絵画しちゃっている時点でちゃんとレンダリングできているのかどうかが心配。


123 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:10:44 ]
>>122
「絵画しちゃっている」という言葉を使い続けている時点で日本語ができているのかどうかが心配。

124 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 04:04:11 ]
新しく覚えた言葉を使いたい年頃なんだろうねぇ
うんうん、分かるよ
俺も幼稚園の頃そうだった

125 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 07:05:22 ]
マスタリングDirectXとかいう本買って飛行機のxファイル読み込んで表示して
左右に揺らす。っていうところまで来たんですけど、パラメーターの設定多いわややこしいわ
で泣きそうなんですが、ここさえ乗り切ったら後は楽ですか?

126 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:35:58 ]
>>125
その本は知らんが、正直DirectXの関数は全部そんな感じ

127 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:37:17 ]
>>123
「絵画しちゃっている」という皮肉に本気で突っ込んでいる時点で本当に日本人か心配。

128 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:43:04 ]
>>125
その本おれも買ったけど分かりにくくて結局ネットで解説してくれてるサイト見て勉強した
ある程度分かってから見てみたらあぁこうやって書くといいのか、とか分かって
かなりいい本だけど正直一からDirectX勉強する用には向いてないと思う
内容は初歩的なことだけど解説とか少なくてDirectXまったく知らないと分かりにくい
とりあえずDirectXはWinAPIみたいに最初はつらいけどある程度分かってくると
楽になるからGoogle駆使してがんばれ

129 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:10:42 ]
DirectXは

・引数の指定の複雑さに嫌気がさしてラップクラスを作る
・欲がでてきて、「OpenGLも使える様にすれば汎用的になるんじゃね?」と妄想する
・VectorクラスとMatrixクラスを作って力尽きる

ここまで来て初心者です

130 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:58:46 ]
>>129
それどこの俺?



131 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:53:42 ]
ラップクラスを作るだけで力つきました

132 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:58:20 ]
とりあえず絵画して挫折した

133 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:58:33 ]
似たようなの作っては捨てて後に残るはゴミばかりって感じ

134 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:17:07 ]
DirectXに限らず、無駄なコードを書くのは初心者

135 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:53:29 ]
だが、無駄なコードを書いているときが一番楽しい。

136 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:05:51 ]
勉強には無駄なコード書くのが一番

137 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:17:34 ]
初心者は黙って絵画してろ

138 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:13:20 ]
正直一回作っちゃえばあとはそれをコピペしてちょこちょこっと値かえるだけ

139 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 08:16:06 ]
まぁ構造的に使いまわせる部分は多そうだよな
実際にはそうそう巧くいかないもんだが

140 名前:デフォルトの名無しさん [2008/02/19(火) 12:57:47 ]
セーブファイルを作りたいんですが、文字型配列が上手く書き込めません。
TCHAR a[10];
…略…
fprintf(sfp,"%10c",a);
…略…
ファイルを見ると文字化けしています。



141 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:02:31 ]
ヒント:マルチバイト文字列

142 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:04:02 ]
さらに大ヒント:スレ違い

143 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:46:44 ]
アニメーションメッシュ、スキンメッシュを表示するプログラムはできたのですが、
例えばびっくり箱のような、
両方が含まれているXファイルを表示すると、
アニメーションメッシュのオブジェクト(箱)が変な位置に表示され、
かつアニメーションがされません。
スキンメッシュの方(じゃばらみたいなもの)は正常に表示されます。
1ファイルのアニメーションメッシュ、スキンメッシュ両方を表示する方法を教えてください。


144 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 15:11:45 ]
まずはデータがどうなってんのか。

145 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 15:17:15 ]
>>144
DXViewerでは正しく表示できているので、
データには問題ないと思ってます。

146 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 15:46:10 ]
じゃあDXViewerを参考にすればいいんだな。

解決。

147 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:26:43 ]
相対座標が間違ってるから変な位置に表示されるんだよ
座標計算を見直せ

148 名前:143 mailto:sage [2008/02/20(水) 00:11:19 ]
解決しました。
頂点ブレンディングをオンしたまま
アニメーションメッシュの描画をしてました。


149 名前:デフォルトの名無しさん [2008/02/20(水) 05:57:14 ]
directXの3dを初めて間もない者です。MFCで作成していてCSplitterWnd を使って二つにウィンドウを分割して、片方には画像、片方には3dモデルを表示したいのですが、どうしてもエラーが起こってしまいます。
メニューから画像を読み込もうとすると終了してしまうのです。directxとそれ以外は混在できないのでしょうか?


150 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 06:58:11 ]
できます



151 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 08:01:12 ]
ボーンアニメーション再生サンプルって、SDKのどれですかね。

152 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 14:25:42 ]
>>149
要点が伝わってない、とりあえず画像を読み込もうとしている関数を教えれ。
それと、一部分にDirectXを使うだけならView Matrixでウィンドウ上の一部を設定するだけでいい。

153 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 15:02:22 ]
>>151
一体どこを探したら見つからないんだってくらいに
Sample Browserにそのまんまのモノが。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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