トップページgamedev
1001コメント372KB

DirectX総合スレ (Part5)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/09/08(金) 23:56:42ID:0F5D1JWX
言語はC++
他の言語使ってる奴はいますぐ消えろ
0686名前は開発中のものです。2006/10/11(水) 01:01:45ID:1sECxPrk
いや無理なんじゃね?
逆行列は関係ない気がする。
そもそも行列で差分って何につかうんだ?
0687名前は開発中のものです。2006/10/11(水) 01:02:05ID:xBMfHgNK
たぶん間違えた。
A・C=B=A にしたいってことか。
難しいな・・・
0688名前は開発中のものです。2006/10/11(水) 01:23:10ID:U5zzbWGT
>>685でOKじゃないの?
0689名前は開発中のものです。2006/10/11(水) 01:36:32ID:RAcYP2kE
>>679
>>685で正解。

あとは、かける順序に注意。
それから、Aの逆行列が求まらない場合はCは一意とならない。
0690名前は開発中のものです。2006/10/11(水) 02:41:06ID:UlzNoGLX
>>685-689
ありがトン!
>Aの逆行列が求まらない場合はCは一意とならない。
はい、それはもう・・・
いや〜たすかりました
0691名前は開発中のものです。2006/10/11(水) 03:42:19ID:1ONjsgnr
>684が
「よつんばいになれば免許を返して頂けるですね」の改変に見えた俺はとっとと寝ろ
0692名前は開発中のものです。2006/10/11(水) 10:18:27ID:v2mXemUL
アッー!
0693名前は開発中のものです。2006/10/14(土) 01:39:42ID:pah3fq2S
ID3DXAnimationControllerでアニメーションをやっているのですが、
アニメーションの全長(時間)はどうやったら取得できるんでしょうか?
それから、アニメーションを構成するキーフレームがそれぞれ何秒のところにあるのか
を取得したいのですが、そういう手段はあるんでしょうか?
0694名前は開発中のものです。2006/10/14(土) 07:14:00ID:uIeEv6ah
>>693
ヒント:xファイルに書かれてる
0695名前は開発中のものです。2006/10/14(土) 13:23:21ID:sQHed/jL
そんな関数無い
0696名前は開発中のものです。2006/10/14(土) 14:05:43ID:E4qGi0KR
じゃフレームが出力できるxファイルを作る必要があるじゃん
メタセコで出来る?
0697名前は開発中のものです。2006/10/14(土) 15:14:09ID:urG12ahb
データ作った人間には何フレームあるかわかるだr
0698名前は開発中のものです。2006/10/14(土) 18:08:41ID:y7B7XSEr
ドラゴンボールのビームとか
ガンダムのビームとかの棒
どうやって描画してるの?
円柱モデルじゃないでそ
ビルボードは、点を中心のやつじゃないとダメだし
ぬう
0699名前は開発中のものです。2006/10/14(土) 18:41:11ID:urG12ahb
別に円柱でもそれっぽく見えればいいんだよ
0700名前は開発中のものです。2006/10/14(土) 18:47:28ID:rEq95AFn
6〜8角厨
0701名前は開発中のものです。2006/10/14(土) 19:46:32ID:5CSzso0u
>>698
六角柱だけをライトなしの真っ白でレンダしてぼかすんだよ
0702名前は開発中のものです。2006/10/15(日) 00:49:28ID:5NiZDasq
>>698
>ビルボードは、点を中心のやつじゃないとダメだし
んなわけない。
0703名前は開発中のものです。2006/10/15(日) 06:01:12ID:T/ORfnUd
>>698
Gems3に載ってるやつは?
長方形のポリゴンの端に三角形がついてるやつ
0704名前は開発中のものです。2006/10/15(日) 11:47:05ID:QPC2ckl/
>>698
「ビームの始点から終点までを結んだベクトル(以下、ビーム・ベクトル)」と
「カメラの位置からビームの端の点1つを結んだベクトル」の外積から
この2つベクトルに直角なベクトルを求める。
そのベクトルとビーム・ベクトルの外積からこの2つベクトルに直角なベクトルを求める。
このベクトルを法線ベクトルとする板ポリを描画するばOK

ただ、カメラの視線ベクトルとビーム・ベクトルが平行に近いと板ポリであることが
はっきりと分かってしまうので、それの対処方法は以下の2つがある。

1つは板ポリの両端に普通のビルボードをくっつける方法(>>703が言っている方法)と、
もう1つはカメラの視線ベクトルとビーム・ベクトルが平行に近いときには普通の
ビルボードに切り替える方法がある。
0705名前は開発中のものです。2006/10/15(日) 15:50:40ID:ncIQLCOH
光り系の加算テクスチャとかパーティクルも重要
0706名前は開発中のものです。2006/10/15(日) 17:38:15ID:lHeBAk5n
アクションゲームの連続攻撃とかみたいな、ボタンの連続入力判定って
DirectInputでやる場合やっぱりバッファリングでやった方がいいんですかね?
0707名前は開発中のものです。2006/10/15(日) 19:20:54ID:nExnDBy1
連続入力のときに1/60よりも速い単位でボタン入力を受け付けるならバッファリングだろうなぁ。
0708名前は開発中のものです。2006/10/15(日) 19:41:13ID:1awBMXDQ
ゲームコントローラは割り込みデバイスではないから、バッファリングでも
Pollを呼んだときしかデータ取得してないよ。
0709名前は開発中のものです。2006/10/15(日) 21:18:43ID:lHeBAk5n
バッファリングでやってもあまり利点無いってことですかね
とりあえず直接取得でやってみます
0710名前は開発中のものです。2006/10/16(月) 03:58:38ID:4O9ZIClz
1/60で連打できる奴以内だろ
0711名前は開発中のものです。2006/10/16(月) 11:47:04ID:akp78//4
連打機
0712名前は開発中のものです。2006/10/16(月) 11:47:31ID:1DRIsy8R
>>710
連打は無理だろうが、1/60フレーム風神拳とか入力できる変態はいるよなー

>>706
アクションとか格げーだとバッファリングしたほうが楽なような気がするが。
あとで、リプレイとかつけたくなるかもしれんし。
0713名前は開発中のものです。2006/10/16(月) 11:55:28ID:idfGKmvC
そういや、VF5のアキラの膝が
K+G→1フレーム後にG離す
だったな
個人的には最風よりむずい
0714名前は開発中のものです。2006/10/16(月) 12:33:55ID:dJZ5IjFP
VF5は知らないがいまだにそのコマンドなの?
VF2でバグでそのコマンドで膝が出てたけど。

>>712
バッファリングだろうと直接データだろうと、入力の履歴は
アプリケーションに組み込むもの。
リプレイ等にDirectInputの設定は関係ないと思うが。
0715名前は開発中のものです。2006/10/16(月) 12:47:06ID:uxehlBoP
VF1からの伝統なのにVF5のとか書いてるところを見ると
十代だろうな
0716名前は開発中のものです。2006/10/16(月) 14:17:08ID:idfGKmvC
26ですが
今、VF5やってるからVF5って書いてしまっただけ
0717名前は開発中のものです。2006/10/16(月) 16:54:09ID:cOg4Ko/j
>>714
入力の履歴を保持する場合って、ボタン毎に数回分の入力時間を保持してればだいたいOKかな?
0718名前は開発中のものです。2006/10/17(火) 00:01:47ID:Pi/yMn9O
>>717
最低でも、コマンド受付可能時間×FPS数だけは記憶させないとだめだろ。

すなわち、ファイナルターンパンチ(溜め60秒)×60FPSで記憶域3600個w
0719名前は開発中のものです。2006/10/17(火) 00:03:50ID:WKs3wEDm
VF1からの伝統なのにVF5のとか書いてるところを見ると
ちんぽが十代だろうな
0720名前は開発中のものです。2006/10/17(火) 00:11:33ID:xez2dOmh
>>719
元気そうでうらやましい… orz
0721名前は開発中のものです。2006/10/17(火) 00:40:46ID:MdWVn9/c
>最低でも、コマンド受付可能時間×FPS数だけは記憶させないとだめだろ。
正直な話、ボタンのため分をカウントしていれば、開始から発動までのバッファは要らない

「60秒押していたボタンを離した」と判定する、1フレーム分あればいい
波動拳コマンドの最長受付フレーム数が60フレームの場合なら バッファは60ほしい

これはバッファに入力を保存して、後からコマンドを検査する場合ね
0722名前は開発中のものです。2006/10/17(火) 01:41:52ID:b/Pd8rNN
>>718は語尾にwがついてるから冗談として極端な実装の例を挙げたんだろうけど、
>>721の実装は利点がよく分からんな。

>>721
> 「60秒押していたボタンを離した」と判定する、1フレーム分あればいい
その考えを押し進めると、
「押下したこと、離したこと、これらの時間間隔を記録すれば十分」ということになる。
だから、タメ時間を保持するためには、バッファの長さは60も要らなくて、2で済む。

最初に押下したときに、記録開始時刻からの時間を記録して、
次に離したときには、押下したときからの時間を記録して、
二度目に押下したときには、前に離したときからの時間を記録して、
……というように記録すればいい。
0723名前は開発中のものです。2006/10/17(火) 02:35:27ID:39vQ4qdS
入力が変化するまでの時間を記録する方式は、ワーストケースで
毎フレーム入力が変化していた場合に、結局は入力受付時間分の
バッファが必要になるという事実。
0724名前は開発中のものです。2006/10/17(火) 03:45:09ID:b/Pd8rNN
で?
0725名前は開発中のものです。2006/10/17(火) 05:27:56ID:q1fUJa/G
それでどうやってコマンド方式を判断するんだ?
0726名前は開発中のものです。2006/10/17(火) 09:47:10ID:WApPQYbc
カプコンは、ボタンを離したときもコマンド入力調べてる
SNKは、省略コマンドがある 21416→246
0727名前は開発中のものです。2006/10/17(火) 11:19:02ID:39vQ4qdS
>>726
それは省略コマンドじゃなくて、最初から246しか判定してないだけだよ。
むしろ発表されているコマンドが冗長なだけ。

ちなみにスト2のスクリューも斜め入力は必要なくて、4方向だけでいい。
0728名前は開発中のものです。2006/10/17(火) 12:48:13ID:PzA+Fa3w
つーかボタン入力制御も知らないような奴がなんでこんなところにいるんだ?
基本的な常識も知らないでゲームを作りたいとか論外なんだが。
0729名前は開発中のものです。2006/10/17(火) 12:59:54ID:Un2Q1nYv
そうだね、プロテインだね
0730名前は開発中のものです。2006/10/17(火) 15:35:29ID:ZPE2JhJ0
そう、常識だ。いや、常識だと多くの人々が思っている。
だが、実はCO2が地球温暖化の原因だという証拠は無いんだよ
0731名前は開発中のものです。2006/10/17(火) 15:55:16ID:HnFFLO9E
D3DLIGHT_DIRECTIONAL な光源で
メッシュを描画しているのですが
scale=1.0f な時 白→黒な球体が描画されるのですが
scale=10.0fな時 灰色になるんです

何の影響なんでしょうか?
0732名前は開発中のものです。2006/10/17(火) 16:36:26ID:g8mAqjlU
地球温暖化の影響



もしくは法線非正規化の影響
0733名前は開発中のものです。2006/10/17(火) 19:01:46ID:HnFFLO9E
dクス

拡大の温暖化を防ぐには
SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
すればいいのね

0734名前は開発中のものです。2006/10/17(火) 20:02:50ID:pnwQy0ug
RenderStateSet)TRUE, D3DRS_NORMALIZENORMALS(
が正解
0735名前は開発中のものです。2006/10/19(木) 11:57:34ID:KYn/6wBS
おっぱいスレで質問したけど、答えが返ってこないので、こっちにマルチします。

おっぱいをデフォメーションさせてたゆんたゆん揺らせるには
メッシュオブジェクトの乳の部分だけを属性バッファで指定して、さらにその頂点バッファにアクセスして
頂点を動かせばいいの?

↑でいいとしても、乳の部分だけの属性バッファを作る方法が分かんない。

ヒント、この辺読め、カス!だけでもいいので教えてください。
0736名前は開発中のものです。2006/10/19(木) 12:57:59ID:ux0Pyl4u
X-File?
だったら判定するためのデータ埋め込めばいいじゃない
0737名前は開発中のものです。2006/10/19(木) 14:02:37ID:Rx5m3XDA
人体にチップを埋め込まれる、の間違いだな
0738名前は開発中のものです。2006/10/19(木) 23:40:34ID:jUoY2I1o
モルダー落ち着いてモルダー
0739名前は開発中のものです。2006/10/19(木) 23:53:22ID:5SYTgZVc
モルダー、あなた疲れてるのよ
0740名前は開発中のものです。2006/10/19(木) 23:59:01ID:6/7GAxoT
おしっこモルダー
0741名前は開発中のものです。2006/10/20(金) 00:03:50ID:CFUBASIq
モルダー、あなたマジで疲れてるのよ
0742名前は開発中のものです。2006/10/20(金) 03:24:19ID:L3hW3qR3
美しい河よ、モルダーよー
0743名前は開発中のものです。2006/10/20(金) 10:23:26ID:ax2q1ay6
IndexBufferとVertexBufferの意味って何?

座標とか全部メモリにいれて
DrawIndexPrimitiveとかやればいいじゃん。

制限とか違うの?
0744名前は開発中のものです。2006/10/20(金) 14:14:11ID:/RdCkbLO
>座標とか全部メモリにいれて
>DrawIndexPrimitiveとかやればいいじゃん。

それでいいんだよ。
ちょうてんばっふぁとか
いちいちつくるのめんどうだもんね!
0745名前は開発中のものです。2006/10/20(金) 16:04:45ID:YHKhyEQt
何にでも疑問を持つのは良いことだ
次は自分の人生に意味を求めて自殺だレッツゴー
0746名前は開発中のものです。2006/10/20(金) 22:38:41ID:pRFrOnQi
>743
いくらなんでもそれはひどい・・・
もっと上手く釣れ。
0747名前は開発中のものです。2006/10/21(土) 00:15:28ID:HWb3gyzX
どうせ三途の川でくだらない釣りをしてるだけだろ。ホキでも食ってろ。
0748名前は開発中のものです。2006/10/21(土) 00:54:06ID:0t6G1cyR
質問です.
HDRフォーマット(D3DFMT_A16B16G16R16)のテクスチャをレンダリングターゲットにした場合,
D3DFMT_X8R8G8B8のターゲットに使用していた固定パイプラインの機能を
そのまま使用しても正しく描画できるのでしょうか?

描画前に一時的なターゲットとしてHDRテクスチャを咬ませただけで
アルファブレンディングが上手くできなくなってしまったのですが…….orz
0749名前は開発中のものです。2006/10/21(土) 01:05:12ID:0t6G1cyR
間違えましたorz
× D3DFMT_A16B16G16R16
○ D3DFMT_A16B16G16R16F
0750名前は開発中のものです。2006/10/21(土) 01:12:03ID:h4fJ9Plf
レンダリングは出来るんじゃない?
もっとも意味があるとは思えんが。
0751名前は開発中のものです。2006/10/21(土) 01:12:46ID:h4fJ9Plf
>>748
浮動小数点バッファもそもそもフィルタとアルファが使えない。
0752名前は開発中のものです。2006/10/21(土) 01:35:28ID:uPaMWthY
>>748
HDRレンダリングするんだったらピクセルシェーダ使うだろ?
だったら問題なしだ。自分で実装したまえ。
0753名前は開発中のものです。2006/10/21(土) 01:36:21ID:0t6G1cyR
じゃもうおとなしく描画を全てHLSLとかに移行した方がいいですね.
スプライト関係のルーチンを書き換えてきます……('A`;)
0754名前は開発中のものです。2006/10/21(土) 01:40:02ID:uPaMWthY
待て待て。
D3DFMT_A16B16G16R16F を使わない、って選択肢はないのか?

そもそも、何のために使おうとしてるんだ??
0755名前は開発中のものです。2006/10/21(土) 01:53:02ID:0t6G1cyR
具体的にはトーン調整とかブルームとかが使いたくて.

あとHDR対応だと,いろいろ表現力が広がるみたいだし,
後々のことを考えると,今のうちに使えるようにしておいた方がいいかなと.
0756名前は開発中のものです。2006/10/21(土) 02:05:17ID:uPaMWthY
現時点でHLSLベースで作ってない上にスプライトとか使ってる状態では
FLOATバッファ使ったHDRレンダリングは早いと思うよ。

やりたいトーン調整やブルームは、擬似的に再現した方が絶対に楽。
0757名前は開発中のものです。2006/10/21(土) 02:21:36ID:h4fJ9Plf
てかスプライトにHDRなんていらんだろ
0758名前は開発中のものです。2006/10/21(土) 02:24:26ID:0t6G1cyR
あうあう.
現在自分のライブラリは3年間改造・増築を繰り返した結果,
モデルの描画がHLSL,2D・3Dスプライト(ビルボード?)が固定機能とばらばらになっていて,
おまけにライトの管理とかビューポートの管理とか,機能を細分化しすぎて,
作った本人にも詳細構造が意味不明な状態になっているので,
とりあえず固定機能の消去とかの機構削減・統合に関しては積極的に行いたいのでつ.

自分もスプライト関係は大昔に書いたコード&機能追加しすぎて超長いので触りたくないのですが…….
0759名前は開発中のものです。2006/10/21(土) 02:53:50ID:m+1yDL9S
確かに長く書くのは億劫だよねー
答えてもらう側の苦労は自分が苦労するわけじゃないからどうでもいいよねー
0760名前は開発中のものです。2006/10/21(土) 02:54:07ID:uPaMWthY
3年間も使い続けてるのはエラいと思う反面、古いプログラムにしがみ付きすぎだとも思う。

HLSLに対応した時点でスプライト関連をまとめるべきだったね。
それは、今からでも全然遅くない。作り直すべき。
0761名前は開発中のものです。2006/10/21(土) 03:04:52ID:h4fJ9Plf
3年も弄ってるって事は仕事で使ってるとか、ネット上で公開してるとかそういう類かしら
0762名前は開発中のものです。2006/10/21(土) 03:12:17ID:0t6G1cyR
>>759
ムキー(#`皿´)
書き込み内容が長いと言われるのを恐れただけです.(´・ω・`)

>>760
そうそう,そう思っていま大改装中なのです.
その一環でHDRにも対応させようぜ,と.

>>761
いえ,すごく自分用です.
そのうちネット公開できればいいなとも
0763名前は開発中のものです。2006/10/21(土) 03:18:21ID:uPaMWthY
>>762
良いキャラしてるねー面倒みたくなるよ( ´∀`)

HDR対応にするなら、現状ではスプライト処理を廃止(ポリゴンに移行)するか、
簡単なところではスプライトはHDRレンダリング対象外ってことにするとか。

トーンマップ後のバッファに描いたらいいじゃん的な。
0764名前は開発中のものです。2006/10/21(土) 04:25:01ID:/8+zda2i
割り込んでごめんなさいです

ずっと前から疑問なんですが
デバイスにFVFを設定するのとVERTEXDECLARATIONを設定するのとでは
どういう違いがあってどういう意味があるんでしょうか
0765名前は開発中のものです。2006/10/21(土) 04:47:59ID:rSfE5bai
VERTEXDECLARATIONの方がもっと柔軟なフォーマットを指定できる。
それだけ。
0766名前は開発中のものです。2006/10/21(土) 04:52:13ID:/8+zda2i
ありがとうございました

うっ
0767名前は開発中のものです。2006/10/21(土) 18:54:08ID:uj+Vqk1i
>>746
釣りじゃないです><
わからないんです><
違いは、
・Lock/Unlockできるぐらいしかわからん

描画制限があるとか
演算をハードに任せるとかあるんですか?

0768名前は開発中のものです。2006/10/21(土) 18:56:19ID:uj+Vqk1i
ああ、DrawIndexPrimitiveじゃなくDrawIndexPrimitiveUpだ

うp系ってウンコ?
0769名前は開発中のものです。2006/10/21(土) 19:03:43ID:h4fJ9Plf
君がウンコな気がする・・・
初心者スレじゃないんだしリファレンスくらい読もうぜ。
0770名前は開発中のものです。2006/10/21(土) 19:08:21ID:h4fJ9Plf
--------------------------------------------------------------------------------
IDirect3DDevice9::DrawPrimitive メソッド
現在のデータ入力ストリーム セットから、指定されたタイプのインデックスなしジオメトリ プリミティブのシーケンスをレンダリングします。


--------------------------------------------------------------------------------
IDirect3DDevice9::DrawPrimitiveUP メソッド
ユーザー メモリ ポインタで指定されたデータを、指定されたタイプのジオメトリ プリミティブのシーケンスとしてレンダリングします。

IDirect3DDevice9::DrawPrimitiveUP に渡す頂点データは、呼び出しの後も保持する必要はありません。
Microsoft Direct3D は、呼び出しから戻る前に、そのデータへのアクセスを完了します。
0771名前は開発中のものです。2006/10/21(土) 19:17:21ID:uj+Vqk1i
ツンデレを垣間見た
サンクス

>呼び出しから戻る前に、そのデータへのアクセスを完了します。
つまり、Up系は、ユーザメモリをVRAMに完全にコピーしてから処理を返すから、ちょっと反応が遅いってわけなのか

ttp://twin-tail.jp/contents/vsdx8/d3d/020/index.htm
2Dは、うpれと

ぬああ
よくわからん
じっくりマニュアル読んでくる
0772名前は開発中のものです。2006/10/21(土) 20:13:47ID:3iLjIQCs
2DだとDrawPrimitiveもDrawPrimitiveUPも
大して変わらないとか聞いたような
0773名前は開発中のものです。2006/10/21(土) 20:27:22ID:h4fJ9Plf
> Direct3DDevice9::DrawPrimitiveUP に渡す頂点データは、呼び出しの後も保持する必要はありません。
> Microsoft Direct3D は、呼び出しから戻る前に、そのデータへのアクセスを完了します。
ようするにDrawPrimitive呼ぶ度に内部で頂点バッファにコピーしてるって事だ。

2D/3Dのスプライトのような頻繁に書き換えるものならD3DPOOL_DEFAULTにD3DUSAGE_DYNAMICとD3DUSAGE_WRITEONLYをつけて頂点バッファを作れ。
そうするとAGPメモリに展開されてVRAMデータと同じ速度でレンダリングが行われつつシステムメモリと同じ速度で書き込みできる。

ロック時にD3DLOCK_DISCARDを指定すると、ドライバ内で自動的に新しいバッファを返してくるので、
更新>描画>更新>描画とやっても頂点バッファロック時に描画待ちとか発生せずにアクセスできる。
0774名前は開発中のものです。2006/10/21(土) 21:52:37ID:eZHe5LjK
ぶっちゃけ2Dの頂点数なんてあんまり関係無いと思うよ。
なにでやってもそんなに速度に差なんてでないと予想。

2Dなんか
「お前、それで3Dモデル作れるぐらいだすつもりなのかと?
何言ってるのか?わかるか?
普通の3Dゲームで3Dモデルのポリ数をワンフレームをこさえたとしても
問題ない速度がでるのに、たかだか2Dゲームで何糞みたいなこと気にしてるのかと?」
問い詰めたくなる。

これが3Dゲームの2D部分だったとしても2Dのポリ数なんぞ
ほとんど影響でないと予想。
ピクセルフィルレートならわかるけどね。
0775名前は開発中のものです。2006/10/21(土) 22:53:28ID:h4fJ9Plf
2Dでも各種爆発やエフェクト系のテクスチャを1枚にまとめて、
1,2回程度のDrawPrimitiveで処理するときは数千頂点とかにはなるぞ。

まぁ変換済み頂点だからそもそもバーテックスシェーダーは経由しないけど。

あとDirectX8世代だとUP系の関数は描画完了までブロックしてたってのがある。
DirectX9で内部にバッファ作ってコピーするようになったとかならんかったとか。

まぁ今のDirectXで一番重いのはDrawPrimitive系の関数のコールだから
可能な限りDrawPrimitiveの数は減らせるように作っておいた方がいい。
0776名前は開発中のものです。2006/10/21(土) 23:16:50ID:NV8Lshdx
また知ったかを。
DrawPrimitiveは処理リストに詰めているだけで、実際にそこで処理をされるわけでは無い。
一番重くなるのはPresentをした時。
0777名前は開発中のものです。2006/10/21(土) 23:22:46ID:h4fJ9Plf
少なくともUP系は結構重いぞ。
確かにDrawPrimitiveはGPUコマンドを作成するだけだが、
Presentをしないという選択肢はありえないんだから
DirectDrawのBltみたいな気軽さでDrawPrimitive系の呼び出しは
やるもんじゃないだろ。
0778名前は開発中のものです。2006/10/21(土) 23:24:21ID:NV8Lshdx
いちいち後出しで恥の上塗りなんかしなくていいよ、みっともない。
0779名前は開発中のものです。2006/10/21(土) 23:38:33ID:ayJ9KzQY
DrawPrimitive佐賀
0780名前は開発中のものです。2006/10/21(土) 23:46:13ID:ayJ9KzQY
一番重いのは俺の体重
0781名前は開発中のものです。2006/10/21(土) 23:48:22ID:m+1yDL9S
知ったかはID:NV8Lshdxの方だと思う(俺はID:h4fJ9Plfではないが)

少なくともバッチ数によるCPU負荷のコストが尋常でないのは周知の事実だし、
commandBuffer(pushBuffer)のkick開始がPresentのタイミングと決まっているわけではない
(というか、一般的なドライバでは描画コールの度にkickは発生している)。
そもそも負荷のタイミングがどうこういう話ではなく、バッチにはコスト掛かるよってだけの話だし
見当違いも甚だしい

あと、反論があるなら>>778みたいな間抜けな勝利宣言ではない方法がお勧め
0782名前は開発中のものです。2006/10/22(日) 00:13:37ID:EaoxUskK
>一番重くなるのはPresentをした時
Presentコールしてから描画してるような言い方は止めてくれ
0783名前は開発中のものです。2006/10/22(日) 00:47:09ID:6qnIWxGe
あー、うぜ。
なんか意地になってどうしなきゃならない的なこという奴いるけど
DrawPrimitiveのコストなんて気にしないほうがいい。

これはDrawPrimitiveのコストがどうのこうのって問題じゃなくて、
まず、「仕様」ありきでしょ?って話。
で、作ってきゃわかるけど、ホントに描画が重くなってるときってこの辺最適化したって
重い動作が快適に変わることってほとんどない。

ぶっちゃけXファイルのポリゴンのオプティマイズ関数ぐらい無駄。
テスト環境だと数字だけ上がって華やかに見えるけど、実際のゲームだとデザイナの作る物が分かれすぎてて
最適化なんてほとんどきかねーから。
これは凝ってるモデルほど最適化が効かなくのはもはや宿命。
で、快適に動くシーンってのは誰がどんな描画方法でやったって大抵はいい速度で動いちまうもんだ。
変なことしないで普通にやりやすい方法で描画しろ。
0784名前は開発中のものです。2006/10/22(日) 00:50:25ID:68ueZeB5
>>773
>そうするとAGPメモリに展開されてVRAMデータと同じ速度でレンダリングが行われつつシステムメモリと同じ速度で書き込みできる。
大嘘もいい加減にしろ。
AGPメモリはメインメモリをビデオカード側から見えるようにマッピングするだけで、VRAMと同じ速度なんて持っていない。
ビデオカード側で頂点処理が出来るだけで、データはバスを超えて取りに行かなければならない。
頻繁に書き替えると言っても、その頻度が毎フレームとかいう状態でない限り、逆に遅くなる可能性すらある。

いつからAGPメモリがVRAMと同じ速度を持つようになったんだ?
0785名前は開発中のものです。2006/10/22(日) 01:09:37ID:5tDaX/On
>>783
DrawPrimitiveのコールで足ひっぱりのはGPUじゃなくてCPUなんだが・・・
基本的にGPUで足をひっぱるのはピクセルシェーダーだしな。

>>784
毎フレームデータ更新しないポイントスプライトがあるのかと・・・
何のためのD3DUSAGE_WRITEONLYなのかと。

実際のどこのメモリに配置されるからは完全にドライバ依存だし、
システムへの下りがない前提ならDMAでシステム>VRAMだけですむ様にも最適化されるだろ。
■ このスレッドは過去ログ倉庫に格納されています