鬱だ氏のう DirectX (Part 16)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。


■過去スレ
DirectX総合スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
DirectX総合スレ (Part2)
http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/

■関連スレ
【C++】 DirectX初心者質問スレ Part7 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1132216611/

■関連サイト
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx

- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/
2デフォルトの名無しさん:2005/11/26(土) 21:11:09
// 外部
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx

- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/
- spin
ttp://spin.s2c.ne.jp/
- 宇治社中改(3D基礎講座) のミラー
ttp://web.archive.org/web/20020607052151/http://www.cc.rim.or.jp/~devilman/
3デフォルトの名無しさん:2005/11/26(土) 21:11:37
4デフォルトの名無しさん:2005/11/26(土) 21:13:31
5デフォルトの名無しさん:2005/11/26(土) 21:16:43
建てたぽ
6デフォルトの名無しさん:2005/11/26(土) 21:58:40
ゲ製作板にすでに立ってるが?

DirectX総合スレ (Part4)
http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/

前スレの流れでは「向こうに行け!」的な流れになってたし
7デフォルトの名無しさん:2005/11/26(土) 22:03:53
また鬱か
8デフォルトの名無しさん:2005/11/26(土) 23:03:34
うなぎ禁止
9デフォルトの名無しさん:2005/11/30(水) 05:41:31
鰻はここに聞けと言われてきました。

日本の鰻は海へ出たら何処へ旅に出ているんですか?
あと、鰻は土から生まれるってのは本当ですか?

教えてください。
10デフォルトの名無しさん:2005/11/30(水) 13:08:45
>>9
私の知る限り、
前者は研究中のテーマだったと思うし、
後者は幼生が小さいことからきた誤解だと言う話だったと思う。
11デフォルトの名無しさん:2005/12/01(木) 00:00:59
SDK Decemberでるのかな?
12デフォルトの名無しさん:2005/12/13(火) 12:30:29
December 2005 DirectX SDK
http://msdn.microsoft.com/directx/sdk/

         ∧∧ ∧∧
キタ━━━━ (*゚∀゚) (∀゚*)━━━━━━!!!!!!!!!!!!
     彡 ⊂   つ⊂  つ  ミ
   ((   ⊂、 /   \ 〜つ   ))
     ミ   ∪  ≡  U′  彡


どうでもいい。
13デフォルトの名無しさん:2005/12/13(火) 12:32:58
> Direct3D 10 Technology Preview
これは気になるか。コミケ終わってから見よっと。

> Windows Vista Game Explorer
なんじゃいこれは。またわけのわからんものを。
14デフォルトの名無しさん:2005/12/13(火) 15:35:00
MDX2がまだbeta2向けだorz
15デフォルトの名無しさん:2005/12/14(水) 07:25:01
普通にスルーだなw
もう、DLL自分で配れとかマジありえねぇサポート(?)の状態は終わったのか?w
なんか色々増えてるっぽいけど、どうせ次のウィンドウズが出るまで放置確定だろ。

16デフォルトの名無しさん:2005/12/18(日) 08:20:36
じゃあ鰻ポリについて語ろうぜ。
17デフォルトの名無しさん:2005/12/18(日) 09:55:37
鰻って何ですか?
18デフォルトの名無しさん:2005/12/24(土) 18:55:02
確認しておきたいことがあるんですが、
DirectGraphics にてメモリからテクスチャ読み込んだ時、読み込み後すぐにバッファは破棄してOK
DirectMusic にてメモリからセグメント読み込んだ時、読み込み後すぐにバッファを破棄するのはNG
……で合ってますか?
19デフォルトの名無しさん:2005/12/24(土) 19:04:15
テクスチャに既存のデータではなく単色で塗りつぶすだけでもいいから、
直接内容を書き替えるプログラムを作ってから出直せ。
質問はその後だ。
20デフォルトの名無しさん:2005/12/24(土) 19:14:20
いや、書き換えたことあるから上は想像ついた。18 で聞きたかったのは下の方。
21デフォルトの名無しさん:2005/12/24(土) 20:42:26
GCしないとキャッシュされてんじゃなかったっけ。
22デフォルトの名無しさん:2005/12/25(日) 01:44:15
ガードキャンセルか
23デフォルトの名無しさん:2005/12/26(月) 04:30:53
DirectX7の日本語ヘルプってもうDLできないの?
どっかにないかな?
24デフォルトの名無しさん:2005/12/26(月) 12:54:35
えーマジDirectX 7!! DirectX 7が許されるのは小学生までよねー
25デフォルトの名無しさん:2005/12/26(月) 13:03:08
>>23
DirectX1からヘルプを取ってある俺がきましたよ。
どうしてもほしけりゃアップするよ
26デフォルトの名無しさん:2005/12/26(月) 13:22:45
>>25
>>23じゃないけど、俺も欲しいからぜひお願いします
27デフォルトの名無しさん:2005/12/26(月) 13:34:57
2826:2005/12/26(月) 13:49:16
>>27
助かりました。ありがとう。
2923:2005/12/26(月) 18:40:47
>>27
助かった!ありがとう。感謝!!
30デフォルトの名無しさん:2005/12/26(月) 21:03:06
4以前のヘルプ持ってるって凄いな
31デフォルトの名無しさん:2005/12/26(月) 22:05:28
directx 2 でググると出てくる
ttp://pc.watch.impress.co.jp/docs/article/960627/kaigai21.htm
にはDirectXって1995年10月にMicrosoft Windows 95 Game Software Developers Kit
として出たものだって書いてあるねぇ。
ところで初代DirectXってまだ使えるの?
32デフォルトの名無しさん:2005/12/27(火) 02:47:50
知らんけど動きそうな予感がするのがMSという会社の隠れた恐ろしさ。
33デフォルトの名無しさん:2005/12/27(火) 22:53:02
10年前のライブラリなのに動いたらすごいね。
(久々にブラウザで書き込んだらageてしまった スマソ)
34デフォルトの名無しさん:2005/12/28(水) 03:11:52
へーこのスレにsage進行のローカルルールがあったなんて初めて聞いた
35デフォルトの名無しさん:2005/12/28(水) 21:50:24
あ、違うんか。
みんなsageてたからてっきりそうだと思って。
36デフォルトの名無しさん:2005/12/29(木) 03:23:11
自治厨が住み着かないくらい寂れたスレだからな。
ウナギの件でも明らか。
37デフォルトの名無しさん:2005/12/29(木) 03:42:39
おまい、鰻を馬鹿にしたな?
38デフォルトの名無しさん:2005/12/29(木) 07:37:38
マジメな質問はこちらへどぞー

DirectX総合スレ (Part4)
http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
39デフォルトの名無しさん:2005/12/29(木) 20:24:43
xファイルの仕様を調べようと思ったが
検索してもうまく引っかからないので挫折した。
40デフォルトの名無しさん:2005/12/29(木) 20:32:04
検索するまでもなくSDKのヘルプに載っているだろ。
41デフォルトの名無しさん:2005/12/29(木) 23:24:04
>>39-40
ワロタ
42デフォルトの名無しさん:2005/12/29(木) 23:55:37
鬱だ氏のう
43デフォルトの名無しさん:2005/12/30(金) 00:08:54
うつだうじのう
44デフォルトの名無しさん:2005/12/30(金) 23:58:23
>>39
仕様が見つからないなんて、しようがないなー
45デフォルトの名無しさん:2005/12/31(土) 01:11:52
>>44
ノ[座布団]
46デフォルトの名無しさん:2005/12/31(土) 13:31:10
こんなので座布団もらっちゃったよ。
47デフォルトの名無しさん:2006/01/01(日) 06:08:26
DirectX8でXファイルを作成するモデリングソフトを作ってるんだけど、
フレームありのXファイルを読み込む際、メッシュの読み込みに、
D3DXLoadMeshFromXofを使ったんだけど、
保存する際には、D3DXSaveMeshToXofって無いみたいですね。
そういうときは、どうすればいいんでしょう??
48デフォルトの名無しさん:2006/01/01(日) 06:12:36
自分でつくりゃあ
めんどーなだけで難しくはなかろ
49 【大吉】 【89円】 :2006/01/01(日) 06:16:04
test
50デフォルトの名無しさん:2006/01/01(日) 06:16:05
>>48
自前で組むしかないんですねぇ。
まぁ、けっきょくはテキスト出力ですけど・・・・orz
51デフォルトの名無しさん:2006/01/01(日) 07:03:53
ID3DXFile系のインターフェイスじゃダメなの?
52 【凶】 【584円】 :2006/01/01(日) 07:42:25
a
53デフォルトの名無しさん:2006/01/01(日) 13:50:01
>>51
ID3DXMeshとか?
54デフォルトの名無しさん:2006/01/01(日) 14:12:32
モデリングソフトを作る人間が、内部データまでD3DXに依存する作り方をするのがそもそもの間違い。
使っていいのはせいぜい低レベルの入出力を担当するID3DXFileまで。
55 【ぴょん吉】 【378円】 :2006/01/01(日) 14:27:13
>>54
んなことねーだろwあけおめ
56デフォルトの名無しさん:2006/01/01(日) 14:59:03
やってみれば分かる。
すぐに破綻するから、開け閉め。
57 【大凶】 【1382円】 :2006/01/01(日) 15:58:31
融通が利かずショボイとこで頭打ちにはなるだろうが
Xファイルで表現できることが、そもそもショボイのだからいいんじゃまいか。
5851:2006/01/01(日) 16:50:36
あー、DX8か・・・。
じゃあIDirectXFileだね。
59デフォルトの名無しさん:2006/01/01(日) 18:09:54
スプライトを拡大して描画すると画像がボケてしまうんですが
このフィルターを無効にする方法を教えてください
60デフォルトの名無しさん:2006/01/01(日) 18:10:31
あ、VisualC++6.0でDirectX9.0です
61デフォルトの名無しさん:2006/01/02(月) 00:28:14
age
62デフォルトの名無しさん:2006/01/02(月) 01:32:54
>>59
つSetSamplerState

こういうのは、いろいろ調べたり、設定変えてみたりして楽しい部分なんだがなあ
63デフォルトの名無しさん:2006/01/02(月) 10:29:18
>>62
どうしてもうまくいきません。
g_lpD3DDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_NONE);
こんな感じじゃだめなんですか?
他の値も試してみたんですが、変化がないです
64デフォルトの名無しさん:2006/01/02(月) 12:04:32
>>63
なるほど〜そんなところで詰まってたのか。
D3DSAMP_MINFILTER も 設定しないとだめなんだよ。
あと、NONEよりPOINTのが明確なんじゃないか?
65デフォルトの名無しさん:2006/01/02(月) 13:01:38
>>64
やっぱりだめみたいです・・・
g_lpD3DDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);
g_lpD3DDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_POINT);

この部分は間違ってないですよね?
66デフォルトの名無しさん:2006/01/02(月) 13:05:54
>>65
それであってるはず。それでだめなら、画面のプロパティ詳細で
ドライバレベルで強制フィルタかかってるとかかなあ。
67デフォルトの名無しさん:2006/01/02(月) 13:19:45
>>66
あ、気のせいでした!できてました!
でも、所々ボケているみたいです。
68デフォルトの名無しさん:2006/01/02(月) 14:54:20
フルスクリーンだと問題ないのですが
ウインドウにすると画像がぼけるみたいです
69デフォルトの名無しさん:2006/01/02(月) 15:52:33
>>68
メインウインドウのクライアント領域サイズとレンダーターゲット(バックバッファ)の
サイズが一致してないから、ストレッチかかってるんだろうね。
キャプチャして計ってみたら?
70デフォルトの名無しさん:2006/01/02(月) 16:56:00
>>69
ありがとうございました。できました。
もう一つ質問なのですが、
CreateWindowで作成するウインドウのサイズは640*480で
バックバッファのサイズを320*240にして、
最終的に2倍で描画したいのですが、そうするとやはりぼけてしまいます。
どうすればいいでしょうか。
71デフォルトの名無しさん:2006/01/02(月) 17:57:44
>>70
方法はいろいろあるが、俺の場合だったら、IDirect3DSurface9インターフェイスにD3DTEXF_POINTで
一旦転送(※1)してクライアント領域にStretchBlt(GDI)する。
実際にやったことはないので保証はできん。

以下の点に注意が必要かもしれん。
IDirect3DSurface9インターフェイスは、D3DPOOL_SYSTEMMEMで作ったテクスチャから
GetSurfaceLevelで取り出す。
CreateDeviceに渡すD3DPRESENT_PARAMETERS構造体メンバーFlagsに
D3DPRESENTFLAG_LOCKABLE_BACKBUFFERフラグを設定しなきゃならないかもしれん。
72デフォルトの名無しさん:2006/01/02(月) 18:59:46
>>71
GDIを使うと処理が遅くなったりしないのですか?
ところで、>>70の方法で16*16を2倍にして描画するのと、
32*32を直接描画するのでは、どちらが速いですか?
73デフォルトの名無しさん:2006/01/02(月) 19:32:49
>>70
ああ、わかった。
フレームサイズを考慮に入れてない。
74デフォルトの名無しさん:2006/01/02(月) 20:47:08
>>73
クライアント領域のサイズではだめなんですか?
75デフォルトの名無しさん:2006/01/03(火) 13:47:02
>>72
自分で試せよ
76デフォルトの名無しさん:2006/01/22(日) 01:54:19
オレも>>59と同じところでハマった
たしかにGDI使ってDirect3Dの拡大縮小を使わなければ無問題なんだが
なんとか解決したい
なにか突破口ないか?
77デフォルトの名無しさん:2006/01/22(日) 09:12:45
>>76
なにそれ?
スプライト使わなければおきない問題なの?
例えばDrawPrimitiveで直接描画した場合とか、
で、フィルタってのは何を指してるの?
バイリニアフィルタとかそういうのがかかってるってこと?
じゃあ、1回DrawPrimitiveでフィルタ有と無のサンプル作って
実験してみてくんない?
そうしないと君の目でみたフィルタと俺が認識してるフィルタが同じものかってわからない。
このボヤケが拡縮の際につくちょっとしたゆがみならどうにもならないし、
フィルタをOFFにして納得のいく結果が出ればそれでいいんじゃね?
78デフォルトの名無しさん:2006/01/22(日) 13:35:25
3Dデバイスを経由すれば、どうステートをセットしようと結局ドライバの実装次第だから、
確実に同じイメージを作り出したければ、自分でピクセルを書いていくしかない。
全く同じものが作れたら、そもそも3DCGソフトのレンダラーなんかはハードウエアを使うのが標準になっていただろう。
79デフォルトの名無しさん:2006/01/22(日) 14:11:12
Direct3D上ではフィルタOFFでも、ドライバの方でフィルタが有効にされ(ry
80デフォルトの名無しさん:2006/02/05(日) 02:38:00
http://pc8.2ch.net/test/read.cgi/tech/1134388951/
このスレで誘導されたのでこっちで質問します。

ATLでCOMオブジェクトを作っています。
そのオブジェクトにIDirectSound8*を引数にとるメソッドを作りたいのですが、
IDLのコンパイル時に「そのような型は定義されていない」と怒られます。
dsound.hをincludeすると今度はULARGE_INTEGERなどの型が二重定義だと怒られます。

というわけでincludeがまともにできないんですが、
そのような状況でIDirectSound8のような定義を使うにはどうすればいいんでしょうか?
元スレの>>249さんが書いたのをコピペすると
interface hoge : IDispatch{
[id(1), helpstring("メソッド dohoge")] HRESULT dohoge([in] IDirectSound8 *hoge);
};
こういうことをしたいのですけれども。
81デフォルトの名無しさん:2006/02/05(日) 14:37:39
COMの話は向こうだろ。この発言が正解だ
糞コテなんか信用すんな

>246 名前: デフォルトの名無しさん [sage] 投稿日: 2006/02/04(土) 21:53:24
>これはたまたまインタフェイスがDirectXだったというだけじゃないんですか?
82デフォルトの名無しさん:2006/02/09(木) 19:16:59
DirectX SDK - (February 2006)
http://www.microsoft.com/downloads/details.aspx?FamilyID=edb98ffa-a59c-4c23-9b92-ba304f188314&DisplayLang=en

         ∧∧ ∧∧
キタ━━━━ (*゚∀゚) (∀゚*)━━━━━━!!!!!!!!!!!!
     彡 ⊂   つ⊂  つ  ミ
   ((   ⊂、 /   \ 〜つ   ))
     ミ   ∪  ≡  U′  彡


どうでもいい。
83デフォルトの名無しさん:2006/02/09(木) 21:04:50
今回はどんな使いもしない機能がお披露目されたのだろう
84デフォルトの名無しさん:2006/02/09(木) 23:33:47
てゆうか次のウィンドウズってマジでこれを標準装備なのか?
いままでのGUIは全部サポートできてんのかな?
85デフォルトの名無しさん:2006/02/10(金) 01:44:26
暇なヤツはとっとと中身をレビューしなさい。これは命令である。
86デフォルトの名無しさん:2006/02/10(金) 10:20:14
物好きにDirectX10でもチラ見せしてるだけじゃない?
87デフォルトの名無しさん:2006/02/10(金) 20:49:42
とりあえずエフェクトコンパイラの最適化に
進展はないみたい。
今の最適化では、Uniform引数に構造体を使った場合、不要なメンバの
トリミングをやってくれないもんだから、不用意に構造体使えないんだよなー。
なんとかしてよ、まったく。
88デフォルトの名無しさん:2006/02/11(土) 03:07:58
エフェクトクラスって遅いしもう使わないよな?
89デフォルトの名無しさん:2006/02/11(土) 13:05:55
>>88
めでたくD3DXからD3Dに昇格したみたいよ
どっちかっていうと、Effectがメインになってくと思う。
Effectコンパイルさえ通れば他は何でもいいみたいな。
90デフォルトの名無しさん:2006/02/12(日) 00:59:01
Uniform引数のトリミングの為に、悩んだ末やっと組んだのに
コンパイルが通らねー鬱だー
マジDX10なんていらないから、こっち力入れてよー
2〜3万ぐらいなら金出してもいいのにー
91デフォルトの名無しさん:2006/02/15(水) 03:41:39
D3DX10ってXPで動く?
92デフォルトの名無しさん:2006/02/18(土) 14:36:36
VISTA専用
93デフォルトの名無しさん:2006/02/19(日) 15:23:23
>>82
Windows2000にはインストールすらできないのか。。。
94デフォルトの名無しさん:2006/02/19(日) 15:33:31
OSに金出すの辛いねぇ
2000で何の不満もないんだけどな

まぁこんなのいらないかw
Vistaまで待とう
95あげますよ・・・:2006/02/19(日) 23:02:28
VertexShaderからPixelShaderに
1本の正規化3Dベクトルを渡したいんだが
入出力レジスタは数の制限が厳しいので
xとyだけ渡して、z=√( 1 - (x*x+y*y))としようと思ったんだけど
VSからPSに渡した段階で、ベクトルの長さは1じゃなくなるよね?
この方法は使えないですか?
96デフォルトの名無しさん:2006/02/19(日) 23:08:22
>>95
>VSからPSに渡した段階で、ベクトルの長さは1じゃなくなるよね?
どういうこと?
97デフォルトの名無しさん:2006/02/19(日) 23:27:38
>>96
VSからPSへ渡されるレジスタの値は、
線形補間されます。
98デフォルトの名無しさん:2006/02/19(日) 23:47:09
>>95
線形補間でベクトルが短くなるのは誤差の範囲でええんでねえの。
大体、z=√( 1 - (x*x+y*y))←こんな計算しているぐらいだから、
PS2.0以上でしょ、無理せんでもテクスチャレジスタ8本、カラー
レジスタ2本(これは8bit精度だけど)つかえるから十分なよう気が
するけど。

PS1.xの時代は命令数とかの制限でベクトルを正規化できなくて、
仕方ないから正規化せずに線形補間で短くなる分は誤差という
ことで無視することもあったよ。データを圧縮すれば精度が犠牲
になるのは、トレードオフというのでは。
99デフォルトの名無しさん:2006/02/19(日) 23:57:01
>>95
ピクセルシェーダで正規化しなおせばいいんじゃないの
10098:2006/02/20(月) 00:00:36
>>99
正規化しなおしても、ピクセルシェーダに渡される時点で
x,yの2次元ベクトルの長さが微妙に短くなるので、zの値
が微妙に長くなる。
101デフォルトの名無しさん:2006/02/20(月) 00:20:46
>>98
ピクセルライティングだと
1ライトにつき3〜4本消費します。
普通にやると、1pass1ライトでギリギリです。
そこで、圧縮して2ライトぐらい出来るようにしようと思ったのですが・・
でも小細工っぽくてあんまり良い方法には思えなくなってきたので止めます。
passを増やす方向で考えます。
アドバイスありがとうございました。
10298:2006/02/20(月) 00:35:07
自分の中で1照明1passという固定観念があったので気がつかなかった。
ピクセルライティングだと1照明で確かに3、4本消費するね。

103デフォルトの名無しさん:2006/02/23(木) 23:19:35
質問です。
ロボットのキャラアニメ部分を製作中です。
D3DXFRAME と ID3DXAnimationController
1対1のアニメは成功しました。
最終的には4対1になるのですが、ID3DXAnimationController.CloneAnimationControllerで4対4にする方法しか思いつきません。
パフォーマンス的にそれは避けねばならない場合、どうしたら良いでしょうか?
104デフォルトの名無しさん:2006/02/23(木) 23:25:01
自前にして個別データと共有データを分離すれば?
105デフォルトの名無しさん:2006/02/23(木) 23:50:24
>>103
マルチは失せろ
106デフォルトの名無しさん:2006/02/24(金) 00:17:53
初心者の方かw
107デフォルトの名無しさん:2006/02/27(月) 01:23:32
頂点バッファレンダリング(Render To Vertex Array)ってのは、
Direct3D9では出来るの?
現状ではVertexBufferにD3DUSAGE_RENDERTARGETは指定出来ないみたいだけど
108デフォルトの名無しさん:2006/02/27(月) 02:03:07
実際に使えるかどうかはデバイスの問題でDirect3D9では対応している。
109デフォルトの名無しさん:2006/02/28(火) 02:41:15
>>108
Direct3D9では対応しているとは具体的にはどういうことですか?
VertexBufferをレンダターゲットにするんでしょうか?
それともテクスチャを頂点バッファとして使うんでしょうか?
自分のRadeon9700ですけど、対応してたら嬉しい。
110デフォルトの名無しさん:2006/02/28(火) 03:15:03
>>109
その意味がわからないことが信じられない。
Capsって何のためにあると思っているんだ。
111デフォルトの名無しさん:2006/02/28(火) 03:55:49
>Direct3D9では対応している
本当?
112デフォルトの名無しさん:2006/02/28(火) 12:54:40
DirectXのライブラリが対応してるのとデバイスが対応してるってのは
全然別の話って意味。大昔のビデオカードが刺さってるPCに
DirectX9を入れる事は可能だけどだからといって最新の
プログラマブルシェーダーが利用できるってわけじゃない
113デフォルトの名無しさん:2006/02/28(火) 13:26:08
>>112
頂点バッファレンダリングの実装例が
OpenGLのはあるけどDirectX9のが見つからないのよね。
だからもしかして対応自体してないんじゃないのって話。
114デフォルトの名無しさん:2006/03/14(火) 02:31:13
2006年後半にサンプル出荷が始まるDirectX 10世代GPU
http://pc.watch.impress.co.jp/docs/2006/0228/kaigai245.htm
115デフォルトの名無しさん:2006/03/16(木) 19:11:33
プログラマーが直にVRAMの再配置とかってできんの?
116デフォルトの名無しさん:2006/03/16(木) 21:26:17
もはや誰もそんなことは考えていないし、DirectX 10はもっと考えなくて済むようになってる。
117115:2006/03/16(木) 23:17:13
私も考えたくない事ではありますが。。。
118デフォルトの名無しさん:2006/03/17(金) 14:37:27
だから考えなくていいんだってば。
119デフォルトの名無しさん:2006/03/17(金) 20:40:39
ガンガンに出し入れしても最適化される作りになっている。。。という感じでしょうか?
しつこくてすいません。
120デフォルトの名無しさん:2006/03/18(土) 21:41:13
ていうよりは再配置やらを意識したコードは「書いてはいけない」。
121デフォルトの名無しさん:2006/03/19(日) 12:45:25
VRAM容量はCPUのキャッシュ容量と同じくらいには気にしなくていい。
シロウトは何も考えずにコード書いとけ。問題など起こらん。
122115:2006/03/19(日) 12:49:02
なるほど。  気にしなくて良いのは分かりました。
しかし、どうしても行いたい場合、どういった関数群を使用したら良いのでしょうか?
123デフォルトの名無しさん:2006/03/19(日) 12:50:54
>>122
違う。「出来ない」といってるの。
ウィンドウズですら管理できてないと思われる。
簡単にロストするしね。
124115,122:2006/03/19(日) 13:09:50
>>123
なるほど。
VRAM容量調べてリソース突っ込んでいたのですが、
容量限界を突破しても登録できたので「変だな〜」とは思っていたんです。
容量限界を超えたらシステムメモリをVRAMとして勝手に割り当てちゃうみたいですね。

ありがとうございました。
125デフォルトの名無しさん:2006/03/19(日) 17:29:41
VRAMに置けば速くなるとでも思ってるのか?
126デフォルトの名無しさん:2006/03/19(日) 23:32:42
 
127115:2006/03/20(月) 01:59:54
速くなるかどうかは分かりませんが、何らかのメリットはあると思ってます。
128デフォルトの名無しさん:2006/03/20(月) 03:31:34
テクスチャはすべて256x256x16bit固定にするとか
メモリはすべてD3DPOOL_DEFAULTにするとか
メモリの断片化を防ぐため、malloc/free/new/delete禁止で自前のメモリ確保関数を使うとか
c++を禁止し、cだけで書くとか
何らかのメリットはあると思ってます。
129デフォルトの名無しさん:2006/03/20(月) 07:21:30
それ、他の部分でのデメリット多そうだな
130デフォルトの名無しさん:2006/03/20(月) 11:28:55
>>115はVRAMとフレームバッファの認識がごっちゃになってる気がする。
131デフォルトの名無しさん:2006/03/20(月) 13:08:49
>>128
Win32でもこういう考え引きずってる人いるんだよな
132デフォルトの名無しさん:2006/03/20(月) 13:34:08
Win32っつーか2000以降だろ
やれるならやった方が良いだろ。
どっちかっていうとコンシューマあがりって感じに見える。
133デフォルトの名無しさん:2006/03/20(月) 13:43:04
日本はもう駄目かも分からんね。
134デフォルトの名無しさん:2006/03/20(月) 13:57:50
floatとdoubleみたいなものか
135デフォルトの名無しさん:2006/03/20(月) 15:36:42
>メモリはすべてD3DPOOL_DEFAULTにするとか

これはまだ有効なんじゃないの
136デフォルトの名無しさん:2006/03/20(月) 18:42:04
>>115を茶化す為に書いただけでしょ。
無効とは書いてないし。
137デフォルトの名無しさん:2006/03/20(月) 21:48:59
ヘルプには256x256が一番速いって書いてなかったかな
138デフォルトの名無しさん:2006/03/20(月) 23:25:58
>>137
詳しく
139デフォルトの名無しさん:2006/03/20(月) 23:45:12
ハードウエアによって最適な値は異なる。
140デフォルトの名無しさん:2006/03/21(火) 00:13:03
>>138
ヘルプつってんだからヘルプ読めよ基地外
141デフォルトの名無しさん:2006/03/21(火) 00:28:34
そんな怒んなくても良いではないでつか。
もしかしてアノ日?(・ω・)
142デフォルトの名無しさん:2006/03/21(火) 00:53:39
>>138=>>141
うぜぇ。
お前氏ね。
143デフォルトの名無しさん:2006/03/21(火) 00:56:10
いやおまいのがウザイ
144デフォルトの名無しさん:2006/03/21(火) 05:30:50
>>137

> できるだけ正方形テクスチャを使用する。ディメンジョンが 256 × 256 のテクスチャが最速である
http://msdn.microsoft.com/library/ja/DirectX9_c/directx/graphics/programmingguide/tutorialsandsamplesandtoolsandtips/tips/performanceoptimizations.asp?frame=true

コレだね。
145デフォルトの名無しさん:2006/03/21(火) 08:04:05
>>137
それはMSが想定した化石レベルな話。

> NVIDIA
> It doesn't influence a speed though it is probably 1024*1024 though it is probably 256*256.
256だろうが1024だろうが速度に関係ねーよボケ。

> ATI
> It is not the resolution of the texture to be high speed best. This MS256(256*256 is the fastest) age ended.
速度をあげるのはテクスチャ解像度じゃねぇ。MS256(256が一番速い)の時代は終わったんだよボケ。
146デフォルトの名無しさん:2006/03/21(火) 08:30:16
ヘルプを信じるなという良い例だなw
147デフォルトの名無しさん:2006/03/21(火) 13:52:57
これこそまさに鬱だ氏のう
148デフォルトの名無しさん:2006/03/21(火) 15:48:46
たぶんVRAMの容量が少なかった頃に誰かが適当に書いた一文なんだろうな。
149デフォルトの名無しさん:2006/03/21(火) 17:31:36
>>128
勘違いしちゃう人のためにかいておくけど>>128みたいなことは
全部OSが管理してるからやっても無駄。
150デフォルトの名無しさん:2006/03/21(火) 20:04:16
ハードウェアを特定せずに最適値のガイドラインを書いても
すぐ obsolute になってあまり意味があることには思えないよな。>MSのヘルプ
tips がどのハードを想定して書いたものなのか明確にしてほしいわな。
151デフォルトの名無しさん:2006/03/21(火) 20:34:54
>どのハードを想定して書いたものなのか
ヘルプ&チップスを書いたバイトの兄ちゃんが持ってるハード
152デフォルトの名無しさん:2006/03/21(火) 21:07:27
ソフトウェアレンダラの話とか
153デフォルトの名無しさん:2006/03/21(火) 21:17:10
もはや3Dですら同人ソフト程度なら大富豪プログラミングが可能。
いい世の中になったものだな。
154デフォルトの名無しさん:2006/03/21(火) 23:49:59
>>149
規模によると思うんだが、、、

嗚呼、、、叩かれそうな悪寒
155デフォルトの名無しさん:2006/03/21(火) 23:54:37
>>154
ん?規模によらないでしょ?
そもそも物理メモリってのはすでに俺等には触れない領域でな(以下略
156154:2006/03/22(水) 01:04:28
いや例えばFF11はメモリ管理とか自前で色々やってそうでさ。。。

長時間安定動作を求められるものでも、
コンパクションをOSに任せっきりなのかなぁ。。。なんて。
157デフォルトの名無しさん:2006/03/22(水) 03:26:14
( ゚д゚)ポカーン
158デフォルトの名無しさん:2006/03/22(水) 04:54:41
floatは遅いから16.16固定少数をメインに使うってポリシーでDirect3Dのゲームを作ってる人も
各都道府県に1人くらいはいるかもしれない。
159デフォルトの名無しさん:2006/03/22(水) 09:19:10
>>158は過去からの旅人
160デフォルトの名無しさん:2006/03/22(水) 10:14:24
>>158
千葉県は俺だ。

固定小数点用のクラステンプレート作ったから
16.16 / 24.8 等もサクっと計算できるし、
キャスト用関数も用意したから、浮動小数点型へも簡単に変換可能だ。


まぁなんだ。


すまん。
161デフォルトの名無しさん:2006/03/22(水) 10:37:28
えーマジ固定小数! 固定小数が許されるのは小学生までよねーキャハハハ

最近まったく使ってないことに気づいた。
携帯Javaも浮動小数サポートしたしな。
162デフォルトの名無しさん:2006/03/22(水) 10:51:23
つい3年前まで固定少数ベースで組んでた
2D物しかやってなかったんでそれで十分だったのもある
D3Dに移行し時、3Dではそういう最適化は無意味だと気付いた
163デフォルトの名無しさん:2006/03/22(水) 10:56:33
>>152
結構当たってるんではないかと…
DirectXの実装自体が「ソフト屋の考え方」が根底にあるよな。
164デフォルトの名無しさん:2006/03/22(水) 12:01:58
もうインラインアセンブラでヘコヘコする時代は終わり?
165デフォルトの名無しさん:2006/03/22(水) 12:29:43
昔インラインアセンブラ使ってDirectDraw上で
MMXαブレンディングしたことあるが、
その時すでにDirectX7が登場してたからただの徒労だった
166デフォルトの名無しさん:2006/03/22(水) 12:37:44
石にはかなわん
167デフォルトの名無しさん:2006/03/22(水) 12:59:55
256*256なんて、アセンブリャー世代にはいかにも速そうに見えるサイズだろう。
でも今のボトルネックはメモリの帯域だしな。
168154:2006/03/22(水) 13:57:33
すいません。
なんか自分自身、良く理解できてない気がする。。。
OSがコンパクションやるはずもなく。
言いたかったのはフラグメント対策です。

長時間安定動作を求められるものでも、
フラグメント対策をOSに任せっきりなのかなぁ。。。なんて。

なんか勘違い入ってる?俺。
169デフォルトの名無しさん:2006/03/22(水) 14:59:17
Javaで24時間稼動してるウェブサービスとかゴロゴロあるわけですが。
170154:2006/03/22(水) 15:05:37
System.gc() を毎回呼んだ方が良いとか聞いた事があるんですが。。。
171デフォルトの名無しさん:2006/03/22(水) 17:14:07
ソースは何処だ?


…というか、スレ違いの話題だと思うんだな。
172デフォルトの名無しさん:2006/03/22(水) 17:31:40
・今のPCでは、断片化など気にせずガンガンnew/deleteしても24時間365日動きますし、
 パフォーマンス上の不利もありません。本当に気にしなきゃいけないのは日本全国で5人くらいじゃね?
 他はみんな自己満足野郎(言ってやった言ってやった

・ゲーム機のやや狭いメモリだと、PCよりも断片化による問題が起こりやすくなりますが、
 大抵は、一部の大きなリソースだけを固定したり、シーンごとにすべて強制解放してやれば解決します。

・それよりも、みみっちく手動でメモリ管理することによる開発効率の低下のほうが問題です。
 C++のメリットの大半を捨てることになるし、ライブラリも大部分が使えなくなるはずだけど、いいの?

・面倒なメモリ管理なぞランタイムやVMに委ねてしまって、何かあったらそのときに対処。
 実際にはまず問題など起こりません。この大雑把さが今流。富豪的プログラミング。

・どう見てもスレ違いです。本当にありがとうございました。
173154:2006/03/22(水) 17:38:08
某ゲーム会社のサーバー周りを担当した会社のソースのコメントアウト
「毎フレームガベコレした方が良いのか!?」
って書いてあって驚いたw
174154:2006/03/22(水) 17:42:28
ああ。。。やっぱり叩かれてしまった。

本当にありがとうございました。
175デフォルトの名無しさん:2006/03/22(水) 18:43:56
XNAダウンロードはじまたwktk
176デフォルトの名無しさん:2006/03/22(水) 19:09:12
172なら嬉しいが、なんらソースが無いからなぁ…
177デフォルトの名無しさん:2006/03/22(水) 19:14:21
154もどうかとは思うが172も楽天的過ぎ

>・今のPCでは、断片化など気にせずガンガンnew/deleteしても24時間365日動きますし、

昔と違って単にメモリ搭載量が増えたから問題が露見しにくくなっただけ
自力で再配置する必要は無いが、取得・開放の順ぐらいは気にしとけ
178デフォルトの名無しさん:2006/03/22(水) 20:55:00
>>172
パーティクルの粒一つ一つをnew/deleteした俺に謝れ
179デフォルトの名無しさん:2006/03/22(水) 21:33:14
ハード的にはMMU マッピングでメモリ断片化は
原理的に無くせるんじゃなかったっけ
180デフォルトの名無しさん:2006/03/22(水) 21:58:30
>>154
っていうかさ、OSがどうやってメモリを管理しているのか知らずに
必死で物理メモリいじってる気になってて馬鹿みたい。
あんた管理できないでしょ?
OS通すしかないのわからないの?
OSがどうやってメモリ管理してるか知らないで馬鹿みたいなことしないでくれない。
181154:2006/03/22(水) 22:09:40
あー。。。まー確かに。。。
182デフォルトの名無しさん:2006/03/22(水) 22:25:23
>>178
つ メモリプール
183デフォルトの名無しさん:2006/03/22(水) 23:13:45
>>177
> 昔と違って単にメモリ搭載量が増えたから問題が露見しにくくなっただけ

メモリ容量が増えて十分に露見しなくなったら、問題は解決していると思うのだが。
ひとつのアプリを動かしつづけている限りは、ある程度断片化は起こしても
メモリ消費はそれなりのところで収束しないか?

てか、実際、問題が起こったことないしな。
よく考えてみれば俺Windowsのmallocの実装知らねーや。気にしたことないから。
68/98時代は自前のヒープ管理コード書いてたのだが、すっかりぬるぽか。
184デフォルトの名無しさん:2006/03/23(木) 06:49:15
ここは化石人類の宝庫ですか?
185デフォルトの名無しさん:2006/03/23(木) 12:48:38
MZ-2000使ってましたが何か質問ある?
186デフォルトの名無しさん:2006/03/23(木) 13:41:36
どんなテープだとエラーが出にくいですか?
187デフォルトの名無しさん:2006/03/23(木) 13:56:05
>>183
Windows の malloc とか Linux の malloc とかいうのは無いよ。
bcc の malloc とか vc の malloc とか glib の malloc とかがあるだけ。
188デフォルトの名無しさん:2006/03/23(木) 17:34:51
>>185
俺はMZ-80Bだったんだけど、80Bと2000って何が違うんだっけ?
189デフォルトの名無しさん:2006/03/23(木) 20:29:17
------ ビルド開始: プロジェクト: dx0, 構成: Debug Win32 ------
リンクしています...
d3dx9.lib(d3dx9dbg.obj) : error LNK2019: 未解決の外部シンボル __imp__RegCloseKey@4 が関数 "int __stdcall GetD3DRegValue(unsigned long,char *,void *,unsigned long)" (?GetD3DRegValue@@YGHKPADPAXK@Z) で参照されました。
d3dx9.lib(cpudetect.obj) : error LNK2001: 外部シンボル "__imp__RegCloseKey@4" は未解決です。
d3dx9.lib(d3dx9dbg.obj) : error LNK2019: 未解決の外部シンボル __imp__RegQueryValueExA@24 が関数 "int __stdcall GetD3DRegValue(unsigned long,char *,void *,unsigned long)" (?GetD3DRegValue@@YGHKPADPAXK@Z) で参照されました。
d3dx9.lib(cpudetect.obj) : error LNK2001: 外部シンボル "__imp__RegQueryValueExA@24" は未解決です。
d3dx9.lib(d3dx9dbg.obj) : error LNK2019: 未解決の外部シンボル __imp__RegOpenKeyA@12 が関数 "int __stdcall GetD3DRegValue(unsigned long,char *,void *,unsigned long)" (?GetD3DRegValue@@YGHKPADPAXK@Z) で参照されました。
d3dx9.lib(cpudetect.obj) : error LNK2001: 外部シンボル "__imp__RegOpenKeyA@12" は未解決です。
D:\c\vc2005\dx0\Debug\dx0.exe : fatal error LNK1120: 外部参照 3 が未解決です。
ビルドログは "file://d:\c\vc2005\dx0\dx0\Debug\BuildLog.htm" に保存されました。
dx0 - エラー 7、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
190デフォルトの名無しさん:2006/03/23(木) 20:34:35
事故解決
191デフォルトの名無しさん:2006/03/23(木) 21:34:51
struct VERTEX2D
{
float x,y,z,w;
float tu,tv;

// 頂点FVF
enum { FVF = D3DFVF_TEX1|D3DFVF_XYZRHW};
};

入れる順番変えたら動かない
順番は 座標、UVって決まってるの?
192デフォルトの名無しさん:2006/03/23(木) 21:36:40
FVFは当然入れ替えても問題ない、ただの数値だからな。
ただFVFに対しての頂点データの順番は固定。
無論シェーダーで処理する場合は全て自分で定義できるので自由。

つまりドキュメントくらい見ろってこった。
193デフォルトの名無しさん:2006/03/23(木) 22:20:47
つーかいきなりレベルが...
いや何でもない
194デフォルトの名無しさん:2006/03/23(木) 23:37:47
ちょま!
俺の為に時よ止まれ!

>>145
ソースいただけないでしょうか?
195デフォルトの名無しさん:2006/03/24(金) 02:16:49
ここはDirectX初心者質問スレ【狼】だからな
196デフォルトの名無しさん:2006/03/24(金) 12:14:24
そもそもある程度のレベルに達した奴が2chなんかに質問しにくるんだろうか
197デフォルトの名無しさん:2006/03/24(金) 12:49:59
DirectXとは直接関係ないけどQuakeとかのBSPファイルに対応した
FPS作成可能な日本のライブラリって見かけないけどやっぱり国柄の問題?
198デフォルトの名無しさん:2006/03/24(金) 14:16:41
あっちはFPSのおかげで3Dとネットワークが飛躍的に発展したね
2Dの基本がシューティングゲームなら3Dとネットワークの基本はFPS
それすっ飛ばしてMMORPGばかり作るから技術が伸びない
199デフォルトの名無しさん:2006/03/24(金) 14:42:54
winnyのために回線速度は飛躍的に上がりましたってのはだめ?
200デフォルトの名無しさん:2006/03/24(金) 15:50:13
てことは、そのへんをDXライブラリやLunaあたりがサポートしてくれれば
フリーや同人あたりで出回ってきたりするのかもしれないね。

どっちも一人で作ってるみたいだから望み薄かもしれないけど。
201デフォルトの名無しさん:2006/03/24(金) 17:13:34
>>187
DirectXスレだからVCに決まってるじゃないか。
202デフォルトの名無しさん:2006/03/24(金) 17:21:51
餌がよくない
203デフォルトの名無しさん:2006/03/24(金) 19:23:58
>>200
敷居が下がっても増えるのは(ry
204デフォルトの名無しさん:2006/03/24(金) 19:35:09
大きなピラミッドを作るには下敷きになる人々がたくさん必要
205デフォルトの名無しさん:2006/03/24(金) 19:51:24
下敷きでもなれるならよいがな
206デフォルトの名無しさん:2006/03/24(金) 20:15:33
>>197
日本ではFPSは人気ないし、あまり需要がないだろう。
BSPやPVSは屋内のようにマップの大半が不可視の場合に
効率的だが、三人称視点はそういう地形に向いてない。

もっとも、一番のネックはプログラミング技術的なことよりも
レベルエディットだと思うけどね。
207デフォルトの名無しさん:2006/03/24(金) 23:02:28
PGでもなんでもない場違いな人なのですが・・・
漏れのPCで3Dmark05のデモを動かすと、D3DERR_DEVICELOST って言われて
しまうのですよ。

それでその言葉ググったらここのスレのpart8ってのが出てきて、分からないなりにザット
読んでみたのですが・・・

要するに、これ言われちゃう時はデバイスリセットするようにコード書かなきゃだめってことで、
バグって言っちゃっていいってことなのかしら?
漏れのハードがしょばいからって訳じゃなくて
208デフォルトの名無しさん:2006/03/24(金) 23:10:38
つまり本題は、このスレの住人のエスパーぶりを試すため、
そのしょっぱいハードウエア構成を当てろという挑戦状だな。
209デフォルトの名無しさん:2006/03/25(土) 00:32:37
日本は同人弾幕STGのおかげでパッド普及率が飛躍的に発展したね
それしか作られないから、3Dもネットも、ありとあらゆる方面で技術が伸びない
210デフォルトの名無しさん:2006/03/25(土) 01:25:05
3Dかぁ・・・
すげー作りたいんだけどデータの用意がしんどいんだよね。

今参加させてもらってる同人サークルでは進言して
3Dでって話を進めてるけどモデルデータに関しては
四苦八苦してる感じ。

DirectX用の最適なモデル作成ってのもまた面倒だしね。

ネットワークは必要とあれば対応ってそんな難しい気がしないけど。
サーバークライアント型しか作ったことないからP2Pだとまた難しいのかもしれないな。
211デフォルトの名無しさん:2006/03/25(土) 06:14:19
初学者が気軽に使える3Dモデラーがないよね
日本でモデラーといえばメッシュ作成までで、動きをつけられないのが当たり前
212デフォルトの名無しさん:2006/03/25(土) 06:31:36
>>211
そもそもキャラクターの動きそのものをどうやってつけるか?
って部分がテンプレ化してないから、よしんば、アニメーション+スキニング(スキミングではないw)ができたとしても
ぶつ切りアニメができるだけだしねぇ。

モーションA
モーションB
まではできるだろうよ。
でも、それにともなって必要になる
アクションA
アクションB
アクションA->B
までをやるのは至難の技だろうな。

それと最近の六角大王を使えばとりあえずアニメーション+スキニングまではつくぞ。
旧タイプのファイルで吐き出して、どっかのサイトに落ちてるフリーの変換ソフトでスキニングのXファイルが作れるんだ。
知らなかっただろ?

とりあえずできる環境はある。
でも、3Dゲーム作るならそんなところには拘らないで、とりあえずアニメーション無しの物体でも出して
3Dゲーム作ってみればいいとおもうんだけどなぁ・・・
213デフォルトの名無しさん:2006/03/25(土) 09:23:21
モーションなしでも見栄え的に問題ない
レイストームみたいなSTGとかですら作る人が滅多にいないのが現状・・・ってとこだね。

エロゲーの極限まで低スペックまで動作サポートは当たり前みたいな
風潮も足をひっぱってるのかもしれないね。

PS2からの移植(3Dあり)のサンプル作成時に
上司からMatrixG400&DirectX5&Pen2の200くらいで動くようにしろ
って言われたときは撃ち殺そうかと思った・・・。
214デフォルトの名無しさん:2006/03/25(土) 09:25:42
モーションを繋げるのは、モーションブレンドをかけるだけだから、
別に至難の業でも何でもないが。
不自然に繋がるなら基本姿勢を用意すればいいだけだし。
215デフォルトの名無しさん:2006/03/25(土) 09:37:22
モーションブレンドだとDirectX8で追加された新しいモーションタイプが癌になるでしょ。
全キーフレーム分のデータをマトリックスで持ってる形式のやつ。

計算を早くするための導入されたんだろうけど、
計算後のマトリックスしかないとブレンドは至難の技じゃない?
216デフォルトの名無しさん:2006/03/25(土) 09:45:23
>>215
別にゲーム作るのにXファイル完全対応する必要はないので、
自分のゲームでマトリクスキーは使わなければいいだけ
217デフォルトの名無しさん:2006/03/25(土) 12:44:41
そらそうか、、、普段ライブラリ作ってると全機能対応しなきゃならんとか思ってしまう・・・
218デフォルトの名無しさん:2006/03/25(土) 16:29:40
てか、マトリクスキーだって使いようでしょ?
回転とかで半回転とか1回転とかさせるデータを作らないで30度ぐらいで刻んでキーを打つようにしていけば
特に問題なく動くんじゃない?
って別に使わなきゃいけないって決まりも無いけどw
まあ、それでも動かすことはできるということで。
219デフォルトの名無しさん:2006/03/25(土) 21:53:16
だから問題点はスケールが掛かってると簡単には補間できないってことでしょ
220デフォルトの名無しさん:2006/03/25(土) 22:17:49
>>219
マトリックスの各要素をそのまま補間するだけでそれっぽくなると思うけど?
221デフォルトの名無しさん:2006/03/25(土) 22:52:40
じゃあ、任意のスケールと回転を合成済みの3x3行列が A、Bのふたつあるとして
それをxの割合で、そのまま補完する方法を教えてください

222デフォルトの名無しさん:2006/03/25(土) 23:58:15
なんだか急にレベルが・・・
223デフォルトの名無しさん:2006/03/26(日) 00:13:06
それって出来ないんじゃ無いっけ?
224デフォルトの名無しさん:2006/03/26(日) 00:30:15
答えられる人はここにいない
225デフォルトの名無しさん:2006/03/26(日) 00:34:41
回転の順番が固定されてる時のみ分解できるじゃないっけ?
回転の順番が固定されていなくて、さらにスケールまではいってるものを
分解なんてどう考えても無理な希ガス。
226デフォルトの名無しさん:2006/03/26(日) 03:54:11
>>221
普通にそれぞれの値を線形補間するしかないんじゃね?
分解はもう不可能だし。
それは回転や平行移動に関しても似たようなもんじゃね?
例えば、1回転な。もうこんなの確かにマトリクスじゃ無理っしょ。

だけど、あってるあってないはともかくとして状態Aのマトリクスと
状態Bのマトリクスを線形補間するんだから、あくまで「近似」だったらできると思わない?
それで十分な値の作り方もあるっしょ?
227デフォルトの名無しさん:2006/03/26(日) 09:06:14
2つの回転行列が合成された行列は分解不可能
1つの回転行列と1つの拡大行列なら分解できる
228デフォルトの名無しさん:2006/03/26(日) 10:52:05
その通り。
229デフォルトの名無しさん:2006/03/26(日) 10:56:58
まぁDirectX8で追加されたマトリックスキーはゴミってこったな。
面倒なことにSDK付属のプラグインで3DSMaxで出力したXファイルは
マトリックスキーしか吐き出さない。
230デフォルトの名無しさん:2006/03/26(日) 11:48:14
ごもっとも。
231デフォルトの名無しさん:2006/03/26(日) 18:21:37
>>229
だから、要は使いようだって、キーを小刻みに打てば一応使えるでしょ。
232デフォルトの名無しさん:2006/03/26(日) 18:30:34
いぁいぁ、、、モーションブレンドのときどうすんのよ?
って話さねぇ
233デフォルトの名無しさん:2006/03/26(日) 18:38:06
>>231
ブレンド相手のモーションとのスケールや角度の差が大きければ、
ねじ曲がったり潰れたりする。
中間姿勢まで大量に作るつもりなのか?

そんな無駄な苦労をするくらいなら、最初から行列で吐かなければいいだけ。
何故固執するのか分からん。
234デフォルトの名無しさん:2006/03/26(日) 19:20:39
頭が固いんだろ
235デフォルトの名無しさん:2006/03/26(日) 20:01:51
フォーマットくらいマトモなのが標準になってほしいもんだ。
COLLADAとかどうなるんだろ
236デフォルトの名無しさん:2006/03/27(月) 01:45:24
>>233
>何故固執するのか分からん
そういう方法があってもいいじゃん。
気に入らないならサポートしなければいいだけで。
ルーチン自体は至って単純だし、Tinyのサンプルもサンプルとして十分な動きで動いてるじゃん。
良い悪いは別として「使える」ってところは大きいと思うけどね。

この方法の方が都合いいことってのもなんかあるかもしれないわけだし。
DirectXの開発者がヘルプを変更してまで追加してみたフォーマットなんだからなんかいいことあんじゃないの?

俺がいいたいのは「あってもいいでしょ?」ってこと。
237デフォルトの名無しさん:2006/03/27(月) 02:21:19
否、都合良いことはないね。

可能性だのなんだの、お花畑PTAや厨房アニメの奇麗事みたいなこと言ってんな。
ないの。いいところは全く。

↓そうじゃないってんなら、思いつくのを書いてみろ
238デフォルトの名無しさん:2006/03/27(月) 02:38:26
Tiny女史は単純に大量のキーを吐いてるだけという
なんとも香ばしい状態でして、あれを実用するとなるとちょっと・・・
239デフォルトの名無しさん:2006/03/27(月) 02:44:39
ちょっと・・・?
ちょっと、何だよ?
言いたいことがあるならはっきり言ってみろってんだ。
240デフォルトの名無しさん:2006/03/27(月) 02:44:46
Tiny女史の4モーション入ってる奴は2.5MBあるしな・・・
そもそもMaxで出力された奴は時間の概念がおかしいからうっとうしい・・・

マトリックスキーで最大の欠点は任意のスピードの再生が出来ないことだな。
スローモーションとか補間できないからカクカクになる。
高速再生も整数倍でしかできないし。
241デフォルトの名無しさん:2006/03/27(月) 07:03:33
>>237
そんなのDirectXの開発者に聞けよ。
逆に聞くけど、Tinyのサンプルで何かまずいことあるの?
サンプルならあれで十分じゃないの?
242デフォルトの名無しさん:2006/03/27(月) 08:28:25
行列でしか吐けないMAXのプラグインを書いた奴が無能だっただけの話。
243デフォルトの名無しさん:2006/03/27(月) 11:44:07
>>237
お前もアニメの悪役みたいな台詞で必死になるなって
モーションブレンドが必要ない状況ならあれが高速で使いやすい。
問題はモーションブレンドが必要な時が多いのに行列キーしかサポートしてないって点だろ
244デフォルトの名無しさん:2006/03/27(月) 15:55:22
そういや大分昔の話だけど
ID3DXAnimationControllerだっけ?
あれがなかったころのskinnedmesh.cppの実装は
行列キーのは線形補完じゃなくて本当にコマ送り処理だったな
245デフォルトの名無しさん:2006/03/28(火) 12:51:46
ttp://www.4gamer.net/news/history/2006.03/20060327230253detail.html

各種ゲームスレで「XPなんですけどこれ動きますか?」が何回書き込まれるんだろう
246デフォルトの名無しさん:2006/03/28(火) 13:11:25
またライブラリ作るのかと思うとそれはそれでしんどいが、
なんだかんだで楽しそうでもあるな。
247デフォルトの名無しさん:2006/03/30(木) 15:11:43
D3DXMATRIXA16 matW;
D3DXMatrixIdentity(&matW);
static float g_rotY =0,x=0,z=0,big=1;
g_rotY +=0.1f;
D3DXMatrixRotationYawPitchRoll( &matW, g_rotY, 0,0 );

D3DXMATRIX matrix;
D3DXMatrixTranslation(&matrix,x,0,z);
x+=0.01;
//z+=0.5;
matW*=matrix;
D3DXMATRIX ScaleMat;
D3DXMatrixScaling(&ScaleMat,big,big,big);
matW*=ScaleMat;
big+=0.009;


ど〜ん^^
248デフォルトの名無しさん:2006/03/30(木) 15:22:25
すげー!!!
マジ感動した!!
249デフォルトの名無しさん:2006/03/30(木) 18:01:50
?、自演?
250デフォルトの名無しさん:2006/03/30(木) 20:30:33
みんな寄ってたかってマトリクスキー悪い子にしてるけど
これは元々ブレンドとか補間とかが必要でない状況に用意されてる物であって
その他の状況で使う物ではないのと思うのですよ.
例えばいわゆるポリゴンムービーとか決まり切ったモーションを
フレームベースで処理するときなどに使用するのではないかと.
ブレンドも補間も必要ないから他のキーでは無駄でしょ?そんな時に応えてくれるのがマトリクスキーです.
ブレンド云々言っている方は道具の使い方間違ってるだけでマトリクスキーを責めるのはお門違いだと思う.

まあマトリクスキーしか出力出来ないソフトはポリゴンムービーしか
想定してないということではないでしょうか...
251デフォルトの名無しさん:2006/03/30(木) 20:50:13
データ量が無駄に増えるけどね。
ムービー用途で長時間動かしたら、行列の束だけでバイナリでもMB単位。
252デフォルトの名無しさん:2006/03/31(金) 01:12:12
回転移動拡大縮小だけでキーフレーム式なら
数フレーム毎に9x4BYTEで済むが、

マトリックスキーは毎フレーム16x4BYTE必要。

メモリ気にしないでいいPCだからこその手法ってとこだな。
253デフォルトの名無しさん:2006/03/31(金) 01:27:59
鉄拳2のアーケード版が毎フレーム行列で持ってた希ガス。
1だったかもしれない。
PSに移植するときにキーフレームに直したとか。
254デフォルトの名無しさん:2006/03/31(金) 01:58:39
>>253
それは多分元データがモーションキャプチャだからね。

行列で持つにしても、せめて変化しない部分
(左作用のDirectXなら4列目)は省略するべきね。
255デフォルトの名無しさん:2006/03/32(土) 04:30:09
>>254
そんな面倒臭ぇことする必要ねぇだろ。
容量に問題有りってならする必要あるけど、ないならやらんでもいいでしょ。
メモリにはいりゃ終わりな話でしょ。
256デフォルトの名無しさん:2006/03/32(土) 09:16:49
>>255
個人的に"モーションデータはかさばる"っていうイメージが
しみついてるから、どうしてもケチくさく考えちゃうのよね。
でも、そもそもメモリ重視なら行列は選ばないんだから、
そこで小細工しなくてもいいかもね。
ホビープログラムだと、モーションデータを用意するだけで大変で、
とにかくちゃんと再生できることが重要なんだから(PC環境だからメモリも十分あるし)
変にトラブルの元を作らない方がいいのよねきっと。野暮だったわね。
257デフォルトの名無しさん:2006/03/32(土) 09:18:51
イメージで右往左往するほど無駄な事は無い・・・
258デフォルトの名無しさん:2006/03/32(土) 09:32:46
行列でしか出力できない糞ソフトや糞エクスポータを窓から投げ捨てろ。
選択肢がないなら無駄に容量を食おうがブレンドできなかろうが諦めろ。
259デフォルトの名無しさん:2006/03/32(土) 15:06:35
この世界「プロなら自前で書け、アマなら贅沢言うな」がデフォだから困る。
読み込み書き出しぐらい簡単にしたいものだが
260デフォルトの名無しさん:2006/03/32(土) 18:38:26
VC++2005でManaged DirectX使ってる人いる?
なんかコンパイルとおらんのやけど・・・
261デフォルトの名無しさん:2006/03/32(土) 19:06:43
エラーの内容すら書かないとは、
つまり目的は問題を解決することではなく、
エスパーを探し出すことなのか?
だったら板違いだ。
262デフォルトの名無しさん:2006/03/32(土) 19:37:43
馬鹿はほっとけ。
263デフォルトの名無しさん:2006/03/32(土) 20:29:36
>>260
使ってる人はいません
1人も
どこ探してもいません
諦めよう
264デフォルトの名無しさん:2006/04/03(月) 22:30:04
DirectInput使っていて、
レジストリ(Current_User\Software\Microsoft\DirectInput)の下に
実行体の名前+Hex文字列
のキーが作られていくのですが、これを回避する方法ってないですか?

MSDN見るとレジストリにキーを作ると書いてあって、
消す方法(フラグなど)は全く見あたらないのです。
※仕様ですって言われてしまえばそれまでですけど。

どうしても消したかったら、
プログラム終了時に自力で消すしかないのでしょうか?
265デフォルトの名無しさん:2006/04/12(水) 20:53:47
DirectXでボタンやテキストボックスなどのWindowsコントロールを使いたいのですが
これらは自前で描画するしかないのでしょうか?

CustomUIサンプルではDXUTを使ってこれらの機能をDirectXと共存させていますが
これを商業製品に使っても問題ないのでしょうか?
性能やデバッグのしやすさと言った部分での判断ができないのでDXUTを使った事がある方いらしたら教えてください。
266デフォルトの名無しさん:2006/04/12(水) 22:15:27
SetDialogBoxMode を使えば GDI のオブジェクトと共存できるけど、
DirectX 使うメリットがあまりないような
267デフォルトの名無しさん:2006/04/13(木) 00:53:33
April2006入れたらFXC通らなくなった
268デフォルトの名無しさん:2006/04/13(木) 01:22:26
DirectInputでの協調モードでDISCL_FOREGROUNDはウィンドウが非アクティブになると
「い っ た ん」入力制御を停止するとありますが実際にはたとえばウィンドウを最小化してから最大化すると
その後入力は一切受け取ってくれないっぽいのですが再び入力受付させるにはどうしたらいいですか?
269デフォルトの名無しさん:2006/04/13(木) 01:34:21
Acquire()はしてるよね?
270268:2006/04/14(金) 10:14:48
プログラム起動時のDirectInput作成時にしてるだけですが
もしかして毎フレームやったほうがいいですか?
271デフォルトの名無しさん:2006/04/14(金) 10:15:54
必要な時にやる
272デフォルトの名無しさん:2006/04/14(金) 13:33:40
>>270
ヘルプぐらい読めよ
273デフォルトの名無しさん:2006/04/14(金) 18:51:43
>>268が画面に向かって「何でうごかねえんだよ!」ってキレてる姿が目に浮かぶ
274デフォルトの名無しさん:2006/04/14(金) 18:57:26
  .-、  _
  ヽ、メ、〉      r〜〜ー-、__ 
  ∠イ\)      ムヘ._     ノ 
   ⊥_      ┣=レヘ、_ 了
-‐''「 _  ̄`' ┐  ム  _..-┴へ 
  | |r、  ̄ ̄`l Uヽ レ⌒',    ヽ
  (三  |`iー、  | ト、_ソ   }     ヽ
  | |`'ー、_ `'ー-‐'    .イ      `、 
  | |   `ー、    ∠.-ヽ      ',
__l___l____ l`lー‐'´____l.       |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||  .|      |
               ||  |__.. -‐イ
               ||   |    ノ/
275デフォルトの名無しさん:2006/04/14(金) 20:36:55
値を取得して「AQUIREしてない」という意味のエラーコードが返ってきたら
Aquire()してもう一度リトライ

じゃなかった?
276デフォルトの名無しさん:2006/04/20(木) 14:42:46
DirectX9.0cのフォントサンプルを試すとC++ではアンチが掛かってなくて
C#だとアンチが掛かるんだがこれって何が原因かわかります?
グラボはFX5700(設定は解像度と色数以外デフォ)
別PCでノートやミレG400だとどちらもアンチは掛かる。
277デフォルトの名無しさん:2006/04/20(木) 15:46:12
「アンチが掛かる」とはどういう意味だろうか。
アンチ・アンチウイルス・ウイルスにでも罹るのだろうか。
278デフォルトの名無しさん:2006/04/20(木) 15:50:12
>>277
このスレでそれはないだろ
279デフォルトの名無しさん:2006/04/20(木) 15:52:19
>>276
わからない。
280デフォルトの名無しさん:2006/04/20(木) 15:53:38
>>276
しらない。
281デフォルトの名無しさん:2006/04/20(木) 17:09:55
せめてアンチェリとでも書くべきだったな。
282276:2006/04/20(木) 17:43:19
自己解決しますた。
283デフォルトの名無しさん:2006/04/20(木) 19:14:27
よかったね^^
284デフォルトの名無しさん:2006/04/20(木) 21:47:31
でもそれエログラマ用語じゃん
使うだけで恥ずかしいよ
285デフォルトの名無しさん:2006/04/21(金) 12:34:28
エログラマ用語だから恥ずかしいとか言っちゃうのも恥ずかしいぜ
286デフォルトの名無しさん:2006/04/21(金) 13:29:01
恥ずかしいです(><)
287デフォルトの名無しさん:2006/04/22(土) 18:23:15
自前のDirectMusicプレイヤーにwavファイルに落とす録音機能をつけたいんですが、
何かいい方法はないでしょうか?
もち、デバイスはMicrosoftシンセサイザー使用時です。

DirectMusic側だと、IDIrectMusicPortあたりから生Wavが取得できそうな雰囲気なんですが、
そこから取得できるDirectSoundBufferはLockできないぽいですし、

IDirectMusicSynthあたりのような気もするのですがこのインターフェイス、
取得させるんじゃなくて自前シンセ用のインターフェイスで設定用ぽいです。

サンプルあればいいのですが、どなたか知っている方いますか?
288デフォルトの名無しさん:2006/04/22(土) 18:39:10
>>287
もう1個exe動かして録音する
289デフォルトの名無しさん:2006/04/22(土) 19:00:07
もう一個作らなくても、録音用のサウンドバッファを普通にもう一個作って、
ファイルに書き込めばいいだけの話。
なんでその辺りで思考が止まるんだろう?
290287:2006/04/22(土) 19:43:45
>>289
マジデそれだけでOK?
IDirectSoundCaptureで指定するポートって、
DirectSoundの出力ポートとは違ってサウンドカードの
録音用のポートなんだけど、それでそのままWAV出力が取れれば苦労はいらんわ。
291287:2006/04/22(土) 19:49:45
IDirectSoundCaptureってどうみても録音用デバイスにしか接続できんような気がするのですが。
MIDIAのサウンドカードとかは出力デバイスが録音デバイスとして登録できたりするんですが、
あれってかなり特例ですし。

取り合えず騙されたと思って、IDirectMusicから取得できるDirectSoundインターフェース使って
キャプチャデバイス作ってwavに落としてみるわー
292デフォルトの名無しさん:2006/04/29(土) 15:01:20
DirectSound(3D)についての質問です。
SetFrequencyを使って低音から滑らかに高音にしようとしているのですが、階段状にしか周波数が変わりません。
200〜500単位でしか音が変わらず、ドレミファ・・・と言う感じで聞こえてしまいます。
渡している値は1500〜9900で、変化する値は21/フレーム(60fps)です。
DirectSoundやSetFrequencyに階段状に周波数をあげるような設定があるわけでもないですし、
一体何が原因でこんな現象が起こるのでしょうか。

上記の原因に直結しているのか分かりませんが、同じくSetFrequencyの値を上げ下げするとノイズが入ります。
合わせてご回答を頂ければ有難いです。
293デフォルトの名無しさん:2006/04/29(土) 18:55:57
CPU負荷とサウンドドライバを疑う
294292:2006/04/29(土) 19:56:07
レスありがとうございます。
処理を減らすと滑らかに変動するようになりました。
しかしノイズは変わらず残ってしまいます。
ある程度処理を減らしても変わらず、他のPCでも同じ現象が出るためドライバ云々では無いと思います。
周波数を変えなければノイズは入らないので、DSound関連のそれ以外の処理や音源に問題があるとは考え難いです。
ジージーうるさいと言うかすっごい不快感(´・ω・`)
295デフォルトの名無しさん:2006/04/29(土) 21:34:36
>>294
ノイズはバッファになんか入ってるところに上書きでいれてるとかしてね?
それとも周波数が変わってデータの扱い間違えてるとかねぇ?
ストリーミングで必要なバッファって変わったりしないっけ?
いや、よくしらんけど・・・w
296デフォルトの名無しさん:2006/04/29(土) 21:47:24
無音ループを鳴らし続ける。
297292:2006/04/30(日) 14:54:03
>>296
無音ループに変えてみたらノイズがなくなりました。

>>295
周波数を変えるのって音量を変えるぐらいの存在と思っていたのですが(´・ω・`)
5秒程度のループSEなのでややこしいことはしていないんですけど、何か処理を噛まさないといけないとか・・・?
298デフォルトの名無しさん:2006/04/30(日) 15:20:48
>>297
すまん。
変わるわけない。
思いだしたけど、無音ループで正解だ。
無音を鳴らしてないと、そういえばノイズ出たわ。
299292:2006/04/30(日) 16:23:39
ああ、ありがとうございます。

×無音ループに変えて、それでノイズが出たらサウンドドライバがおかしい
○既存のプログラムに無音ループを入れる

ということですか。
確かに後者をすると他のノイズもなくなりました。
裏技っぽいやり方ですが、何か原因が特定された上での対処法なのでしょうか。
300デフォルトの名無しさん:2006/04/30(日) 16:41:28
そりゃあんた、無音と言うことは常に信号は0だがね。
音が少しでもあれば多少なりとも±に振れるんだから
そこで強制的に0にするからノイズが出るわけで。
301デフォルトの名無しさん:2006/04/30(日) 18:11:07
>>300
逆でしょ。
302デフォルトの名無しさん:2006/04/30(日) 19:39:48
逆とは?
303デフォルトの名無しさん:2006/04/30(日) 19:40:15
逆だな。
304デフォルトの名無しさん:2006/04/30(日) 19:44:31
ギャグだな。
305デフォルトの名無しさん:2006/05/13(土) 17:31:24
そいやSBのWDMドライバとかだと、音の発音時にプチノイズが乗るんで、
対策で無音ループ鳴らし続けるとかしたな、それと良く似てる。
306デフォルトの名無しさん:2006/05/13(土) 22:21:35
    o-o、
    ('A`)  メガネメガネ
    ノ ノ)_
307デフォルトの名無しさん:2006/05/19(金) 08:42:02
レスのない>>306の為にage
308デフォルトの名無しさん:2006/05/19(金) 23:41:13
俺は横山やすしが大嫌いで、やつが死んだとき内心大笑いした。
一八が警察に捕まったときもザマアミロと思った。
2006年の今、そんなことが思い出さされるなんてな。それには愕然とする。
309デフォルトの名無しさん:2006/05/22(月) 13:14:26
VC++6.0でサンプルプログラムのコンパイルをする方法を詳しく教えてください。
エラーが出まくってまったくお手上げです。
310デフォルトの名無しさん:2006/05/22(月) 13:15:58
エラーをの原因を修正すればよい
311デフォルトの名無しさん:2006/05/22(月) 13:30:28
「詳しく教えてください」という前に、その状況を詳しく伝えようと思わない所が凄いよなぁ。
ココへ行くと良い。
http://pc8.2ch.net/test/read.cgi/tech/1143225402/l50
312デフォルトの名無しさん:2006/05/23(火) 03:38:37
XNAってどこからダウンロードできるんすか
313デフォルトの名無しさん:2006/05/23(火) 06:17:28
>>311
いや、いきなり詳細な話から入るより、まずは軽いジャブからでしょ。
とりあえずサンプルが単純にビルドボタン一発押しただけで動かない状況を伝えて
その状況にこころ当たりがある人がいてくれればそれでいいでしょ。
で、どんなエラーが出てるのよ?って話になってはじめて詳細に触れてもいいんじゃね?
314デフォルトの名無しさん:2006/05/23(火) 06:54:44
>>313
よくない。
315309:2006/05/23(火) 11:55:51
最初からやり方が間違ってるかもしれないので1から教えて欲しかったのですが、、、
間違いがあったらおしえてください。

0.DirectX9.0(Summer2004)をインターネットからダウンロードしてインストーラでインストールしました。
1.アニメ付きX形式のファイルを読み込む方法のサンプルを知りたくて、DirectX9.0(Summer2004)SampleのDirect3DのMultianimationをビルドしようとおもいました。
2.VC++6.0で新規作成して、win32applicationのプロジェクトを選び、サンプルフォルダをほかのもまとめてデスクトップにコピーして、使いたいサンプルの位置(略\デスクトップ\C++\DIRECT3D\)にMultiAnimationというプロジェクト名で作成しました。
3.FileviewでMultiAnimationフォルダにあるcppファイル(AllocHierarchy.cpp AnimationInstance.cpp MultiAnimation.cpp MultiAnimationLib.cpp Tiny.cpp)をソースファイル、
hファイル(MultiAnimation.h resource.h Tiny.h)をヘッダファイル、rcファイル(MultiAnimation.rc)をリソースファイルとして追加しました。
4.プロジェクトの設定でリンクタブのオブジェクト/ライブラリモジュールにdsound.lib dinput8.lib dxerr9.lib d3dx9.lib d3d9.lib d3dxof.lib dxduid.libを追加しました。
5.ビルドボタンをぽちっとな。
6.インクルード ファイルがオープンできません。'dxstdafx.h': No such file or directoryと出たので上の階層にあったそれを見つけてMultiAnimationフォルダにコピーして、FileViewでヘッダファイルにそれを追加してビルドしてみる。
7.エラーが百以上でて訳わからん(;_;)
316309:2006/05/23(火) 11:58:03
エラーはこんなかんじです。
Tiny.cpp
NOTE: WINVER has been defined as 0x0500 or greater which enables
Windows NT 5.0 and Windows 98 features. When these headers were released,
Windows NT 5.0 beta 1 and Windows 98 beta 2.1 were the current versions.
For this release when WINVER is defined as 0x0500 or greater, you can only
build beta or test applications. To build a retail application,
set WINVER to 0x0400 or visit http://www.microsoft.com/msdn/sdk
to see if retail Windows NT 5.0 or Windows 98 headers are available.
See the SDK release notes for more information.
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\d3dtypes.h(109) : error C2011: '_D3DCOLORVALUE' : 'struct' で示される型としてすでに定義されています。'_D3DRECT' : 'struct' で示される型としてすでに定義されています。
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\d3dtypes.h(128) : error C2011: '_D3DRECT' : 'struct' で示される型としてすでに定義されています。
−中略−
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\dsound.h(370) : error C2061: 構文エラー : 識別子 'LPD3DVECTOR' がシンタックスエラーを起こしました。
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\dsound.h(370) : error C2061: 構文エラー : 識別子 'LPD3DVECTOR' がシンタックスエラーを起こしました。
−中略−
C:\Documents and Settings\ユーザ名\デスクトップ\C++\Direct3D\MultiAnimation\dxstdafx.h(52) : fatal error C1083: インクルード ファイルがオープンできません。'DXUT.h': No such file or directory
AllocHierarchy.cpp
NOTE: WINVER has been defined as 0x0500 or greater which enables
Windows NT 5.0 and Windows 98 features. When these headers were released,
−後略−
317デフォルトの名無しさん:2006/05/23(火) 12:00:02
318309:2006/05/23(火) 12:10:20
8.'DXUT.h'を上の階層で見つけたのでコピーしてヘッダファイルとして追加しました。

エラー文の、インクルードファイルが開けないという文が以下のように変化。
C:\Documents and Settings\ユーザ名\デスクトップ\C++\Direct3D\MultiAnimation\DXUT.h(13) : fatal error C1189: #error :
"The sample framework requires a Unicode build. If you are using Microsoft Visual C++ .NET, under the General tab of the project properties change the Character Set to 'Use Unicode Character Set'."
プロジェクトの設定の一般タブに文字の設定なんかないけどどうすれば?(・ω・`)
というとこで止まってます。お願いします。
319デフォルトの名無しさん:2006/05/23(火) 12:24:38
つ [VC2005 Express]
320デフォルトの名無しさん:2006/05/23(火) 12:43:27
MSも大変だよな。
321デフォルトの名無しさん:2006/05/23(火) 12:56:16
http://www.microsoft.com/japan/msdn/directx/japan/dxreadme_U04_jp.asp
※DirectX 9.0 Update を使った C++ アプリケーションの開発には、Visual Studio .NET 2002 以降が必要です。Visual Studio 6 はサポートされていません。

インフォメーションは穴が開くほど見た方が良い。
322デフォルトの名無しさん:2006/05/23(火) 13:25:22
>>321
教えてちゃんには、特にそう言っといた方が無難だよな。
323309:2006/05/23(火) 14:27:17
>>321
もう読んだ。
http://www.microsoft.com/japan/msdn/directx/japan/dxreadme_U04_jp.asp#d3dx

※D3DX と共に Visuao C 6.0 を使うには、Extras ディレクトリにある D3DX (Extras\D3dx Visual Studio 6\d3dx9.lib) とリンクする必要があります。

と書いてあるからきっと使えるはず。
インフォメーションは穴が開くほど見た方が良い。
324デフォルトの名無しさん:2006/05/23(火) 14:30:45
鬱だろ氏ね。
325309:2006/05/23(火) 14:31:32
残念ながら躁です
326デフォルトの名無しさん:2006/05/23(火) 14:42:21
なにこのうざさ
327デフォルトの名無しさん:2006/05/23(火) 14:45:18
教えてクンは神様です
328321:2006/05/23(火) 14:51:28
>>323
あーあれだ、あれ。
それは Visual C 6.0 じゃなく、Visuao C 6.0 の事だw

インフォメーションは穴が開くほど見た方が良い。
329デフォルトの名無しさん:2006/05/23(火) 15:01:41
Microsoft C 6.0
330デフォルトの名無しさん:2006/05/23(火) 16:02:03
頭足りない馬鹿のために問題です。

VC6用のlibがあります。
VC6でリンクは出来ますが、コンパイラがサポートされていないのでコンパイルできません。
コンパイルするにはどうすればいいでしょうか?
331デフォルトの名無しさん:2006/05/23(火) 16:04:53
libをコンパイルするのか・・・
332デフォルトの名無しさん:2006/05/23(火) 17:21:14
>>330
まずは先にlibをコンパイルする方法を教えて下さい生晒しの穴開き君。
333デフォルトの名無しさん:2006/05/23(火) 19:56:52
PlatformSDKインストール, インクルードディレクトリ追加
プリプロセッサ定義 _MBCS 削除, _UNICODE,UNICODE 追加
"__noop", "for( int i" 対策
winmm.lib comctl32.lib 追加, dxduid.lib -> dxguid.lib
MultiAnimation.rc 削除, #include "resource.h"コメントアウト
MultiAnimation.fx Floor.jpg skin.vsh tiny_4anim.x コピー
Mediaフォルダコピー

というかExpressにしなさいよ。
334デフォルトの名無しさん:2006/05/23(火) 22:02:55
VC6使ってる方って生活保護かなにか?
趣味プログラミングやってる場合ではなく、
しっかりした会社に就職し収入を安定させるべきでしょう。
335デフォルトの名無しさん:2006/05/23(火) 22:35:14
VC6のウィザードバーが一番使いやすいけどな
2003も2005も駄目駄目
336デフォルトの名無しさん:2006/05/23(火) 22:45:32
2002(´・ω・)カワイソス
337デフォルトの名無しさん:2006/05/23(火) 23:20:13
Windowsの各種GUIが一番使いやすい解像度が1024x768なんだが
これで.net使うと滅茶苦茶狭いから困る
338デフォルトの名無しさん:2006/05/23(火) 23:28:17
1280×1024で使えばさほど問題はない。
339デフォルトの名無しさん:2006/05/23(火) 23:59:27
2003もってるけど、別にウザくはないけど
なんかVC6を使っちゃうなぁ・・・SP5を入れたりとかしなきゃいけないから面倒なのは面倒なんだけど・・・
なんかdswじゃなくてslなんとかって環境まわりのファイルがボロボロでるのもなんか嫌。
340デフォルトの名無しさん:2006/05/23(火) 23:59:33
プロファイラが6までしかついていないんだよね
341デフォルトの名無しさん:2006/05/24(水) 00:11:59
>>338
337じゃないが、ノートだとそれ厳しい。デスクトップならその上でも余裕なんだが。
かといって、でかいノートは凝りたしなぁ。やっぱりVC6のシンプルさは良いよ。コンパイラだけ変えたいぜ。
342デフォルトの名無しさん:2006/05/24(水) 00:57:11
>>341
賛成
343デフォルトの名無しさん:2006/05/24(水) 01:44:57
仕方ねっす、VC6で作られた奴のメンテなんで抗いようがねっす。
344デフォルトの名無しさん:2006/05/24(水) 07:45:15
>>341
ビルドに必要なファイルを上書きすればVC6でVC7.1としてビルドできるぞ
345309:2006/05/24(水) 11:22:25
>>328
インフォの誤字かと。
>>330
問題の意味がわかりません。
>>333
ありがとうございます。
インクルードディレクトリ追加までは以前にやってありますが、それ以降がわかりません。
やり方をおしえてください。
大学のパソコンなので勝手にソフトを入れられないのです。ライブラリの追加ぐらいは許可もらっていますが、、、
>>334
まだ大学生です。
346デフォルトの名無しさん:2006/05/24(水) 11:51:02
これからプログラム覚えようとがんばってる小学生かと思ったら大学生て…w
人生やり直した方がいいんじゃない?
347デフォルトの名無しさん:2006/05/24(水) 12:47:16
>まだ大学生です。
ネタだよな。
せいぜい高校1年か中学3年ぐらいだと思ってた。

MSも大変だな。
348309:2006/05/24(水) 13:08:33
ネタじゃないです。年齢は関係ないんじゃないでしょうか。
人生やり直したくても無理です。



めんどくさいので、X形式ファイルからアニメを読み込まずプログラム側で動作をつけたものを作ったので、それで自己満足することにします。
ありがとうございました。
349デフォルトの名無しさん:2006/05/24(水) 13:11:24
>>345
古いバージョンのDirectXで我慢したら?
どうせ「新しいバージョンのDirectXで開発したい」とかいう、
新し物好きな動機なんでしょ?
350デフォルトの名無しさん:2006/05/24(水) 13:11:55
小学生:「ママーン!これどーやるのー?」 → 「よしよし、これはね・・・」
大学生:「ママーン!これどーやるのー?」 → 「ちょ、おま・・・」
351309:2006/05/24(水) 14:00:41
>>349
古いSDKが無いので仕方なく使ってます。
>>350
大学生が教授に質問するのはダメだというのですか。
352デフォルトの名無しさん:2006/05/24(水) 14:09:16
大学生なら大学生らしい質問の仕方を身に付けましょうね。
353デフォルトの名無しさん:2006/05/24(水) 14:17:15
>>351
>古いSDKが無い
古本屋とか行ったか?
354デフォルトの名無しさん:2006/05/24(水) 14:20:36
>>351
煽りに一々マジレスするな。でなけりゃ、くだスレに来るとか

>>333はマジで凄い親切だよ。
そしてこれの詳しいやり方はスレ違いだし、皆一々答えてられないって感じだろ。

しかし古いSDKって、皆何薦めてるんだ?今更DX8以前やるメリットは無いだろw
確かDX9のSummer 2004辺りなら、VC6でもすんなり通った気がするな。
ただDirectXのバージョンダウンは面倒だけどな。
355デフォルトの名無しさん:2006/05/24(水) 14:35:33
VC6のサポートは2004 Octoberまで
356354:2006/05/24(水) 14:43:56
ああ駄目だ
DLしてみたが、summer2004でもサンプルのプロジェクトがVC6用じゃないな

となると無印9.0辺りか
357309:2006/05/24(水) 15:18:40
>>353
古本屋が近くになくて、わざわざ行った古本屋はパソコン関係の本が無かったです。

>>354
くだすれは別件で質問しましたがダメでした。

>>355
使用しているが2004夏なのでぎりぎりだと思います。

>>356
ありがとうございます。無印で試してみます
358お子様か:2006/05/24(水) 16:19:15
>古本屋が近くになくて、わざわざ行った古本屋はパソコン関係の本が無かったです。
事前に調べることもできないわけじゃないのにそれをしない自分を棚に上げて「わざわざ」。

>くだすれは別件で質問しましたがダメでした。
やはりここでも自分を棚に上げて「ダメ」。

何様の積もりだよ。
359デフォルトの名無しさん:2006/05/24(水) 17:16:06
いや、こゆ奴は例外なく俺様。
360デフォルトの名無しさん:2006/05/24(水) 21:22:07
309がろくにネット上で立ち回れてないのがどうでもいいくらい
情報系学科のレベルが低いってのが問題だ
361デフォルトの名無しさん:2006/05/24(水) 21:37:03
360が309みたいな例外を見て
いきなり「情報系学科のレベルが」とか総括し始めるのが問題だ
362デフォルトの名無しさん:2006/05/24(水) 21:37:38
確かにw
363デフォルトの名無しさん:2006/05/24(水) 21:44:47
>>360のせいでスレ間違えたかと思った
364デフォルトの名無しさん:2006/05/24(水) 22:00:15
>>309>>306と読み違えて、何を言っているんだこいつと思った。
365デフォルトの名無しさん:2006/05/24(水) 22:12:54
大学いってたってこの程度だってw
何を期待してるのか・・・

大学にはいって始めにやることは合コンだっつのw
お前等童貞どもといっしょにすんなよ。
チンコ臭すぎw
366デフォルトの名無しさん:2006/05/24(水) 22:23:23
臭いって分かるって事は・・・嗅いだのか・・・
変態め・・・
367デフォルトの名無しさん:2006/05/24(水) 22:31:13
>>361がよっぽど恵まれてるかうちが酷すぎるかのどっちかだな
368デフォルトの名無しさん:2006/05/24(水) 22:40:33
学歴厨うzeeeeeeeeeeeee
369309:2006/05/25(木) 09:08:21
>>358
*修正
くだすれは別件で質問しましたがダメでした。

くだすれは別件で質問しましたが私の知識が乏しかったので答えてもらった内容を理解できなかったのでダメでした。

お子様でいいです。
370309:2006/05/25(木) 09:10:09
>>358
*修正
くだすれは別件で質問しましたがダメでした。

くだすれは別件で質問しましたが私の知識が乏しかったので答えてもらった内容を理解できなかったのでダメでした。

お子様でいいです。
371309:2006/05/25(木) 09:11:06
>>358
*修正
くだすれは別件で質問しましたがダメでした。

くだすれは別件で質問しましたが私の知識が乏しかったので答えてもらった内容を理解できなかったのでダメでした。

お子様でいいです。
372デフォルトの名無しさん:2006/05/25(木) 11:38:47
お子様が納得するまで説明するのは嫌だなぁ。
373309:2006/05/25(木) 12:59:13
嫌なら別に説明していただかなくても結構です。失礼しました。
374デフォルトの名無しさん:2006/05/25(木) 14:21:43
知識もマナーも無いんじゃまわりの人間は大変だな。
375デフォルトの名無しさん:2006/05/25(木) 14:45:10
以上、2ch慣れしてないマジレスくんが一人と、
説教好きの粘着バカが一人いれば、こうなるという見本でした

…いつからこのスレ、こんな風になっちまったんだw
DirextX7か、その前後の頃は、それなりに賑わってたのにな
376デフォルトの名無しさん:2006/05/25(木) 14:51:39
以上、2ch慣れしてないマジレスくんが一人と、
ネタを見抜けないバカが一人いれば、こうなるという見本でした。
377デフォルトの名無しさん:2006/05/25(木) 15:13:18
というか粘着クン全部即レスだな。一日張り付いているのかね。
俺にも即レス来るかな。それとも我慢するかしらwww
378デフォルトの名無しさん:2006/05/25(木) 15:29:35
即レスまだぁ?(・∀・ )っ/凵 ⌒☆チンチンwww
379デフォルトの名無しさん:2006/05/25(木) 15:33:02
我慢してるみたいだなwwww
単純でワロスww
380デフォルトの名無しさん:2006/05/25(木) 15:43:29
晒し上げwww
381デフォルトの名無しさん:2006/05/25(木) 15:53:41
折角釣りで楽しんでたのに、ネタを見抜けないバカはこれだから困る。
お前ら全員馬鹿ばっかりだな。
せめて俺みたく一つくらい凄いゲーム作りあげてからレスしろってんだよ。
382デフォルトの名無しさん:2006/05/25(木) 17:15:07
以上、2ch慣れしてないマジレスくんが一人と、
説教好きの粘着バカが一人いれば、こうなるという見本でした

…いつからこのスレ、こんな風になっちまったんだw
DirextX7か、その前後の頃は、それなりに賑わってたのにな
383デフォルトの名無しさん:2006/05/25(木) 17:23:41
>>381
凄いゲームてww
384デフォルトの名無しさん:2006/05/25(木) 17:24:44
リロードしたらコピペ始めてるし、よっぽど悔しかったんだな
385デフォルトの名無しさん:2006/05/25(木) 17:51:46
なんか偽者らしきものが一杯居るし・・・
386デフォルトの名無しさん:2006/05/25(木) 21:32:48
貧乏人と初心者は芽を出す前に潰そうと思ってる
387デフォルトの名無しさん:2006/05/26(金) 00:42:52
どちらも潰さんでええ
ただし、やる気の問題。
388デフォルトの名無しさん:2006/05/27(土) 02:20:14
んー、ここで聞いて返答がくるかわからないけど
Eternal Fighter ZEROという同人ゲームがあるんだけど
キーボードのプリントスクリーンを押してもクリップボードにコピーされないんです
98seのほうだと、普通にコピーされるのに新しく買ったXPだと反応なし
目的はWindowsMediaEncoderを使っての配信
レジストリにEnablePrintScreenを追記してもダメなんです…
389デフォルトの名無しさん:2006/05/27(土) 02:49:17
それで?
390デフォルトの名無しさん:2006/05/27(土) 03:02:31
うお、確かにそれでって感じだな
何か原因とか対処とかわかる人いないかなーと
391デフォルトの名無しさん:2006/05/27(土) 03:31:47
>>388
DirectX使ってるのでも、取り込めるキャプチャーツールとかあるみたいだから、
それを使ってみるのはどうか
392デフォルトの名無しさん:2006/05/27(土) 03:36:55
>>388
やりたいのはメディアエンコーダでリアルタイムで取り込みながらの
配信だろうから、それじゃ駄目だろう。
393デフォルトの名無しさん:2006/05/27(土) 04:22:08
ttp://uploader.fam.cx/data/u8187.wmv
ちなみにこんな感じになってしまう
98seでEnablePrintScreenをレジストリに追加しない状態でもこうなる
98seはEnablePrintScreenをレジストリに追加すると普通の色でいけるんだけど…
394デフォルトの名無しさん:2006/05/27(土) 10:33:27
親切な人がいるのはいいが、とりあえずスレ違いって認識は持っとけよ。
395デフォルトの名無しさん:2006/05/27(土) 19:53:36
スレ違いじゃないと思うよ。

板違い。
396デフォルトの名無しさん:2006/05/29(月) 11:07:52
DX10 vista 入れないと動かないのか…面倒くせぇ
本当は XP どころか 2000 で動くくせに。
397デフォルトの名無しさん:2006/05/29(月) 12:45:49
カーネルレベルで3Dアクセラレーションが実装されているから、
根本的にXPや2000じゃ無理。
398デフォルトの名無しさん:2006/06/02(金) 06:01:55
エロゲPGが爆死する姿が目に見えるなw
これで拡縮や回転、マスク、色変換などを行う2Dライブラリは1〜2年後に確実に破棄だな。
それにしても長かったな・・・。
399デフォルトの名無しさん:2006/06/02(金) 21:59:53
>>398
バカ過ぎ
400デフォルトの名無しさん:2006/06/03(土) 07:19:52
今やってないメーカーは2年後もやってない
401デフォルトの名無しさん:2006/06/03(土) 09:53:21
えろげなんて如何に最新の技術でうんぬんよりも
如何に古いマシンでも動くかどうかだろ?
だいたいのところは、未だに Windows98 まで対応させてるしな
402デフォルトの名無しさん:2006/06/03(土) 10:06:23
考え方はメーカーによりけり。
過剰にエフェクトを多用しているところから、ベタなものまで様々。
>>401は視野が狭い上に、脳内だけで勝手に妄想して決めつけるタイプ。
403デフォルトの名無しさん:2006/06/03(土) 10:29:17
>>402は2chだからととりあえず煽っとけばいいと思っているタイプ
404デフォルトの名無しさん:2006/06/03(土) 10:37:51
もう古いマシンなんて切り捨てればいいのにな。
今時DirectXで動いてないゲームも多々あるし。
405デフォルトの名無しさん:2006/06/03(土) 12:12:31
エロゲPGの能力が低いからってよりエロゲヲタがPCの知識もないし
金かけない、そもそも求めてるものがPGの技術じゃないからな。
あの周辺のユーザーは古いってよりもはや懐かしいレベルのPCを現役で使ってる。

>過剰にエフェクトを多用しているところから、ベタなものまで様々。

所詮2D
406デフォルトの名無しさん:2006/06/03(土) 12:56:24
無駄に3Dなエロゲも存在しているが、きちんと調べもせず決めつける>>405
視野が狭いというより盲目。
407デフォルトの名無しさん:2006/06/03(土) 13:11:38
( ゚ρ゚)ポカーン
408デフォルトの名無しさん:2006/06/03(土) 13:27:37
>>405
>あの周辺のユーザーは古いってよりもはや懐かしいレベルのPCを現役で使ってる。

そりゃ、あんたぐらいなもんだ。
99%のユーザーは、1GHz以上のPC使ってる。
409デフォルトの名無しさん:2006/06/03(土) 13:31:12
調査したわけでもないのに99%とかいい加減な数字をだす>>408も思いこみが激しい。
なんでこう何でもかんでも、脳内リソースだけで決めつける奴が出てくるんだろう?
410デフォルトの名無しさん:2006/06/03(土) 13:41:05
またエログラマがご降臨あそばしたのかよ。

最近のPCのスペック理解してるか?
オンボードのGPUがいつまでも貧弱だとか思ってないか?
NVIDIAとATIしか追いかけてなくないか?どこもAeroを視野に入れて必死ですよ?

ちょっと電気屋いって並んでるPC見て来い。
サブノートでも3Dゲーが普通未満に動いてしまうことにコメントをどうぞ。
昨日今日の話じゃねーぞ。まして2Dのエロゲですよ?( ´,_ゝ`)プッ
411デフォルトの名無しさん:2006/06/03(土) 13:42:59
普通にうごかねーのかよ!
412デフォルトの名無しさん:2006/06/03(土) 13:50:25
最近のオンボードGPUつっても数世代前のミッドレンジGPUにも勝てない。

「エロゲでもオンボードで動かないような3Dゲームがあるんだよ!」

>>408
訂正。「懐かしいレベルのグラフィック性能のPC」
413デフォルトの名無しさん:2006/06/03(土) 13:51:57
今日の格言。

A eroに必死。
414デフォルトの名無しさん:2006/06/03(土) 15:50:50
>>408
>99%のユーザーは、1GHz以上のPC使ってる。
これは絶対ない。
俺もエロゲ屋だが2004年度の時点ではMMX/Pen2/Pen3が主流だ。
がんばって古いCeleがいいとこ。
Pen4以上は万年一桁台。
だから開発はPen4以上だがテストはPen2以下でやってるのが現状。
未だにBREZZAやCanBeが生きてる。
415デフォルトの名無しさん:2006/06/03(土) 16:16:53
mmx、PentiumIIが97年、PentiumIIIでも99年か。

>Pen4以上は万年一桁台。
あり得ないから。
ちなみにPenIIIでも1GHz以上の物はあるからね。
親から余ったPCを譲り受けた小中学生でも、もっといい
スペックの物を持っているよ。

ちなみに価格.comで1GHz以上の中古PCで検索すると、
一番安いのは8000円だった。
416デフォルトの名無しさん:2006/06/03(土) 16:38:38
どこから突っ込めばいいのか分からないやりとりだが、
とりあえず俺は>406(=>402)がハイスペックを要求する
重いエロゲを教えてくれるのを待つ
417デフォルトの名無しさん:2006/06/03(土) 16:58:28
>416
イリュージョンとかのじゃないの?
ttp://www.illusion.jp/
418デフォルトの名無しさん:2006/06/03(土) 17:03:59
>>416
2Dという条件が3Dのエロゲーがあることに今頃気がついて、
いつの間にかハイスペックを要求する重いエロゲにすげ替えられている。
恥の上塗りするぐらいなら、脳内ソースで勝手に断定する、知ったかや嘘つき、虚言癖を直せ。
419デフォルトの名無しさん:2006/06/03(土) 17:08:03
420デフォルトの名無しさん:2006/06/03(土) 17:13:04
少し検索すればすぐに引っかかるのに、>>416は自分で調べられないただの教えて君。
だから所詮2Dとか、無知を晒すことになる。
421デフォルトの名無しさん:2006/06/03(土) 17:29:09
エロゲなんで低技術だろ

エフェクト多用してるものもあるよ

エフェクトっていったって2Dのスプライトとか画面効果のエフェクトだろ?

3Dのエロゲもあるよ

3Dったってどうせ軽い、オンボードで以外でなら余裕で動くような3Dだろ?

>>417-420




('A`)?
422デフォルトの名無しさん:2006/06/03(土) 17:33:34
エロゲはガンガン買えるのに、PCは買えないユーザーが多いんですね
423デフォルトの名無しさん:2006/06/03(土) 18:32:21
エロゲってでかい画像を使うから、意外とVRAMとか食うんだよね。
424デフォルトの名無しさん:2006/06/03(土) 18:35:37
>>422
8000円のPCを買えないユーザーが、9000円のエロゲーを
本当に買っているんだろうか。
425デフォルトの名無しさん:2006/06/03(土) 18:38:20
>サブノートでも3Dゲーが普通未満に動いてしまうことにコメントをどうぞ。
>昨日今日の話じゃねーぞ。まして2Dのエロゲですよ?( ´,_ゝ`)プッ

エロゲなんかどうでもいいから俺はコイツの日本語を解説してもらえればイイやw


あとはコレ
>どこもAeroを視野に入れて必死ですよ?
どこのことだ?Aeroに必死? Aero自体がすでに瀕死に近いのに
426デフォルトの名無しさん:2006/06/03(土) 18:43:22
>>424
・めんどくさい。
・そもそもGPUだとかDirectXだとかがよく分からない。
・目の前のエロゲが動けばおk
427デフォルトの名無しさん:2006/06/03(土) 20:04:23
>>415
>あり得ないから。
凄い自信だなw。
うち系列のアンケートハガキが21万枚ぐらいあったと思うけど、
Pen4以上は2003年度が8%ぐらいで2004年度でも9%超えた程度だぞ?


つまりあれだろ?
>99%のユーザーは、1GHz以上のPC使ってる。
これって日経なんたらとかASCIIなんたらとかを見たんだろ?
エロゲ屋がこんな数字見てどうすんだよ。
428デフォルトの名無しさん:2006/06/03(土) 21:38:12
>>427
ねえねえ、Pen4以上って、AthlonXPやAthlon64、
PenMに、CoreDuoを含んでるの?
429デフォルトの名無しさん:2006/06/03(土) 21:55:16
>>427
オタだったら、一般人よりも平均スペック高いだろうに、何ムキになってんだ。
2003年から2004年の増加率を見ても、今考えたアンケート結果まるだしだな。
430デフォルトの名無しさん:2006/06/03(土) 22:15:30
Athlon入れて25%超えと考えても信じがたいよな。
AGP/PCIExpressビデオカード使ってる奴が25%ならありえそうだけど。

誰かエロゲで使ってる描画APIの統計とってくれないかな。
奥行きの概念のある一般的な意味での3Dゲームと
スプライト描画にDirect3D使ってるのと
いまだにDirectDraw使ってるところ。
431デフォルトの名無しさん:2006/06/03(土) 22:24:17
なんで話題がエロゲに限定されてますか?
ここの人は一律エロゲマニアですか?
432デフォルトの名無しさん:2006/06/03(土) 22:39:55
下がいないと安心出来ない奴が、見下す対象にエロゲプログラマを選んだが、見事に失敗して今に至る。
自分に技術力があるなら、わざわざ他人を見下す対象にしようとはしない。
そういったコンプレックスがあるから、自分より下を探そうとする。
しかしそんなことをしても得るものは何もない。
433デフォルトの名無しさん:2006/06/03(土) 22:55:09
>>431
同じような目立つ口調使って自演並みの頻度でエログラマ叩きに噛み付く子がいるから。
自分に自信があるならさっさとスルーして話題変えますよね?
434デフォルトの名無しさん:2006/06/03(土) 23:12:20
ということでエロゲの話はそろそろ終わりでいいだろう。
435デフォルトの名無しさん:2006/06/03(土) 23:18:39
>430
統計とか知らんが昔のシューティングとかでない限り
DirectDraw使ってるところは無いだろ。まるで利点がない。
昔からのADV系の大半は自前で操作してGDIで表示。

たしかにエロゲ系の板の話だな
436デフォルトの名無しさん:2006/06/04(日) 00:32:31
何でこんなおかしな旧スペック信仰の人間が、
ム板のDirectXスレにいるんだろう。
437デフォルトの名無しさん:2006/06/04(日) 00:48:18
そろそろ新しいライブラリ作らなきゃとは思ってるんだけど納期が……って奴じゃね

ロースペック信者が見たければゲ製のロースペックスレ見ればおk
438デフォルトの名無しさん:2006/06/04(日) 15:37:48
モニタは今使ってるのを使えば5万でPC買えるからなぁ・・・
http://www.pc-koubou.jp/contents/custom/value.php

どうにも古いPCでも動くってのにそこまで重要性を感じないのだよ・・・。
439デフォルトの名無しさん:2006/06/04(日) 16:02:40
440デフォルトの名無しさん:2006/06/04(日) 20:00:38
エロゲーヲタがDirectXって・・・ 2次元ハァハァなくせに
441デフォルトの名無しさん:2006/06/04(日) 21:19:11
このスレにもロースペック厨でダメプログラマー見習いがお勉強しに来てるように、
徐々に技術を蓄えないと、ゲームメーカーはダメになるんだよ。
442デフォルトの名無しさん:2006/06/04(日) 21:22:37
この手の流れがどうも良く分からん
DirectXに頼ったり、スペック的に余裕見越せる開発の方が、どう考えても楽じゃね?
443デフォルトの名無しさん:2006/06/04(日) 21:31:37
優秀な開発者はこんな所に来ないから。
444デフォルトの名無しさん:2006/06/04(日) 23:07:49
>>442
ロースペックなマシンがまだ市場にあることを利用して
3Dの勉強をしない言い訳にしていたってところだろうな。

やねうらおとかそのまわりにたかるような奴等が特に必死になって
ロースペックなマシンをサポートするために2D機能のみでゲームを作ることを主張していたな。

しかし、時代が変わってそんな言い訳はできなくなっていまはただの不協和音になってる悲しい時代の廃棄物w
445デフォルトの名無しさん:2006/06/04(日) 23:39:56
@新作がVista未対応ばっかり
A新作が出ない空白の期間が生まれる

エロゲの未来はさぁどっち
446デフォルトの名無しさん:2006/06/04(日) 23:50:23
>>445
いや、3D機能で動いてるっぽいのもあるから一部の会社からはでることは確定してるでしょ。
あと、OS自体は遅いとか速いとかはとは別にいままでどおりの関数でとりあえず動くって方向になると思われ。
447デフォルトの名無しさん:2006/06/05(月) 20:14:04
http://www1.jp.dell.com/content/topics/segtopic.aspx/misc/dm/wb2_landing?c=jp&l=jp&s=bsd&~tab=3
ロースペックPC使ってる人へ。
デュアルコアのPentiumD2.8GHzのPCが、23000円。
448デフォルトの名無しさん:2006/06/05(月) 20:23:35
>>447
しかし、それはとてもハイスペックとは、言い難い代物だが?
449デフォルトの名無しさん:2006/06/05(月) 20:42:58
>>447
このスレ的にはビデオカードの方が重要なんジャマイカ?
450デフォルトの名無しさん:2006/06/05(月) 21:06:43
ビデオカードならDirectX9対応のを、後から増設すればいいんじゃない。
451デフォルトの名無しさん:2006/06/05(月) 21:16:31
人の話聞いてない奴がいますね
452デフォルトの名無しさん:2006/06/05(月) 23:23:24
人格がロースペックなんだろうな
453デフォルトの名無しさん:2006/06/06(火) 20:11:24
>>447
>当パッケージは、ご好評につき、販売限定台数に達しました。ご了承下さいますよう、お願い致します。
つか、メモリ255MBは少ないことを差し引いても安すぎ。
もう少し早く知らせろよ
454デフォルトの名無しさん:2006/06/08(木) 17:26:29
おい、よく見るとメモリ512MBに無料アップグレードだぞw
455デフォルトの名無しさん:2006/06/08(木) 19:31:48
つまり本来は512Mの値段。
456デフォルトの名無しさん:2006/06/08(木) 23:02:31
見積もりとった俺は神
457デフォルトの名無しさん:2006/06/08(木) 23:54:52
正直激安のDELLは罠が一杯。
458デフォルトの名無しさん:2006/06/11(日) 00:08:36
液晶は地雷だけど、サーバは割り切ってつかえば結構いいよ。
メモリはECC付きだし、Pen4マシンの割には音も静か。
ケースも良くできている。

ちょっとしたディスクサーバみたいなのには物凄く
コストパフォーマンスいいいよ。
459デフォルトの名無しさん:2006/06/17(土) 05:30:32
だがこのスレ的には微妙でFA?
大して値段変わらないファイナルファンタジー用の
牛丼マシンとかの方が良さそうなくらいだ。
460デフォルトの名無しさん:2006/06/17(土) 11:40:21
最低限3Dが動く性能<<<<<<(知識・興味の壁)<<<<<<<十分な3D性能
461デフォルトの名無しさん:2006/06/17(土) 12:50:28
このスレでごねていた奴らにとっては、DELLの安物マシンでも
天上の性能だろ。
462デフォルトの名無しさん:2006/06/19(月) 21:26:02
上を見ればきりが無いが、DELLで十分だ。
463デフォルトの名無しさん:2006/06/22(木) 15:33:22
ハイスペックなPCで、ゲームをするのと
ゲームに、ハイスペックなPCを要求させるのとは違う
464デフォルトの名無しさん:2006/07/12(水) 21:39:56
>>457
DELLが一番いいよ。
SOTECとかHPはゴミ。
465デフォルトの名無しさん:2006/07/12(水) 23:00:18
厚くて熱くて拷問に使えるけどな!
466デフォルトの名無しさん:2006/07/22(土) 13:48:59
D3DMATERIAL9mMaterial;
// マテリアル情報を取り出す
D3DXMATERIAL*mD3DXMaterials = (D3DXMATERIAL*)m_pD3DXMtrlBuffer->GetBufferPointer();
for( DWORD i =0; i<m_numMesh; i++){
// マテリアルのコピー
mMaterial = mD3DXMaterials[i].MatD3D;
// マテリアルのセット
pD3DDevice->SetMaterial( &mMaterial);
// 分割されたメッシュの描画
m_pMesh->DrawSubset( i );
}

と表示してるのですが、表示されるのは白いオブジェクトでマテリアルが効果を発揮してません。
何が原因かわかる人いませんか?
もちろんライトとかには問題ありません。
467デフォルトの名無しさん:2006/07/22(土) 13:51:49
468デフォルトの名無しさん:2006/07/22(土) 13:52:56
>>466
SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL );
469デフォルトの名無しさん:2006/07/22(土) 14:34:51
>>468
素晴らしいです出来ましたやっぱりマテリアルが原因でしたか。
ライトがどうのこうの言ってた連中とは大違いです。
神レス認定 (^v^;
470デフォルトの名無しさん:2006/07/22(土) 15:01:04
キチガイ発生
471デフォルトの名無しさん:2006/07/22(土) 15:03:57
神レス認定 (^v^;
472デフォルトの名無しさん:2006/07/22(土) 15:07:07
むしろ何をどうやったらこんな症状が出るのか分からん俺ガイル
D3DMCS_MATERIALとかD3DRS_COLORVERTEXのステートいじってもおかしくならない。
>>468は必死こいて調べてきた本人が自演してるかそうでなければエスパーだろうな
473デフォルトの名無しさん:2006/07/22(土) 16:08:51
ていうか俺からすれば頂点シェーダを使わない意味がわからない。
どのハードでもソフトウェアエミュレーションしてくれるからもう動くんですけど?
474デフォルトの名無しさん:2006/07/22(土) 16:18:47
何もしない、固定機能と同じ機能を持ったシェーダプログラムを書くのがめんどくさい
475デフォルトの名無しさん:2006/07/22(土) 16:32:26
>>474
似たような苦労すんだぞ。どうせ。
だったら自分で組んで苦労したほうがナンボかまし。だと俺は思う。
しかも、固定機能で悩んだ苦労ってのはDirectXのライブラリの仕様の問題であって
別に自分の実力に結びつかないじゃん。なんか損してる気がするぜ。
シェーダもHLSLになってから結構汎用性効くしいいと思うんだけどね。俺は。

それにシェーダを整理すると描画にどんな種類のもんが必要になるかってわかっていいぜ。
476デフォルトの名無しさん:2006/07/22(土) 16:41:00
475は初心者?
477デフォルトの名無しさん:2006/07/22(土) 16:52:42
>>476
なんで?
478デフォルトの名無しさん:2006/07/22(土) 17:00:41
専門学校生が同じ様なこと言ってたから・・・
479デフォルトの名無しさん:2006/07/22(土) 17:07:38
>>478
そんな主体性の欠片もないクズ丸出しな発言が許されると思ってるのか?
480デフォルトの名無しさん:2006/07/22(土) 17:14:56
シェーダなんて普段から何百何千と書くわけだし
たまには固定機能使ってもいいのでは
481デフォルトの名無しさん:2006/07/22(土) 17:20:17
シェーダー書いて適用すればそれですぐに美しいグラフィックになるわけじゃないから
まともなグラフィッカーに仕事させて始めてシェーダーが生きる。
例外はトゥーンレンダリングか。



まっさかプロの方がこんなアマチュアレベルの会話に口挟んでるってことは
ないですよね
482デフォルトの名無しさん:2006/07/22(土) 17:22:04
固定機能はフツーのことがフツーにできんからオススメできない。
483デフォルトの名無しさん:2006/07/22(土) 17:26:34
そういや固定機能ってなくなるんじゃなかったのか?
484デフォルトの名無しさん:2006/07/22(土) 17:43:32
>>483
そりゃDirectX10(仮)の話じゃね?
もっといいのが出るならそれにこしたことないな。
485デフォルトの名無しさん:2006/07/22(土) 17:46:49
でxpはdx10に対応するの?
486デフォルトの名無しさん:2006/07/22(土) 17:56:21
>>485
vistaが出る頃はxpのhomeがサポート停止になるからしないんじゃない?
487デフォルトの名無しさん:2006/07/22(土) 18:02:29
XP HomeはVista後2,3年じゃなかったかい?
488デフォルトの名無しさん:2006/07/22(土) 18:04:11
vista発売にあわせてサポート打ち切りとか厭がらせかよww
489デフォルトの名無しさん:2006/07/22(土) 18:09:54
>>487
あ、今、調べてみたらそうみたい。
なんか延長したっぽいね。でも、社内じゃもうなんもやってないだろうなぁ・・・。
490デフォルトの名無しさん:2006/07/22(土) 18:10:14
>>488
ばーか
491デフォルトの名無しさん:2006/07/22(土) 18:26:58
>>488
それを素でやるのがMS
492デフォルトの名無しさん:2006/07/22(土) 18:41:59
向こうも商売からしょうがない。
が、OSとか根幹を一企業が押さえちゃう問題は、独占禁止法とかじゃ既に解決できない問題だな
493デフォルトの名無しさん:2006/07/23(日) 15:52:01
DirectInputで質問です。
標準エフェクトを使用して
PS2のコントローラを振動させようとしているのですが、
右側しか振動させることができません。
左側も振動させるにはどうすればよいでしょうか。
494デフォルトの名無しさん:2006/07/23(日) 15:53:24
握って振る
495デフォルトの名無しさん:2006/07/23(日) 16:02:10
PS2のコントローラってあんた、変換機の仕様次第だから一般化できんだろ。
DeviceCapsとにらめっこしてから、方向変えたりして試してみたら。
496デフォルトの名無しさん:2006/07/23(日) 16:11:31
つかハード依存の話題を持ち込んでもらってもなんともしがたい
497493:2006/07/23(日) 16:13:58
>495
>496
ということは、ハードによって方法はたくさんあるということですか?
498デフォルトの名無しさん:2006/07/23(日) 17:05:55
PC用のパッドはボタンの配置すらもみんなバラバラ。
決め打ちで作ったら痛い目を見る。
499デフォルトの名無しさん:2006/07/24(月) 12:23:09
キーコンフィグをつけるのは基本
500デフォルトの名無しさん:2006/07/24(月) 18:10:37
ドンキーコンフィグ
501デフォルトの名無しさん:2006/07/24(月) 19:29:52
>>500
ワラタ
あと500オメ。
502デフォルトの名無しさん:2006/08/09(水) 15:41:36
同人プログラマの俺がシェーダと戦う意味はあるのか質問
503デフォルトの名無しさん:2006/08/09(水) 16:41:18
オレは同人STGでもシェーダー使ったぞ。
2DSTGだから機体選択の所だけだがなー
504デフォルトの名無しさん:2006/08/09(水) 20:21:10
1週間以上前の話だがSIGGRAPHの記事来たね.
ttp://journal.mycom.co.jp/articles/2006/08/01/siggraph01/
505デフォルトの名無しさん:2006/08/09(水) 20:24:04
  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーダ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪
506デフォルトの名無しさん:2006/08/10(木) 00:58:28
>>504
おー。
時間見て読むことにするわ。

50倍速メディアンフィルタとかってどんな実装だったのん?
507デフォルトの名無しさん:2006/08/10(木) 07:18:25
  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーダ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪
508デフォルトの名無しさん:2006/09/27(水) 13:22:59
DirectDrawで元絵から色違いの絵をBltするにはどうするんですか?
509デフォルトの名無しさん:2006/09/27(水) 13:28:09
イメージを変えたい色に変換する。
510デフォルトの名無しさん:2006/09/28(木) 10:27:32
  ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (゚Д゚)ノ <  シェーダ
  | ⊃|   \__________
  |  |
  ⊂ノ〜
  ∪
511デフォルトの名無しさん:2006/10/04(水) 19:09:39
レスのない>>510の為にage
512デフォルトの名無しさん:2006/10/05(木) 08:52:50
レスのないかわいそうな>>511の為にage
513デフォルトの名無しさん:2006/10/06(金) 17:17:26
レスのないかわいそうな>>512の為にぬるぽ
514デフォルトの名無しさん:2006/10/06(金) 21:30:03
>>513 蛾!
515デフォルトの名無しさん:2006/10/19(木) 23:17:07
今更D3D8からD3D9に移行しているんだが、
テクスチャ(D3DPOOL_DEFAULT)→テクスチャ(D3DPOOL_DEFAULT)
のコピーって出来ない?

Update系は元がD3DPOOL_SYSTEMMEMでないと駄目だし、
StretchRectは先にテクスチャが使えないし。
516デフォルトの名無しさん:2006/10/20(金) 00:14:04
できないっぽいねぇ。
しかしテクスチャからテクスチャにコピーなんて使うか?
しかもD3DPOOL_DEFAULT同士で。
517デフォルトの名無しさん:2006/10/20(金) 00:56:14
>>515
DrawPrimitive
518デフォルトの名無しさん:2006/10/20(金) 01:01:17
それRTじゃないと無理だべ
519デフォルトの名無しさん:2006/10/20(金) 01:09:04
D3DPOOL_DEFAULTならRT textureにしておきゃいいじゃん。
520デフォルトの名無しさん:2006/10/20(金) 02:47:35
要る要らないはとりあえず置いといて、
汎用的なCopyRectsを何故無くしたのかと。
521デフォルトの名無しさん:2006/10/20(金) 06:04:57
無駄な機能を削ってスリム化しただけだろう。
DrawPrimitiveで済むことだし。
522デフォルトの名無しさん:2006/10/20(金) 09:34:37
実際DEFAULT同士の転送なんてまずやらねぇからな・・・
523デフォルトの名無しさん:2006/10/20(金) 18:08:01
>>520
CopyRectsなんか用意しとくと、何も知らない初心者が使っちゃうだろ。
524デフォルトの名無しさん:2006/10/21(土) 00:59:24
それはそれで構わない気がするけどなー。
遅い以上のデメリット無さそうだし。
525デフォルトの名無しさん:2006/10/21(土) 01:04:24
じゃあ、CopyRectじゃなくてラスタースクロール機能だったらどうよ。
ハードで対応してなくてもライブラリとしては実装できるでしょ。

それを使った初心者が、何も知らずに「遅いー」って言うのは目に見えてる。
なら実装しない方が初心者には優しい。
526デフォルトの名無しさん:2006/10/21(土) 01:10:54
そりゃラスタスクロールをCopyRectで実装するライブラリ作者が阿呆でFAだろ。
527デフォルトの名無しさん:2006/10/21(土) 01:12:24
>ラスタースクロール機能だったらどうよ。

明らかに話が反れてる。
きょうび爺が懐かしむだけの時代のアダ花と、素の転送機能を一緒にすんなと。
528デフォルトの名無しさん:2006/10/21(土) 01:20:02
ハードで対応してないって点では同じだろ。
529デフォルトの名無しさん:2006/10/21(土) 01:31:31
StretchRectはハードウェア転送だけどな
530デフォルトの名無しさん:2006/10/21(土) 01:33:32
2D向けの機能は最近のチップじゃ削除されたんだってよ。

オレも知らなかったからスゲー叩かれたよ。
531デフォルトの名無しさん:2006/10/21(土) 01:52:58
2D絡みで残ってる機能なんて、マウスカーソルの描画まわりくらいじゃないのか?
こないだ低スペックPCで無理やりゲーム動かしたらマウスカーソルが真っ黒にぶっとんで吹いた。
532デフォルトの名無しさん:2006/10/21(土) 02:06:54
>>530
具体的にどのチップで、何の機能が削除されたんだ?

いつもこういう話になると、聞きかじりで、
具体例が存在しない、いい加減な噂を広める馬鹿が現れるんだが。
533デフォルトの名無しさん:2006/10/21(土) 02:12:56
知らねーよ。
何でオレに聞くんだ?
534デフォルトの名無しさん:2006/10/21(土) 02:17:26
とりあえずこのスレ的にはDirectDrawが消えた時点からが
2Dご愁傷様時代の幕開けと思って間違いありますまいよ。
535デフォルトの名無しさん:2006/10/21(土) 02:18:43
DirectDrawにすがりつく人がいつまでもDirectX7使ってウザいんですが・・
536デフォルトの名無しさん:2006/10/21(土) 02:20:34
というか現行のGeforceFXだと固定頂点機能すら削除されてるわけだが。
537デフォルトの名無しさん:2006/10/21(土) 03:01:26
>>535
7から8で明らかに世代交代した感があるのに、未だに移れん人っているのな…
ちょっと驚きだ
枯れてて安心とかそういうレベルでの考えで使ってるわけでもなかろうし
538デフォルトの名無しさん:2006/10/21(土) 03:07:21
>537
会社のwin2kのローカルマシンで
こっそり弄れるのが良かったりとか?
539デフォルトの名無しさん:2006/10/21(土) 03:08:53
単に使ってるラッパーライブラリがDirectX7止まりだとか、
アセンブラでアルファブレンディング実装して悦に入ってるとか、
取り付かれたかのように超低スペックPCも動作対象に入れたがるとか、
さまざまな理由でDirectX7を使ってる人がいます。
540デフォルトの名無しさん:2006/10/21(土) 03:10:28
>>538
DirectX9はWin98/98SE/ME/2000/XP/VISTAに対応だぞ。
何気に対応OS多くて機能的にもなかなかの優れものだ。
541デフォルトの名無しさん:2006/10/21(土) 03:13:06
DirectX9長いからね・・・

せっかく安定して開発できるのに、数年後にはD3D10移行が待ってると思うと
少しばかりウンザリするね。しかも、D3D10は数年進化し続けるだろうし。
542デフォルトの名無しさん:2006/10/21(土) 10:16:19
>>541
それについて行こうとして一番つらいのはビデオボード交換かなぁ。

Vista君何回までOK?>ビデオ交換
543デフォルトの名無しさん:2006/10/21(土) 10:40:38
無知を晒すな
544デフォルトの名無しさん:2006/10/21(土) 11:44:26
Vistaってそんな制限あるの?ないの?

っつーか、D3D10移行で大変なのは、そんな金で解決できる部分じゃないんだが・・
545デフォルトの名無しさん:2006/10/21(土) 12:53:49
俺はDX10世代のビデオカードでるまではこのままRadeon X1900XTで粘る予定。
546デフォルトの名無しさん:2006/10/21(土) 16:18:32
>>545
出てもすぐ買える値段じゃねぇからなぁ。
半年寝かすと偉く下がるが。
547デフォルトの名無しさん:2006/10/21(土) 21:57:52
>540
いあ、このPCネットに接続出来ないんだわ
かと言ってわざわざCDで持ってくるのもな
だから敢えて7で(ぉぃ
548547:2006/10/21(土) 21:58:45
「この」じゃねぇ「うちの勤務先の」だw
549デフォルトの名無しさん:2006/10/21(土) 22:12:56
>>547
ワラタ、どうやって書き込んでるのか悩んじゃったぢゃないか(w
550デフォルトの名無しさん:2006/10/22(日) 04:16:56
>>547
そんな理由あるかw
ネットに繋げてるそのPCでは当然DirectX9使ってるんだよね?w
551デフォルトの名無しさん:2006/10/22(日) 11:16:12
>>548
マ板で携帯厨に会うとは思わなかった、というところでした。
552デフォルトの名無しさん:2006/10/22(日) 13:46:13
いやここわむいたなのだが
553デフォルトの名無しさん:2006/10/22(日) 19:58:39
まいった
554デフォルトの名無しさん:2006/10/27(金) 17:35:25
数百の遠景をビルボードで表示する場合にZバッファを有効にして
書き込む方法とZバッファを無効にしてソートして書き込む方法では、
どちらがパフォーマンスが良いでしょうか?
555デフォルトの名無しさん:2006/10/27(金) 21:33:47
CPUに負荷をかけるかGPUに負荷をかけるかの違い
556デフォルトの名無しさん:2006/10/27(金) 21:50:36
まずその数百の遠景とやらをソートしてテクスチャにレンダリング、そしてそのテクスチャをスプライトとして表示する
必要に応じて数フレームに一度テクスチャを更新、これ最強
557デフォルトの名無しさん:2006/10/27(金) 22:23:05
>>554
数百程度なら zデータも1次+2次キャッシュに収まるだろうから
計算量 n*log(n) 程度のzソートで済ませるのが正解。
ソートで問題になるのはポリ数が数万オーダー以上になる時だ。
それに半透明ビルボードを使うことになれば嫌でもソートすることになる罠。
558デフォルトの名無しさん:2006/10/27(金) 22:44:20
ztestオフにしちゃったら山の裏側からちょこっと顔出してるビルボード木とかはどーすんの?
559デフォルトの名無しさん:2006/10/28(土) 01:08:12
最初に描けい。
560デフォルトの名無しさん:2006/10/28(土) 01:12:04
1.スクリーン座標上にある不透明の物体を描画
2.ワールド座標上にある不透明の物体を前から順に描画
3.ワールド座標上にある半透明の物体を後から順に描画
4.スクリーン座標上にある半透明の物体を描画

ってのがとりあえず塗りが多いときの基本か?
実用面でいったらモデルはまとめるよりわけたほうが動作がいいな。
クリッピングではじける部分は多い方がいいし。
無駄にまとめると突っ込まなくていいものまでDrawPrimitiveに渡すことになる。
クリッピングではじけるならそれにこしたことないしね。
クリッピングさえちゃんとやればどんだけでかい世界をこさえても視錐台に入るもんだけ計算すればいい。
561デフォルトの名無しさん:2006/10/28(土) 01:16:12
Zテストに頼りきり->

利点:
コードがシンプルに収まる
パイプラインを刻まないで済むなら通常描画は十分に高速

欠点:
描画順番につきものの絵の破綻が起きるかもしれない
丁寧にソートした場合に比べてフィルやZバッファシーク等でGPUの性能を無駄にするかもしれない

Zソートする->
利点:
奥から書けば描画順番につきものの絵の破綻を回避できるかもしれない
手前から描けばZテストでオクルージョンカリングが機能的に働くかもしれない

欠点:
CPU責任による頂点バッファの加工等がついてまわるので、
パイプラインが止まる、CPU負荷が嵩む等が問題になることもある


でも普通数百のオーダー程度ならソートなんかしてもしなくても大して変わらんよ。
Zテスト有りで万とか描くならそりゃ別だけど。
562デフォルトの名無しさん:2006/10/28(土) 01:20:03
>>560
多い場合に限らず、まあ基本だよな。

もっと言うならモデルのメッシュも外側から内側に巻くようにインデクス作っておけば
Zの書き込みだのテクスチャのフェッチだのが減って軽くなる。
もちろんそこまで最適化する必要があるのは、それ相応の複雑さを持ったモデルに限っての話だけど。
563デフォルトの名無しさん:2006/10/28(土) 02:22:52
>>559
最初かーそうだな最初に描けばいいな!なんでこんな簡単なことに気がつかなかったんだ!!!
564デフォルトの名無しさん:2006/10/28(土) 02:40:07
>>561
動的頂点場バッファならパイプライン止めることなく書き換えできるぞい
565デフォルトの名無しさん:2006/10/28(土) 07:28:04
>>561
>描画順番につきものの絵の破綻が起きるかもしれない
2度塗りで回避できる。
Zが効いてるから2度塗りしても更新部分はわずか。
描画してもたいした負荷にならずに矛盾無く描画できる。俺、オススメ。
566デフォルトの名無しさん:2006/10/28(土) 10:49:56
>2度塗りで回避できる。

何そのトンデモ回避方。
ABCと描かなきゃならんところがACBみたいになっちゃって
部分的に破綻しちまうところを、ACBACBと描くって話か。

ウンコ漏らしそうなほどにおぞましいが、それで解決するところは
それなりに多そうなのがまた。
567デフォルトの名無しさん:2006/10/28(土) 14:55:59
描画順序ひとつ語ってみても
プログラマ一人ひとりに一家言があって興味深いですな
568デフォルトの名無しさん:2006/10/28(土) 22:39:47
2度塗りは目からウロコが飛び出た。たぶん絶対に使わんけど一応メモっとくww
569デフォルトの名無しさん:2006/10/29(日) 00:02:00
何話してるんだかわかんない
>描画順番につきものの絵の破綻が起きるかもしれない
これが何のことなんだかわかんない
570デフォルトの名無しさん:2006/10/29(日) 01:18:34
>>569
半透明ポリゴン描くときの昔からの問題で、
Zテストが原因で、奥から描かないと正しく描画されないんだよ。

2度塗りすれば良いらしいがw (←これのことは忘れてやれw
571デフォルトの名無しさん:2006/10/29(日) 04:12:07
>>570
お馬鹿。
そんな話はしてない。
半透明はソートして後ろから描画するのは変わらない。
それでも交差してるものとかで破綻が起きる。
2度塗りはそれを回避できて、Zが効いてるからピクセルフィルレートがほとんど負荷にならない。
やれるならやっただけ得な手法。
572デフォルトの名無しさん:2006/10/29(日) 04:28:15
>>571
よくわかんないなぁちゃんと説明できない?
なんかすごいすごいばっかりなのがすごい怪しいよ
573デフォルトの名無しさん:2006/10/29(日) 04:51:11
試せば一発だろ
574デフォルトの名無しさん:2006/10/29(日) 05:06:06
いや「破綻」というのが具体的にどういう現象をさしてるのかわからないんだよ
それがわからんと試しようがないでしょう?
順番が違うと最終的に半透明が重なってできる色が違ってしまうのが
透明度を半分にして2回描くと同じになるよということ?
それとも一回目ztestをオンにして普通に描いちゃってるので他の半透明板の裏に入ってる部分が
描けないのを2回目ztestの条件を逆にしてもう一度描きましょうということ?
575デフォルトの名無しさん:2006/10/29(日) 05:25:52
>>574
そんな難しいこと考えずに葉っぱとか木とか多いシーンを2回描いてみればいいんじゃね?
576デフォルトの名無しさん:2006/10/29(日) 08:20:23
>>574
半透明のポリゴン同士が交差していたり、3枚のポリゴンが互い違いに
重なり合っていると、Zソートでも正確には描画できないよ。
ただ、それは二度塗りしようと回避できないと思うが、どういう理屈なのか
ちゃんと説明してくれんかねぇ。
577デフォルトの名無しさん:2006/10/29(日) 09:20:26
>半透明のポリゴン同士が交差していたり

うわ考えたくねえw
578デフォルトの名無しさん:2006/10/29(日) 13:23:18
>>571
なんだ、半透明同士が交差した場合の破綻の話かよ。
描画順番は関係ないじゃん。

でも、結局はZ比較の問題だろ?
579デフォルトの名無しさん:2006/10/29(日) 13:36:08
2度塗りというか、Zのみ更新するんだろ
580デフォルトの名無しさん:2006/10/29(日) 14:20:36
Z更新じゃなくて、本当に2度塗りだと思うよ。

1度目の描画でZバッファが埋まってるから、
それ使えば2度目の描画コストが低いって言ってるみたい。

確かに実際そうだから、どうしようもない時は実装すればよいが・・
581デフォルトの名無しさん:2006/10/29(日) 15:46:52
半透明はZ比較なしでやるのは常識だろ
手前に赤い半透明で奥に青い半透明があったとして
どっちを先にレンダしようが結果は同じだろうが
何が2度塗りだよw
582デフォルトの名無しさん:2006/10/29(日) 16:03:16
>>581←馬鹿は黙ってろ。

ま、俺は髪の毛ぐらいしか2度塗りは使ったことないけどな。
583デフォルトの名無しさん:2006/10/29(日) 16:05:59
>>582
具体的に
584デフォルトの名無しさん:2006/10/29(日) 16:20:33
>>582
>>581にとって半透明って50%のブレンドしか知らないだけだろ。
そんなハードウェアあるのかしらんけど。
585デフォルトの名無しさん:2006/10/29(日) 16:24:28
背景色があるから50%ブレンドでも正しくないだろ
586デフォルトの名無しさん:2006/10/29(日) 17:07:49
今は亡きPowerVRシリーズは結局どういう仕組みだったんだろう
587デフォルトの名無しさん:2006/10/29(日) 22:41:57
単純に2回描くって言ってるからどうも半透明板を重ねた色について問題視してるんではなくて
金網なんかの輪郭が透明度で抜かれた板を手前から描いてしまったときの問題について言っているらしい?

2回目描画時にzが効くからどうこう言ってるわけだから
1回目はztest不明zwriteオン
2回目はztestオンzwrite不明

1回目のztestをオンだと仮定すると2枚重なってる奥の板を後で描こうとしたときztestに引っかかって描かれない
2回目も当然だめ だからこれはあり得ない

1回目のztestはオフだと仮定すると1回目は奥の板が手前に描かれて変な図になるが
2回目はztestがオンなので1回目で奥の板が手間の板に重なって描いた部分だけに手前の板が
上書きされてまともな画ができる

こういうこと?
588デフォルトの名無しさん:2006/10/30(月) 02:41:56
なんか、2回描画しても交差したやつは正しく描画されない気がしてきた。

最初に言った奴、詳しく説明してみてください。
589デフォルトの名無しさん:2006/10/30(月) 03:41:16
まず奥にA、手前にBの2枚の半透明の板がある場合を考えてみる
これは必ずA-Bと1度づつ描画されないといけない、これは大前提 >581-585

2度描画の手法がどのようなものかはわからないがB-Aで描画コールされる場合に正しく描画されるためには
1度目 BがはじかれAのみが描画される
2度目 Bのみ描画されAは描画されない
が絶対条件になる

残念ながらこの条件を満たすステート設定方法は俺には思いつかない


てゆうか2枚とかケチなこと言わず大量に重なっていた場合を考えれば
たった2回の描画で正しく描画されるわけ無いことぐらいすぐわかるだろぼけ
590デフォルトの名無しさん:2006/10/30(月) 03:44:58
>気がしてきた。
(; ^ω^) …
591デフォルトの名無しさん:2006/10/30(月) 03:50:24
>>589
それは交差したポリゴンってわけじゃないよね?話がちがくない?

>>571 は二度塗りすることで交差したポリゴンの破綻も回避できるって言ってるんだけど
文句があるんならソイツに言ってくれないかな。
592デフォルトの名無しさん:2006/10/30(月) 03:56:26
>591
交差してないポリすら正しく描画できないっていってんだから
交差してるポリは言わずも名が

あと>589は別に>588に限定して言ってるわけじゃない
593デフォルトの名無しさん:2006/10/30(月) 04:04:00
まあ最初に二度描きの話したやつは「ソートしなくても良い」って意味で
言ったような気がするんだが、それはその時点でダウトだよな。
好意的に解釈して交差したポリゴンの話に持っていったとしてもダウト。

> あと>589は別に>588に限定して言ってるわけじゃない
そっか。ぼけって言われてカチーンって来たんでね。

二度塗りに感動した人もいるみたいなんで何となくフーンって思ってたけど
考えてみたら何も解決して無いことに気付いた。
二度目は何も描画しないんじゃないか?
594デフォルトの名無しさん:2006/10/30(月) 04:05:48
あと、「いわずもなが」じゃなくて「言わずもがな」が正解なw
595デフォルトの名無しさん:2006/10/30(月) 04:09:56
「ダウト」 って 「間違い」 じゃなくて 「疑惑」 って意味だよな?
596デフォルトの名無しさん:2006/10/30(月) 04:13:29
この板もID欲しいな
俺様がくだらない揚げ足取ってるように見えて萎えるわ
597デフォルトの名無しさん:2006/10/30(月) 04:30:02
ID欲しいね・・「ダウト」って言った張本人なんだがw
598デフォルトの名無しさん:2006/10/30(月) 06:54:01
まず基本は、テクスチャ切り替えのコストを無くすためポリゴンの集合をメッシュと呼ぶことにして、
不透明のメッシュ単位で前方からZT on, ZW onで書いていくとZテストで処理を軽減できる。
次に奥側からZT on, ZW offで半透明ポリゴンを含むメッシュを書いていく。
重なりの順序が大体合うのと、ポリゴン単位にソートしたときには、半透明球内の半透明球などが
ポリゴン単位に重なりの順序が異なる場合があり、色味が変わる問題が、正しくない色としても周囲の色と
一致するため、それほど問題ではなくなる。
何気に3枚のポリゴンが折り重なって一番手前のポリゴンが決められない場合や、交差している場合も無難に表示される。
解決するにはシェーダーでの単純幾何図形に限ってリアルタイムレイトレか、
MRTを用いて画素単位にZと色のスタックを作って後処理をするなど。

その前提で2枚の交差ポリゴンA,Bを書くことを考えてみると
完全透明のマテリアルにして、AをLess, ZT on, ZW onにして書く、
ZTの順序を逆にGreaterして、BをZT on, ZW on(ZWはどっちでも)にして書く、
次にAをLess Eq, ZT on, ZW onにして書く。
最後にBをLess, ZT on, ZW onにして書く。
ただし、背景に不透明ポリゴンがあってはいけないし、普通は使えないテクニックだと思う。

他に方法あるかな?
599デフォルトの名無しさん:2006/10/30(月) 07:24:15
>>589
「Z値が同値以外すべて描画」でどう?
600デフォルトの名無しさん:2006/10/30(月) 07:35:39
>589でいうB-Aの場合はいいけどA-Bだと駄目だな
601デフォルトの名無しさん:2006/10/30(月) 07:47:43
俺、一度だけゲームのプロジェクト参加して辞めちゃったヘタレだけど
そんときのプロジェクトで半透明の2度塗りはやってたな。
ステートをどうしてたかはわすれたけど、やってた気がする。
602デフォルトの名無しさん:2006/10/30(月) 08:00:58
まあそのうち565がちゃんと説明してくれるだろうから気長に待つが吉
603デフォルトの名無しさん:2006/10/30(月) 08:18:04
一応紹介しておく

http://spin.s2c.ne.jp/quick007.html
>▼ id Software社の次世代エンジンでの描画順非依存の半透明ポリゴン描画(OIT)
>
> id Software社のリードプログラマのJohn Carmack氏が、8月のQuakeCon 2004の基調講演(動画(GameSpy PC)、Johnny Watson氏によるテキスト化、GameSpyのレポート記事)で、
>同社の次世代描画エンジン向けに検討している、描画順に依存しない半透明ポリゴンの描画手法(Order Independent Transparency)について触れています。
>これは、Doom3でリードデザイナを務めたTim Willits氏が、描画エンジンに対してゲームデザイナの視点から最も強く望んでいる機能とのことです。
>Doom3エンジンまでは、マテリアル単位で描画順をあらかじめ指定できるだけ(.mtrファイルのsort)でした。
>
> 次の2つの手法を検討しているようです。(※誤った解釈が含まれている可能性があります)
>
>(1) 複数のレイヤに分けて描画し、合成する方法 半透明オブジェクトは異なるバッファに描画する。半透明部分が重なっているかどうかをエンジン側で判定し、この場合、別の描画バッファに分けて描画する。
>そして、複数の描画バッファ(レイヤ)は適宜、合成する。同一オブジェクト内での描画順の問題は解決できない点、大量のビデオメモリを消費する点が欠点。
>(※複数のレイヤという点ではデプスピーリングにも似ていますが、描画パスが1回で済む点で異なります)
>
>(2) スティプル描画してポストフィルタを掛ける方法 アルファブレンディングは使用せず、半透明度に応じたスティプルパターンで半透明ポリゴンを描画する。
>(スティプル描画=スティプルパターン(ビットマスク)に応じた三角形内の特定のピクセルだけに点描)
> 最後に、ブラー系のポストフィルタを画面全体に掛ける。スティプルパターンの選択に工夫の余地がある。この方法はDoomエンジンの作成の際にも実験したが、
>Doom3エンジンのターゲットとなるGPUでは十分なフィルタリングを掛けられなかったため、採用しなかった。
>
>(Date: 2004-10-23)

604デフォルトの名無しさん:2006/10/30(月) 20:25:12
ボリューム構造のVRAMを持たせて、リアルタイムレイトレで表示をする
ビデオカードとかが安価にでてくれば解決するんだが。
その前にDX10ぐらいでNurbs曲面のプリミティブを
GPU側で処理してくれるようにはなりそうかな。

605デフォルトの名無しさん:2006/10/31(火) 00:35:47
なんでオタって自分の自慢ができる分野の話を流れ無視して勝手にしゃべりだしちゃうの?
606デフォルトの名無しさん:2006/10/31(火) 00:49:20
一般的な話はまったく出来ないから。
607デフォルトの名無しさん:2006/10/31(火) 12:38:59
なんか臭いなーて思ったら俺の臭いだった
先生に「教室から出て行けw」と冗談半分に言われた
言われたこっちは冗談半分に聞こえない
608デフォルトの名無しさん:2006/10/31(火) 16:53:20
女の足の臭いの方が臭いぜ
夏場、専門学校で授業中に靴を脱いだ奴らがいたんだが
脱いだ瞬間酸っぱい匂いが教室中に充満して地獄と化した。
609デフォルトの名無しさん:2006/10/31(火) 20:19:33
>>603
その中に「二度描き」って画期的な方法がかかれてないのはなぜ?w
610デフォルトの名無しさん:2006/11/01(水) 02:11:52
二回目の描画には最低限Zオフセットは入れてるものだと思ってた。

いや、そうだよね?
俺、エスパーじゃないよね??
611デフォルトの名無しさん:2006/11/01(水) 09:20:54
Zオフセットってなあに?
612デフォルトの名無しさん:2006/11/01(水) 09:37:49
Z-biasのコトでね?
613デフォルトの名無しさん:2006/11/01(水) 15:24:37
z-biasを適切に設定するには結局ソートするしかなくね?
614デフォルトの名無しさん:2006/11/01(水) 15:43:21
意味不明
615デフォルトの名無しさん:2006/11/01(水) 22:50:35
z-biasとz-sortはぜんぜん関係ねーんだけど
616デフォルトの名無しさん:2006/11/02(木) 10:13:21
2度塗りの説明まだーーーー?チンチン(AA略
数人マンセーしてたのがいたはずなのに
ここへきて全員が全力でスルーとかカッコイイにもほどがあるぞ
617デフォルトの名無しさん:2006/11/02(木) 10:37:05
ごめん、条件反射でマンセーしただけ
618デフォルトの名無しさん:2006/11/04(土) 00:52:08
脊髄反射みたいなレスだったし、似たような名前のスレと被っててみつからないんじゃない?age
619デフォルトの名無しさん:2006/11/04(土) 00:52:57
チェック入ったままだった。
age
620デフォルトの名無しさん:2006/11/04(土) 17:22:42
DirectSoundで3Dサウンドをやろうとしているのですが、
環境SEとして3Dバッファの固定座標を指定して鳴らした後にListener座標を変えても
音量や聞こえる位置が変化してくれなくて悩んでいます。
CommitDeferredSettings();も行っています。
どなたかお教えください、よろしくお願いします。
621デフォルトの名無しさん:2006/11/06(月) 14:40:58
どうしてMSの配布物は無駄に幾重にも圧縮されているのかね?
622デフォルトの名無しさん:2006/11/06(月) 16:05:09
ビンテージのベースを質屋にうって出刃包丁を買いましょう
高層ビルにあるクラブに行き浴びる程お酒を飲みましょう。
廊下に出て窓を開けましょう開けましょう。
マズは腹に出刃包丁でブッスリさしましょう。
コンクリートの下地めがけてすぐに飛び降りましょう。
さようなら。 
623デフォルトの名無しさん:2006/11/06(月) 16:11:21
圧縮をかけつづければ最後にはどんな情報も1ビットになると信じているMS
624デフォルトの名無しさん:2006/11/06(月) 17:25:53
1ビットじゃファイルに書き出せないから
1バイトの時点で止めといたほうが効率がよい!ヽ(´ー`)ノワーイ
625デフォルトの名無しさん:2006/11/06(月) 17:32:51
一番多いのは自己解凍ZIPに自己解凍CABかな
でもって中身のMSI自体がそもそも圧縮されてると
626デフォルトの名無しさん:2006/11/06(月) 22:33:21
( ^ω^)せっかく来たのにまだ二度塗りの解説ないお

( ^ω^)また来週くるお
627デフォルトの名無しさん:2006/11/07(火) 04:34:58
もう来なくて結構です。
628デフォルトの名無しさん:2006/11/07(火) 10:33:14
もう( ^ω^)とか時代遅れなのよね
629デフォルトの名無しさん:2006/11/07(火) 10:41:26
では改めて。

「シッシ」
630デフォルトの名無しさん:2006/11/07(火) 23:17:53
>>624
オマイ天才!
確かに、1bitも1バイトもディスク上のサイズは変わらんよな
631デフォルトの名無しさん:2006/11/08(水) 17:11:09
二度塗りの説明があるサイト発見。
ttp://www.platz.or.jp/~moal/reflect2.html

よく読んでみたが、何が解決したのかは分からないw
これでも半透明の描画は問題あるよね。
632デフォルトの名無しさん:2006/11/08(水) 18:18:20
それは床の反射を描画するために、元々透明でないものを半透明で描画するときに
問題が発生するという話で、このスレで出た二度塗りとは関係ない。
633デフォルトの名無しさん:2006/11/09(木) 04:51:10
***** 肛 門 基 礎 T *****


アナル=肛門の(形容詞)
アヌス=肛門 (名詞)

○ 彼女のアヌスはヒクヒク動いている。
× 彼女のアナルはヒクヒク動いている。

○ 彼女とアナルセックスしたい。
× 彼女とアヌスセックスしたい。

例外
○ アナル男爵(肛門の男爵。アナル好きな男爵)
○ アヌス男爵(固有名詞。名前が肛門)
634デフォルトの名無しさん:2006/11/09(木) 06:58:42
>>632
いや、これでいいんじゃない?
なんか、内容的にこれに見えるけど。
635デフォルトの名無しさん:2006/11/09(木) 07:03:44
もしかして、ステート変えなくても普通に2回書くだけでもいけるのか・・・。
636デフォルトの名無しさん:2006/11/09(木) 07:03:55
>>633
「アナル好きな男爵」ではなくて「アヌス好きな男爵」が正しいのでは?
637デフォルトの名無しさん:2006/11/09(木) 09:27:37
631は最も手前のポリゴンのみ1度だけ塗るための方法でこの場合とは全く関係ない
638デフォルトの名無しさん:2006/11/09(木) 13:04:19
この場合っつっても結局どの場合なのかはうやむやにされたままだったしなぁ
こっちが勝手に決め付けてただけで
639デフォルトの名無しさん:2006/11/09(木) 16:20:31
この場合って・・
アンタ詳しそうだから、そもそもの問題を再定義してくれよ。
640デフォルトの名無しさん:2006/11/09(木) 17:40:42
637ではないが、二度塗りの話は一般的な半透明の描画の話の流れで
出てきたから、俺はそういう話だと思っていたが。
半透明のポリゴン同士が重なっているときの問題解決法みたいな感じ。

631の話は、反射を表現するための手段として半透明で描画してはいるが、
描画対象の本質は半透明ではなく不透明。
今ならこんな回りくどいことしないで、一度テクスチャに描画してから
それを床に合成する方が一般的じゃないかね。
641デフォルトの名無しさん:2006/11/10(金) 00:44:52
どっちが速いの?
Zバッファこさえとくだけでいいなら手間もかからないし、いい方法だね。
しかも、2回目はZテストが効いてるからかなりいいな。
642デフォルトの名無しさん:2006/11/10(金) 02:35:47
>この場合
重なっているというか、交差している場合の話だと思う
>>561,>>565-576
結局ウヤムヤだが
643デフォルトの名無しさん:2006/11/10(金) 19:12:07
エロゲでフルスクリーンがダブルで出来ないのなんとかしてくれ
644デフォルトの名無しさん:2006/11/10(金) 19:32:24
日本語でおk
645デフォルトの名無しさん:2006/11/10(金) 22:48:36
   /)  /)
  /  ⌒  ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | ●_ ●  | < まだ2度塗り説明きてないの・・・また来週こよ
 (〇 〜  〇 |  \_________
 /       |
 |     |_/
646デフォルトの名無しさん:2006/11/11(土) 00:00:28
ぴかちゅー!上!上!
647デフォルトの名無しさん:2006/11/11(土) 01:10:50
二度塗りって。
人物モデルの髪の毛に使うようなやつ?
648デフォルトの名無しさん:2006/11/11(土) 22:27:23
>>647
それが何だか分からんが、ちと説明してみ?
649デフォルトの名無しさん:2006/11/14(火) 05:07:06
650デフォルトの名無しさん:2006/11/14(火) 13:50:18
>649
なんかそれ見れないね、webarchive使えば見れるけど
ともあれGJ
651デフォルトの名無しさん:2006/11/14(火) 17:57:37
652デフォルトの名無しさん:2006/11/14(火) 23:52:37
いつの話だよ、って思った。

シェーダ使える昨今でも同じような処理してる人がいたら見てみたい。
653デフォルトの名無しさん:2006/11/15(水) 00:14:53
おまえは何を言っているんだ
654デフォルトの名無しさん:2006/11/15(水) 00:52:41
アルファ値により分岐して深度値の書き込みの有無を判別って一般的?
655デフォルトの名無しさん:2006/11/15(水) 00:57:54
一般的っていうか、アルファの問題は解決できない問題だから
いろいろな解法があるわけよ。これもその中の一つだね。
656デフォルトの名無しさん:2006/11/15(水) 00:58:06
限定的な状況で使えた、ってことだろ
よくやることじゃん
657デフォルトの名無しさん:2006/11/15(水) 21:00:11
自分的にはalphaが100%ならソートなりzテストが必要で
そこから1ポイントでも透明度が加わった途端に適当に重ねて描かなきゃならんようになる
という発想というか包括的な視点みたいなのがなかったんでちょっと目から鱗だったよ
うれしくてURLの貼り方ミスった

zbufferはこのまま平坦な2次元配列のままいくのかな
それとも1ピクセルごとにスタックもったりとかするのかな
658デフォルトの名無しさん:2006/11/15(水) 21:28:56
>>657
既にシェーダとMRTでZバッファに相当する物なんてどうにでもなるが。
659デフォルトの名無しさん:2006/11/15(水) 21:40:27
>658
657じゃないけどぜひ詳細を
660デフォルトの名無しさん:2006/11/16(木) 00:19:46
ピクセルシェーダで自前でZ値を計算して保持・比較するだけだろ、たぶん。
R16G16B16A16Fとか使って頑張れば4層Zバッファとかも夢じゃないよね。
661デフォルトの名無しさん:2006/11/16(木) 00:30:41
半透明をちゃんと見せるためだけにどんだけ他の処理削るんだよw
662デフォルトの名無しさん:2006/11/16(木) 00:33:37
同じ要領で理論上はディープシャドウマップも実装できる
はずなんだけど、実験レベルのサンプルコードとかみたことないね。

663デフォルトの名無しさん:2006/11/16(木) 00:59:38
ディープシャドウマップがどんなのか知らんが
無いものは作ってみてはどうか?
664デフォルトの名無しさん:2006/11/16(木) 01:43:41
ディープシャドウマップって何だっけ?
ピクサーがモンスターズインクのときに開発した手法?
665デフォルトの名無しさん:2006/11/18(土) 20:47:58
>>660
ワロタw
PowerVRでも使っとけと思う

まあ、でも、将来、GPUの能力上がったら、あながちなくはないのかw
666デフォルトの名無しさん:2006/11/18(土) 21:42:43
Real Time Rendering の第2版にアキュムレーションバッファを使った
正しい順番の半透明レンダリングってのがあったけど
667デフォルトの名無しさん:2006/11/18(土) 22:35:16
あったあった。
原著で半分読んでまんどくさくなって放り出した。
668デフォルトの名無しさん:2006/11/20(月) 08:50:03
久々にBBXを覗いてきたらspam投稿でひどいことになってる
669デフォルトの名無しさん:2006/11/23(木) 15:57:21
7950GTが2枚あるので、あえてSLIをせずにプログラムをいじって遊んでいるんですが

この環境でそれぞれのカードから1つのディスプレイにケーブルをつなぐ
(いわゆるDualView状態)と、
GetAdapterCountでデバイス数が2と返されます。
そこで、敢えてCreateDeviceの第一引数に1を与えてデバイスを作成すると、
描画(ピクセルシェーダ)パフォーマンスが落ちてしまいます。
これは、
http://www.microsoft.com/japan/msdn/directx/techart/DirectX8faq.aspx
にある複数でデバイスで性能低下する仕様(?)あたりを引きずっているんでしょうか。
(もっとも、私のプログラムでは複数のデバイスは生成していませんが。)
それとも、私のプログラムが悪いのでしょうか。
何かご存知の方がおりましたらご教授ください。

複数ディスプレイで性能が落ちないなら、それはそれで色々とくだらない遊びのネタが思いつくんだけどなぁ。
670デフォルトの名無しさん:2006/11/23(木) 16:04:59
そのへんは昔からあんまり改善されてないねえ
vistaだとどうなるんだろう
671デフォルトの名無しさん:2006/11/23(木) 16:09:48
>>669
1枚目と2枚目で接続バスの帯域は同じなの?
672669:2006/11/23(木) 17:46:08
>>671
nForce590SLIを使っているので大丈夫なはずなんですが。

とりあえず懲りずに色々と実験中。
使っているのが1番のみなのに遅いってことは、
プライマリなデバイスとそうでないもので何らかの差があるのかなぁ、
といった感じです。
673デフォルトの名無しさん:2006/11/23(木) 19:53:45
XPでホバーテキストが表示されるときに処理重くなる現象とかがあるから>>669のリンク先のハナシと
プライマリーと関係して何か起きてるのかもしれないね。
674669:2006/11/29(水) 22:24:48
せっかくなので実験経過を報告します。
ついでに誰か人柱になってくれる人を募集。後でテストプログラムUPしますので。

今回実験したのは、複数のGPUを搭載した環境において、
CreateDevice関数に対して明示的にGPU(デバイス番号)の指定を行うと、
どうなるか(GPUごとにシェーダパフォーマンスに差が生じるか)、です。
GeForce7950GTが2枚非SLIで搭載されたPCを用意し、
ビデオカード1枚につき1本のディスプレイケーブルを接続しました。
この時点でGetAdapterCount()の返り値は2です。
デバイス番号に0を与えた場合と1を与えた場合の性能(FPS)を測定すると、
デバイス番号0の方が高速でした。(70FPS vs 18FPS)
更に画面のプロパティからプライマリディスプレイを変更してから再測定すると、
逆の結果が得られました。(18FPS vs 70FPS)
なお、ウィンドウの表示位置は結果に影響がありませんでした。
(ひょっとしたら、ウィンドウ表示位置と描画しているデバイスが合っている必要があるかと思いましたが。)

私の手元の実験結果から
1:プライマリディスプレイであるかは性能に関係が無く、
 デバイスの認識順が先のGPU(ディスプレイ)の性能が高い
 →ビデオカードが刺さっているPCI-eバスに依存しているかもしれません。
 データ転送量が小さい+nForce590SLIなので考えたくありませんが。
2:複数のGPUを搭載した環境では、各GPUが本来の演算性能を発揮できるかようではない
以上のことが推測できました。
これらが私の環境に特有の問題なのか、それともなんらかの仕様に基づいているのかがわかりません。
何か御存知の方がおりましたら情報提供をお願いします。

なお、実験環境はAthlon64X2,GeForce7950GT*2,ForceWare93.71,WindowsXP64といった環境です。
675デフォルトの名無しさん:2006/12/01(金) 00:14:38
ちょっとNVPerHUD4入れてみたんだが
DirectX *RETAIL* runtime detectedの下に
Error adding counter [gpu_idle]とかづらづらと出てきて
一番したのグラフとかがcounters not availableとかで表示されにゃい。
WinXP,GeForceFX5900XTでPerKitは最新なんだけど、おんなじ様なことになってる人いない?
ユーザーガイドみてもそれっぽいとこは最新のドライバいれろとしか書いてないし・・・・。


676デフォルトの名無しさん:2006/12/01(金) 00:42:00
Textureとspriteとsurfaceの違いがよく分かりません。
どれも画像を扱う時に出てくるのですが、
これらの違いについて分かるサイトがあったら教えてください。
677676:2006/12/01(金) 00:42:42
すみません、書き込むスレを間違えました。
取り消しします。
678デフォルトの名無しさん:2006/12/15(金) 10:42:56
ツールアプリ等では作業の効率を向上させるため
2つ以上ウィンドウを使用して操作することが多いですけど、
ゲームではウィンドウ(Windowsの窓)を2つ以上使うニーズはありますか?
679デフォルトの名無しさん:2006/12/15(金) 11:04:14
>>678
何でそんなこと聞くんだ?
自分で必要なら作ればいいじゃん。
そもそもDirectX関係なくないか?
680デフォルトの名無しさん:2006/12/15(金) 11:52:23
>>678
需要は別に無いな。
複数ウィンドウを使うとむしろ操作が煩雑になりそうだ。
処理速度も大分落ちるだろうし。
681デフォルトの名無しさん:2006/12/15(金) 14:09:35
シミュレーション系ではたまに見かける気がする。
中の窓の描画を全部DirectXでやってるかは別問題だが。

一応FAQによれば、窓ごとにD3DDeviceを作ったりするのは非効率で、
遅くなるので、1つのデバイスを使いまわすべき、らしい。
682デフォルトの名無しさん:2006/12/15(金) 15:43:40
ゲームの場合は、ゲーム内に独自のウィンドウシステムを組み込んでしまうのが
一般的だから、OSのウィンドウシステムはあまり使わないね。
683デフォルトの名無しさん:2006/12/15(金) 16:06:24
毎回作りながら、非効率だよなあとは思うんだが、結局作っちまうんだよな。
内容にもよるとは言え、普通にGDI+で書いてりゃ面倒ないのになあとか思ったり、思わなかったり。
684デフォルトの名無しさん:2006/12/16(土) 02:37:54
未だに文字入力にIME使わせずに一覧から文字を選ばせるゲームとかあるよな。
685デフォルトの名無しさん:2006/12/16(土) 03:25:30
>>684
ゴメンw
アーケードとかのノリでどうしてもそっちにしちょう
686デフォルトの名無しさん:2006/12/16(土) 03:37:13
実用性が求められるビジネスアプリじゃないからな。
OSのウィンドウシステム使え?キーボードで文字入力させろ?
ゲームのインターフェイスはデザインとか雰囲気のが重要。
プレイヤーの使い勝手なんて二の次でいいんだよ。
687デフォルトの名無しさん:2006/12/16(土) 05:15:34
>プレイヤーの使い勝手なんて二の次でいいんだよ。

滅びの第一歩

つーかIMEのプログラムなんて大して難しいもんでもないのに
ほとんど放置されてるのはなんでなんだろうな
SDKのオマケにすらサンプル入ってるのに
688デフォルトの名無しさん:2006/12/16(土) 05:42:20
コンシューマへの移植を夢見て・・・
689デフォルトの名無しさん:2006/12/16(土) 05:50:26
ATOK積め。
みたいな。
690デフォルトの名無しさん:2006/12/16(土) 13:23:01
>>687
サポートがめんどいからとか?
691デフォルトの名無しさん:2006/12/16(土) 15:01:00
>>683
DirectXとGDIの組み合わせって経験的に
どうもかみ合わない感じだからためらうんだよね。
前にDirectXで描いてからGDIでサブウィンドウ描いてたら
ウィンドウ全体がガクブルするようになってしまった事がある。
結局全部DirectXで書き直したけど、ものすごい回り道だったから
それからはGDIと組み合わせる事は無くなったなぁ。
692デフォルトの名無しさん:2006/12/16(土) 17:08:50
>>687
DirectXの領域から一歩はずれるとただのザコプログラマになるやつがいるから。
例えば俺
693デフォルトの名無しさん:2006/12/16(土) 22:37:26
>>684
馬鹿なプレイヤーは一覧から選ぶしか出来ないからな
694デフォルトの名無しさん:2006/12/17(日) 00:52:08
>>691
んだんだ。
GUIは色々抜け道ありすぎてサポートしきれんときも多いべ。
例えばIMEの全角文字入力中にAlt+XXXとかShift+XXXとかのショートカット押されたときとか大丈夫なんか?と聞きたい。
「大丈夫なんか?」とは変な動作しないかどうか?ってことだな。
また、とてもバッファに収まらんような大量の文字列をクリップボードにもってきて>貼り付け
とかさ。IME制御やったことないからわからんけど、そういうのって気にしなくてもうまくいくようになっとるの?

はっきりいってGUIには苦い思い出しかない。
ゲーム前の環境設定で設定項目のチェックをエディットのキルフォーカスでやってたことがあるんだけど
キルフォーカスって別にフォーカスアウトすれば必ず走るわけじゃなくて、
特定の動作のときには走らないこともある。例えばボタンのコントロールを押したまま範囲外にずらしたときにキルフォーカスは走らない。
また、ファイル(F)みたいなメニューがあるときにエディットからAlt+Fでファイル(F)に飛んだときなんかもキルフォーカスは走らない。
こういうGUIの糞みたいな動作の1つ1つをガードかけて行く作業がアフォらしくてたまらない。
(できないわけではない、面倒なのでやりたく無い。疲れる。金にならない。はっきりいって無駄。)
695デフォルトの名無しさん:2006/12/17(日) 00:55:19
あ、GUIってWindowsのなw
696デフォルトの名無しさん:2006/12/17(日) 00:56:40
いや、GUIじゃなくてGDIの間違いw
吊ってくるw
697デフォルトの名無しさん:2006/12/20(水) 20:38:26
SDK2002落とせなくなってね?
698デフォルトの名無しさん:2006/12/28(木) 10:58:57
http://msdn2.microsoft.com/en-us/default.aspx


December 2006 DirectX SDK が公開されました。
最新バージョンの DirectX SDK が公開されました。
本リリースの新機能には以下のものがあります、
Direct3D 10 を含む Windows Vista の最初のリリースをサポートする更新ライブラリ、
そして新しいサンプルと技術情報が追加されました。

っていうのがあるんだが、リンク先の
http://wwwstaging.dns.microsoft.com/japan/msdn/directx/downloads.aspx
が存在しない。
というかそのサーバってMSの内部鯖じゃないか。
699デフォルトの名無しさん:2006/12/28(木) 11:01:54
700デフォルトの名無しさん:2006/12/28(木) 17:15:52
いやそれはもちろん知ってるけど、かっこ悪いなあと。
701デフォルトの名無しさん:2007/01/04(木) 20:53:30
最近、「寄生派遣」という言葉をよく聞くようになりました。
契約終了を切り出されると「切られたら生活できません」などと
泣き落としで契約更新を迫る派遣のことです。
今月初め、半年前に辞めた派遣が出社してきてみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。
派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず
複数の会社を渡り歩いてください。
ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。
狭いワンルームを電化製品で埋めるために派遣で足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
702デフォルトの名無しさん:2007/01/05(金) 00:31:26
>>701
話術スキル・泣き落としスキルは確実に上がってるなw
703デフォルトの名無しさん:2007/01/11(木) 22:58:39
質問失礼します。
CEditのようなコンポーネントをDirectX上で描画したいのですが、どうやれば良いでしょうか?
IMEは実装したのですが、複数行書くとなると大変な処理になるので、別の何かしらを利用したいと考えております。
書籍やHPの情報等、似た情報ならなんでもかまいません。
分かる方、お願いします。
704デフォルトの名無しさん:2007/01/11(木) 23:17:11
                ‖
           ___  ‖
       /    `ヽ‖
      ,:'      、ゑ
     ,'    ;  i  八、
     |,! 、 ,! |  ,' ,〃ヽ!;、
      |!| l川 l リへ'==二二ト、
     リ川 !| i′  ゙、    ', ',
     lルl ||,レ′   ヽ   ,ノ ,〉
       |川'、  ,,.,.r'"    ,,ン゙
        `T"  ! ,/ '.ノ,/|
         /   ,!´ !゙ヾ{ |
          /   ,'   i ゙ ! ,l゙
      ,r‐'ヽ-、!   ',  l|
      {    `ヽ   !  「゙フ
      ,>┬―/   ;  i,`{
     / /リ川'        ', ゙、
    / ,/            ゙、 ゙、
   ノ  /           ', `、
   \_/   ;          ゙、ヽ、
    l__   !        ___〕 ,、l
       ̄`‐┬―r┬‐r'´ `'‐'′
           |  .! |  |
           |  | .|  |
705デフォルトの名無しさん:2007/01/11(木) 23:19:10
どうしてくれるんだ
派遣のほうが給料が高いというから俺様は正社員を辞めて派遣になったんだぞ!
謝る気があるなら俺様に正社員に戻る方法を教えてくれ
706デフォルトの名無しさん:2007/01/11(木) 23:56:46
>>703
GDIように、描画とめるAPIあったと思うけど、そうすると、ほかの描画がとまるわけで、
結局自前描画しか方法ないです
707デフォルトの名無しさん:2007/01/12(金) 00:04:32
>>706
返答ありがとうございます。
そうですか。。。
自分なりに、もう少し探ってみます。
708デフォルトの名無しさん:2007/01/13(土) 20:25:19
コントロールを置いてある場所に描画しなければいいだけなのに、
何を探る必用があるのかさっぱり理解できない。
709PPP:2007/02/02(金) 18:28:42
最大頂点数が65534個を超えるMeshObjectについて質問なのですが、
DrawSubset処理がうまくいきません。
一応描画はされるのですが、思うような形がでてきません。
苦肉の策でDrawPrimitiveを使用すると自分が思っている形が出てきたので
頂点データなどは正常であると思います。
原因をご存知であればご教授ください

710デフォルトの名無しさん:2007/02/02(金) 20:46:08
シェーダの勉強をはじめた者です。
本を読んだり自分なりにググったのですが、分からなかったので質問させてください。
基礎的な質問なんですが…。頂点シェーダ結果の出力方法として
「out修飾子を使う方法」「構造体を宣言して構造体を返す方法」の2種類があると思います。
この2つのどちらを使うかを選択する基準って何かあるのでしょうか?
例えば参照の方が効率が良かったりするように、outの方が効率が良いとかあったりしますか?
711デフォルトの名無しさん:2007/02/02(金) 22:25:57
複数outする時は構造体使うしかないだろ。
712デフォルトの名無しさん:2007/02/03(土) 01:01:55
返信ありがとうございます。
すぐ参照できるサンプルソースでなくて恐縮ですが、
「ゲームエフェクトマニアックス」という本のサンプルソースにある
エフェクトファイルでoutが複数利用されているものがあるので
outは複数使えると理解していたのですが、それが間違っているという
事でしょうか?

私が参考にしたのは下記URLのサンプルプログラムにある
エフェクトファイルの一つ「Wave.fx」で、その中に宣言されている
頂点シェーダ「WaveVS」の宣言に下記のようにoutが複数使われていました。

// 頂点シェーダ
void WaveVS (
float4 pos : POSITION,
float2 normal_uv : TEXCOORD0,
out float4 Pos : POSITION,
out float2 NormalUV : TEXCOORD0,
out float3 WVPos : TEXCOORD1
) {
// 頂点座標とテクスチャ座標
Pos=mul(pos, WVProj);
NormalUV=normal_uv;

// ワールドビュー変換した頂点座標
WVPos=mul(pos, WView);
}

(参考URL)
・「ゲームエフェクトマニアックス」
 ttp://www.cmagazine.jp/books/effect/index.html
・同書籍サンプルプログラム
 ttp://www.cmagazine.jp/books/effect/effect.zip
713デフォルトの名無しさん:2007/02/03(土) 01:56:14
>>711
いや、>>712みたいな書き方できんだよ。なんか。
C言語とそっくりとおもいきや実はちょっと違うみたいな・・・
なんか気持ち悪いけどできるんだw
誰の好みかは知らんけどw

>>712
どっちでもいいんじゃね?
言語に複数の方法が用意されてるってそんだけのことでしょ?(多分)
こだわる意味あるの?
714デフォルトの名無しさん:2007/02/03(土) 02:27:15
>>713
こだわる理由は「効率の良い方を使いたかったから」という事です。
形が参照にも似てましたし、2つある=違いがあるのかな?と思ったので。
2つに違いがないのであれば、好みで良さそうですね〜
返信ありがとうございました。
715デフォルトの名無しさん:2007/02/03(土) 02:32:26
効率が気になるなら実測実測。
実測したらついでに報告してくれれば尚良し。
716デフォルトの名無しさん:2007/02/03(土) 02:47:01
>>714
エフェクトコンパイラ fxc.exe の /Fc オプションでアセンブリコードを出力して実際の命令を比較しなさい。
http://msdn.microsoft.com/library/ja/directx9_c/directx/graphics/reference/effectfilereference/commandlinecompile.asp
717デフォルトの名無しさん:2007/02/03(土) 02:54:40
有無。実測以外に無し。
そのときそのシーン、システムごとに違うときも多々有り。
だれがなんと言おうと実測以外に信じるもの無し。
ていうか、そんなもん毎回質問されちゃいくら過疎スレでもさすがに邪魔だろw
測れ、ひたすら測れ。信じるのは実測値のみ。
718デフォルトの名無しさん:2007/02/03(土) 03:19:01
>>715
>>716
>>717
 誰もが疑問に思うところで既に「こっちの方が良い」or「どっちでも一緒」という
結論&共通理解がある内容だと思って質問させていただいたんですが、
共通理解があるほど一般的な内容ではなかったんですね。
出力する変数の数や頂点数などによっても変わる可能性があるかもしれませんので
716さんの言うようにアセンブリコードの比較をしてみたいと思います。
 ただ、今急ぎの作業があるので、結果報告は一週間以上後になるかもしれません…。
相談に乗っていただいて有り難うございました。
719デフォルトの名無しさん:2007/02/03(土) 03:22:49
>>718
状況をいうと、正直、複雑過ぎてわからないって感じ。
モデル数とか頂点数、フィルレートにも注意しろ。
本当に自分が考えてる値だけがその数値の結果につながってるとは限らない。
測るにも要素がありすぎて「そのシーンではそうでした」としか言えない状況。
つまり、「よくわかっていない。」
720デフォルトの名無しさん:2007/02/03(土) 03:30:18
なんか話を変な方向に広げてる奴がいるが、
>>710の問題に関しては>>716でアセンブリ命令が同一だったら
速度を実測するまでもなくどんなシーンでも絶対に結果は同じだぞ。
721デフォルトの名無しさん:2007/02/03(土) 03:48:27
俺もなんで検証に一週間もかかるのか、フィルレートとかの話が
出てくるのか分からんぜ。
どんなコードに展開されるかっていう、物凄く単純な話なのに。
722デフォルトの名無しさん:2007/02/03(土) 09:04:05
>>720
いや、>>719は速度を測る問題全般について言ったんだけど
723デフォルトの名無しさん:2007/02/03(土) 09:11:22
>>718はアセンブリコードの比較をするってだけの話なんだが。

つかoutはを引数に書こうが、構造体にしようが、C言語みたいに
直値だ、参照だ、ポインタだ、ってわけじゃなく分岐もポインタもない
単純なアセンブリになるだけだから出て来るコードにも速度にも
違いは無いと思うんだが・・・
724デフォルトの名無しさん:2007/02/03(土) 09:18:45
>>723
それは予想でしょう。
やっぱりコード吐いてみないとわかんないよ。
組んだ奴が馬鹿な奴かもしれんし。
725デフォルトの名無しさん:2007/02/03(土) 09:41:09
>>724
おいおい
726デフォルトの名無しさん:2007/02/03(土) 09:55:04
>>725
なんか違うこと言ってる?
組んだ奴が違うように組んだら違うもんがでるじゃん。
727デフォルトの名無しさん:2007/02/03(土) 10:17:49
平行ライトx1+半球ライティング
ポイントライトx4
ライトスキャタリング
ボーンアニメーション

上の要素が入ったシェーダーを構造体を用いた場合と
引数を用いた場合でfxc.exeでコンパイル。

結果どちらも「// approximately 132 instruction slots used」
まぁ当たり前っちゃー当たり前の結果だが。
728デフォルトの名無しさん:2007/02/03(土) 10:22:01
>>727
じゃあ、同じように組んであるっぽいって言えるな。
729デフォルトの名無しさん:2007/02/03(土) 10:22:38
>>727
有無。
やはりコード吐くのが一番早い。
730デフォルトの名無しさん:2007/02/03(土) 12:04:11
>>726
頂点シェーダの出力はピクセルシェーダのレジスタへのマッピングを人間が読みやすくするためだけにあるから
構造体表現しようが直接出してやろうが落とされるバイナリには関係ないんだよ。
まぁレジスタ番号が変わるコトはあるかもしれんけどな。


731デフォルトの名無しさん:2007/02/03(土) 12:18:54
>>717>>719>>722>>724
こういう奴とは一緒に仕事したくないなと思った
おまえ以外誰一人として一般論の話なんかしてないっつの
732デフォルトの名無しさん:2007/02/03(土) 12:27:33
>>710で質問させていただいた者です。
何を言っても余計な言い訳ですが、「fxc.exeをまだちゃんと使ったことがない」&
「毎日徹夜するほど別作業の締切に追われている」ということで、検証作業は
一週間後ぐらいに開始できると思います…という意図の書き込みでした。
検証していただいた727さん、相談にのっていただいたみなさん本当に
ありがとうございました。

>>727
検証代行していただいてしまって申し訳ありません…。
どちらも同じということで、安心して使えます。
本当にありがとうございました!
733デフォルトの名無しさん:2007/02/04(日) 01:27:49
2枚のテクスチャの合成を行っているのですが、合成をするとcolor値は反映されないものなのでしょうか。

pDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);
pDevice->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);

pDevice->SetTextureStageState(1,D3DTSS_COLOROP,D3DTOP_BLENDTEXTUREALPHA );
pDevice->SetTextureStageState(1,D3DTSS_COLORARG1,D3DTA_TEXTURE);
pDevice->SetTextureStageState(1,D3DTSS_COLORARG2,D3DTA_CURRENT);

合成は上記のように行っています。描画はDrawPrimitive。
pDevice->SetTexture( 0, NULL );
でテクスチャを張らないようにしたり、
pDevice->SetTextureStageState(1,D3DTSS_COLOROP,D3DTOP_DISABLE);
pDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_MODULATE);
合成をしなければcolor値が反映されます。
テクスチャの合成をしつつcolor値を反映させることは出来ないのでしょうか。
734デフォルトの名無しさん:2007/02/04(日) 01:33:59
>>733
なんかよくわかんねーけどこれ↓全部設定してもう1回やってみ?
D3DTSS_ALPHAARG0
D3DTSS_ALPHAARG1
D3DTSS_ALPHAARG2
D3DTSS_ALPHAOP
D3DTSS_COLORARG0
D3DTSS_COLORARG1
D3DTSS_COLORARG2
D3DTSS_COLOROP

もちろんそれぞれに設定したもんの意味をちゃんと理解してよろ。
自分が設定してるもんが色なのか?αなのか?
735733:2007/02/04(日) 01:52:56
すみません、color値は頂点のです。
アルファ値を含むテクスチャの合成をしているのですが、ライトを切ってもテクスチャの色がそのまま反映されます。
合成方法を変えると透明な部分が黒で合成されるなど期待通りに合成されません。
頂点色は正常に設定されているためテクスチャ無しや合成無しでは反映されます。
736デフォルトの名無しさん:2007/02/04(日) 02:31:27
>>735
いや。
合成方法云々より俺には全然理解してないようにしか見えないんだけど。
それでも先へ進みたい?

まず、テクスチャステージとオペレーションを理解する必要があるんじゃね?
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/DirectX9_c/directx/graphics/reference/d3d/enums/d3dtextureop.asp
コードを見てどこがどう変ですよとか指摘するのもちょっと鬱なぐらいアレなので
とりあえずじっくり見てみることをお勧めする。
737デフォルトの名無しさん:2007/02/04(日) 02:51:55
>>733
そのテクスチャステージのどこに頂点カラーがある?
頂点カラーを無視する設定にしているんだから、反映されなくて当然。
738デフォルトの名無しさん:2007/02/04(日) 02:59:50
ちなみにヒントをいうとマジで設定するとこんな感じになるぐらいやっかいなシロモンだ
D3DTSS_COLORARG0ってどういう扱いだったか忘れた。
下の例もD3DTSS_COLORARG1,2を使うのかD3DTSS_COLORARG0,1を使うのかは忘れた。すまん。
下の例はテクスチャステージを3枚使うときな。

//1枚目w
pDevice->SetTexture(0,
pDevice->SetTextureStageState(0,D3DTSS_COLOROP
pDevice->SetTextureStageState(0,D3DTSS_COLORARG1
pDevice->SetTextureStageState(0,D3DTSS_COLORARG2
pDevice->SetTextureStageState(0,D3DTSS_ALPHAOP
pDevice->SetTextureStageState(0,D3DTSS_ALPHAARG1
pDevice->SetTextureStageState(0,D3DTSS_ALPHAARG2

739デフォルトの名無しさん:2007/02/04(日) 03:00:10
//2枚目w
pDevice->SetTexture(1,
pDevice->SetTextureStageState(1,D3DTSS_COLOROP
pDevice->SetTextureStageState(1,D3DTSS_COLORARG1
pDevice->SetTextureStageState(1,D3DTSS_COLORARG2
pDevice->SetTextureStageState(1,D3DTSS_ALPHAOP
pDevice->SetTextureStageState(1,D3DTSS_ALPHAARG1
pDevice->SetTextureStageState(1,D3DTSS_ALPHAARG2

//3枚目w
pDevice->SetTexture(2,
pDevice->SetTextureStageState(2,D3DTSS_COLOROP
pDevice->SetTextureStageState(2,D3DTSS_COLORARG1
pDevice->SetTextureStageState(2,D3DTSS_COLORARG2
pDevice->SetTextureStageState(2,D3DTSS_ALPHAOP
pDevice->SetTextureStageState(2,D3DTSS_ALPHAARG1
pDevice->SetTextureStageState(2,D3DTSS_ALPHAARG2

それぞれカラーオペレーション、αオペレーションを設定しなきゃならんし、
ステージ毎にテクスチャも設定せにゃならんことも注意。
自分のやることがどんな計算をしなきゃならんかよく考えるのが吉。
次のモデル描画するときに残ってると面倒なのでモデル描画する毎に俺は初期化して使ってた。
740733:2007/02/04(日) 03:08:41
レスありがとうございます。
てっきりテクスチャをどっかで処理して、それを頂点カラーに反映させて表示させているのかと思ってました。
頂点情報は正常なので合成が問題と悩んでいました(´・ω・`)
無論、初期化とかもしていませんでしたので組み込んでおきます。
741デフォルトの名無しさん:2007/02/04(日) 04:48:44
飛び降りとか飛び込みとか、人様に迷惑かけないように氏…
742デフォルトの名無しさん:2007/02/05(月) 02:16:28
シェーダにおける最適化に関する質問です。
「環境光と拡散反射光の色味をまとめ、環境光の強さをライトベクトルの
w成分に格納する」という最適化を考えています。
これは環境光と拡散反射光の色味が違わないことが条件で実行できる
最適化だとは思うのですが、これを無理やり環境光と拡散反射光が
異なる物体に適用したいと考えています。
このときに、色味と環境光の値を計算する式のようなものはありませんか?
自分なりに色味に単純平均をつかってみたりしたのですが
うまくいきませんでした…。
また、こういった類の命令数を減らす最適化のテクニックについて
紹介されているサイトなどがありましたら教えていただければ幸いです。
長文失礼しました。

・元の式
color = amb + max(0, dot(N, L))*diff + pow(hl, power)*spec
・最適化後
color = col*max(amb, dot(N, L)) + pow(hl, power)*spec
743デフォルトの名無しさん:2007/02/05(月) 10:01:10
よほど頂点数が多いか、複雑な頂点シェーダーを多用してない限りは
足引っ張るのはCPU、ピクセルシェーダー、メモリアクセスだから
頂点シェーダーを躍起になって結果が変わるほど計算式変えてまで
最適化する必要は無いと思うが・・・
744デフォルトの名無しさん:2007/02/05(月) 12:50:21
>>743
「法線マップのアニメーション」&「ピクセル単位でのライティング」のような
ことをやっているので、使用してるのはピクセルシェーダです。
説明省いちゃってすいません。

ピクセルシェーダーで、「法線マップの取得→クック・トランスの反射モデルを実装」
って感じで作ると、「64命令を超えました」っていうエラーが出てしまいまして…。
少しでも命令数を減らして最適化していったら何とかならないかなと思ったんです。
81命令→64命令なので、普通にやっても無理っぽいんですけどね…。

まだ実験すらしてない段階ですが、普通はパスを分けて解決したりするんでしょうか?
745デフォルトの名無しさん:2007/02/05(月) 21:58:56
片方はピクセルシェーダを使わずに2パス
746デフォルトの名無しさん:2007/02/05(月) 22:08:20
面倒臭ぇ、加算にして二度塗りしちまえ。

1発目
color = amb + max(0, dot(N, L))*diff

2発目
color += pow(hl, power)*spec
747デフォルトの名無しさん:2007/02/05(月) 23:06:31
>>745
 アドバイスありがとうございます。
 それができれば理想的なんですが、法線マップから法線を
読み込む必要があるので、法線が絡む部分はどうしても
ピクセルシェーダになってしまうんです…。
自分が調べた限り、法線マップを利用する場合は、
(3.0以降じゃない限り、)ピクセルシェーダでなければ
どうしようもないという事だと理解したのですが
上手い手法があるんでしょうか?
 法線が不要な部分は出来る限り頂点シェーダに回すという
最適化はやってみようと思います。

>>746
 アドバイスありがとうございます。
やはり一般的な式などは存在しない(というかそんなことを
しようとしない)んですね。
 どのみちクック・トランス実装の為にパスを分ける事になりそうですし
別々に扱うことも今後は考慮したいと思います。
748デフォルトの名無しさん:2007/02/05(月) 23:38:08
>>747
頂点シェーダーでテクスチャ読めても
法線バンプはピクセルシェーダーでしか出来ないだろ。

俺はバンプ時にはクック・トランス使うのはあきらめた。
ライトが増えるとどうしようもないし素直にフォンでやることにしてる。

モデル1つにソコまで処理かけるよりも画面全体のクオリティを
重視したいってのもあるけど。
749デフォルトの名無しさん:2007/02/06(火) 10:54:20
>>748
詳しく調べてないのでできるという保障はないんですが、頂点シェーダで
テクスチャを、ピクセルシェーダでのテクスチャと全く同等に扱えるとすれば
頂点ベースの法線を基にした法線アニメーションをさせるとか…。
でもそんなことするぐらいなら、頂点座標の物理シミュレーションを担当させたほうが
よさそうですね(笑)

具体的な経験談で本当に参考になりました。
他の人がどうしてるかを調べる方法がなかったので。
私の場合は、単体のシミュレータに近いものなので、処理をかけても良いので
クック・トランスの実装もそのうち取り組んでみたいと思います。
とりあえずは、フォンで行くことになりそうですが。
貴重なアドバイスありがとうございました。
750デフォルトの名無しさん:2007/02/06(火) 17:17:10
キューブ環境マッピングによる水面への映り込みを実現しようと考えています。

GetCubeMapSurface関数を使って、球に近い物体への環境マッピングに
成功したので、それを応用して水面(平面)へのキューブ環境マップを
実現しようとしたのですが、次のような点が上手くいきませんでした。
キューブマップ描画時の射影行列などの設定に問題があるのでしょうか?
同様の経験をされたことがある方がいらっしゃいましたらアドバイスを
いただけませんか?

「視線の入射角が極端に大きくなる(水面に近い高さから覗き込む)と
 水面と壁面の間に何も移らない分断された空間ができる」

「Y軸回転させると部屋の角の映り込みと、部屋の角の物体がズレてくる」

「映り込みがカメラ位置(水面の中央)を超えると、変に屈折する」

最後の一つはキューブ環境マップでは仕方ないのかなと思うのですが。
751デフォルトの名無しさん:2007/02/06(火) 17:38:13
全部仕方ないです。
752デフォルトの名無しさん:2007/02/06(火) 21:01:35
近似で満足できないならレイトレース
753デフォルトの名無しさん:2007/02/06(火) 22:05:50
>>751
>>752
返信ありがとうございます。
三つのうち、二つは次のような理由からだと解釈しています。
「角のズレ」は、マップ生成時の画像が実際の反射とズレているから。
「変な屈折」は、反射ベクトルの成分のうち最大のもので利用する面を決定するから。
だとすると、この2つは対処するのはほぼ不可能だと思います。
一番目の「変な空間」の理由はどのようなものなのでしょうか?
今のプログラムでは結構致命的なので、できれば対処したいんですが、
自分なりに考えてみても原因が思いつかず、対処の方法が全く想像できませんでした…。
(対処=類似の軽い手法で置き換える、工夫で乗り切る という事です)
もしよろしければご教授願えませんか?
754デフォルトの名無しさん:2007/02/07(水) 08:34:22
キューブマップを作るときと実際のゲームで視野角とアスペクト比も違うんでしょ
755デフォルトの名無しさん:2007/02/07(水) 12:45:18
>>754
視野角とアスペクト比が違うのはわかるんですが、それが「変な空間」になるという事と
結びつかないのです…。
キューブマッピングにおいては、どの反射面も最終的にはキューブのあるフェイスの
どこかが表示されることになるので、十分な視野角と適切なアスペクト比を設定すれば
「変な空間」にはならないのではないかと思うのですが…。

空間の色は上空部分と同じ色(上空にはポリゴンがないのでクリア色)になっています。
普通はカメラの位置が下がると、奥行き成分が大きくなり、前方のキューブマップフェイスが
表示されるのではないかとおもうのですが、上空用のフェイスが表示されているのでしょうか…?
756デフォルトの名無しさん:2007/02/07(水) 14:41:20
反射の処理はやらずに、キューブマップを単純に空(スカイボックス)に貼り付けた場合には、
「変な空間」は出てこなくて全方向正常に見渡せるということでよろしいか?
757デフォルトの名無しさん:2007/02/08(木) 06:41:36
>>756
返信が遅くなってすいません。
反射処理をやらない場合は正常にみれます。カリング対象でない面は全方向
正常に見渡すことができます。

上空にポリゴンがあり、全方向色が異なるモデルを配置して実験しましたが、
やはり同様の結果でした。
映りこんだ色は上空の色だったので、やはりぐるっと回って空が映りこんでいる
という事で間違いなさそうです。

個人的には何かの間違い、反射ベクトルの計算における角度処理の間違いなどで
選ばれるはずのない天井面用のフェイスが選択されてしまっている可能性も
あるかなと思うのですが、平面に対する反射ベクトルなのでその方向が平面を
超えることはないんではないかと思うのですが…。
ちなみに反射ベクトルはHLSLの関数reflectにビュー空間に変換した法線ベクトルと
ビュー空間に変換した後正規化した頂点座標(視点から頂点へ向かうベクトル)を与えることで
算出しています。
758デフォルトの名無しさん:2007/02/17(土) 23:56:26
環境マップを作る為に、テクスチャにシーンを描画したいんだけど
テクスチャのサーフェイスをレンダーターゲットとしてセットする際には
デブスステンシルバッファもそれに合ったものをセットしなければなりません。
これの取り扱いについて、1案と2案どっちが良いとおもいますか?

1、必要になったら、その都度作成する。
 ○ メモリの使用が効率的
 × 作成コストが大きい場合、重くなる

2、テクスチャとペアでデブスステンシルバッファも作成しておく
 ○ 作成コストが大きい場合、その負荷が最小に
 × 使わないバッファを常に確保しておくのは、容量の無駄。またロスト管理が必要
759デフォルトの名無しさん:2007/02/18(日) 00:49:31
ターゲットを変更するときに、以前のサイズが小さかった場合だけ、より大きいバッファを作成してセットし直す。
複数作る必要性は全くない。
760デフォルトの名無しさん:2007/02/18(日) 02:12:20
>>759
デプスステンシルの縛りは大きさに加え
IDirect3D9::CheckDepthStencilMatchが通ることというのもあります。
フォーマットで左右されるということは、結果的に
1つのデプスステンシルバッファを使いまわす案は1案とほぼ同じになると思います。
つまり1案でGOということですか?
761デフォルトの名無しさん:2007/02/18(日) 04:55:27
>>760
CheckDepthStencilMatchなんかは最初に1回やって適切な組み合わせを決めたうえで759でGO
762デフォルトの名無しさん:2007/02/22(木) 21:02:55
2007feb age

DX10正式対応SDKはこれが最初?
763デフォルトの名無しさん:2007/02/22(木) 21:40:52
2006decから正式だったと思われ
764デフォルトの名無しさん:2007/02/25(日) 15:17:29
ライトとマテリアルの色は
デフューズ色とスペキュラ色と2つ分ける必要が
あると思いますか?
必要が無いなら、まとめてしまうと処理がすっきりするのですが。
765デフォルトの名無しさん:2007/02/25(日) 15:24:51
現実的な話で言うと、
マテリアルのほうは質感を大きく変えるためにほぼ必須。
ライト側は端折ってるゲームもあるらしい
(演算子が1つ減るし、指摘の通り処理がスッキリする)
766デフォルトの名無しさん:2007/02/25(日) 21:03:42
>>764
マテリアルのディフューズ色ってテクスチャの色じゃねぇの?
って思ったんだがそうでもないのか?
テクスチャのことディフューズマップっていうけど・・・
767デフォルトの名無しさん:2007/02/25(日) 21:44:26
テクスチャの色はまた別だろ?
まあでも、リアルタイムならテクスチャマッピングで代用するほうが見た目も綺麗になることは多いかなあ

結局のところ目的と対象次第だな
768デフォルトの名無しさん:2007/02/26(月) 00:33:03
>>766
ディフューズテクスチャもあればスペキュラテクスチャもあるよ。
α値のみのテクスチャだったり、特定の色だけ反射させるRGBテクスチャだったり。
769デフォルトの名無しさん:2007/03/15(木) 09:49:47
テクスチャ変換ツール作ってるんですけど(表示付き)
R8G8B8フォーマットみたいのは
CreateTextureで渡せるテクスチャフォーマットにはなりえないんですかね?

Capsとかイチイチ調べて表示せなあかんのかな。
しかも表示不可なら適切なフォーマットに変更とか・・・めんどくせー
770デフォルトの名無しさん:2007/03/15(木) 18:36:45
最近のDirectXでは24bitカラーはサポート対象外なんじゃないのかな。
771デフォルトの名無しさん:2007/03/15(木) 18:48:57
えーマジ24bitカラー!?
キモーイ
24bitカラーが許されるのは小学生までだよねー
キャハハハハ

って感じだ
772デフォルトの名無しさん:2007/03/15(木) 22:00:14
R8G8B8フォーマットンのテクスチャ作るほうがめんどくせー・・・
つーかDDSヘッダ付けてFromInMermoy関数で読めよ。
773デフォルトの名無しさん:2007/03/15(木) 22:42:11
っていうかツール上はX8R8G8B8で扱って
R8G8B8に落とさなきゃなんない時にコンバートすりゃいいんじゃねえの
そうすりゃCAPS云々は関係ないな
774デフォルトの名無しさん:2007/03/16(金) 01:14:56
みなさんどうも。参考にします。

それぞれのフォーマット間の変換とかそれ自体は簡単なんだけど
あるだけのフォーマット全部に対応するのが面倒すぎ。
この辺ってしょうがないのかな、やっぱり。
775デフォルトの名無しさん:2007/03/16(金) 08:59:05
いやいやいや・・・自分で変換する必要ネェだろ・・・。
サーフェイス間転送でもフォーマット変換はサポートされているし、
読み込む時にD3DXCreateTexture系関数だって読み込み時に
フォーマット変換してくれる。

意地でもLockして自分で変換したいって奇特な人なら知らんが・・・。
776デフォルトの名無しさん:2007/03/16(金) 09:37:28
CheckDeviceFormatConversionでチェックして
StretchRectで変換できるフォーマットならいいけど
それが必ず成功するって保障はないじゃないですか。
777デフォルトの名無しさん:2007/03/16(金) 10:08:28
もともとの話はテクスチャ生成時の話だろ。
ならD3DXCreateTexture系の関数を使えばいいし、
それなら失敗のしようがないだろ。
778デフォルトの名無しさん:2007/03/17(土) 01:10:34
色変換関数は俺も持っているが
大体2000行ぐらいだな
templateと__if_existsを使えば
それなりに汎用的に作れるよ
779デフォルトの名無しさん:2007/03/17(土) 14:34:34
テクスチャ変換ツール作るんだったら、速度最重視の意味が無いから
中間フォーマット⇔各フォーマットだけでいいじゃん。
まあ、ゲーム等の実用では限られた種類のテクスチャしか使われないから無駄だけどね。
780デフォルトの名無しさん:2007/03/17(土) 15:02:47
3DだとDXT圧縮使うことも多いからさらに無意味だよな。
781デフォルトの名無しさん:2007/03/18(日) 03:27:30
そろそろDirectX10の話題が挙がってもいい今日この頃ですが皆さん如何お過ごしでしょうか?
782デフォルトの名無しさん:2007/03/18(日) 04:14:02
俺の脳でありきたりの常識とつまらない虚栄心が
まだVistaを買うなと囁くうちは試すことができない
783デフォルトの名無しさん:2007/03/18(日) 04:35:12
今のところはvistaに移行のコストに見合うだけの十分なメリットが感じられない。
乗り換えるのは早くて1〜2年後くらいかな。
784デフォルトの名無しさん:2007/03/18(日) 04:40:51
ハード側もまだまだ揃ってないしなあ
しばらくは静観するかね
785デフォルトの名無しさん:2007/03/18(日) 10:00:05
自前のライブラリはDX9/DX10の量対応にしようと思ってるけど
R600が出てからだな・・・
問題は今のケースだと30cmのグラボがさせない事だが。
786デフォルトの名無しさん:2007/03/18(日) 13:20:29
DX10の話題がこの板で出る時期にはみんなDX10.1で頭がいっぱいだよ
787デフォルトの名無しさん:2007/03/18(日) 14:18:23
アキレスと亀かよ
788デフォルトの名無しさん:2007/03/18(日) 14:42:11
動かせる環境がない(買えない
動かせるOSがない
日本語ドキュメントがない
今はとても無理
789デフォルトの名無しさん:2007/03/18(日) 14:50:52
いや動かせるOSは普通にあるだろ・・・
ハードウェアも廉価の砲なら万程度だし。

日本語マニュアルは確かねねぇが使うだけならSDKのサンプルで足りるだろ。

まぁ10.1まで待ちなのは変わらんが。
790デフォルトの名無しさん:2007/03/18(日) 15:20:10
だって今Vistaを買うと関口君がバカ呼ばわりするんだもん。
791デフォルトの名無しさん:2007/03/18(日) 15:33:49
MSDN会員なら買わないでもDLできるじゃろ
792デフォルトの名無しさん:2007/03/18(日) 15:52:24
vista上の開発より、エロ画像等の入手の利便性を重視したい
793デフォルトの名無しさん:2007/03/18(日) 17:39:13
個人的には様子見で当分の間9と10はスレを分けてほしいかな。
10で実際に組んだことないから実際の所どのくらい違うのかわからないのだけど
固定機能廃止とかDirectSound廃止とか9と随分変わってるじゃん。
だから、9と10の話題が混雑するとこんがらがると思うんだ。
794デフォルトの名無しさん:2007/03/18(日) 18:47:22
この過疎振りでは無理だろう
795デフォルトの名無しさん:2007/03/18(日) 18:49:23
>>793
何を勘違いしてるのか知らんけど。
DirectX10というものは存在しない。
Direct3D10というものが存在する。

Direct3D以外のAPIはすべてDirectX9以下を使う、
あるいはWindowsAPIを使うことが前提。
796デフォルトの名無しさん:2007/03/19(月) 03:02:11
次があるあるって言ってると何時まで立っても切り替えられんからな
俺はさっさとVistaに移ることにした
今回はサンプルとかデモ見てるだけでもかなり面白いね
797デフォルトの名無しさん:2007/03/20(火) 02:06:00
>>793
固定機能なんてこの世にねーほうがいいだろ
798デフォルトの名無しさん:2007/03/20(火) 11:33:26
今は固定機能の存在価値なんてないしなぁ。

固定機能でもHardwareTnLで動かせて
シェーダー未対応の機種なんて数えるほどしかないし。

今のビデオカードは内部で固定機能もシェーダーでエミュレーションしてるだけで
専用回路なんて積んでないからますます固定機能はいらんな。
799デフォルトの名無しさん:2007/03/21(水) 07:23:57
>>795
Dxdiagで、DirectX10とでる事実
800デフォルトの名無しさん:2007/03/22(木) 01:43:59
801デフォルトの名無しさん:2007/03/22(木) 01:48:29
>>795敗走ww
802デフォルトの名無しさん:2007/03/22(木) 01:55:23
DirectX 10テラワロスww
803デフォルトの名無しさん:2007/03/31(土) 23:04:11
そんなことよりガンダム無双かって濃いよ。
804デフォルトの名無しさん:2007/04/02(月) 18:08:36
質問失礼します。

Alt + Tab にてデバイスが正常に復帰しないバグに悩まされています。(フルスクリーンで開発しています)
調べた所、DXUT.cpp IDirect3DDevice9::Reset が失敗しているようです。(D3DERR_INVALIDCALL)
Reset のパラメータに無効な値を設定している可能性はありません。

DirectX Error Lookup で確認した所、以下のような情報が得られました。
----------------------------------------
HRESULT: 0x80040906 (2147748102)
Name: Unknown
Description: n/a
Severity code: Failed
Facility Code: FACILITY_ITF (4)
Error Code: 0x0906 (2310)
----------------------------------------

なぜResetが失敗するのか、分かる方お願いします。

リモートデバッグ環境で開発
WindowsXP:メインマシン
Windows2000:リモートマシン
開発ソフト:Visual C++ 2003
DX SDK Ver:DX9 Aplil 2005
805804:2007/04/02(月) 18:22:24
重要な情報を書き忘れました。

Direct3D9: (ERROR) :All user created stateblocks must be freed before Reset can succeed. Reset Fails.
Direct3D9: (ERROR) :Reset failed and Reset/TestCooperativeLevel/Release are the only legal APIs to be called subsequently
D3D9 Helper: IDirect3DDevice9::Reset failed: D3DERR_INVALIDCALL
c:\hogehoge\dxut.cpp(3434): Reset hr=Unknown (0x80040906)
上記の情報がアウトプットに表示されます。

よろしくお願いします。
806デフォルトの名無しさん:2007/04/02(月) 18:39:05
>>805
>All user created stateblocks must be freed before Reset can succeed.
少なくともこれは確認したか?
807804:2007/04/02(月) 18:56:13
>>806
はい。
D3DPOOL_DEFAULT の事だと認識しています。
DEFAULT と MANAGED 混在だったので、ほとんど全て MANAGED に変更しました。
レンダーターゲットテクスチャーは DEFAULT じゃないと駄目(?)っぽいので、そのままとしました。
よって、レンダーターゲットテクスチャーのみOnLostDevice時に解放し、OnResetDevice時に再作成しています。
808デフォルトの名無しさん:2007/04/02(月) 20:37:44
>>807
全然違うよ、ステートブロックのことだろ
809デフォルトの名無しさん:2007/04/02(月) 21:02:44
>>807
英語読めよwwwwwwwwwwwwwwwwwwwww
810デフォルトの名無しさん:2007/04/02(月) 21:05:03
なあ、GeForce8800以外でDX10に対応したビデオカードってあるん?
811804:2007/04/02(月) 21:52:35
すいません。
知識不足でステートブロック自体知りませんでした。
出直してきます。。。
812804:2007/04/02(月) 22:15:00
お蔭様で解決しました。
ID3DXEffect を D3DPOOL_DEFAULT と同じように解放、再作成してやったら Reset が正常に機能しました。

ありがとうございました。
813デフォルトの名無しさん:2007/04/02(月) 23:43:03
Vistaからは再作成の必要がないんだよなー
あーVista専用にしてえ
814デフォルトの名無しさん:2007/04/02(月) 23:55:44
>>812
ID3DXEffectはメソッドにOnLostDeviceとOnResetDeviceがあったと思うが・・・・
815デフォルトの名無しさん:2007/04/05(木) 00:18:53
DirectX使ってる兄さんがたに質問。
DirectXで凹多角形のテセレーション(凹多角形を凸多角形分割する処理)ってどうやってるの?
「DirextX、 テセレーション, 凹包, trianglazation」とかのキーワードを組みあわせてでぐぐってもひっかからんし。
なんか楽に処理する方法を知ってるんじゃないかなあと。

いま自分は、OpenGLを使っていて、
OpenGL付属のテセレーション関数を使ってるんだけど、
これだとイマイチ遅い。
読み込むデータを事前に凸多角形のみにしておくのが一番いいんだけど、
読み込むデータは外部の人が作っていて、勝手にいじってしまうと、
データの更新で不都合がでるのでいじれない。

畑違いのところからの質問で申し訳ないけど、何かうまい方法があるならご教授ください 人('A`;)
816デフォルトの名無しさん:2007/04/05(木) 00:22:42
まずはその外部の人間を調教するところからだろう。
817デフォルトの名無しさん:2007/04/05(木) 00:27:24
すまぬ、外部の人間が国際規格のことなので調教できん('A`;)
もともと3D前提でないデータを3D化するのがいかんのだろうけど・・・したい。
818デフォルトの名無しさん:2007/04/05(木) 00:29:09
>>815
DirextXにそのような機能はありません。
自力で実装してください。
819デフォルトの名無しさん:2007/04/05(木) 00:30:17
(゚д゚)君ら自分で実装してるのか!すげー!
820デフォルトの名無しさん:2007/04/05(木) 00:39:18
まずそんな阿呆なデータを作るやつをハブるから実装なぞしない。
821デフォルトの名無しさん:2007/04/05(木) 00:45:54
ふむふむ。データそのものに凹多角形が含まれてることが無いのだね。
色々ありがとう。兄さん方と、兄さん方の周りの人たちはえらいと思った。
822デフォルトの名無しさん:2007/04/05(木) 00:53:01
凹多角形を凸多角形として出力できないモデラって現存するの?
823デフォルトの名無しさん:2007/04/05(木) 01:10:59
たぶんモデラなんて使ってないと思われます。
3次元のジオメトリデータを、2次元に変換して使うことを前提としてた時代に作られた規格のデータだったりします。
でも、もともとが三次元のデータを、2次元に変換するのも不自然だし、
3次元データのままのほうがハードウェアに処理を任せられて、楽になるだろうとやってみたら、
凹多角形だらけで(゚д゚)ウボァー
824デフォルトの名無しさん:2007/04/05(木) 01:57:17
そもそも3Dレンダラーで描画するなら多角形どころか三角形しか描画できないだろ。
825デフォルトの名無しさん:2007/04/05(木) 02:46:17
>>823
Convexにするだけなら、とりあえず計算幾何学の本読んで2週間くらい勉強すると良いかも(学生じゃないんだよね?、学生なら3日徹夜で読んでくれ)
必要な事はそんなにページ数無いから大丈夫だとは思うが
826デフォルトの名無しさん:2007/04/05(木) 18:39:43
とりあえず近代科学社のコンピュータ・ジオメトリ読んどけ
827デフォルトの名無しさん:2007/04/08(日) 19:46:21
とりあえず、ピザハット呼んどけ
828デフォルトの名無しさん:2007/04/09(月) 09:40:32
テンプラの宇治社中見れないんだけど
どこかにログのこってないかなぁ
829デフォルトの名無しさん:2007/04/09(月) 09:56:01
数年前に閉鎖されたサイトだからもう厳しいかもナ。
830デフォルトの名無しさん:2007/04/09(月) 10:52:50


残ってるログがテンプレのリンク先だし
普通に見られるが
見られないページでもあった?
831デフォルトの名無しさん:2007/04/09(月) 11:19:00
何も表示されないな。
832デフォルトの名無しさん:2007/04/09(月) 15:19:03
IE6でそのまま開くと文字コードがUnicodeとして誤判定されるね。
シフトJISにすれば見れる。
833デフォルトの名無しさん:2007/04/17(火) 00:28:01
                    ,. --―…、
                  /    /:. \
                ./    /::::::::::. ヽ
                ‘ー--一'´ \:::::::.  ',
                        ヽ:::::.  !
            /⌒丶   ,. .-.''.´ . .',::::  |` 丶、
           /    !:::::..\/ . . . . . \.L__ l. . . \
           |   |――/. /、 . . . . . . .ヽ . ヽ . . . .ヽ
           |   j  /. ./ \.ヽ . . . . .'., . . . . . . .',
           |   /  |. . l   \_. . . . ',. . . . . . ..|
           |  /   |:.._l     ´\ . . . . !. . . . . . .|
           l   /   .|´.l _     ,r7jヽ,. .:.r ‐、 . . ...|
           |_,ノ    |. .!イト、    弋:ソ!. ..|  〉 . .:.|
                 |.小 ヾ'    , , , |:!. |! イ. . . ..|
                 |. |..ハ'''        |リ!.|l . !. . . . |
                 |. | |. ヽ、,-_ _ -' ''|.!ヽ.|:.. . . .|
                 |. | |! . . ._ -'     |l  ヽ:.:. . .|
                 |._| > ''         |!   ', . ...|
            __r‐'7 ̄!.               !:. .:.|
       ,r=―フ/  |  |     _ ,, --      !:. .:.|
      /__/   |   l  l  _. - '          /l. . .|
  _r''厂\     !   ! l ''            / !i . !
 //     \    |   !:人              /  i i:リ
./|    ヽ_        ヽ!个‐'           /    i i
| .!       \    __/l /             /
∨\       /   /_l /            /
. |  \rへ _/ヽー '   ∨          /
834デフォルトの名無しさん:2007/04/17(火) 11:41:52
4ぬ時は、人に迷惑かけないように4のう。
線路に飛び込みとか、惨殺とか…
835デフォルトの名無しさん:2007/04/17(火) 12:01:37
FXでレバ200で大勝負すると良いよ
836デフォルトの名無しさん:2007/04/18(水) 10:43:27
オプションで、1円CALL全力買いもいいかも
837デフォルトの名無しさん:2007/04/30(月) 00:34:06
VSからDX9のCHMヘルプをF1で呼び出すにはどうすればよいでしょうか?
838デフォルトの名無しさん:2007/04/30(月) 04:08:34
外部コマンド
839デフォルトの名無しさん:2007/05/01(火) 08:39:03
外部コマンドだとchmが起動できないようです

>起動できるファイルの種類は、.exe、.bat、.com、.cmd、.pif です。
http://msdn2.microsoft.com/ja-jp/library/9814d200(VS.80).aspx
840デフォルトの名無しさん:2007/05/01(火) 09:01:04
>>839
HOGE.CMDに
C:\hogehoge\doc\hoge.chm
って書けば起動するよ
841デフォルトの名無しさん:2007/05/01(火) 11:08:19
DOSプロンプトが開いてしまうな。。
.BATでもだめだった
842デフォルトの名無しさん:2007/05/01(火) 11:15:27
.chm ファイルを開くのは hh.exe
843デフォルトの名無しさん:2007/05/01(火) 11:41:34
hh.exeを実行するのはWindows
844デフォルトの名無しさん:2007/05/01(火) 13:29:52
Windowsを実行するのは人間
845デフォルトの名無しさん:2007/05/01(火) 14:22:11
人間を魅了してやまないのは
846デフォルトの名無しさん:2007/05/01(火) 21:06:24
ナイスブルマ!
847デフォルトの名無しさん:2007/05/01(火) 21:46:07
ナイスブルマが似合うのは
848デフォルトの名無しさん:2007/05/01(火) 21:57:39
ありがとうございます。おかげさまでchmヘルプが起動できる設定になりました
以下に設定を書き記しておきます

タイトル:DirectXヘルプ
コマンド:hh.exe
引数:C:\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Documentation\DrectX9JP\Directx9_c_JPN.chm


ところでこの方法では選択したテキストを検索することはできないのでしょうか?
引数の最後に$(CurText)を追加しましたがヘルプは起動するものの
「ページを表示できません」と表示されました
849デフォルトの名無しさん:2007/05/12(土) 17:38:47
誰かDirectX 9.0のセットアップファイルください。雷でインストールし直したら、
ゲーム起動できないので、お願いしますorz
850デフォルトの名無しさん:2007/05/12(土) 17:55:01
851デフォルトの名無しさん:2007/05/13(日) 07:15:44
>>849
ランタイムだけならすれ違いなんだが・・・

ダウンロードの詳細 : DirectX December 2006
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3

>>850
つか、普通ならwebインストーラーを教えてやれよ
852デフォルトの名無しさん:2007/05/13(日) 07:53:05
>>851
なんでDecember 2006?
と思ったら、そのページのタイトルだけ間違ってるのか
853デフォルトの名無しさん:2007/05/16(水) 00:38:20
必要なランタイムがインストールされているか調べる方法ある?
チェックしてエラーメッセージ出したいんだけど
854デフォルトの名無しさん:2007/05/16(水) 01:00:07
DLLのDelayLoadを使うと、通常のスタティックリンクと全く同じように使えて
必要なDLLが存在しなくてもexeの実行ができるよ。

DLLの関数を初めて呼ぼうとしたときに自動的にロードされて、DLLが
存在しなければ例外が発生する。
例外をキャッチすれば、必要なDLLが無い場合の処理ができる。
855デフォルトの名無しさん:2007/05/16(水) 04:30:29
>>854
その例外とはC++例外ですか?
んじゃなくてSEH?
856デフォルトの名無しさん:2007/05/16(水) 06:48:29
>>855
SEH

ここにそのものずばりなサンプルがある。

>DirectX Graphicsの隠し設定を利用した開発テクニック
>8. DirectX DLLを遅延ロードする
ttp://codezine.jp/a/article.aspx?aid=235
ttp://codezine.jp/a/article.aspx?aid=235&p=3#col8
857デフォルトの名無しさん:2007/05/16(水) 13:48:38
>>856
おお、にゃるるさんの記事だ。

長いけどこれは読み応えあるね
さんくす
858デフォルトの名無しさん:2007/05/27(日) 11:55:44
HLSLを使っているときにViewPortで指定した範囲を無視してテクスチャ全体に描画されてしまうのですがこれは仕様でしょうか?
859デフォルトの名無しさん:2007/05/27(日) 12:59:23
おはようございます
愚痴です
テクスチャステージの組み合わせパズルにハメられています
皆様方はもうPixelShader/HLSLに移行したのでしょうか
お返事お待ちしております
860デフォルトの名無しさん:2007/05/27(日) 14:59:42
人による
861デフォルトの名無しさん:2007/05/27(日) 15:24:54
PixelShader使用/不使用の選択肢はつける。
ピクセルシェーダすらない旧機種は、どうせ古いノートPCで動かそうとしてんだから、画質なんか追求するだけ無駄。
ゲームが遊べればいいレベル。テクスチャは1枚で、通常と加算だけあれば十分。
862デフォルトの名無しさん:2007/05/27(日) 23:45:41
>>859
>テクスチャステージの組み合わせパズルにハメられています
真面目にやるととんでもねぇぞこれ
とても製品として出せるもんじゃなくなる
863デフォルトの名無しさん:2007/05/28(月) 01:27:37
テクスチャステージってそんな複雑だったっけ・・・?
864デフォルトの名無しさん:2007/05/28(月) 02:28:36
>>863
絡みがね・・・超面倒・・・
865デフォルトの名無しさん:2007/05/28(月) 12:04:46
そんな複雑になるほど多用するか?

2D描画で3枚も4枚も張ることは早々ないだろうし

3Dならシェーダーでやっちまうし。
シェーダーないならメインのテクスチャ1枚しか張らね。
866デフォルトの名無しさん:2007/05/28(月) 19:47:09
おはようございます
お返事ありがとうございます

>2D描画で3枚も4枚も張ることは早々ないだろうし

3枚、マルチパス化不可というケースがございまして
満足に計算できるほどのCAPSがあるHWはPS2.0に対応しており
微妙な線のHWでどう頑張るか、どこまでやるかを大変悩むところであります
867デフォルトの名無しさん:2007/05/28(月) 20:43:53
>>866
おはよーーーーーー!
868デフォルトの名無しさん:2007/05/29(火) 00:22:29
はいおはよう。
869デフォルトの名無しさん:2007/05/29(火) 22:12:08
PS2.0対応してないハードってGeForce4とかの世代まで戻るんだぜ・・・
もう画質切り捨ててでいいだろ。
870デフォルトの名無しさん:2007/05/29(火) 22:41:16
PS2はPS2.0まで対応、PS3はPS3.0対応、ていう解釈であっていますでしょうか?
871デフォルトの名無しさん:2007/05/29(火) 23:40:18
WIIはどうすんだ
872デフォルトの名無しさん:2007/05/30(水) 00:38:17
は?
873デフォルトの名無しさん:2007/05/30(水) 00:42:15
PSはPS1.1対応ていう解釈であっていますでしょうか?
874デフォルトの名無しさん:2007/05/30(水) 00:56:45
ここでのPSは
マウスのPS/2規格のことじゃなくて
プレイステーションの略でもなくて
ピクセルシェーダの略なんだぜ
知ってた?
875デフォルトの名無しさん:2007/05/30(水) 01:06:16
PostScriptだろ?
876デフォルトの名無しさん:2007/05/30(水) 17:08:48
は?
877デフォルトの名無しさん:2007/05/30(水) 19:51:20
ふ?
878デフォルトの名無しさん:2007/05/30(水) 20:45:43
P ぷにぷに
S すべすべ
879デフォルトの名無しさん:2007/05/30(水) 21:21:01
P ピクシェル
S セーダー
880デフォルトの名無しさん:2007/05/30(水) 21:42:02
くだらない話になると勢い勇んで書き込み出す奴っていったい何なの?
881デフォルトの名無しさん:2007/05/30(水) 21:49:48
PostScriptだと思う
882デフォルトの名無しさん:2007/05/30(水) 22:49:10
   __(゚∀゚) <テトラペイピッポォ
  /__   ̄ ̄ ̄\
  | |   |  | ̄\  /
  (_) (__)  (_)
883デフォルトの名無しさん:2007/05/30(水) 23:01:55
そういやゲ製作技術板荒らしてた奴ってマジで
小学校に刃物もってって小学生何人か殺した奴なの?
たしかにあの事件からぷっつり無くなったけど
884デフォルトの名無しさん:2007/06/01(金) 00:07:09
>>883
その話には、触れてはいけない。
885デフォルトの名無しさん:2007/06/01(金) 00:31:08
やっぱり、マジだったんすか・・・orz
こえーよ
886デフォルトの名無しさん:2007/06/01(金) 10:27:52
荒らしが無くなった時期(2003年9月頃?)に、小学校乱入事件なんて
起きてないと思うが。
887デフォルトの名無しさん:2007/06/01(金) 20:37:38
sonetのあいつなら今頃豚箱だぜw
888デフォルトの名無しさん:2007/06/09(土) 23:46:16
モデルをリアルタイムでファイルからロードしたいと思ってます。
頂点バッファを入れ替えたいわけですが、
動的なプールだとシステムメモリ上に置かれるバッファになるわけですよね?
なので、静的か管理下のプールにしようと考えています。

できれば静的なプールにしたいのですが、そのバッファが描画中でなければ
ロックしてもストールすることはないという理解でいいんですよね?

また、今のところは固定サイズのバッファを多数作って切り替えを考えてますが、
ロードの都度バッファを再作成する時のコストってどのくらいなんでしょう?
889デフォルトの名無しさん:2007/06/09(土) 23:49:44
モデルごとに頂点バッファを作れよ
890デフォルトの名無しさん:2007/06/09(土) 23:52:22
ロードするたびつくれってこと?
891デフォルトの名無しさん:2007/06/09(土) 23:56:59
なんで実際にやってみてからチューニングしようと思わないんだろう?
892デフォルトの名無しさん:2007/06/10(日) 00:00:18
すでにやってる人が教えてくれるかと思って。
だめ?
893デフォルトの名無しさん:2007/06/10(日) 00:31:59
デジャブが…
894888:2007/06/10(日) 01:52:52
マルチになるけどべつのスレで質問しなおしてもいい?
なんだかここにはそぐわない内容だったかもしれないので
895デフォルトの名無しさん:2007/06/10(日) 01:56:27
DirectX系のスレならどこで聞いても同じだよ
896デフォルトの名無しさん:2007/06/10(日) 02:01:51
巡回してる人が同じかんじ?
897デフォルトの名無しさん:2007/06/10(日) 18:45:03
俺も全部巡回してるw
898デフォルトの名無しさん:2007/06/10(日) 19:33:55
>>888
>ロードの都度バッファを再作成する時のコストってどのくらいなんでしょう?
体感したことないな
899デフォルトの名無しさん:2007/06/10(日) 19:48:16
一番処理食うのはファイルのオープン>リード>クローズの部分だしな。
HDDだと気づきづらい部分ではあるが・・・。
900デフォルトの名無しさん:2007/06/10(日) 19:54:22
>>899
HDDへのアクセスがメインループ中でおきると、
シークタイムで数ミリ秒から十ミリ秒ぐらい覚悟した方がいいしね。
ディスクアクセス怖いよ。

初心者は時間のかかる処理=CPUコストの高い処理、と思いがちだけど
実際にはI/O待ちなんかでCPUが暇しまくるタイプのボトルネックが結構ある。
コスト=CPUコストと思っているなら、やっぱり実測経験足りないんじゃないかな。
901デフォルトの名無しさん:2007/06/10(日) 20:44:56
ろくにやったことがない奴が処理を想像すると、
ファイルアクセスをメインループで処理するような馬鹿な流れを考えるわけだな。
普通は思いつかないことだが、馬鹿とはそういうものなんだと参考になったよ。
902デフォルトの名無しさん:2007/06/10(日) 21:01:16
基本的にサイズ不定のリプレイとかどうやって保存してる?
903デフォルトの名無しさん:2007/06/10(日) 21:03:14
>>902
そんなのないし
904デフォルトの名無しさん:2007/06/10(日) 21:12:41
浮動小数の環境誤差を考えると面倒なのでリプレイはやめました。
905デフォルトの名無しさん:2007/06/10(日) 22:13:06
シューティングとか格闘とかのリプレイってサイズ不定だろう
906デフォルトの名無しさん:2007/06/10(日) 22:23:27
>>905
使ってないバッファは0で埋めとけ
907デフォルトの名無しさん:2007/06/10(日) 22:31:48
>>902
固定長+場合によっては可変のArrayList
デフォルトで、想定する時間だけのバッファを取っておく
908デフォルトの名無しさん:2007/06/10(日) 22:35:55
>>901
仮想アドレッシングを一切使わない環境だとそこまで悩む必要はないけど
Windowsだとそうも言ってられないけどね。
メモリへの初回アクセスは基本的に何らかのページフォールトが起きると思った方がいい。

例えば10MBのEXEファイルが起動時に全部メモリに読み込まれてると思っているならそれ違う。
関数にしろスタティック変数にしろリソースにしろ
基本的には初回アクセス時にハードウェア例外が発生し
それをOSがトラップして初めてメモリにロードされる。

メインループからファイルアクセス系のAPIを排除するだけじゃあ不十分だよ。
909908:2007/06/10(日) 22:46:45
と書くと関数やスタティック変数ごとに初回アクセス時にファイルI/Oが起きると誤解されるか。

基本は4KB単位で読み込まれるので、近場に配置された関数や変数はまとめてオンメモリになる。
他にはOS先読みキャッシュで大抵もうちょっと多めに読み込んでいる。

でもこの仕組み知っていないと絶対に説明がつかない不思議なディスクアクセスがあるのも確かだよ。
910デフォルトの名無しさん:2007/06/10(日) 23:45:19
神経質すぎる気もするが、ディスクアクセスくらいは神経質になってもいいよな。

昔、BM98(ビートマニアシミュレータ)が、キャッシュに入れるために、
曲開始前に、曲内全部のwaveファイルにアクセスするのを思い出したぜ・・・

>>908
昔、ディアブロIの体験版が、50MBくらいあって、妙にEXE読み込みが速いと思ってたのだが、
ようやくわかったw
911デフォルトの名無しさん:2007/06/10(日) 23:52:18
>>908
データファイルを読み込む話から全然関係ないプログラム自体をロードする話に。
馬鹿をごまかすために話をうやむやにするのも大概にしろよ。
912デフォルトの名無しさん:2007/06/11(月) 00:58:29
>>911
>データファイルを読み込む話から全然関係ないプログラム自体をロードする話に。
それ言い出したらバッファを再作成する時のコストの話から
なんでデータファイルを読み込む話になってるのってことで以下ループだと思うが。
913デフォルトの名無しさん:2007/06/11(月) 01:06:16
そりゃあんた、最初がこうだぜ。なんでもクソもないだろう。
>モデルをリアルタイムでファイルからロードしたいと思ってます。
914デフォルトの名無しさん:2007/06/11(月) 01:25:07
もしかしてモデルをストリーミングで読み込んで
モーフィングとかやろうとしてるんだろうか?w

だったら最大長の頂点バッファを2個ぐらい確保しておいて描画用、ロード用って
切り替えながらって感じか?w
915デフォルトの名無しさん:2007/06/11(月) 01:35:22
話の流れを読まない、突然関係ないことを言い出す。
そして今度は勝手に用途を限定する。
駄目だこいつ。
916デフォルトの名無しさん:2007/06/11(月) 02:03:18
人はなぜ殺しあうの?なぜ手を取り合って仲良く出来ないの?
917デフォルトの名無しさん:2007/06/11(月) 02:40:31
>>913
FFでもリアルタイムロードがあるんだから別に変な質問でもない。
別スレッドでロードしとけば何も問題ない。
918デフォルトの名無しさん:2007/06/11(月) 07:04:46
普通にやれば普通にできることじゃんな
919888:2007/06/12(火) 21:26:20
なんだかいつのまにかいろいろ言われてるようですが、参考になります。
やりたいのは、あれですよ、広域マップをロードする感じのやつ。
つってもいまは環境がなくてできないですが…(電源が死んだ)。

イメージとしては、頂点バッファをいくつもつくっておいて、それを
空いているものまたは使用頻度の低いものから奪い取ってロードして、
不要になっても空きがあるうちはキャッシュし、領域を使用していくって感じです。

で、ディスクアクセスはオーバーラップを使おうと思ってます。
一応win98も考えているので、スレッドのプールのやつ(名前失念)は
使わない方向でと考えています(ソケット通信もやりたんですが、スレッドの
プールのやつ(名前失念)といっしょにした方がいいですかね)。

>ファイルアクセスをメインループで処理するような馬鹿な流れを考えるわけだな。
それから、このへん、ちょっとどういうことか素直に知りたいです。
ののしりながらでもいいんで、詳しく教えてくれないでしょうか。クソが。

まぁとりあえずやればいいのかもしんないですけど、
いろいろ細かい情報とか知りたいほうなんで、そういう情報ありがたいです。

あと、ファイルマッピングって、イメージとしてはReadFile()なんかより
遅そうなイメージがあるんですけど、どうなんでしょう?楽そうですが。
こんなこと書くとまたファイルアクセスと比べたらどうのとか怒られる?

しかし、親切な人も多い反面、なんか人を見下しまくりのやつがいて
ほんときにいらねえですね。すまんな、馬鹿で。
920デフォルトの名無しさん:2007/06/12(火) 21:33:20
>>916
3等分にわけたはずのケーキだが、俺のだけ小さく見える
921デフォルトの名無しさん:2007/06/12(火) 21:35:51
DirectXが鬱にしているからじゃない?
922888:2007/06/12(火) 21:48:10
あー、あと思いだしたんですが、
頂点バッファを作ったり破棄したりを繰り返すと
なんかVRAMがどうしようもないことになりそうなんですけど、
そんなことはないんでしょうか?
それもあって、最初に一定数つくっとこかと思ったですが…。
923デフォルトの名無しさん:2007/06/12(火) 21:52:17
>>916
俺はケーキを7等分することができる。
924デフォルトの名無しさん:2007/06/12(火) 23:36:39
>>922
フラグメントの話ならリロケーションはドライバが勝手にやってくれるんでは。
というかそんなにフラグメントを気にしなきゃならなくなるほどの話なの?
925デフォルトの名無しさん:2007/06/13(水) 10:33:43
馬鹿ほどどうでもいいことを考えて歩みを止める。

馬鹿の考え休むに似たり。
926デフォルトの名無しさん:2007/06/13(水) 20:11:55
そのとおりだと思います。
言いたいのは、全体を作ってからボトルネックを解消しろよ、
とかそういうことだと思いますけど、人の好き好きだからいいじゃないですか。
プログラムはかなり好きだが、俺はプロになろうとかそういうんじゃないんで。
だいたい暴露するとDirectX自体かなりやれてないよ。時間さけなくて。クソ。

最適と勘違いしてネットワーククラスをメッセージ主体で製作したが、
オーバーラップのが速いといわれりゃ書き直したくなるし、
オンボードVGA用にSSEで座標変換書いて、どういうバッファを作って
どういう風に書き込んだらはやくなるのかとか、結構試してしまうほうなんで。
そういうのすきなんですよ。

あとまじで結構あんた(ら?)は実力があるんじゃないかと信じているんで、
いろいろ教えてくれないだろうか。クソが。
あんたから見ればプールのことなんかいちいち考えるなよ、なのかもしれないが、
知っているなら知識を分けてくれ。どんなふうに書き換えたりしてんの?
ファイルリードもどういう風にやると速いの?
馬鹿にしてもいいから(実際お笑いぐさ程度のスキルだろうし)、たのむ。

あと、普通に教えてくれてる人には感謝です。乱文でごめんなさい。
927デフォルトの名無しさん:2007/06/13(水) 20:20:32
愛で何が出来るか、と問われれば、子供が出来ると答えるだろう。
それと同じくらい当たり前
928デフォルトの名無しさん:2007/06/13(水) 20:21:40
どうも。
あたりまえってのは、何のことでしょうか?
929デフォルトの名無しさん:2007/06/13(水) 20:31:27
>>925
すごろくで紫の?に止まると、たまにそういう雰囲気のことを言われて
パラメータが変化する。
930デフォルトの名無しさん:2007/06/13(水) 21:04:30
>>926
みんな興味ない
931デフォルトの名無しさん:2007/06/13(水) 21:23:01
分からないことを分かるようになるのが楽しくないと言う人間はいないもんでね、
勉強にしろなんにしろ・・・それに興味がないというのは、人間としてちょっと変だね
932デフォルトの名無しさん:2007/06/13(水) 21:48:58
日記はチラシの裏にな。
933デフォルトの名無しさん:2007/06/13(水) 21:55:43
確かに、DirectX系スレは
偉そうに罵倒するレスばかりつける奴が
目立つ。
しかも、情報的価値が0なのが痛い。
>>927とか、お前さぁ何が言いたいの?
レス送信する前に、自粛しろよカス
しかしまぁ、子供のすることだし我慢しよう。

934926:2007/06/13(水) 21:56:13
>>日記はチラシの裏にな。
俺?それとも>>931さん?
935926:2007/06/13(水) 22:00:52
俺のせいで荒れたのかと思ったけど、
スレを見返してみるとたしかに>>933さんの言うような感じのレスが目立ちますね。
しかも初心者スレもこばかにしたような回答が多かったし。
なんで?
936デフォルトの名無しさん:2007/06/13(水) 22:06:27
スルーできないなら2ちゃんにくるなよ
答えてくれる人も答えてくれなくなるぞ
937デフォルトの名無しさん:2007/06/13(水) 22:07:26
雑音にレスつけるようなもんですよw
938デフォルトの名無しさん:2007/06/13(水) 22:13:09
939デフォルトの名無しさん:2007/06/13(水) 22:22:16
とりあえず自分で手を動かしてみて、それなりにプロファイリングしてみて、
ボトルネックを突き詰めてから「何故こうなるの?」みたいな質問なら話は早いんだけどね。
脳内コーディングからいきなり「俺様大丈夫スかね?」とお伺いたてるのは
荒れる典型的なパターンだと思うよ。質問者が自分語りをはじめると特に。

時間を無駄にしたくない気持ちはわかるけど、
自分で手を動かさない人間に冷たいのは開発系ならどこでも同じかと。
940デフォルトの名無しさん:2007/06/13(水) 22:36:26
>>926
DirectX に詳しくない漏れがいちおうマジレスしておくと、

非同期 IO をやるのに overlapped IO を用いるかスレッド(プール)を用いるかは、
効率が必要なのかレスポンスが必要なのか、あるいはどちらも不要なのか、
その辺を考慮して決めるわけで、「これが最高の効率だからこれに決まり」とか
そういうもんじゃあないし、

各種バッファのロックも必要な範囲を一発でロック出来た方が良いか、
ちまちまロックして(ロックしようとしているスレッドがブロックしている間にも)
並行してロック済みのに書きこんでゆくべきか、
やりたいことによってどういう処理が最適なのかが変わってくるわけだし、

なんつーの、万能の最適解は無いというか・・・
「駐車場があって、車買うんです。一番良いタイヤは何ですか?」みたいな
質問はあまり真面目にとりあう気になれないってことです。

ある程度どんな場合にでもお勧めできるスタイルは(DualCoreも普及してるから)
「なるべく並列性を高めておく(もちろん実CPU数を大きく超えない程度で)」くらいかなぁ。
941デフォルトの名無しさん:2007/06/13(水) 22:43:08
だからさー、スルーしろってw
雑音に返事をしていることに気付けって
942デフォルトの名無しさん:2007/06/13(水) 23:07:21
初心者スレでも罵倒する奴がいっぱいいるよなぁ。
ゲーム好きの奴には厨が多いのか。
943デフォルトの名無しさん:2007/06/13(水) 23:21:32
ゲーム好きっていうかDirectX好きじゃね
944デフォルトの名無しさん:2007/06/14(木) 00:09:27
「15歳からはじめる DirectX9」なんて本がある位だからな
945デフォルトの名無しさん:2007/06/14(木) 00:19:08
そんでは質問者は頂点バッファをVBOに変えて
OpenGLスレへ突撃すれば幸せになれるのかしら
946デフォルトの名無しさん:2007/06/14(木) 00:24:06
>>944
ネタだと思ったら、ほんとにあるのか…
すごい時代になったもんだな
947デフォルトの名無しさん:2007/06/14(木) 00:30:38
その本ってDXライブラリ使ってるだけじゃなかったっけ?
948888:2007/06/14(木) 00:35:51
どうもありがとうございました。
とても参考になりました。
あとそんな、俺様とかそういうつもりではないんで、ゆるしてやってください。
結果的にレスを重ねていって、そういう感じになっていったかもしれませんが、
くだけて気軽に質問したかっただけなんで…。

それから、最後になんですけど
なんでそんなに馬鹿にするんですかね?
その気持ちに至った経緯とかちょっと興味あるんですけど、
教えてくれないですかね…。
恐らくは俺だけへの気持ちではなくて、質問者総合への気持ちだと踏んでるんですが…。
949888:2007/06/14(木) 00:39:50
>「駐車場があって、車買うんです。一番良いタイヤは何ですか?」みたいな
>質問はあまり真面目にとりあう気になれないってことです。
ああ、あとひとつ、
深い知識があってこその発言と感じとれますが、
この辺に至れるまでにはどういうのを参考にすればいいんでしょうか、
もしも簡単に説明できたらでいいんで、お願いできますか?
ますます漠然としてしまいましたが…。すいません。
950デフォルトの名無しさん:2007/06/14(木) 00:42:02
経験
951888:2007/06/14(木) 00:47:58
ごもっとも
今までありがとうございました。
2ちゃんとはいえ開き直りすぎたので去ります。ごめんなさい。
952デフォルトの名無しさん:2007/06/14(木) 01:02:40
勢い1.7・・・次スレは>>990くらい?
953デフォルトの名無しさん:2007/06/19(火) 14:00:00
Drawの描画が早いらしいのでDrawを使おうと思いDrawのヘルプを見ると至る所に
Warning: This method(class) is deprecated.
Deprecated components of DirectX 9.0 for Managed Code are
considered obsolete. nanntokakanntokahogehogepoor ...
とか書いてあるんですが、MSはDrawを使ったプログラムが動く事を
今現在保証しているんでしょうか。age :-)
954デフォルトの名無しさん:2007/06/19(火) 14:40:36
sage
955デフォルトの名無しさん:2007/06/19(火) 15:22:27
:-)
956デフォルトの名無しさん:2007/06/19(火) 16:02:23
:-X-:
957デフォルトの名無しさん:2007/06/19(火) 19:56:46
sageます><
958デフォルトの名無しさん:2007/06/19(火) 21:51:31
>>953
それを保障するのはビデオカードメーカー。
最近のビデオカードがわざわざDirectDrawでの拡大縮小なんてサポートするとは思えないがな。
959デフォルトの名無しさん:2007/06/19(火) 21:57:08
拡大縮小ならビデオ再生支援機能とか広告が踊った時代に、
GDIレベルでビデオカードがサポートしているが、
いったいどこの原始人だよ>>958は?
960デフォルトの名無しさん:2007/06/19(火) 22:02:05
ハイレゾとかマルチメディアパソコンとか
そういう時代だな
961デフォルトの名無しさん:2007/06/19(火) 23:03:53
拡縮と回転と半透明だけならGDI+だな
それらを同時にかけるとDirectXしかないけどw
962デフォルトの名無しさん:2007/06/19(火) 23:14:32
GDI+で速度を期待しちゃいかんよ
963デフォルトの名無しさん:2007/07/07(土) 21:09:12
ここDirectXスレ?
DirectX10について質問したいんだが、答えてくれる人いる?
964デフォルトの名無しさん:2007/07/07(土) 21:36:58
はいどうぞ
965デフォルトの名無しさん:2007/07/07(土) 21:38:00
具体的に質問内容を書いておくと、D3DX10CreateEffectFromFile()でdx9用(sm3.0)のfxファイルをコンパイルする方法を知りたいのだが。
たとえば、
technique T0 {
pass P0 {
VertexShader = compile vs_3_0 VS();
PixelShader  = compile ps_3_0 PS();
}
}
という内容のfxファイル(仮に"dx9.fx")を
D3DX10CreateEffectFromFile("dx9.fx", NULL, NULL, "fx_4_0", D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY, 0, iDev, NULL, NULL, &piEffect, &piErrorTextBuffer, &hr);
でコンパイルしようとすると、hr==S_OKなのだが、その後ID3D10Effect::GetDesc()でD3D10_EFFECT_DESCを取得すると、テクニック数(Techniques)が0で帰ってくる。
何かいい方法は無いか?
別にD3DX10CreateEffectFromFile()でなくても、DirectX10のインターフェイスでdx9用のシェーダをそのまま使用できればそれでいいのだが、何かいい方法を知っている人教えて。
966デフォルトの名無しさん:2007/07/08(日) 02:42:01
DirectX10使ったことないから適当に言うけど、fxcとかでコンパイルしてみた?
そのときにエラーメッセージとか何か出るかもしれんよ。

D3DXCreateEffect系でもエラーメッセージ取れることは取れるけど、めんどくさいんだよね
967デフォルトの名無しさん:2007/07/08(日) 03:25:33
fxcは使って無いなー。
D3DX10CreateEffectFromFile()から帰ってくるメッセージは、MipFilterはDX10では非推奨だから使わないでくれ、とかいうぐらいだった。
fxc使うと何か違うのかな。
968デフォルトの名無しさん:2007/07/08(日) 03:35:56
いちいちプログラム実行しなくてもコンパイルエラーかどうかは分かるだろ
969デフォルトの名無しさん:2007/07/08(日) 03:41:15
コンパイルエラーだったらS_OKは帰ってこないだろう。
970デフォルトの名無しさん:2007/07/08(日) 03:43:18
実際、さっきfxcでコンパイルしてみたけど、ちゃんとコンパイルは通って、オブジェクトファイルも作成されたぞ。
971デフォルトの名無しさん:2007/07/08(日) 03:49:48
ちなみに、まったく同じ警告メッセージも表示された。
つーか、たぶんD3DX10CreateEffectFromFile()は、内部でfxcを呼んでいるか、同等の処理をしているだけだと思うのだが。
972デフォルトの名無しさん:2007/07/08(日) 04:09:14
>>969
その場でDOS窓にエラーメッセージが出るのがいいんだろう。
CreateEffectFromFile()でエラーメッセージ取るのはめんどい。
973デフォルトの名無しさん:2007/07/08(日) 04:22:34
ぶっちゃけ手順はどうでもいいんだ。
俺は単に、別途fxcするのが面倒くさいからこうしているだけだ。好みは人それぞれだ。
問題は、どうしたらちゃんと動作させられるか、ただそれだけなんだ。
974デフォルトの名無しさん:2007/07/08(日) 07:45:42
>>973
fxcでのコンパイルは別のプロジェクトにつっこんでmakeファイル使うと楽だぞ
975デフォルトの名無しさん:2007/07/08(日) 09:38:04
実行時にシェーダだけリコンパイルしてエラーも表示できるようにしておけば動かしながら微調整ができて便利
976デフォルトの名無しさん:2007/07/08(日) 17:58:32
微調整て、定数パラメータじゃなくて?
ソース書き換えるのは調整というのだろうか…
977デフォルトの名無しさん:2007/07/08(日) 19:32:38
でもシェーダって何を定数として渡すか?ってところまで汎用性ないから
結局ソース書き換えることになると思うんだけどね
今のところコンパイルなしで動かせることにメリットはないかな?俺は。
978デフォルトの名無しさん:2007/07/08(日) 19:40:53
デバッグメニューの品質によるんじゃないの?
少なくともマテリアルとかライティングの色調整みたいなものは
実行時に変えられるようにはなってるけど。
979デフォルトの名無しさん:2007/07/08(日) 19:45:45
結局どうすれば、DX10でDX9用シェーダを使えるようになるんだ?
980デフォルトの名無しさん:2007/07/08(日) 20:33:43
DX本って最近売れてるのかね
981デフォルトの名無しさん:2007/07/08(日) 21:50:50
>>979
このスレじゃ分かる奴居ないからそれ以外の回答しか出てこないことに気づけ
分かったら少なくともここでは先駆者になれる

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1485484&SiteID=1
982デフォルトの名無しさん
>>981
ありがとう。
色々検索したけど、ここにはたどり着けなかったわ。
英語あまり得意じゃないけど(勉強中だけどスラスラ読めるレベルではない)、早い話がDX9用のシェーダをそのまま流用するのはむずかしい、ということでOK?
方法が無いなら無いで、あきらめはつくし。
違っていたら突っ込みよろしく。