08/02/10 18:05:47
※回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
【C++】 DirectX初心者質問スレ Part15 【C】
スレリンク(tech板)
2:デフォルトの名無しさん
08/02/10 18:06:25
【関連サイト】
MSDN DirectX
URLリンク(www.microsoft.com)
DirectX Home Page
URLリンク(www.microsoft.com)
BBX (掲示板)
URLリンク(isweb8.infoseek.co.jp)
DXライブラリ置き場
URLリンク(homepage2.nifty.com)
Lamp:ゲーム開発とその学習をサポートするミドルウェア
URLリンク(lamp.sourceforge.jp)
TWINTAIL LOVERS.
URLリンク(www.twin-tail.jp)
Pastel's Laboratory
URLリンク(www.roy.hi-ho.ne.jp)
GamDevPukiWiki - DirectX総合スレ (過去ログ等)
URLリンク(gamdev.org)
GamDevPukiWiki - 3DCG製作ソフト (過去ログ等)
URLリンク(gamdev.org)
ゲームを作るための素材を集めよう まとめサイト
URLリンク(paw.my-sv.net)
3:デフォルトの名無しさん
08/02/10 18:08:01
>>1
乙
4:デフォルトの名無しさん
08/02/10 18:10:26
ゲーム製作技術板のDirectXスレくらいは足してもいいかと思ったんだけど
過去になんか揉め事があったんだっけ?
まぁいいや。
5:デフォルトの名無しさん
08/02/10 18:22:36
DXライブラリ3D
URLリンク(fatalita.sakura.ne.jp)
6:デフォルトの名無しさん
08/02/10 18:24:53
URLリンク(www.roy.hi-ho.ne.jp)消えてるが
7:デフォルトの名無しさん
08/02/10 18:52:05
代わりにt-pot入れておこうぜ
URLリンク(www.t-pot.com)
8:デフォルトの名無しさん
08/02/10 21:17:36
>>1
そもそもお前よく考えろよ
そんなんで時間って短縮できるの?マジで?
だってさぁ、プレイヤーの入力を受け付けるから次の画面が決定する場合のが多いじゃん?
↑↓→←な
で、時間短縮ってさぁ、プレイヤーの入力は一定タイミングでくるし
入力を受け付けるまで次の画面って描画する意味ないじゃん
ていうか内部の処理が決定しなくね?
キューイングなんてどれだけ意味があるのかさっぱりわからないんだけど?
画面更新が仮に1sごとにくるなら1s以内で処理を終えても
次のフレームの処理なんてやってもたかが知れてると思うんだけど?
ていうか安定しなくね?そんな設計にしちゃそもそも駄目じゃね?
1フレ内での時間短縮は意味があるかもしれないけど
フレーム間同士の時間短縮ってなんかやる意味あんの?
9:デフォルトの名無しさん
08/02/10 21:23:35
あまりに必死すぎる>>700に涙
10:デフォルトの名無しさん
08/02/10 21:26:26
全スレをこのネタで終わらせたしな
11:デフォルトの名無しさん
08/02/10 21:27:06
前スレ
12:デフォルトの名無しさん
08/02/10 21:45:54
っというか、そろそろおもしろがった他人がしてるとしか思えない。
13:デフォルトの名無しさん
08/02/10 22:44:58
何年の何月のSDKにならDirectMusicのインクルードファイルとか入ってますか?(´;ω;`)
14:デフォルトの名無しさん
08/02/10 22:50:59
とりあえずDirectInputも廃止するのはやめて欲しいなぁ
というかXInputがダメすぐる
15:デフォルトの名無しさん
08/02/10 23:08:31
August 2007なら入ってんじゃね?
16:デフォルトの名無しさん
08/02/11 01:01:28
DirectX関連は事実上使われもしない機能が1/3くらいはあるので
毎回根本設計から作り直さないとゴミばかり抱え込むことになる。
世間でプロジェクトがデスマーチ進行に陥るとき、
それを推進する最も有力な力が互換性至上主義である。
17:デフォルトの名無しさん
08/02/11 01:15:51
今ならDX9未満か
18:デフォルトの名無しさん
08/02/11 01:18:21
MSは互換性至上主義でここまで来た会社なので難しいと思います先生
互換性を捨てるならくえりーいんたーふぇーすの存在意義がないです
19:デフォルトの名無しさん
08/02/11 01:33:01
>>13
そんな物には手を出さない方がいいです
1ヶ月ぐらい無駄にして結局DirectSoundに落ち着いた俺が言うんだから間違いない
20:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/11 02:32:56
32ビットに未練があるなら大人しくx86使ってろ
22:デフォルトの名無しさん
08/02/11 02:38:12
>>20
それで合ってるだろ。
23:デフォルトの名無しさん
08/02/11 02:49:00
>>21-22
ありがとうございます。そういうことなのね
x86の方をリンクするようにします
24:デフォルトの名無しさん
08/02/11 11:20:49
DirectX SDK (November 2007)にはMayaのxファイルエクスポートするプラグイン
のソースついてないの?
25:デフォルトの名無しさん
08/02/11 13:26:30
クラスのstatic関数でD3DXCreateTextureFromFileExを呼び出すと、
E_OUTOFMEMORYが出て、高頻度でテクスチャーの作成に失敗します。
しかし、成功するときも結構あったり、
直前にウェイトを入れると失敗しなかったりと、
原因がよく分かりません。
原因に予測がつけば、教えてもらえませんでしょうか。
26:デフォルトの名無しさん
08/02/11 14:37:19
なんでこういう奴って自分の書いたコードを晒さないんだろうな。
出し惜しみするほどのもんでもあるまいし。
普通にやってれば動くものなんだから、ただ動きませんとか言われても
エスパーじゃない限り回答不能だよ。
27:25
08/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
08/02/11 15:15:12
過去スレに同じ症状が出てたんですが、
CreateDeviceのBehaviorFlagsに、
D3DCREATE_MULTITHREADEDを入れたら失敗しなくなりました。
しかし原因は分からず、ホントにこれでいいのかも不明です。
29:デフォルトの名無しさん
08/02/11 18:04:31
アップローダに上げるなりして全部晒せよ。
全部見られるのが嫌なら、問題が発生する最小の状態にすればいい。
30:デフォルトの名無しさん
08/02/11 21:50:19
>>15
アリアリアリーガトーサン!!(礼を申し上げる!)
>>19
何でですか?MIDIはダメですか・・・?
31:デフォルトの名無しさん
08/02/11 22:55:58
>>30
MIDIを扱うならDirectMusicでいいと思う
waveを扱うなら俺もDirectSoundの方がいいと思う
32:デフォルトの名無しさん
08/02/11 23:11:27
失礼します
メタセコイアでモデリング⇒RokDeBone2でモーション作成⇒DirectXを使ったソフトでモーションを操作しようとしています。
現在、モデリングは完了し、とりあえずボーンだけ入れてモーションつける手前なのですが、
この後、上記の事をさせたい場合はどのようにすればいいのでしょうか?
モーション付きxファイルのモーションを操作する方法が分かっていない為、
こちらに書き込んだのですがスレ違いでしたらよければ誘導お願いします。
33:デフォルトの名無しさん
08/02/11 23:20:26
DirectMusicは、ちょっとBGMを鳴らす程度ならDirectSoundより楽かも知れないけど
WAVを複数音鳴らそうとすると鳴らなかったり音が割れたり酷い事になってたな。
色々サイトまわって、何度見直してもサウンドの確保や解放手順は
同様の事をやっているはずだったのに、どうにも上手く行かない。
まあ本当は俺のプログラムの組み方が何か悪かったのかもしれないけど、
参考になるサイトもまともな質問の回答もなく、どうしようもなくなって
DirectSoundに移行したら同じことが苦もなく簡単にできた。
本当に時間の無駄だった。
いや、簡単に思えるものには落とし穴があるという勉強にはなったな。
34:デフォルトの名無しさん
08/02/11 23:54:41
もう今更midiのまま再生させることもねーしなぁ。
BGM用途ならoggに固めてDirectSoundで再生させちゃうし、
midi編集用途ならmidi***系APIの方を使っちゃうし。
35:デフォルトの名無しさん
08/02/12 00:04:42
ちょっと別件の質問です。
とあるサンプルを開こうとすると、d3d8.hが見つからずエラーが出てしまいます。
あれ?と思い、インストールしてあるフォルダを直で検索してみましたが見つからず。
directc9.0になってからこのファイルは削除してしまったのでしょうか?
36:デフォルトの名無しさん
08/02/12 00:08:18
>>35
マジかwだっせーw
37:デフォルトの名無しさん
08/02/12 01:29:37
コンピュータ全体を検索して見つからなかったら、
別のSDKいれな。
38:デフォルトの名無しさん
08/02/12 01:33:32
すいません、>>35は解決しました。
とりあえずd3d8 = d3d9、d3dx8 = d3dx9 と読み込むファイル切り替えて、
ソースコード側でも8から9へ書き換えるという無理やりな方法でなんとかなりました。
39:デフォルトの名無しさん
08/02/12 01:41:37
>>24
最近のはついてないっぽいな
40:デフォルトの名無しさん
08/02/12 11:03:15
>>34
すいません。oggに固めるってのはどのソフト使ってるのか教えてもらえませんか?
あとmidi***系のAPIってのはどちら様でしょう・・・?
41:デフォルトの名無しさん
08/02/12 11:09:06
>>40
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
42:デフォルトの名無しさん
08/02/12 14:02:42
一方俺は簡易ソフト音源を作ってMIDIファイルを自前で鳴らせるようにした
修羅の道だがなー
43:デフォルトの名無しさん
08/02/12 14:15:40
DirectXというか作法に近い質問かもしれませんが、
LPDIRECT3DDEVICE9は、
グローバルで持っていいものなのでしょうか?
それとも、描画する関数に引数として持たせるべきでしょうか?
void 描画管理(pDevice)
{
...
描画(pDevice)
...
}
44:デフォルトの名無しさん
08/02/12 16:06:42
んなもん好きにしろよ
45:デフォルトの名無しさん
08/02/12 16:42:27
描画クラスのメンバとして持たせるのが一般的です
46:デフォルトの名無しさん
08/02/12 17:11:43
>>41
ありがとうございます。Win32の方でしたか。ちょっと使うぐらいなら断然こっちでしょうね・・・。
>>42
ソフト音源って、まさか自前のWAVEをMIDIデータにあわせて鳴らしてるんですか?
踏み込みたくねーー!すごいよ
47:42
08/02/12 18:52:34
実はそんなにすごく無かったり・・・修羅の道ってほどでもないわ
DirectSoundで効果音を鳴らすくらいは誰でもやるっしょ?
そしたら次に、任意の音程を付けられるようにする
それを任意のタイミングで鳴らしたり止められるように管理する
あとは音の仕上がりをどこまでこだわるか次第
こだわらなければ意外と簡単なのよね
でもoggとかで鳴らしちゃったほうが圧倒的に楽w
48:デフォルトの名無しさん
08/02/12 21:09:30
MPTRACKとか言うソフト使ったらmidiをmp3に変換できたんで、やっぱり
DirectSoundになりそうです。家のPCでmidi再生すると分解能が低いのか
テンポが躓くような感じだったので、これも解決しそうです。
49:デフォルトの名無しさん
08/02/13 22:18:35
D3DXのベクトル関係の関数を使い続ける人と別に用意する人とどちらが多いのでしょうか
50:デフォルトの名無しさん
08/02/13 22:52:17
3D空間上に、リアルな
「炎」や「ビームのような光」、「爆発」など
特殊な効果のオブジェクトを表示させるにはどうしたら良いのでしょうか?
もしかしたら基礎知識なのかもしれませんが、初心者なもので・・。
よろしくお願いします。
51:デフォルトの名無しさん
08/02/13 23:21:26
パーティクルの事を聞きたいのか?
52:デフォルトの名無しさん
08/02/13 23:26:12
>>49
俺は別に持ってるよ
なんでかというと、D3DXに依存すると
Win32にも依存することになって、
いらないモノも一緒に入り込むのがイヤだからだ。
BOOLとかDWORDとか名前空間なしのブツとか。
53:デフォルトの名無しさん
08/02/13 23:28:29
なんだ自己満足か
54:デフォルトの名無しさん
08/02/13 23:45:48
俺は普段プログラムする時は大抵INT,FLOATなど全てVC依存で書いてるよ
55:デフォルトの名無しさん
08/02/13 23:55:04
DirectX使ってる時点で描画レイヤはWin依存を避けられないわけで
56:デフォルトの名無しさん
08/02/13 23:59:24
D3DXのベクトルや行列の関数、CPUが対応してる拡張があれば使って高速化すると聞いたことがある
ただ、それが微妙な精度の差を生んで、CPUが違うとSTGのリプレイなんかがズレたりするとか
自分で確認はしてないが…
リプレイ等がいらないなら、D3DXの関数使っといた方が高速化を期待できるんじゃない?
57:デフォルトの名無しさん
08/02/14 01:46:15
D3DXの行列が速いとか、どこの都市伝説だよ(w
58:デフォルトの名無しさん
08/02/14 05:45:32
>>57
> D3DXの行列が速いとか、どこの都市伝説だよ(w
59:デフォルトの名無しさん
08/02/14 07:15:23
OS 依存避けたきゃ普通は OpenGL 使うわな。
60:デフォルトの名無しさん
08/02/14 14:09:40
最大テクスチャサイズの制限を回避する方法を教えてください。
1枚7680x2048の画像を同解像度の専用ディスプレイにスプライト表示させたいのですが、
テスト環境は普通のSVGAディスプレイなため、エラーが出てしまいます。
61:デフォルトの名無しさん
08/02/14 14:12:03
たくさんの小さなテクスチャに分割してタイル状に貼り合わせる
62:デフォルトの名無しさん
08/02/14 14:18:37
いえそういうチキン技を教えてほしいんじゃなくて、(それぐらい知ってますし)
何か自前で読んでコピーすれば回避できるとか聞いたんです。
63:デフォルトの名無しさん
08/02/14 14:20:33
自前で3Dエンジンを組む
64:デフォルトの名無しさん
08/02/14 14:20:57
スプライトなら2Dエンジンでいいか
65:デフォルトの名無しさん
08/02/14 14:36:42
>>61
その方法でやってみます。
>>64
デジカメで撮った写真を等倍で表示するビューア作ってるんですが、
最近の10Mピクセル超えの場合、ぱらぱらやった時に表示が遅すぎて
DirectXを使ってみようと思った次第です。
が、何分素人なもので右も左もわからない状態で、エラーでまくり
色々制限があるという事が判明し困っていた次第です。
66:デフォルトの名無しさん
08/02/14 15:03:28
対応するテクスチャサイズは環境によっても違うからな。
まあ1024×1024ぐらいならどの環境でも使えると思うから
それで小分けタイルでいいんじゃねーの?
67:デフォルトの名無しさん
08/02/14 15:03:47
>>65
DirectXを使ったからって魔法のように速くなったりはしないよ。
その程度で遅いってのは単純に組み方が悪いだけ。
「ぱらぱら」の意味が分からんが、スライドショー的なことを言っているなら
DirectXを使う意味が全くない。
68:デフォルトの名無しさん
08/02/14 15:06:41
カード性能がよければDirectX使う方がまあ早いだろう。
69:デフォルトの名無しさん
08/02/14 15:12:27
>>67
いや、あるだろ。
グラボ積んでるなら、システムメモリーからVRAMよりも、VRAM間の方が断然早いわけで、
先にVRAMへ画像を読み込んでおけば、大きな画像ほどVRAM間の方が早く表示されるはず。
例えば、hamanaなんかはDirectX使って表示するビューアだったはず。
70:デフォルトの名無しさん
08/02/14 15:14:22
まあ別にDirectXじゃなきゃVRAM扱えないわけじゃないけどな
71:デフォルトの名無しさん
08/02/14 15:23:16
メッシュは表示されるが割り当ててあるはずのテクスチャが
表示されない場合、まずどの辺から疑ってかかるべきですか?
SUCCEEDED( D3DXCreateTextureFromFileEx(...) )が通ってる
(=画像を読んではいる)ところまでは確認できてます。
72:デフォルトの名無しさん
08/02/14 15:37:53
>>71
とりあえず固定機能パイプラインなのか
頂点・ピクセルシェーダーなのかくらい書こう
それすら関係ないところだと
頂点情報の中にテクスチャ座標がきちんと格納されてるかとか
73:デフォルトの名無しさん
08/02/14 15:57:53
>>70
と言うからにはもちろん使えるんでしょうな?(・∀・)ニヤニヤ
74:デフォルトの名無しさん
08/02/14 16:01:42
>>72
固定機能かシェーダーなのかわかりませんがDirectX 9についてるサンプルプログラムです
全部テクスチャが表示されないんです
画像を読んでるところも問題ないですしセットしてるところも通ってました
一応パソはこれです Pentium3-1G 512MバイトRAM 8GバイトHD Milenium-2M SB Windows XP SP2
75:デフォルトの名無しさん
08/02/14 16:06:34
> D3DXの行列が速いとか、どこの都市伝説だよ(w
一応、D3DXの場合、ランタイムでSSEとかが利用可能かチェックして、使えれば使ってるみたいだし、かなりの最適化はされているはず。
自分で普通にC++で書いたコードよりは速いんじゃない。
76:71
08/02/14 16:14:15
>>74 勝手に便乗すんなw
>>72
固定機能かシェーダーなのかはわからないですが
下記URLサンプルのCMapModelクラスを移植しておかしくなりました。
URLリンク(www.cmagazine.jp)
元のサンプルは正常に表示されるのでどこかで移植ミスやったか、あるいは本家SDKの
チュートリアル頼りに組んだDirect3Dの初期化処理周りがおかしいかとか考えていたのですが
(最初はメッシュも表示されなかったがClearでZバッファ消してなかった)
77:71
08/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:デフォルトの名無しさん
08/02/14 17:00:51
とりあえず1ポリで試してみろ
79:デフォルトの名無しさん
08/02/14 17:49:25
>>70
明示的にVRAMに確保できるわけじゃないし、Vistaだとシステムメモリに
確保されてしまうけどね。
等倍表示程度では、DirectXを使う意味は全く無い。
スライドショーなら、ユーザの入力を待たずに次の画像を読み込んでおくとかの
工夫の方が遥かに大事。
>>77
テクスチャ座標が設定されてないだけかと。
80:71
08/02/14 18:20:01
ありがとうございます。解決できました。
構造体D3DVERTEXの定義がおかしかったのが原因でした。
81:デフォルトの名無しさん
08/02/14 18:27:41
ワロス
82:デフォルトの名無しさん
08/02/14 23:04:32
質問者なりすまししてフザけてるバカでトンマな能無しが居るので質問者はトリップでもつけれ。
83:デフォルトの名無しさん
08/02/14 23:36:33
OpenGLのNVidia拡張を使うのは機種依存のうちに入るの?
84:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/15 19:44:56
>>84
D3DVALUEなら知っている。
ただの float。
typedef float D3DVALUE;
86:デフォルトの名無しさん
08/02/15 19:49:03
ぶっちゃけdoubleってほとんどつかわないよな
87:デフォルトの名無しさん
08/02/15 19:55:45
3D だと使わないだろうね。
逆に科学計算だと float が役に立たないが。
88:デフォルトの名無しさん
08/02/15 20:02:09
俺はむしろ、3Dゲー制作で 256bit 浮動少数とか使いたい。
特に物理演算。float 市ねといいたい。
89:デフォルトの名無しさん
08/02/15 20:22:57
URLリンク(up2.viploader.net)
90:デフォルトの名無しさん
08/02/15 20:28:04
みやみやなにやってんの?
91:デフォルトの名無しさん
08/02/15 22:03:49
>>88
具体的にどんな演算をしていて精度が足りなくなったの?
92:デフォルトの名無しさん
08/02/15 22:16:54
ミサイルの弾道計算だろ
93:デフォルトの名無しさん
08/02/15 22:28:18
>>85
確認してみたのですが
D3DVAL で間違いないです
94:デフォルトの名無しさん
08/02/15 22:50:43
>>93
何を確認してみたのよ
95:デフォルトの名無しさん
08/02/15 22:55:50
>>93
たぶん参考にしてるものがめちゃくちゃ古いバージョンなんだよ
96:デフォルトの名無しさん
08/02/15 23:25:01
>>94
参照してるコードですが
>>95
たしかに 参照してるページ自体
古いものでした
別のサンプルを探してきます
ありがとうございました
97:デフォルトの名無しさん
08/02/15 23:43:33
floatは駄目だけどdoubleではOKです、なんて
それはちょっと違うだろ。
自分のソフトが誤差に対応出来てないだけだろ。
double並みのダイナミックレンジが欲しいってなら別だが、
本当に必要なのかあやしいもんだ。
って、俺もこれを克服出来なくて挫折した部類な訳だが。
98:デフォルトの名無しさん
08/02/16 00:46:32
D3DVALは型じゃなくてD3DVALUE型を生成するマクロだよ。
#define D3DVAL(val) ((float)val)
99:デフォルトの名無しさん
08/02/16 01:12:36
どっちみちそんなの標準装備のだと他で上手くいかないんじゃないか?
100:デフォルトの名無しさん
08/02/16 01:36:59
肝心なこと書き忘れたけど、7までのd3d.hにはあるけど
8以降はない>D3DVALマクロ
101:デフォルトの名無しさん
08/02/16 02:19:38
VC使ってる奴にとってマクロは
インテリセンス機能が働かなくなる嫌がらせにしか見えない
102:デフォルトの名無しさん
08/02/16 03:12:38
単一色で塗りつぶされたテクスチャを作りたいのですが、サイズや色が
変わる仕様です。どうするのが一番簡単でしょうか?
103:デフォルトの名無しさん
08/02/16 08:49:01
単一色ならテクスチャである必用はありません。
104:デフォルトの名無しさん
08/02/16 09:13:28
>>103
>単一色ならテクスチャである必用はありません。
いえディフューズとテクスチャでは色が異なりますから、
正確な色を必要とするときはテクスチャである必要がありますよ。
たとえばマテリアルは256階調でしかやれませんが、
テクスチャなら1024階調まで表現できます。
105:デフォルトの名無しさん
08/02/16 09:32:36
正確な色が出せないのは固定機能ならステートの設定を理解していないか、
シェーダなら書き方がおかしいだけです。
自分の頭が悪い理由を他に求めるのはやめましょう。
106:デフォルトの名無しさん
08/02/16 10:25:40
>>105
たとえばD3DRGBマクロは256階調になっていますよ。
これ以上の何を理解しろというんでしょうか。
107:デフォルトの名無しさん
08/02/16 10:46:06
色が変わるのは精度の問題ではなく計算方法が間違っているからです。
108:デフォルトの名無しさん
08/02/16 11:44:58
確かに単一色ならテクスチャを使う必要はなさそうだな。
シェーダ定数やテクスチャブレンディングファクタで代用出来るだろう。
(>>104のようにレンジを考えなければ)
だけど>>103の指摘は余計なお世話なんじゃないの?
109:デフォルトの名無しさん
08/02/16 11:52:04
マテリアルで良いじゃんっちゅー話なんじゃねーの。余計なお世話とも思わんが。
ところで、単一色を「正確に」モニタに表示するのにレンジを気にする意味がわかりません。
110:102
08/02/16 13:16:27
レス、ありがとうございます。
発想が良くなかったみたいなので元の問題の方を教えてください。
ある色で塗りつぶされた背景に文字列を表示しようと思っています。
背景は動きます。文字列も変化します。
文字の色は黒にする予定ですが、変わるかもしれません。
これを10~50程度表示します。
どの様にするのが良いでしょうか?
マテリアルは今からぐぐってきます。
111:デフォルトの名無しさん
08/02/16 13:37:33
背景塗りつぶされてるのに
背景が動くとか言ってることに不安を感じる
正しく直せ
112:デフォルトの名無しさん
08/02/16 14:11:52
質問です。
以下のサイトで
URLリンク(www.geekpage.jp)
ローカルの動画ファイルを再生するにはIMediaControl->RenderFileを使用する事が分かったのですが、
自分でメモリ上に展開した動画データを直接再生する方法が分かりません
何か方法はあるでしょうか?
宜しくお願いしますm(__)m
113:デフォルトの名無しさん
08/02/16 17:17:11
スレリンク(tech板)
114:デフォルトの名無しさん
08/02/16 21:15:54
>>113
誘導ありがとうございます
そちらの方へ行ってみます
115:デフォルトの名無しさん
08/02/17 21:16:31
すみません質問です。
LPD3DXMESHに入った巨大なメッシュを絵画する時に
「カメラからどの辺の距離まで絵画するのか」を制御するにはどうすればよいですか?
116:デフォルトの名無しさん
08/02/17 22:17:38
絵画するって面白い言葉だな
117:デフォルトの名無しさん
08/02/17 23:19:32
普通は描画な
118:デフォルトの名無しさん
08/02/17 23:26:48
さらに巨大になると壁画とか
119:デフォルトの名無しさん
08/02/17 23:32:59
小さくなると漫画か。
120:デフォルトの名無しさん
08/02/17 23:39:14
総合するとこういうことか?
D3DXMatrixPerspectiveFovLH( D3DXMATRIX* pOut, FLOAT fovy , FLOAT Aspect , FLOAT manga , FLOAT hekiga );
121:デフォルトの名無しさん
08/02/18 01:12:05
>>115
メッシュの各頂点のうち、カメラに最も近い点までの距離を
カメラの近平面の距離とすればいいんじゃね?
もしくはバウンディングボリュームでもいい。
122:デフォルトの名無しさん
08/02/18 01:56:45
Far Clipping 以前に、絵画しちゃっている時点でちゃんとレンダリングできているのかどうかが心配。
123:デフォルトの名無しさん
08/02/18 02:10:44
>>122
「絵画しちゃっている」という言葉を使い続けている時点で日本語ができているのかどうかが心配。
124:デフォルトの名無しさん
08/02/18 04:04:11
新しく覚えた言葉を使いたい年頃なんだろうねぇ
うんうん、分かるよ
俺も幼稚園の頃そうだった
125:デフォルトの名無しさん
08/02/18 07:05:22
マスタリングDirectXとかいう本買って飛行機のxファイル読み込んで表示して
左右に揺らす。っていうところまで来たんですけど、パラメーターの設定多いわややこしいわ
で泣きそうなんですが、ここさえ乗り切ったら後は楽ですか?
126:デフォルトの名無しさん
08/02/18 08:35:58
>>125
その本は知らんが、正直DirectXの関数は全部そんな感じ
127:デフォルトの名無しさん
08/02/18 08:37:17
>>123
「絵画しちゃっている」という皮肉に本気で突っ込んでいる時点で本当に日本人か心配。
128:デフォルトの名無しさん
08/02/18 09:43:04
>>125
その本おれも買ったけど分かりにくくて結局ネットで解説してくれてるサイト見て勉強した
ある程度分かってから見てみたらあぁこうやって書くといいのか、とか分かって
かなりいい本だけど正直一からDirectX勉強する用には向いてないと思う
内容は初歩的なことだけど解説とか少なくてDirectXまったく知らないと分かりにくい
とりあえずDirectXはWinAPIみたいに最初はつらいけどある程度分かってくると
楽になるからGoogle駆使してがんばれ
129:デフォルトの名無しさん
08/02/18 17:10:42
DirectXは
・引数の指定の複雑さに嫌気がさしてラップクラスを作る
・欲がでてきて、「OpenGLも使える様にすれば汎用的になるんじゃね?」と妄想する
・VectorクラスとMatrixクラスを作って力尽きる
ここまで来て初心者です
130:デフォルトの名無しさん
08/02/18 17:58:46
>>129
それどこの俺?
131:デフォルトの名無しさん
08/02/18 19:53:42
ラップクラスを作るだけで力つきました
132:デフォルトの名無しさん
08/02/18 19:58:20
とりあえず絵画して挫折した
133:デフォルトの名無しさん
08/02/18 19:58:33
似たようなの作っては捨てて後に残るはゴミばかりって感じ
134:デフォルトの名無しさん
08/02/18 20:17:07
DirectXに限らず、無駄なコードを書くのは初心者
135:デフォルトの名無しさん
08/02/18 20:53:29
だが、無駄なコードを書いているときが一番楽しい。
136:デフォルトの名無しさん
08/02/18 21:05:51
勉強には無駄なコード書くのが一番
137:デフォルトの名無しさん
08/02/19 00:17:34
初心者は黙って絵画してろ
138:デフォルトの名無しさん
08/02/19 01:13:20
正直一回作っちゃえばあとはそれをコピペしてちょこちょこっと値かえるだけ
139:デフォルトの名無しさん
08/02/19 08:16:06
まぁ構造的に使いまわせる部分は多そうだよな
実際にはそうそう巧くいかないもんだが
140:デフォルトの名無しさん
08/02/19 12:57:47
セーブファイルを作りたいんですが、文字型配列が上手く書き込めません。
TCHAR a[10];
…略…
fprintf(sfp,"%10c",a);
…略…
ファイルを見ると文字化けしています。
141:デフォルトの名無しさん
08/02/19 13:02:31
ヒント:マルチバイト文字列
142:デフォルトの名無しさん
08/02/19 13:04:02
さらに大ヒント:スレ違い
143:デフォルトの名無しさん
08/02/19 14:46:44
アニメーションメッシュ、スキンメッシュを表示するプログラムはできたのですが、
例えばびっくり箱のような、
両方が含まれているXファイルを表示すると、
アニメーションメッシュのオブジェクト(箱)が変な位置に表示され、
かつアニメーションがされません。
スキンメッシュの方(じゃばらみたいなもの)は正常に表示されます。
1ファイルのアニメーションメッシュ、スキンメッシュ両方を表示する方法を教えてください。
144:デフォルトの名無しさん
08/02/19 15:11:45
まずはデータがどうなってんのか。
145:デフォルトの名無しさん
08/02/19 15:17:15
>>144
DXViewerでは正しく表示できているので、
データには問題ないと思ってます。
146:デフォルトの名無しさん
08/02/19 15:46:10
じゃあDXViewerを参考にすればいいんだな。
解決。
147:デフォルトの名無しさん
08/02/19 17:26:43
相対座標が間違ってるから変な位置に表示されるんだよ
座標計算を見直せ
148:143
08/02/20 00:11:19
解決しました。
頂点ブレンディングをオンしたまま
アニメーションメッシュの描画をしてました。
149:デフォルトの名無しさん
08/02/20 05:57:14
directXの3dを初めて間もない者です。MFCで作成していてCSplitterWnd を使って二つにウィンドウを分割して、片方には画像、片方には3dモデルを表示したいのですが、どうしてもエラーが起こってしまいます。
メニューから画像を読み込もうとすると終了してしまうのです。directxとそれ以外は混在できないのでしょうか?
150:デフォルトの名無しさん
08/02/20 06:58:11
できます
151:デフォルトの名無しさん
08/02/20 08:01:12
ボーンアニメーション再生サンプルって、SDKのどれですかね。
152:デフォルトの名無しさん
08/02/20 14:25:42
>>149
要点が伝わってない、とりあえず画像を読み込もうとしている関数を教えれ。
それと、一部分にDirectXを使うだけならView Matrixでウィンドウ上の一部を設定するだけでいい。
153:デフォルトの名無しさん
08/02/20 15:02:22
>>151
一体どこを探したら見つからないんだってくらいに
Sample Browserにそのまんまのモノが。