【C++】 DirectX初心者質問スレ Part5 【C++】
というか今現在出版されてる書物で最新のDirectXの仕様に対応してる奴ってないよな?
SDK付属のドキュメントも日本語版は古いままだしなぁ。
そりゃ最新の仕様が出たのが8月だしな
一番古いのがシェーダプログラミング
とか書いてあるし
どのみち後ろの二つで先に基礎を学ぶことになるのでは
DirectX SDKのチュートリアルに当たる部分に仕様変更なし
>> パフォーマンスの低下を招くことは間違いないようなので、正方形にします。
>現在テスト可能な環境、SavageIX、G200、G400MAX、Radeon9600Proで、
>トランスフォーム済み頂点で1024×512のテクスチャを640×480に切り出して
>ひたすら描画するだけのテストをしてみましたが、
>512×512を二枚使って二回描画した方がパフォーマンスが落ちてしまいました。
>
>間違いないと断言されていらっしゃるので、何らかのテストされたのだと思いますが、
>具体的にどの製品でどのような描画の仕方でパフォーマンスの低下が確認できたのでしょうか?
2回レンダしたら遅くなるの当たり前だろ知障
2048*1024と1024*1024から640*480だけ抜いて比較しろよ染色体異常者
おこったごーん
>>956 2048にする意味がわからんのだが、
そもそも1024*512と512*512二枚とどっち使うかという話だったんでは?
俺は素直に1024*512使うが。
>>958 あいつは正方形のほうが速いということに反応し、
512*512*2と1024*512で比較したんだよな?
正方形が速いという話はテクスチャ1枚のことであって、
2枚と1枚を比較してる時点で頭おかしいだろ?
640*480で正方形と長方形を比較するなら、
これがすっぽり収まる2048*1024と1024*1024だろ?
元々の512*512*2と1024*512の話は別で、
どれぐらいの大きさまで使えるのか聞いてただけだろ?
>1024×1024ぐらいのサイズのテクスチャはたいてい作れます。
>ただ、なしさんが言われたようにパフォーマンスは保障されません。
>工夫して、無駄をなくすことを心がけましょう。
>例えば、よく使う640×480や800×600の背景などは、実は512×512のテクスチャ2枚の中に納まります。
>これだけで、1024×1024のテクスチャよりも半分節約できます。
こいつがそもそも頓珍漢
同一人物か?
962 :
デフォルトの名無しさん:2005/09/19(月) 18:53:37
つーか、
>>956ってどこへのレスなんだ。
アンカーぐらいちゃんと使ってくれよ。
963 :
デフォルトの名無しさん:2005/09/19(月) 19:08:31
今c++を勉強してるんだが、掲示板みてるとJAVA
の方が主流?そこで質問
C VS JAVA
使いやすさ、流通度、就職や職場ではどちらが使われているか
の点から意見求む。
>>963 スレタイも読めない人には教えられません。
というか先に日本語勉強しましょう
>>963 C++とDirectXが主流ですよ
使いやすいし、これ以外流通してない
JAVAは趣味程度なのかな?
ここの板みてるとJAVAが多いような気がする。
967 :
デフォルトの名無しさん:2005/09/19(月) 19:43:29
何故BBXの話題がここで?
わざとJavaの話題を出して、C++使いにJavaを叩いてもらいたい、
よくある厨のパターンですか。
970 :
924:2005/09/19(月) 22:31:17
924です。
相変わらず解決しません。
MPEG1, AVIは問題なくデバッグ可能ですが、MPEG2だけだめみたい。
(作りたいのはMPEG2なので、他のフォーマットが再生できても)
アドバイスをお願いします
MPEG2だからじゃね?
D3DXPlaneFromPointsに指定する頂点の順番は
時計回りでよろしいでしょうか?
973 :
デフォルトの名無しさん:2005/09/20(火) 00:03:28
test
このスレを埋めたいと思うのは俺だけだろうか?
埋め
そろそろ次スレ
>>972 時計回りなら平面の法線(a,b,c)が上、逆なら下になるわ。
(v2-v1)と(v3-v2)の外積(の正規化ベクトル)ね。
平面の式としては同じだけど、
平面の向きが関係する関数(D3DXPlaneDotCoordとか)では
結果が変わってくるみたいね。
とりあえず法線が上になる時計周りにしておけばいいわ。
D3DXPlaneFromPointNormalってのもあって、こっちの方がわかりやすいかもね。
979 :
974:2005/09/20(火) 00:30:41
親切な解説どうもありがとうございました。
こういうドキュメントに載ってないのは、やっぱり
実験実証なのでしょうか。て、それしかなさそうですね。
面倒くさがりな自分....
サービスプロバイダとポートだけ設定して
hr = lpDirectPlay8Peer->Connect(&dpnAppDesc, prgHostAddr, prgDeviceInfo,
NULL, NULL, NULL, 0, NULL, NULL, NULL,
DPNCONNECT_OKTOQUERYFORADDRESSING | DPNCONNECT_SYNC);
if(FAILED(hr)) {
//エラー処理
return;
}
として実行したらIP入力ダイアログに何を入力してもエラー処理に行かないで
ダイアログが再度出てくるのですがDPNCONNECT_OKTOQUERYFORADDRESSINGっていうのは
そういう仕様なんですか?
キャンセルしてもダイアログがまた出てくるから強制終了しか出来ないorz
981 :
980:2005/09/20(火) 02:49:18
あー、DirectPlayのサンプルを試したらちゃんとエラー処理に行ってるなぁ。
どこで何間違えてるんだろう…orz
埋め
後17
次たってないのに梅んな
>>982 IPアドレスはコーディング段階では未入力で
実行時にDPNCONNECT_OKTOQUERYFORADDRESSINGによって作成されたダイアログに入力してます。
適当な数字、文字列、ポートを指定せずにIPを入力してOK、もしくはキャンセルを押した場合は
即座にIP入力ダイアログが再出現します。
127.0.0.1:2345などの形式で入力した場合は、接続試行をした後再度ダイアログが出ます。
>>986 DirectPlayのサンプルが、きちんとエラー処理に飛んでるなら、
絶対どこかに違いがあるはず。
ほんの些細な事でもいいから具体的な違いを見つけ出すしかないかと
988 :
980:2005/09/20(火) 09:59:30
>>987 原因が判明しました。
bool OnConnect () {
//省略
hr = lpDirectPlay8Peer->connect(...);
if(FAILED(hr)) {
MessageBox(NULL, "接続失敗", "ERROR!", MB_OK | MB_ICONWARNING);
return false;
}
としているのですが、このOnConnect()が誤ってループの中に書かれているというお約束のミスでしたorz
お騒がせしました。申し訳ないorz
次スレよろしく
それにしてもなんで【C++】なんだろw
【C++】【C♯】ならともかく何で【C++】を2つ書く必要があるのかってのは前から思ってた
おまじない
結界張ってんだよ
C++ってしーぷらぷらって読むよりしぽぽって読むほうが楽しいよ、ね?
ume
@2ハァハァ
1000は俺が取る!
誰かが1000を狙ってる余寒
俺が1000だ!!!!!!!!!1111111111111111111
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。