鬱だ氏のう DirectX (Part 3)
■ このスレッドは過去ログ倉庫に格納されています
初心者用相談室では扱わないような少し高度な話題も受け持つ。
■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/ (Part 2)
0795名前は開発中のものです。
02/02/19 19:07ID:???大抵ビデオドライバ側のバグかテストが甘い気がする…。
漏れはW2K,nVIDIAリファレンスドライバ,DX8.1でDX7.0aのSDKサンプルの
D3DIMを動かすとリセットボタン押すしかないと言うハングしやがる(;´Д`)
0796たけし ◆svc5NIf.
02/02/19 19:14ID:+IwqdtmVということで終了です!
0797789
02/02/19 19:23ID:zq5fdi5p知ってる人、是非教えてください。
1:テクスチャについて
テクスチャなんだけどさ、基本的にはVRAMの余った領域に確保してくれるんだよね?
で、それで足りない分はメインメモリに確保されるの?
で、基本的にテクスチャの切り替えは、VRAM内で収まってるテクスチャならほぼペナルティなしで
切り替えられるもんなの?
また、マルチパステクスチャってビデオカードによって速度差抜群?
古めのカードだったりするとマルチパスって致命的に遅いかな?
半端にライトマップとか使うぐらいだったらアルファブレンドで
うまいことやるほうが効率いい?
2:アルファブレンド
こいつも基本的には重いハズだよね?DirectX8だとカラーキー使えない、って話を聞いているんだけど、
アルファで抜くのってカラーキーより、ハード的には重いんではないでしょうか?
誰か教えてください。
0798名前は開発中のものです。
02/02/19 20:28ID:/O7amC8rそんなことまでこだわって作ってると
頭ハゲるぞ。
0799名前は開発中のものです。
02/02/19 20:32ID:/O7amC8rVC++のデバッカ上で実行させるときは、
基本的に、そういったリソースファイルは
プロジェクトのフォルダの中にないとダメなんだよ。
0800789
02/02/19 20:49ID:2L7HlL7rえ?そうなの?
なんかわからないけど洩れの作ってみたのが全然フレーム数出ないんです。
テクスチャ+ライトマップテクスチャの2パスをα付きで描画 × 2回(それぞれテクスチャは違う)
環境マップ × 1回(オブジェクト全体で1枚のテクスチャ)
以上をオブジェクトの面数(100ポリもない程度・・・)
あとは前面に640x480のα付きテクスチャ描画
こんな程度で60fpsがキツイのです・・・
面倒だからってフルカラーα付きテクスチャなのがいけないんスかねえ???
0801
02/02/19 21:00ID:YZngPksN0802
02/02/19 21:03ID:YZngPksNあれ?DirectX8(7?)からはレジストリにデータフォルダのパスが入ってるので
動いた気がしたけど…win98はダメなのか?
SDK自体コピーでHDDに置いただけじゃなくて、ちゃんとセットアップしたんだよね?
0803789
02/02/19 21:34ID:2L7HlL7rういっす。
RAGE128のAGP1xの32MBです。
080489454
02/02/19 21:37ID:En55fFc3| 1000点!!!! |
|_________|
∧∧ .||
(*゚ー゚) ||
.(ニニつ
.) .(O)
.(^ヽノ|.||
ヽ ヽ |
) .)|
/.イ .|
(,へ>へ>
韓国でも出るみたいだが……。
http://www.puchiwara.com/hacking/
おもしろければなんでもアリ!
0805
02/02/19 21:47ID:YZngPksNマルチパスって2度書きするだけでしょ?
スピードは半減+αだからそら、遅いんでは?
rage128ってノート?3Dチップなんて呼べないほどお粗末じゃないっけ?
3dmark動くんだろうか…つか、GeForceと差がありすぎて対応するの不毛だ…
0806名前は開発中のものです。
02/02/19 21:53ID:???買い換えろ。
0807789
02/02/19 22:10ID:2L7HlL7rAllInWonder128っす。rage128程度だと、一世代前の組み込みPCレベルぐらいかな?
性能的にはプレステ1以下ぐらいなんかな?
テクスチャチェンジってそんなに重いの?
キャッシュのフラッシュ、ポインタの設定ぐらいなもんかと思ってた。
つーことは、細かいブツ切りのテクスチャなんかは確実にまとめるべきだよね?
先の2パス処理でも、
パス1:ディフューズ用(?)のテクスチャをまとめる
パス2:ライトマップ、環境マップ等、付随するテクスチャをまとめる
のようにして、テクスチャを再設定するのを避けるようにすべき、ってことっすよね?
そうなると、許されてるテクスチャサイズの最大値ってのはカナーリ気にすべき、ってことでしょうか?
マルチパスって結局そういうことなんすか?DirectX8の説明見てると、
VRAMへのWRITEの前に全てのパスによる結果を計算
その結果をピクセルシェーダによって計算してWRITE
ってことだと思ってたんだけど、そんなハードは折れ知らんし、当然
ハードでサポートしてなければ2度書きするだけだよなあ。
当然、αもやっぱり重いよね?そうなるとデカイ2Dのヌキ処理なんかはαに頼らず
ステンシルなんかを使うべきなんでしょうか?
0808789
02/02/19 22:13ID:2L7HlL7rそうすべきですかねえ。
しかし、世の中一般、普通の人だと組み込みPCとか買ってるよね?
そういったPCのレベルでもまともに動作してほしいとなるとどうすりゃいいでしょう?
なんか質問ばっかで本当ごめん。
0809
02/02/19 22:37ID:YZngPksNこれは”シングルパス”マルチテクスチャでしょ
テクスチャは出来るだけ1枚にして、かつ同じテクスチャを使うオブジェクトを
まとめて描画。これDXの基本
αつきポリゴンビルボード(樹木とか)なんかの場合てすると、1枚描く毎にテクスチャチェンジが発生すると
カナーリ厳しいつか、実用にならないとか。ま、テクスチャまとめるかするらしいYO
0810789
02/02/19 23:02ID:2L7HlL7rどちらにせよSetTexture()は可能な限り減らす、ってのが前提なんですね。
そうなると、みなさんテクスチャ、どういうふうに扱ってます?
プレステだと256×256が20枚ぐらいだったっけ?(もう忘れた)使えたじゃないですか。
PCでは32MBのビデオカードなんかだと、一般的にはどれぐらいのテクスチャが使えるもんなのでしょうか?
あと、スプライトなんかもそうだけど、ビルボードなポリゴン、スプライトは
αを使うとなるとかなり負担っぽいんですねえ・・・
DirectX8だとスプライト=αブレンドテクスチャ、ってことで、2Dは絶望的に遅くなってしまうものですか?
0811789
02/02/19 23:07ID:2L7HlL7r今日は寝ちゃうんでまた明日からもいろいろお願いっス。
0812名前は開発中のものです。
02/02/19 23:08ID:???使用/不使用選択オプションで逃げるしかねーなと感じた。
CPUスペック +500M
0813名前は開発中のものです。
02/02/19 23:54ID:y9zZ/miQなんだかかわいそうなので言うわ。
半透明の場合は
src D3DBLEND_SRCALPHA
dest D3DBLEND_INVSRCALPHA
となります。
srcのa値を少しづつあげていけばフェードアウトの出来上がり。
ただ、これくらいは調べよう。
0814名前は開発中のものです。
02/02/20 00:18ID:???0815791
02/02/20 05:48ID:6S5GCnDAリソースをプロジェクトフォルダにいちいち
コピーしなければならないのは面倒ですね・・・そこで
・ビルドの際、リソースファイルの置いてあるディレクトリを指定することはできないんでしょうか?
サンプルのリソースはみなmssdk\temp\samples\multimedia\media にありますよね。
これをIncludeやlibのディレクトリ指定のような感じで指定できるとありがたいんですが。
・リソースを実行ファイルの中に含めてビルドすることは可能ですか?
今は1つのフォルダにexeとリソース(bmp等)があるのですが、これを1つにまとめたいんです。
>>799
ありがとうございます。
bmpファイルをプロジェクトフォルダに入れたら動きました。
0816名前は開発中のものです。
02/02/20 12:30ID:???それサンプルプログラムに書いてあるよ。
関数名はわすれたけど。。
0817名前は開発中のものです。
02/02/20 20:51ID:???>>815
プロジェクトの設定のデバッグタブに実行時のカレントディレクトリの設定があるよ。
0818
02/02/20 23:10ID:wgwzWvK33dmark2001SEの追加シーンが画面フラッシュするよ
以前のドライバではドラゴンのシーンでフラッシュした
こまるよ〜
0819名前は開発中のものです。
02/02/20 23:23ID:Wn0nLZpEデバイス名:SMART JOYPAD 3plus 2player
症状:コントローラを接続してないのにDIEDFL_ATTACHEDONLY(接続されているもののみ)
で列挙すると列挙されてしまう。
さらに、データを取得するとX軸とY軸の最大値(つまり右下)を返す。
デバイス名:SMART JOYPAD 3plus 2player
症状:フォースフィードバック(このデバイスは振動のみ)で一回振動させると
明示的にとめない限り振動しつづける。(設定で一秒後に停止とかやっても止まらない)
これ、かなり致命的なんですけど・・・
この症状が出るのは俺だけですか?
どうやって対処すれば良いのでしょう・・・
対処方法知ってる方がいたらお願いします。
0820名前は開発中のものです。
02/02/20 23:41ID:???前に俺作ソフトでJOYPADが勝手に効いてしまうってのがあったんですが,それは
2Pにパッドを繋いでいないから起きてしまう819さんと同じ現象だった。これはデバ
イス側の問題なのでどうしようもないでしょう。
不具合として販売メーカーに文句言って見るとか。
自作ソフツにのドキュメントに「SMAPT JOYPAD3 の空きには必ずパッド繋げ!」と
書くか,1分間同じデータだったらオートでセンターにしてしまうとか。オートセンター
は逆に不具合にもなりえるので難しい所。もしくはソフト内でのキャリブレーションつ
ければ解決出来るかも。
「SMART JOYPAD3 を使ってはいけません。買い換えましょう」ってのが一番w
0821名前は開発中のものです。
02/02/21 07:53ID:???▼゚Д。▼カフッ
0822名前は開発中のものです。
02/02/21 08:01ID:???また カフ 厨が涌いて出たか…
0823名前は開発中のものです。
02/02/21 08:07ID:???0824名前は開発中のものです。
02/02/21 09:43ID:???0825名前は開発中のものです。
02/02/21 14:07ID:???動かない環境を切り捨てれば、鬱だしのうにはならんな > DirectX
0826名前は開発中のものです。
02/02/21 18:30ID:???ドライバとかで(確実じゃなくても)
0827819
02/02/21 23:48ID:H/6inmeh出来るけど、それやっちゃうとSMART JOYPAD3が使えなくなる。
(ベンダ固有のIDとか、デバイス名とかでできるよね?)
なぜなら、正常にアタッチされている場合とされていない場合の区別がつかないので
SMART JOYPAD3を無視すると「正常な場合」に使えなくなる。
無視しないと「異常な場合」に使えなくなる。
しかも、SMART JOYPAD3は不具合が発生しにくい。
SMART JOYPAD3 plusは不具合が発生する可能性が高い。
両者のデバイス名はまったく同じ・・・
両者が区別できないので新たなバグの元になる可能性大
0828819
02/02/21 23:50ID:H/6inmehず〜っと電話中だし・・・最悪。
0829名前は開発中のものです。
02/02/22 12:07ID:???0830
02/02/22 12:33ID:pvhATbrs0831名前は開発中のものです。
02/02/22 12:39ID:???さっきいいともにでてたから忙しいんじゃねーの
0832名前は開発中のものです。
02/02/22 16:23ID:???NV2Aはパレットテクスチャに対応してるのでしょうか
0833名前は開発中のものです。
02/02/22 16:45ID:???その「アメ車」ってのは、何年前のステレオタイプだ?
0834名前は開発中のものです。
02/02/23 03:07ID:???マッスルカーなんて言っても最近の若い者は知らんだろうが、オイルショック前に
アメリカで流行った馬力が全ての頃の車。
今、大排気量っていっても3000cc程度だが、マッスルカーはその倍以上。
0835名前は開発中のものです。
02/02/23 17:32ID:MLkhv75P0836名前は開発中のものです。
02/02/23 17:35ID:MLkhv75Pモデルで勝負するタイプのゲームにしたら、ここで出てる問題は氷解す
るんじゃないかと勘違いして、ゲームをつくってみたくなった今日この頃。
つうか、ゼノサーガに対抗できるソフトをつくりてー。
テクスチャなんかいらねー。
T&LとSSE使い倒して10000ポリゴン枚フレーム出してやる〜。
0837名前は開発中のものです。
02/02/23 18:34ID:???もう1桁上になるといっぱいいっぱいな感じだけど。
0838_
02/02/24 00:32ID:???勿論、テクスチャ付きで。シェ−ダーでバンプもやってる。
0839名前は開発中のものです。
02/02/24 01:21ID:???脳内略語を多用するシッタカ野郎は大抵使い物にならんな。
0840名前は開発中のものです。
02/02/24 01:23ID:???300000ポリゴン / 1 frame の意味じゃないのか? ふつーそんな書き方
しないけど、読めなくもない。
0841名前は開発中のものです。
02/02/24 02:02ID:zsF8uQ0cそうやって人を見下すような野郎は大抵使い物にならんな。
0842_
02/02/24 03:19ID:???840の人が言ってるとうり、1フレームで描画したポリゴン数って意味です。
俺が使えるかどうかは、微妙かな?
まあ、1流だとは言えない。今回も、やれなかった事沢山あったし。
0843名前は開発中のものです。
02/02/24 04:02ID:???それが出来ないアホとは仕事したくねぇ、という意味でなら同意。>839
0844_
02/02/24 04:15ID:???じゃ、1Fを1Vに訂正、これなら一般的だろ?
0845名前は開発中のものです。
02/02/24 05:25ID:???オマエの事なんかもう誰も相手にしてないって。
消えろ。
0846名前は開発中のものです。
02/02/24 20:48ID:???0847名前は開発中のものです。
02/02/24 23:32ID:TnBNktIN「リフレッシュレートが60Hzで一秒間に60 frame描画したとき」って意味か?
1 frame の時間は環境やソフトウェアによって大きく異なるぞ。
極論言うと1 frame 一秒とかも可能だろ(笑
とりあえず、そんな単位は意味が無いので作るな。
0848名前は開発中のものです。
02/02/25 05:33ID:???0849名前は開発中のものです。
02/02/25 05:42ID:???そのこころは?
マジでわからん
0850名前は開発中のものです。
02/02/25 05:59ID:???0851名前は開発中のものです。
02/02/25 07:34ID:???なわけねーだろ!!
計算しようとしちゃったじゃねーかよ
0852名前は開発中のものです。
02/02/25 08:47ID:???0x1F300000 は 523239424 ですが。
0853名前は開発中のものです。
02/02/25 10:09ID:???なわけねーだろ!!
計算しようとしちゃったじゃねーかよ
0854名前は開発中のものです。
02/02/25 10:09ID:???納得
0855名前は開発中のものです。
02/02/25 12:24ID:???だな
0856名前は開発中のものです。
02/02/25 13:25ID:???シーン自体の複雑さを表す指標として役割を果たす。
frame はそもそも無次元なので、時間の次元を持つ秒と
単純に比較している >>847 の論理は意味を成さない。
0857名前は開発中のものです。
02/02/25 13:38ID:???ごめん、折れには理解できないや。(藁
その上の2行も答えになってないし。
1frame(1/60秒)みたいに誤解されないように書けばいいこと。
0858名前は開発中のものです。
02/02/25 21:16ID:???0859名前は開発中のものです。
02/02/25 21:41ID:???3D野郎によくいるヘリクツが得意な人ですか?
0860847
02/02/25 23:20ID:nuWG/p8d>シーン自体の複雑さを表す指標
「ポリゴン数=複雑さ」っていつの時代の話だ?
>frame はそもそも無次元なので、時間の次元を持つ秒と単純に比較している
まず、frameはゲーム中における「単位時間」と考えることも出来る。
というか、俺はこれを前提として話したんだが・・・。
わかりやすいように簡単な例を提示します。
A:「マシン新しくしたよ。PIIIの1.0GHzのマシン買ったの」
B:「へぇ〜CPUの速度が速くなったね〜」
A:「Hzは速度の単位ではないよ。次元が別だよ」
B:「・・・」
0861名前は開発中のものです。
02/02/26 00:58ID:???>frameはゲーム中における「単位時間」
時間に対してフレーム数が固定されてないと性能比較の話がなりたたない
今回は不適切
>わかりやすいように簡単な例を提示します。
なにがいいたのかわかりません
0862名前は開発中のものです。
02/02/26 01:05ID:???なんで訳のわからない論争してんの?
0863名前は開発中のものです。
02/02/26 01:23ID:???単なる無次元の計数と考えたほうが明らかに合理的だよな。
>「ポリゴン数=複雑さ」っていつの時代の話だ?
複雑さを表す1つの指標であることには変わりないと思うが?
0864名前は開発中のものです。
02/02/26 01:31ID:???0865名前は開発中のものです。
02/02/26 01:40ID:???わけ わか らん♪
∧_∧ ∧_∧ ∧_∧
( ・∀・) ( ・∀・) ( ・∀・)
⊂ ⊂ ) ( U つ ⊂__へ つ
< < < ) ) ) (_)|
(_(_) (__)_) 彡(__)
0866名前は開発中のものです。
02/02/26 10:37ID:???禿同。
てか、poly/secが一般的な単位なんだからそれ使えばいい話だと思うが。
0867名前は開発中のものです。
02/02/26 11:16ID:???グラフィックデザイナにとって重要なのはpoly/frame
0868名前は開発中のものです。
02/02/26 19:03ID:???0869名前は開発中のものです。
02/02/26 19:35ID:???初代スレが鬱だ氏のうだったから
0870名前は開発中のものです。
02/02/26 19:42ID:???環境で動かないなんて当たり前だったし。
0871名前は開発中のものです。
02/02/27 03:40ID:???M$のサイト見たけど、あがってないような・・・・・。
0872名前は開発中のものです。
02/02/27 03:48ID:???0873名前は開発中のものです。
02/02/27 03:49ID:???これで日本語ドキュメントの完成。
0874名前は開発中のものです。
02/02/27 04:04ID:???糞ガイシュツ。>>683-684
0875名前は開発中のものです。
02/02/27 12:24ID:???CMyD3DApplication クラス内で ID3DXMesh* を使ってるんだ?
CD3DMesh* じゃダメなのか?
CD3DMeshの使いどころが厨だからわからんチン。
0876名前は開発中のものです。
02/02/28 09:32ID:wFzdbIi3ウインドウモードのほうが速いんですけど、これって
普通なんですか?
(イメージ的にフルスクリーンの方が速いと思ってたんですけど)
0877名前は開発中のものです。
02/02/28 10:08ID:???描画するから速くなるかも。
0878名前は開発中のものです。
02/02/28 11:39ID:???それと、ビデオ周りがうんこだとフルスクリーンの方が遅い場合もある。
まあ今時のものなら考えられんけど
0879名前は開発中のものです。
02/03/01 09:16ID:SPjU9Ic9>D:\DXSDK\INCLUDE\d3dx8math.h(259) : error C2065: 'UINT_PTR' : 定義されていない識別子です。
とか怒られるんだけどなんなんやろね。
typedef UINT UINT_PTR;
とかやって強引に通してるけど。大人しく.NET買えってことですか。
それと、MSのサポート技術情報ページ、
なんか知らんうちにリニューアルされてますが、ちゃんと検索できます?
IE5.5SP2でもIE6でも本家の英語サイトでも駄目だぁ。
0880名前は開発中のものです。
02/03/01 20:03ID:???VC++6.0買えってこと。
どうせ.NETもいくつかSPあたるまで使い物にならないだろうし。
0881名前は開発中のものです。
02/03/03 04:44ID:???最新のPlatform SDKを落としてみたら?
MSとかNVidiaのはXフォーマット用のクラスで中みえないし
個人HPでもあんまり解説してないですよね〜
海外のエンジン集めたHPとかならあるんだろうけど、逆にありすぎてわからん
(質もわかりにくいし
頂点フォーマットが複数ある場合、頂点バッファではなく、
floatの配列に突っ込んで描画すんのかなぁ?
0883名前は開発中のものです。
02/03/07 17:58ID:???俺も同じ現象が出てたよ。VC5 SP3。
>>881氏 の通りにやって動かしたよ。
俺がちゃんとした解決策を知ったのはOpenGLで書く決心がついてからだった… タイミング悪すぎ。
0884_
02/03/07 19:13ID:???意味よくわからんのだが、普通にソートするだけじゃダメ?
どーいうデーター構造&GPUを考えるとVRAMorSYSTEMメモリの使い分けとかどうすんのかなぁ、と
あと並び替えの基準とする座標って、三角形の3頂点のどれかでいいの?
それとも、重心とか別に求めた座標使わないと駄目?
0886名前は開発中のものです。
02/03/07 20:20ID:M+bebc/Hメッシュの重心じゃ駄目かに?
つーか普通半透明ポリゴンのソートって言えばメッシュ単位だろ?
流石にポリゴン1枚1枚でソートはしないと思うぞ。
結局ドロープリミテブに渡して描画して貰うんだから
意味ないじゃん。
つか、人体とか入り組んだ形状だとメッシュ単位だとおかしくなるでしょ?
人体のパーツ(BONE)毎にソートすればいいけど、それでも接続部分でおかしくなりそう
間違ってる?
0888名前は開発中のものです。
02/03/07 21:26ID:???半透明以外の部分が極まってくると、半透明部分は屈折とかやりたくなるのよ。
そうすると入り組んだ形状がどうしようもなくて、結局半透明は使わないで
くださいという結論になる。窓ガラス以外の半透明禁止!
0889名前は開発中のものです。
02/03/07 23:10ID:mRevsoRyそしたら全面鏡張りの部屋になたよ。
0891名前は開発中のものです。
02/03/08 23:49ID:kqtc4bt/DirectDraw7 でフルスクリーンにした途端、指定したウィンドウの縦サイズが
画面高さ - (多分)タスクバーの高さ に固定されてしまいます。
画面の下側をクリックするとデスクトップのアイコン等がいじれてしまうのですが、どうしたらいいでしょうか?
0892名前は開発中のものです。
02/03/08 23:52ID:???環境プリーズ
0893891
02/03/09 00:04ID:FSCavH5A書き忘れました^^
Win2k sp2
VisualC++6.0
DirectX8.1
で、DirectDraw7 です。よろしくおえがいします。
0894名前は開発中のものです。
02/03/09 00:11ID:heeM/QyX■ このスレッドは過去ログ倉庫に格納されています