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

鬱だ氏のう DirectX (Part 6)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものでス02/10/07 01:00ID:???
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html  (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/   (Part 2)
http://game.2ch.net/test/read.cgi/gamedev/1005119775/ (Part 3)
http://game.2ch.net/test/read.cgi/gamedev/1016276254/ (Part 4)

コピペスマソ
0271名前は開発中のものです。02/10/27 21:55ID:mrhYFwGU
スプライト描画の時に、テクスチャより大きいサイズを指定すると、
その部分が、枠の色で塗りつぶされてしまいます。

これを、画像の繰り返しに変更する方法ってありますか?
キーワードでもいいので教えてください。
0272名前は開発中のものです。02/10/27 22:29ID:???
>>271
SDKヘルプ 「テクスチャ テクスチャフィルタリング」
0273名前は開発中のものです。02/10/27 23:26ID:mrhYFwGU
どうもありがとう。
0274名前は開発中のものです。02/10/27 23:27ID:???
sage忘れました。ごめんなさい。
0275名前は開発中のものです。02/10/28 00:13ID:???
まあ、
「テクスチャ ラッピング」の方だけどね
0276名前は開発中のものです。02/10/28 01:05ID:liEtuJz8
ポリゴンに貼り付ける方法でやってみたら、それっぽいのが出来ました。
ただ、2Dで十分なので、スプライトでやりたいのですが…それはないのですか?
0277名前は開発中のものです。02/10/28 01:19ID:t4ureGZv
フルスクリーンでデバッグ時にうっかり不正な処理でハングさせると操作不能になりますよね。
このとき、VSを強制終了して復帰させるのですが、もっとスマートな方法はないんですか?
0278名前は開発中のものです。02/10/28 01:27ID:1Tubv01s
D3DXVECTOR3 pt[100][100]がありまして
pt[y][x] = D3DXVECTOR3(x,y,0)で初期化して作った四角形を
簡単に表示するにはどうすればいいのでしょうか?
D3DPT_TRIANGLESTRIPに当てはめる為に
DrawPrimitiveUPでコツコツ書くしか無いんですか?
0279名前は開発中のものです。02/10/28 01:27ID:???
>>277
リモートデバグしる!
ヘルプに「フルスクリーンアプリケーションのデバッグ技法」ってのが載ってる。
0280名前は開発中のものです。02/10/28 01:30ID:liEtuJz8
>>278
めっしゅめっしゅめっしゅ
0281名前は開発中のものです。02/10/28 01:40ID:1Tubv01s
>>280
頂点4つの四角形作ってテッセレートするんですか?
分かりやすくと思い(x,y,0)と書いたのですが
実は(x,y,rand()%50)ぽい四角形なんですが、
それでも出来ますか?
0282 02/10/28 05:41ID:???
>>278
「簡単に」ってのがどんな簡単さなのかよくわからんのだが、
pt[100][100]→カスタム頂点フォーマット の変換で
1個の点が複数のポリゴンで使用されてて無駄が多くてイヤ。ってなら
インデックスバッファ使えばイイんでないのか?
0283名前は開発中のものです。02/10/28 07:28ID:???
>>278 = 四角ポリゴンがないのが信じられん!世も末!と憤慨する人
0284名前は開発中のものです。02/10/28 12:05ID:???
>>266
typedefにしろ
0285工房初心者02/10/28 16:00ID:3IbZcUWO
VC++6.0でdiectx8の初期化のプログラムをビルドさせたら

t1.obj : error LNK2001: 外部シンボル "_Direct3DCreate8@4" は未解決です
Debug/cdq63_test1.exe : fatal error LNK1120: 外部参照 1 が未解決です。

というのがでた。これは何?
0286名前は開発中のものです。02/10/28 16:08ID:uvHswAPY
リンクが必要なライブラリを指定してない
0287名前は開発中のものです。02/10/28 16:12ID:???
プッ
0288工房初心者02/10/28 16:23ID:3AR3oMdu
スマソ
再インストしててわすれてますた
0289名前は開発中のものです。02/10/28 16:29ID:???
>>288
CUIでコンパイルしてると起きにくいミスだね。
ビルドの過程を頭の中で大雑把にイメージするようにしてごらんよ。
正しくなくても整合性が取れていればOK。
0290名前は開発中のものです。02/10/28 17:43ID:???
DirectX8以降でVSync待つ関数ってありません?
DirectDrawのWaitForVerticalBlankみたいなの
0291名前は開発中のものです。02/10/28 17:57ID:???
>>290
デバイス作成時に無視するように設定していなければPresentで勝手に待ちます
0292名前は開発中のものです。02/10/28 18:10ID:???
>>291
どうもです
やっぱりPresentの時にタイミング覚えるしかないかぁ
0293名前は開発中のものです。02/10/29 08:56ID:???
V-Sync信号待ちのメソッドではないんだが
IDirect3DDevice8::GetRasterStatus( ) で走査線の現在位置が
取得できるので、WaitForVerticalBlank( )の代用にはなるだろう。
 
もっとも、DirectX8の場合はウィンドウモードだろうとフルスクリーンモード
だろうと、DirectXにV-Sync待ちしてから画面更新するように
指定できるようになったので、あえてGetRasterStatus( )を使う
機会はほとんどないかもしれんけどね。
0294名前は開発中のものです。02/10/29 08:58ID:???
実際、漏れはこんな感じでやってるが、無茶苦茶ラクで問題もなし。 
IDirect3D8::CreateDevice( ) で指定するパラメータは
 
D3DPRESENT_PARAMETERS.Windowed  = TRUE  (ウィンドウ  モード)のとき
D3DPRESENT_PARAMETERS.SwapEffect = D3DSWAPEFFECT_DISCARD。
D3DPRESENT_PARAMETERSの他のメンバはデフォルト(ゼロ)のまま。
 
D3DPRESENT_PARAMETERS.Windowed  = FALSE (フルスクリーンモード)のとき
D3DPRESENT_PARAMETERS.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC。
D3DPRESENT_PARAMETERSの他のメンバはデフォルト(ゼロ)のまま。
 
これで IDirect3DDevice8::Present( )時にV-Sync待ちをしてくれる。
(※一部の超マイナーな骨とう品ビデオカードを除けば)
0295 02/10/29 09:01ID:???
ageとくか。
0296 02/10/29 09:12ID:???
スマン。ちょっとド忘れしてて少し嘘を付いちまった。

思い出したことは、
ウィンドウモード時にIDirect3DDevice8::Present( )に
V-Sync待ちを任せると、環境によっては満足いかない結果に
なるかもしれん。てこと。
 
そゆときは、しょうがないから自分でタイミングを測って
Present( )するしかないだろうね。DirectX7以前の頃と同じ。
0297名前は開発中のものです。02/10/29 14:23ID:???
>>294
なんでD3DSWAPEFFECT_COPY_VSYNCなんてパフォーマンスの悪いの使うの?
D3DSWAPEFFECT_FLIPの方がパフォーマンスは良いし、VSYNC待ちもするよ。
あと、D3DSWAPEFFECT_COPY_VSYNCはVRAMも余計に消費する。
(D3DSWAPEFFECT_COPY_VSYNCはコピーしてからFlipする)
029829402/10/29 15:03ID:???
>>297
ん。スマン。
D3DPRESENT_PARAMETERS.Windowed の部分がアベコベ。
これで納得してくれたか。
0299名前は開発中のものです。02/10/29 15:25ID:???
>>297
それはフルスクリーンの時の話なの?
それともウィンドウモードのときの話なの?
0300名前は開発中のものです。02/10/29 15:38ID:???
>>297
>(D3DSWAPEFFECT_COPY_VSYNCはコピーしてからFlipする)
また適当なことをいう知ったかが発生してるよ
二回PresentしたあとにそれぞれDC経由でウインドウに描画してみればフリップが発生していないことが分かる
裏になっていれば片方は表示されないはずだが両方ともきちんと出る
0301名前は開発中のものです。02/10/29 16:41ID:eWrxqCn0
メッセージポンプって別スレッドにすることできないのだろうか……
0302名前は開発中のものです。02/10/29 18:41ID:???
>>301
できるよ。
でもややこしい&複雑&面倒、

やねうらおがYANESDK2ndで挫折してた気がする。
だけどだれかやってるのとソースを見たことがある。
0303名前は開発中のものです。02/10/29 19:20ID:72W8qWmd
>302
見た。情報ありがとう。
Winで用意されているクラスを使うのが適当かと。
出来れば自前で書きたいんだけどね。
030429702/10/30 01:04ID:???
>>300
うちではD3DPRESENT_INTERVAL_IMMEDIATEを指定しないとFlipするぞ。
ちゃんと確認してあるよ。
このあたりの動作はドライバ依存かもしれないが。

ちなみにD3DSWAPEFFECT_COPYはPresentしてもバックバッファの内容が変化
しないことを保証するフラグで、フロントバッファをBltで更新するという
意味ではない。
0305名前は開発中のものです。02/10/30 04:41ID:???
>>297
>>304

>298 :294 :02/10/29 15:03 ID:???
> >>297
> ん。スマン。
> D3DPRESENT_PARAMETERS.Windowed の部分がアベコベ。
> これで納得してくれたか。


>299 :名前は開発中のものです。 :02/10/29 15:25 ID:???
> >>297
> それはフルスクリーンの時の話なの?
> それともウィンドウモードのときの話なの?
030629702/10/30 05:42ID:???
>>305
そんな事は分かってる。297はアベコベの状態へのツッコミ。
299には294を読めと言っておいてよ。
030730502/10/30 08:17ID:???
>>297
>>304
>>306
いや、そうでないと
君が>>304で言ってることの意味が全く通じないんだが。
はっきり言及してくんねぇ?(簡単な話だろ)
 
フルスクリーンモードの話なのか。
ウィンドウモードの話なのか。
それとも両方の話をしてんのか。
0308名前は開発中のものです。02/10/30 10:19ID:???
どーでもいい
ヘルプ嫁ば詳しく書いてある。そこに書いてない仕様は君らの妄想。

まともに描画エンジン作るなら、D3DSWAPEFFECT_DISCARDだろでいいだろ。
時間管理はVSYNCがどうであっても綺麗に動くように作っとけ。
というかその部分で手抜きなのをSwapEffectでどうにかしたいだけじゃねえか。
0309名前は開発中のものです。02/10/30 11:08ID:???
あえてD3DSWAPEFFECT_FLIPを持ち出した奴の意図が分からん。
0310名前は開発中のものです。02/10/30 20:46ID:JTrX3m8I
テクスチャを張った四角形のポリゴンをDrawPrimitiveでループ中で描いているのですが、
for(int i=0;i<10;i++){
for(int j=10;j>0;j--){
//iをX座標、hをZ座標と見てDrawPrimitive
}
}
こうやって同じポリゴンを座標ごとにかいていきました。
すると描画されるテクスチャのZ座標は自然なのですが、座標が右にいけばいくほど、新しいポリゴンが以前に描いたポリゴンに重なってしまいます。
これを回避するにはどうすればいいのでしょう。
0311名前は開発中のものです。02/10/30 21:38ID:???
>//iをX座標、hをZ座標と見てDrawPrimitive
h君がいません
0312名前は開発中のものです。02/10/30 21:39ID:JTrX3m8I
ひとつ左にキー間違えました。続きをおねがいします。
0313名前は開発中のものです。02/10/30 21:54ID:JTrX3m8I
あらら?
D3DXMatrixPerspectiveFovLH(&m_matProj,64.0f * 3.1415f / 180.0f ,1.0f,0.000001f,50.0f);を
D3DXMatrixPerspectiveFovLH(&m_matProj,64.0f * 3.1415f / 180.0f ,1.0f,1.0f,500.0f);
にしたらなおっちゃった!いやーすまそ!
0314名前は開発中のものです。02/10/31 01:41ID:6X+8XPW4
よくわかんないけどZバッファの精度が足りなかったってこと?
といいつつageる
0315名前は開発中のものです。02/10/31 01:46ID:???
>>313
射影変換について勉強しる
0316名前は開発中のものです。02/10/31 03:11ID:aqEn0QVg
ヘルプの「射影テクスチャを実行する」って部分は、
メッシュにテクスチャを投影するようなことですよね。
ヘルプでは具体的な行列の例を挙げるのを避けてやがるんですけど、
具体的にどういう行列なんでしょう?
0317名前は開発中のものです。02/10/31 04:20ID:???
cgi3.tky.3web.ne.jp/~tkano/stained.shtml
↑参考資料
0318名前は開発中のものです。02/11/01 13:45ID:???
 質問させてください。DX8のサンプルプログラムで、Windowモードの時にメニューが
ありますよね。そのサンプルをFullScreenにして、再びWindowにすると、メニューが
消えてしまいます。
 どうやらd3dapp.cppの中のCD3DApplication::AdjustWindowForChangeで呼び出している
SetMenu が失敗しているようなのですが(GetLastErrorの戻り値は0x579)、原因が
分かりません。GetLastErrorの戻り値をFormatMessageに渡してみたのですが、全然
文字列が帰ってこないし(FormatMessageを使うのは初めてなので、使い方が悪いかも
しれません)。
 どなたか、原因と対策をご存知の方がいらっしゃいましたら、教えていただけませんで
しょうか?
0319名前は開発中のものです。02/11/01 14:35ID:???
>>318
DirectXは関係ないよ。
SetMenu()の返り値が以前のメニューのハンドルなんてMSDNには書いてないね。
GetMenu()でメニューのハンドルを取得してから削除すればOK。

m_hMenu = (HMENU)SetMenu( m_hWnd, NULL );

   ↓

m_hMenu = (HMENU)GetMenu( m_hWnd );
SetMenu( m_hWnd, NULL );

これくらいピンときてね(・∀・)
032031802/11/01 15:23ID:???
 ご指摘の個所を修正したら、ちゃんとメニューが出るようになりました。
というか、目の前にある間違いに気づけなかった自分に赤面、穴があったら
入りたい気分です……。

 本当にありがとうございました。
0321名前は開発中のものです。02/11/02 04:26ID:???
DirectXを使ってCGIを動かしたいんだけど、対応のサーバってありますか?
0322名前は開発中のものです。02/11/02 08:52ID:???
DirectXのどの機能をCGIに使うつもりなのですか?
0323名前は開発中のものです。02/11/02 11:12ID:3acNjFb9
指定した座標がそのまま2Dで画面にうつるような3Dの座標軸のとり方ってありますか?

たとえば、
v.x = 300;
v.y = 200;
v.x = 0;
などとして頂点座標を記述すると、画面の
(300, 200)の位置に表示されるような座標軸と視点をとりたいのです。
0324名前は開発中のものです。02/11/02 11:19ID:???
>>323
D3DFVF_XYZRHW
0325名前は開発中のものです。02/11/02 11:55ID:???
>>324
どうも。
0326名前は開発中のものです。02/11/02 13:39ID:???
>>321
CGIってComputer Generated Imageのこと?
それともCommon Gateway Interfaceのこと?
0327名前は開発中のものです。02/11/02 13:41ID:???
サーバーって言ってるから後者だと思う
0328名前は開発中のものです。02/11/02 19:25ID:???
とりあえず>>321はまず、DirectXをCGIに使って何をするつもりなのか答えるように
0329名前は開発中のものです。02/11/02 19:43ID:tqgG6cJg
dx以上にVC7に挫折しそう
慣れた道具が使いやすいの〜
0330名前は開発中のものです。02/11/02 20:29ID:???
サーバーサイドレンダリング
0331名前は開発中のものです。02/11/02 21:16ID:???
Windows2000以降のOSがWEB鯖になっているなら利用可能
0332名前は開発中のものです。02/11/02 22:16ID:???
>>330
そんなことができるようになるのって何年先の話だろう?
インターネットにつなげればPCでもケータイでも電子レンジでも
3Dゲームができるのかな?
0333名前は開発中のものです。02/11/02 22:30ID:???
>>332
意味が分かっていない馬鹿発見!
0334名前は開発中のものです。02/11/02 22:46ID:???
>>333
バカでいいから、どこらへんの意味を理解していないか教えてください
サーバーサイドでレンダリングするんでしょ?違うの?
0335名前は開発中のものです。02/11/02 23:01ID:???
レンダリング結果を返すだけなら
携帯レベルでも何の問題も無いのに何を勘違いしているんだ?
頭が固すぎ
0336名前は開発中のものです。02/11/02 23:31ID:???
cgiがDBからデータを引っ張ってきてHTMLに変換するのもレンダリングの一つだわな
0337名前は開発中のものです。02/11/02 23:37ID:???
>>335
いや、だから、ダム端末(とその類似品)で可能なのはわかるけどさ、
サーバーが追いつかないってことだよ
そんなに能力の高いサーバーに帯域が現時点でございますか?
(現在は数値データの処理だけでラグだのさばダウンだの問題があるじゃん)
まあ、並列処理の出番だとは思うけど、現時点で何台のサーバーが必要なのか

別釣るわけじゃないけど、私って本当に頭固いの?
0338名前は開発中のものです。02/11/02 23:48ID:???
>>337
硬い、とてつもなく硬い

>サーバーが追いつかないってことだよ
誰も何も言っていないに勝手に時間当たりのヒット数を途方も無い数字で妄想しているだろう
もしくはソースデータにとんでもないポリゴン数を勝手に妄想
レンダリングしてその結果を返す、それだけしか話が出ていないんだぞ

>まあ、並列処理の出番だとは思うけど、現時点で何台のサーバーが必要なのか
妄想もそこまで逝くと病気
0339名前は開発中のものです。02/11/02 23:52ID:???
携帯電話ぐらいの画面ならFOMA(藁使えばできなくもないかも
0340名前は開発中のものです。02/11/03 00:05ID:???
>>338
現時点でそういうことをやっているシステムが存在するのでしょうか?
存在するのなら教えてください
「レンダリングしてその結果を返す」それだけでも十分に重いと思います
実用の範囲内で動作させるのはどう考えても不可能では?

>勝手に時間当たりのヒット数を途方も無い数字で妄想しているだろう
一ユーザーあたり一秒間に20回は送信させないとゲームにならないかと
え?20FPSじゃなくて静止画ってことですか?
だったら何で「DirectX」なの?

>もしくはソースデータにとんでもないポリゴン数を勝手に妄想
ポリゴン数よりもむしろメモリ帯域が問題では?
こういうことをやろうとしたとき、一番のネックでしょ
ビデオメモリ→システムメモリは当然のことながら
システムメモリ自体が遅すぎる

関係ないけど、妄想って言葉好きですね
妄想って根拠の無い推論のことなんですが・・・
0341名前は開発中のものです。02/11/03 00:30ID:???
DirectPlay関連で聞きたかったんじゃなかろうか

>>ネットワークレンダリング
そういう商売やってるとこもありますね
リアルタイムじゃないけど

ちなみに帯域で言うならビデオチャットやライブカメラを見る限り大丈夫では?
0342名前は開発中のものです。02/11/03 00:52ID:???
現時点では...って

時代に取り残される人の典型ですなこりゃ

> え?20FPSじゃなくて静止画ってことですか?
> だったら何で「DirectX」なの

OpenGLだったらこのシトはナットクしてたんだろうか・・・
0343名前は開発中のものです。02/11/03 01:01ID:???
>>341
ビデオチャットやライブカメラはP2Pなんじゃ・・・
たとえサーバークライアントだったとしても少人数だし
ネットワークレンダリング(こういう名前でしたっけ?)は知ってるけど、
リアルタイムなんて現時点では不可能なのでは

>現時点では...って
>時代に取り残される人の典型ですなこりゃ
商売は時代に取り残されても失敗しますが、
時代の先を見すぎても失敗します
「現時点では不可能」これの何が悪いのでしょう・・・
論理的に説明してほしいです

>OpenGLだったらこのシトはナットクしてたんだろうか・・・
言葉尻を捕らえないで・・・でもまあ納得したでしょうね
だってOpenGLはもともとリアルタイム性を考慮していなかったから

みなさん、ただ私を非難するんじゃなくて
反論してください、でないと何も得るものが無いです
非難と反論の違いはわかりますよね?
0344名前は開発中のものです。02/11/03 01:32ID:???
グラフィックボードの替わりになるわけないだろヴォケ
ちょっと計算すれば解ることまで説明せにゃならんのかよ
話の前提が違いすぎる
0345名前は開発中のものです。02/11/03 01:46ID:???
何を議論したいのかわからん。

可能性を否定したいだけ?
それとも可能性のある方法を探りたい?
034634302/11/03 02:11ID:???
>>344
そう、それが言いたい
034734302/11/03 02:22ID:???
>>345
私は可能性のある方法を探りたい

>>338
第一、サーバーにレンダリングしてもらうなんていうのは
光の速度が「遅すぎる」せいで明らかに現実的ではないはず
(どうせ言っても理解してくれなさそうだから言わなかったけどね)
どんなにPCが進化しても(今のままの通信・コンピュータの構成では)
光の速度のせいで空間的な制約を受ける
妄想妄想と非難をする前に情報と物理について学んでほしいものだ
硬い硬いと言うけどね、この宇宙に住んでいる限り
宇宙の法則に縛られて生きなきゃいかんのだよ
はっきりいって、光の速度とかノイズとか回路の応答速度とかの問題って絶望的だよ?
絶望的な中で何とかしようとしてるのに、それを頭が固いなどと言われては・・・
0348名前は開発中のものです。02/11/03 03:07ID:???
問題なのは光でなくインターネットの仕組み
ターンアラウンドタイムが長すぎると一文で済むんだから
わざわざバカにしたような長文返さなくていい
それからP2Pかどうかはこの場合関係無い
ちなみにライブカメラはCS、ビデオチャットはP2P(商用エロビデオチャットはCS)が主流
0349名前は開発中のものです。02/11/03 04:24ID:3BaP/5EM
質問させてください。

画像A,B,Cを合成しながら描画したいのです。
画像Aは背景で、B,Cはオブジェクトです。

このとき、B+Cを描画したいのですが、加法合成で描画をすると、
A+B+Cとなってしまいます。
かといって最初にAを描画しないわけにもいかず、どうしたらいいか分かりません。
どうすればいいのでしょうか。
0350名前は開発中のものです。02/11/03 05:31ID:???
>>348
「インターネットの仕組み」って、
何か解決法があるかのような言葉に聞こえますけど。
0351名前は開発中のものです。02/11/03 06:04ID:???
>>350
解決できない原因がそこにある、とも読めるな。
035235102/11/03 06:12ID:???
俺は何言ってるんだろう…スマソ寝る
0353名前は開発中のものです。02/11/03 06:40ID:???
加法合成?
0354名前は開発中のものです。02/11/03 07:36ID:???
>>349
(1)テクスチャにBとCを描画(加算合成)
  ↓
(2)フレームバッファにAを描画
  ↓
(3)フレームバッファに(1)のテクスチャを描画
035535402/11/03 07:46ID:???
× フレームバッファ
○ バックバッファ
035633002/11/03 09:23ID:???
>サーバーサイドレンダリング
適当にレスったらすごいことになってますた。おはようございます。
以下妄想
クライアントはDirectPlayにDirectInputをアタッチ
あとはストリームビデオ再生。
全ゲーム共通クライアントのできあがり。こんなかんじです。
0357名前は開発中のものです。02/11/03 14:09ID:???
>>330=>>356
その前に
君は>>321と同一人物でないということを
先に断っておいたほうがいいんじゃないのか。
035834302/11/03 14:59ID:???
>>348
あ、すみません、二つの視点からの反論が交錯しているのでわからなかったかも
・サーバーの処理能力が足りない
・ターンアラウンドタイム(つまりはレスポンス)が長い
ということで、P2Pは上方の意見
光速の限界は下方の意見です
ところでインターネットの仕組みが原因ということならば
待時系でなく即時系なら(サーバーの能力如何で)可能性はあると言うことですか?
0359名前は開発中のものです。02/11/03 15:24ID:J+IbtFrh
光速?帯域じゃなくて?
0360名前は開発中のものです。02/11/03 16:14ID:???
しょぼい質問だけどいいかな?
すふぇあマッピングってバーテックスシェーダー使って自分で組むしかないのかな?
0361 02/11/03 17:09ID:???
議論になってないですYO!
CGI+DirectXが可能かと問われれば可能である。

・一般的な用途としては負荷・応答性等の問題より実用的でない。
  他の技術を使った方がイイ
・非常に特殊な条件・用途の場合には有用な可能性がある。
はおんなじコトでしょ。

343氏は可能性を探りたいならさ、まずどんな用途に適してるか考えてみたら?
応答性や処理速度がどんだけ必要かってのは、条件や用途によって決まるものでしょ
前提とする条件も用途も決めずに、遅いとか負荷がどうのトカ言っても意味ないよ。
0362名前は開発中のものです。02/11/03 17:26ID:???
ネタ質問だとおもう…
0363名前は開発中のものです。02/11/03 17:32ID:???
>>360
DirectX SDKのSamplesの下にソースがあるよ
最初はなんでそうなるか分からなかった・・・

結局自分で一度作っちゃったヨ
0364名前は開発中のものです。02/11/03 17:43ID:3BaP/5EM
テクスチャラッピングで繰り返し描画した方が、同じ回数だけ自分で
描画するより早いのはどういう原理なのですか?

同じように、同じオブジェクトを、好きな座標にいっぺんにたくさん描画する
方法ってありますか?
ブロック崩しのボールを分裂させて500個とか高速に描画させたいのですが、
全部自分で書くと遅くなってしまいます…
0365名前は開発中のものです。02/11/03 17:51ID:???
>>364
>早い
塗る面積が同じなら、送る頂点の個数の差でしょうね。

>500個とか高速に
??何と比べてるのか分からない。
0366名前は開発中のものです。02/11/03 18:00ID:???
CGIとの組み合わせねぇ。
どこにでもあるようなCGI利用可能なWEBサービスを
前提にしてるんだろ?
セッション毎の接続時間や負荷に制限もあるだろうから
あまり派手にアクセスするような用途には不向きだな。
  
・最高得点データの共有
・ユーザ管理
 
せいぜいこんなものか。
036736002/11/03 18:07ID:???
>>363
DX8から固定機能のすふぇあマップって無くなったのかな?
前のバージョンにはあったような気がしたんだが。
シェーダーまだ勉強してなんだよね…
036836302/11/03 18:15ID:???
そういえばあった気がする(^^;
頂点シェーダの勉強したかったので見てません>固定機能
スマソ
036936402/11/03 18:23ID:???
>>365
頂点の個数の差だけなんですか?
たとえば、背景画像に、640x480のbitmapを一枚貼り付けるのと、
32x32のテクスチャをラッピングで20x15個分貼り付けるのでは、
貼る面積が同じなのに、後者の方が桁違いに速いですよね。

それの理由と、それを利用して、32x32の大きさのテクスチャを、自分の好きな位置に
20x15個高速に貼り付けることは可能かを知りたいのです。

何と比べているかというと、
1. 32x32のテクスチャを20x15個貼り付ける速さ
が、どうにかして、
2. 32x32のテクスチャを1個貼り付ける速さ
にならないかということです。
0370名前は開発中のものです。02/11/03 18:30ID:???
取りあえずウインドウモードで作成してるんですが、
ウインドウのサイズが変わったときにどんな処理をしたらいいのでしょうか?
そのままだと、元画像がただ引き伸ばされるだけなので。
サンプル見たんですが、どうもデバイスごと作り直しているような…
実際どうなんでしょうか?
0371名前は開発中のものです。02/11/03 18:36ID:???
引き伸ばされるように描画しているからそうなるだけ
■ このスレッドは過去ログ倉庫に格納されています