【C++】 DirectX初心者質問スレ Part35 【C】at TECH
【C++】 DirectX初心者質問スレ Part35 【C】 - 暇つぶし2ch920:デフォルトの名無しさん
11/10/11 01:40:35.77
エフェクトライブラリをまた標準サポートしてほしいな。使いやすくして。

921:デフォルトの名無しさん
11/10/11 05:16:06.42
ごく一部の人間にはスルーする力がないのはよくわかった。

>>920
エフェクトライブラリはミドルウェアの仕事のような気もする。


922:デフォルトの名無しさん
11/10/11 09:08:09.49
それがXNAじゃないの?

923:デフォルトの名無しさん
11/10/11 10:37:43.60
エフェクトにD3DCreateEffectFromFile()を使えばいいって言うのが調べたら出たんだけど
よーわからん!なんか特定の拡張子のファイルを読み込めるのかな

924:923
11/10/11 10:40:26.52
調べたらシェーダを使うプログラムだった
.fxファイルがシェーダですね!

お手数おかけしました!

925:デフォルトの名無しさん
11/10/11 23:55:04.41
教えてエロい人。

ウィンドウ(フルスクリーンでない) + C++ + WIN32API + DirectX のプログラムで、
ウィンドウをデスクトップからはみ出るように動かすと、
はみ出た無効領域が再描画されない。ドラッグを解除すると再描画される。
どうすればドラッグ中でも再描画される?
他のウィンドウを重ねたり一度最小化したりするときは大丈夫。
ドラッグでディスプレイからはみ出させたときだけダメ。

926:925
11/10/11 23:58:17.70
sage忘れすまん。

描画周りの処理はこんな感じ。

while(1)
{
if(PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
{ // メッセージあり.
if(Message.message == WM_QUIT)
{
break;
}

DispatchMessage(&Message);
}
else
{ // メッセージなし. アイドル.
if(APPLICATION.MainLoop() == false)
{
break;
}
}
}

よろ。


927:デフォルトの名無しさん
11/10/12 00:03:47.00
ウィンドウプロシージャでWM_PAINTを捉まえてPresent()すればいい

928:925
11/10/12 01:02:08.92
やってみた。
画面が黄緑とピンクのポケモン現象みたいになったw

URLリンク(firestorage.jp)

わかりにくいかもしれないけど動画。
引きずり出すときは大丈夫だけど、引き戻すときにポケモン現象発生。
ちなみにL字型に黒くなってるのは正しい描画。

929:デフォルトの名無しさん
11/10/12 03:53:59.26
2枚のモニタでデバイスが異なっていたら当然そうなるし、
異なっているかもと言うことでするーしても当然そうなる。
ちゃんと2つのデバイスをつくって、個々で描画しないとだめじゃね?

うまくいくようになったら、最大4つのデバイスをまたぐことになるので
それも検討して下さい。


930:デフォルトの名無しさん
11/10/12 03:57:56.33
D&D中の描画が崩れて困るような状況が思い浮かばない

931:デフォルトの名無しさん
11/10/12 12:54:24.19
DirectX使うのにWM_PAINTでごにょごにょするとかあほだろ

932:デフォルトの名無しさん
11/10/12 13:16:56.88
931はゲーム用途以外頭になさそうだな

933:デフォルトの名無しさん
11/10/12 15:50:12.49
ドラッグ中のメッセージってNCHITTESTだっけ?
その間に描画処理をかませればいい気がする。
でも、描画処理が重い時は動作が詰まるよ。

934:デフォルトの名無しさん
11/10/12 18:27:17.61
       ┌┴────────┴┐
       │ フジテレビ・電通合同ネトウヨ対策本部 │
       └─────────┘
カタカタ ∧_∧      カタカタ ∧_∧       カタカタ∧_∧   
    < `∀´ > ネトウヨ涙目w < `∀´ > デモナンカムイミw< `∀´ > 花王ハ、カンケイナイダロウ   
   _| ̄ ̄||_)____     _| ̄ ̄||_)____    ___| ̄ ̄||_)___ バッカジャネーノ、ネットウヨw
 /旦|―||// /|  / .|―|l// /|  /  |―|l// /|
 | ̄ ̄ ̄ ̄ ̄| ̄| . |   | ̄ ̄ ̄ ̄ ̄| ̄| . |  | ̄ ̄ ̄ ̄ ̄| ̄| . |
 |_____|三|/  |_____|三|/  |_____|三|/
カタカタ ∧_∧     カタカタ∧_∧         カタカタ∧_∧  
    < `∀´ >k-popサイコー< `∀´ > フバイナンカムイミw< `∀´ > イヤナラミルナキャイイダケ  
   _| ̄ ̄||_)____     _| ̄ ̄||_)____    ___| ̄ ̄||_)___ コウサクインナンカ、イルワケナイダロウw
 /旦|―||// /|  / .|―|l// /|  /. |―|l// /|
 | ̄ ̄ ̄ ̄ ̄| ̄| . |   | ̄ ̄ ̄ ̄ ̄| ̄| . |  | ̄ ̄ ̄ ̄ ̄| ̄| . |
 |_____|三|/  |_____|三|/  |_____|三|/


935:デフォルトの名無しさん
11/10/12 23:11:30.95
描画が重いっつっても10FPSくらいで動いてるならウィンドウ操作も許容できるレベルじゃない?
そして、それ以下なら描画も死んでるし、ウィンドウ操作が糞でも諦めるだろ

936:デフォルトの名無しさん
11/10/13 01:03:31.32
描画は別スレッドにすれば良いだろ低脳

937:デフォルトの名無しさん
11/10/13 06:50:46.92
10FPSとかさすがにゲームとして成立しにくそうだ
標準で60FPS欲しくて、30FPSが最低ラインって感じ。

938:デフォルトの名無しさん
11/10/13 07:24:16.31
ジャンル次第かと。

939:デフォルトの名無しさん
11/10/13 11:02:58.37
>>937
>>938
ウィンドウをドラッグして移動させている最中の話だぞ?
ゲームとして成立するもクソもない気がするんだけど、
それで成立しないってどんなゲームなんだよw

940:デフォルトの名無しさん
11/10/13 18:35:19.17
>>931
DXUTではWM_PAINTでごにょごにょしてるみたいだけど
といってもこういう時用みたいだけど

941:デフォルトの名無しさん
11/10/13 20:42:27.54
ドラッグ時に描画とかうざすぎるだろ

942:デフォルトの名無しさん
11/10/13 22:35:00.09
速度とか気になってきたので、独自フォーマットに挑戦しようと思ったのですが、
モデリング後のデータを独自形式に変換するのに、どの方法が一般的に使われているのでしょうか?

1・Xファイルを読み取り、独自形式に変換する
2・モデリングソフトのファイルフォーマットを入手or解析して、それを独自形式に変換する
3・モデリングソフトのプラグイン機能で、独自フォーマットを吐き出すDLLを作成する


943:デフォルトの名無しさん
11/10/13 22:45:29.58
このあたりは自分も気になる。
是非教えてほしい。

944:デフォルトの名無しさん
11/10/13 23:33:53.32
>942
一般的な方法は知らないが
俺は3だね。モデリングソフトのSDK使うのが一番簡単。


945:デフォルトの名無しさん
11/10/13 23:43:48.24
状況によるんじゃないの

モデルだけなら、1が汎用的だし
アニメーション、物理なども含めるなら3だろうし
2は現実的ではないな

946:デフォルトの名無しさん
11/10/14 02:38:25.75
俺はColladaプラグインをカスタムしたので出力して
更にそのCollada ファイルから自作モデルとモーションにコンバートしてる
例で言うところの1と3の両方の変形だね
Xファイルはあんま知らないけどCollada なら中身ただのXMLだしいろんなカスタム情報のせれるから便利

で2はちょっとおすすめしないかな
バイナリ解析とか好きだけどエクスポートプラグイン作れるならそっちでやった方がいいと思う
ツールのバージョンアップにも耐えれるし

947:デフォルトの名無しさん
11/10/14 08:25:49.31
Sprite使ってて時間がたつと画面がぐちゃぐちゃになってくるんだけど
メモリリークかグラフィックカードが壊れてるのか何なのかわからないけど
Windows7でディスプレイドライバをリセットしましたとかって出るじゃない?
あれって自発的にリセットしたり出来るのかな?
いちいち再起動するのがめんどくさい

948:デフォルトの名無しさん
11/10/14 09:34:18.88
>>947
まずそのふざけたバグを直せ。
原因なんてデバッグランタイム使えば一瞬でわかるだろ。

949:デフォルトの名無しさん
11/10/14 14:13:11.16
いやそれがよくわからん
メモリリークかと思ってBeginSceneでSpriteをCreateして
EndSceneでReleaseするようにして確実にリリースするようにしてみたけど同じなんだよね
あとはテクスチャを1枚それでDrawしてるだけ
テクスチャはプログラム起動時に読み込んでるだけだから仮にメモリリークしててもあんま影響ないだろうし
グラフィックカードが壊れてるのかドライバのバグかなんかだと思うんだけど

950:デフォルトの名無しさん
11/10/14 14:58:37.02
馬鹿ほど自分のバグを疑わず、他人のせいにする。
他のサンプルやプログラムで同じ現象が起こっていないのなら、お前のバグだ。

951:デフォルトの名無しさん
11/10/14 15:10:54.54
だからデバッグランタイムつかえよ。

952:デフォルトの名無しさん
11/10/14 15:18:21.55
理由があってデバッグは使えない

953:デフォルトの名無しさん
11/10/14 15:27:05.18
いみがわからん

954:デフォルトの名無しさん
11/10/14 15:33:32.85
どんな理由だ?

955:デフォルトの名無しさん
11/10/14 16:39:19.32
デバッガのバグで、意味不明なエラーが出る

956:デフォルトの名無しさん
11/10/14 16:40:13.91
は?
コンパネから設定切り替えるだけだぞ。

957:デフォルトの名無しさん
11/10/14 16:49:01.12
>>955
エラー晒して。 省略するなよ。

>>942 
俺は同人で使ってて、メンバーが各自購入して別々のソフト使ってるという特殊な状況。
3が特定ソフト(場合によってはバージョンやx86/x64等にも)に依存するから、2を選択。
ほかのソフトからでも"エクスポート"とか"書き出し"で他社ファイルで出せたりするから意外に汎用的だったりする。
例[.ma] URLリンク(download.autodesk.com)

例外ではあるけど、こんなこともあるよ~ってことで。

958:947
11/10/14 17:14:51.64
DirectXはほとんど知らないんだけど、メモリリークしたくらいでBSOD出たりするもん?
ハード的におかしいよね?

959:デフォルトの名無しさん
11/10/14 17:26:45.49
>>958
まずはコード晒せよ
むしろどうやったらBSOD出るのか気になる

960:デフォルトの名無しさん
11/10/14 18:20:55.85
>>958
お前のコードがおかしいと言っているだろう。
本当に人の話を聞かない奴だな。

961:デフォルトの名無しさん
11/10/14 18:33:17.39
ブルースクリーンって未だに出るものなのか
最後に見たのはWin98時代だ

962:デフォルトの名無しさん
11/10/14 18:44:39.72
ウンコなソースかいてるとドライバクラッシュはなくもない

963:デフォルトの名無しさん
11/10/14 21:52:29.08
ドライバが問題ないとき、きれいなソースで落ちたことは一度もない
ドライバが腐ってると、きれいなソースでも落ちる。 その時は市販ゲームでもなんでも落ちる。


964:デフォルトの名無しさん
11/10/14 21:55:48.76
ハード問題でも落ちるぞ、とても不確定に起るハード問題もある。
と言うか俺のノートがそれ。たまに落ちる原因はたぶんハード。

965:デフォルトの名無しさん
11/10/14 21:58:00.89
ドライバもいっしょに固まるってことだろ
俺もあるな
頻繁に色数変えまくってたら画面が赤っぽく変色しちゃったことある
電源入れなおして起動するとだんだん赤くなっていって最期には真っ赤になってなんにも見えなくなっちゃうw

次の日になったら直ってた

後、負荷の高いシェーダを長時間連続運転してるとグラボからおかしい音がずっとなりやまないときがあった

これも次の日になったら直ってた

966:デフォルトの名無しさん
11/10/14 23:52:02.18
なんというか、このスレって馬鹿なレスほど積極的にかまってやるよな。

967:デフォルトの名無しさん
11/10/14 23:53:19.82
自転車置き場の議論ですよ

968:デフォルトの名無しさん
11/10/14 23:59:12.03
>>965
それはただの霊障だろ

969:デフォルトの名無しさん
11/10/15 00:29:47.25
もとの質問者はデバッグランタイムをデバッガーと勘違いしている。

970:デフォルトの名無しさん
11/10/15 00:35:46.06
でも俺も Win7 でデバッグランタイムが動かないから使ってない
古い SDK 使ってる俺が悪いんだけどな

971:デフォルトの名無しさん
11/10/16 13:10:59.11
DXUTをDirect3D11用に書き換えてみようかとCtrl+Shift+Hをポチポチやっていたけど俺レベルじゃ無理だなこれ。
stateblockのようなD3D10とD3D11の根本的な違い(?)も絡んできるみたいで、ここ(↓)だけじゃカバーしきれない。
Direct3D 11 への移行 URLリンク(msdn.microsoft.com)(v=vs.85).aspx

そもそも俺ができるくらいならとっくにMicrosoftから出てそう。大人しく次回のSDKを期待するしかないかな。

972:デフォルトの名無しさん
11/10/16 14:13:34.13
>>971
うちではリファレンスラスタライザでしか使えないから11は全く手を付けてないけど、
11のサンプルにもDXUTって入ってない?

973:971
11/10/16 15:12:14.11
>>972
ありがとうございます!!!
あああ…俺アホス…入ってますねDXUT11として!!
Microsoft DirectX SDK (June 2010)\Samples\C++\DXUT11 に思いっきり入ってました!
サンプルのうちTutorialしか見てなくて、Sample BrowserでD3D11絞り込んでDXUTを検索しても
ヒットしなかったのでてっきりないものだと諦めていました。が、思いっきりD3D11の各種サンプルでも使われてますね…
お手間を取らせてすみません、ありがとうございますすごく助かりました!

974:デフォルトの名無しさん
11/10/16 16:55:03.03
>>972
11にREFなど存在しないんだが、いったい何を言っているんだ?

975:デフォルトの名無しさん
11/10/16 21:45:02.43
>>974
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
D3D_DRIVER_TYPE_REFERENCE
リファレンス ドライバー。すべての Direct3D 機能をサポートするソフトウェア実装です。
リファレンス ドライバーは速度より精度を目的に設計されているため、低速ながら高精度です。
このドライバーのラスタライザー部分は、可能であれば専用の CPU 命令を使用しますが、製品版アプリケーションでの使用は想定されていません。
機能のテスト、デモ、デバッグ、または他のドライバーのバグの検証にのみ使用してください。
このドライバーは DirectX SDK によってインストールされます。
このドライバーは、REF ドライバー、リファレンス ドライバー、またはリファレンス ラスタライザーと呼ばれることもあります。

これ違うの?

976:デフォルトの名無しさん
11/10/16 23:43:57.79
>>975
うん

977:デフォルトの名無しさん
11/10/17 16:23:52.48
円や四角などを大量に描写するとブラシやペンで指定した色が付かなくなったりすることはあるのでしょうか?

978:デフォルトの名無しさん
11/10/17 17:24:00.56
ブラシ?ペン?

979:デフォルトの名無しさん
11/10/18 23:18:09.82
とても初歩的なでわかりづらい質問で申し訳無いのですが
「ゲームプログラマになる前に覚えておきたい技術」という本のサンプルコードが動きません
本に書いてある通りに設定しても実行しようとすると意味の分からないエラーコードが16個ほど出てきます
同じ症状を経験した事のある方がいらっしゃいましたら解決方法を教えて頂けないでしょうか

980:デフォルトの名無しさん
11/10/18 23:19:17.15
わかりづらいと自覚してるならちゃんと説明する努力くらいしたらどうだ?

981:デフォルトの名無しさん
11/10/18 23:22:59.86
>>979
出てきたエラーコードを一行一行読んで対応すればできますよ

982:デフォルトの名無しさん
11/10/19 00:08:02.96
そうはいかない場合もあるけど
初心者にはキツイんじゃないだろか?
初心者が読む本でもないしなにか別の本を探してみたらどうだろうか?

983:デフォルトの名無しさん
11/10/19 00:10:27.93
「意味の分からないエラーコード」だけで読んだ人が理解できると考えるような頭じゃ
本を変えたって結果は一緒だろ

984:デフォルトの名無しさん
11/10/19 00:13:37.42
まあ、とりあえずサンプルコードでエラーが出てくるのは回避してやれって感じだが・・・w
しかし、いきなり分厚い本かったな
なにかチュートリアル形式でその番号順に進めていくだけで何か作れるような本にしとけよ

985:デフォルトの名無しさん
11/10/19 00:16:51.11
今回は諦めます、失礼しました

986:デフォルトの名無しさん
11/10/19 00:19:03.71
つーかマルチポストだろこいつ
スレ違いなのにいろんなとこで同じ質問してるぞ

987:デフォルトの名無しさん
11/10/19 01:07:07.64
>>979
あの本はvc10を考慮してない気がするので、サンプルは諦めるんだ。

で、コンソールでもいいのでSinとCosでアフィン変換書いて点を回してみるんだ。
色々わかるから。

回転拡大縮小は男のロマンだ!(キリッ

988:デフォルトの名無しさん
11/10/19 15:01:05.42
ありがとうございます
ポリゴンの一枚絵くらいなら出せるのでサンプルコードを参考に自力で作りながら勉強してみます

989:デフォルトの名無しさん
11/10/19 15:27:35.10
vs2010用のをネットでダウロードできるじゃない
ここでsin cosアフィン変換が突然でてくる意味はわからんけど

990:デフォルトの名無しさん
11/10/19 19:17:40.30
>>989
荷物くんとか爆弾娘とかは、画面見て逆算すれば割りと作れるもんだ。効率は置いといて・・・。

しかし、拡大回転縮小は知らなければ推測では絶対わからん。
なので、アフィン変換楽しいのでやってみれと書いたのだぁ。
三角形回転すればシューティングとか夢膨らむよ。

っていうか、VC10用のサンプル出てたのか。

991:デフォルトの名無しさん
11/10/19 20:06:15.10

ゲームプログラマになる前に覚えておきたい技術
 本書CD-ROM収録のサンプルで動作がうまくいかない場合、以下の修正版をダウンロードしてお試し願います。
URLリンク(www.shuwasystem.co.jp)


992:デフォルトの名無しさん
11/10/19 20:31:48.50
>>990
座標変換なんて理系なら必修だろ
大学1年で間違いなく一度は証明させられる


993:990 忍法帖【Lv=1,xxxP】
11/10/19 20:57:50.29
工業高校卒で数2までしかやってない俺涙目。
しかも証明問題で正解したことがないっていう・・・。Orz

あー、そだ。そろそろ次スレの季節じゃないか?

994:デフォルトの名無しさん
11/10/19 21:15:54.80
ん?回転くらいなら高校数学の範疇じゃね??
数II + 数C かな?
三角関数は一番好きだったとこだから、Direct3Dも楽しいよ。

995:990 忍法帖【Lv=1,xxxP】
11/10/19 21:18:34.67
>>994
羨ましいぜ。=D

996:923
11/10/19 21:21:12.22
3次元の回転関数を高校でやってたら、その高校はとてつもない進学校だと言える
2次元の回転行列だったら普通

997:デフォルトの名無しさん
11/10/19 21:21:36.40
名前なおし忘れた死にたい

998:デフォルトの名無しさん
11/10/19 21:28:46.24
イキロ!!


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch