【C++】 DirectX初心者質問スレ Part13 【C】

このエントリーをはてなブックマークに追加
387デフォルトの名無しさん
全然詳しくないので質問させてください。
仕事全然できない派遣クンが
「DirectXがプログラムどおりに動かない原因を調べるのは僕の仕事ではありません。」
と言っています。
原因を調べるのは誰の仕事なのでしょうか?
388デフォルトの名無しさん:2007/07/22(日) 15:48:19
それはオマイの周囲の人間が考えることだ
389デフォルトの名無しさん:2007/07/22(日) 15:52:53
>>387
フイタw
そんなの職場によるだろ、ここで質問してどうすんだよ
DirectXのサポート受けられる状態?MSとどういう契約になってる?
もしくはDirectXについてサポートしてくれるような企業と契約してるのか?
ベンダの窓口として、その製品を扱うチームか担当者はいないの?
いなきゃ作れ、体制がまずい
少なくとも、DirectXのバグである疑いがあるなら、その先は派遣君の仕事ではないな
派遣を窓口にさせるわけにはいかないだろ
390デフォルトの名無しさん:2007/07/22(日) 16:11:00
>>387
派遣クンのプログラムのバグなのかどうか調べるのは派遣クンの責任

その派遣クンを1ケ月後に切るか今の契約終了まで使うか決めるのは担当社員の責任
391デフォルトの名無しさん:2007/07/22(日) 16:11:22
>>387
プログラマの仕事だ
そもそも「派遣」という時点では人間失格だ
「お前にはコンビニのバイトが似合う」と言ってやれ
392デフォルトの名無しさん:2007/07/22(日) 16:14:07
>>390
>その派遣クンを1ケ月後に切るか今の契約終了まで使うか決めるのは担当社員の責任
ありえねー
うちの会社なら即日辞めてもらうぞ
393デフォルトの名無しさん:2007/07/22(日) 16:15:28
>>392
即日辞めさせれる契約を結んでいるのかw
394サポートエンジニア:2007/07/22(日) 16:18:04
>>389
>DirectXのサポート受けられる状態?MSとどういう契約になってる?
>もしくはDirectXについてサポートしてくれるような企業と契約してるのか?

派遣が書いたプログラムが動かないからといってサポートしろと言われましても・・・
まずは御社のプログラムに原因がないことを確認いただいて・・・
395デフォルトの名無しさん:2007/07/22(日) 16:20:00
>>392-393
自社の社員なら「お前の仕事だよ、ボケ!」と叱り飛ばせばいいが、
派遣には契約というものがある。
遅刻欠勤がない限り辞めていただくには最低1ケ月は必要。
396デフォルトの名無しさん:2007/07/22(日) 16:28:00
Releaseメソッドが返す値が全部0になっていたら
Releaseし忘れは無いと考えていいのでしょうか?
397デフォルトの名無しさん:2007/07/22(日) 16:49:34
派遣プログラマに任せてる点で会社も社員も高が知れてる
398デフォルトの名無しさん:2007/07/22(日) 16:53:38
>>394
派遣が書いたコードにバグがあるといってる?なんだ、んじゃシラネ
399デフォルトの名無しさん:2007/07/22(日) 17:02:01
>>398
つーか、普通の対応だろ
問題モジュールが自社のものと特定されていない段階でサポートできるかっての
400デフォルトの名無しさん:2007/07/22(日) 17:03:13
>>387
具体的にどんな問題が起こってるかによるかな?
DirectX使ってると必ずぶち当たるけどゲームなら問題ないくらいの誤差なんだけど
業務だとラスタの計算でちょっとずれてるのが気に入らないとかそういう話になると
解決できない場合もある
ターゲットとしてDirectXを使う以上しょうがない問題なのかそうでないのか
調べるにも与えられた期間ではどうしようもない場合もある

具体的にどんなことしたん?
401デフォルトの名無しさん:2007/07/22(日) 17:04:55
デバッガーにプログラミング能力を求めているようなもんか?
デバッガーは不具合を見つけるのが仕事であって修正は別だしね。
402デフォルトの名無しさん:2007/07/22(日) 17:06:02
所詮、派遣だと「言われた通りにコーディングしたけど動きません、調べるのは僕の仕事じゃありません」が関の山だろ

それ以上の仕事は入社試験に受かるような正社員でないとできない


403デフォルトの名無しさん:2007/07/22(日) 17:07:31
ちなみに俺がこういう問題にあたったときは
該当箇所のソースをプリントアウトしてみんなで1行づつレビューしてくれるように頼んでる
2万行ぐらいあっても頑張れば1日でなんとかなるしやってもらったほうがいい

あの悪名高い富○通ですらやってくれたから多分どこでもやってくれると思う
だからプリントアウトして1行づつなにをやってるかレビューさせたら?
原始的な方法だけどこれが一番確実

ソースの内容がそいつしかわかる奴がいないっていうとちょっときついかな・・・
前のソースの改変であればDFっていつツールで差分を出せば済む話だし
404デフォルトの名無しさん:2007/07/22(日) 17:08:39
>>402
それはちょっと短絡的じゃね?
こういう問題は常に説明しにくい微妙な問題が絡んでるときが多いと思われ
まずは相手の話をよく聞いてよく理解することだと思う
405デフォルトの名無しさん:2007/07/22(日) 17:15:38
>>404
>まずは相手の話をよく聞いてよく理解すること

これはあれだな、つまり>>402ってことだな
406デフォルトの名無しさん:2007/07/22(日) 17:23:15
>>404
派遣の話:僕は言われた通りに作りました。他に何を説明するんですか?
407デフォルトの名無しさん:2007/07/22(日) 17:47:55
>>406
こういう意図で考えていたんだけど
その通りいってない部分を書き出してくれるかな?
って言えばいいんじゃない?
408デフォルトの名無しさん:2007/07/22(日) 17:50:29
派遣の話:明日から夏休みなので書き出す時間がありません。
409デフォルトの名無しさん:2007/07/22(日) 18:02:26
>>408
ありがちな話だな
夏休みを返上して解決するまでの責任感もないただシットダウンマネーをもらうだけの派遣

410デフォルトの名無しさん:2007/07/22(日) 18:08:05
>>408
それは本心じゃないな
残業代の出る派遣にとって休日出勤はかなりの金になる
知らない奴はモグリ
411デフォルトの名無しさん:2007/07/22(日) 18:16:27
おまえらマ板でやれよ
412デフォルトの名無しさん:2007/07/22(日) 18:16:51
派遣はマージン搾取業だからな
派遣社員もそれを知ってていい加減に働く。質はバイトより酷い
んなもん使ってたら、そんな事態になって当たり前。自業自得
413デフォルトの名無しさん:2007/07/22(日) 18:19:31
>>410
あまいぜ。
派遣クンは自分の書いたプログラムがまったく動かずニッチもサッチもいかなくなり、
DirectXのせいにして逃げきろうとしてるんだよ。
夏休み明けには正社員が問題を解決してくれてるってわけだ。
そのあとに切られても次の派遣先で同じようなことを繰り返す。

414デフォルトの名無しさん:2007/07/22(日) 18:24:28
夏休みはたまたまで普通は「体調不良」で3日ほど休むのが派遣クオリティ
415デフォルトの名無しさん:2007/07/22(日) 18:29:16
あぁ、そうか
製品の問題なのか、自社の問題なのかを切り分ける作業を、派遣がやるべきなのか、どうかって話?
この場合、派遣は自分の仕事じゃない、って言ってるんだから、
とりあえず自社で解析チーム作って、原因を特定するべき
ヤル気の無いやつに無理やりやらせたって、原因解明が遅くなるだけ

原因特定後、派遣のコードミスによるものなら、何故そのバグが混入されたのか、とかいろいろ突き詰めればいい
設計のミスなのか、派遣のDirectXの理解不足なのか、とか。
それから再発防止の施策をたてりゃいい。派遣をクビにして、雇用基準を見直す、とかさ。

とりあえず原因特定が先よね。
416デフォルトの名無しさん:2007/07/22(日) 18:39:56
>>415
>とりあえず自社で解析チーム作って、原因を特定するべき

そんな大袈裟な問題とは思えんな
状況から考えて、英語のドキュメントが読めないし、辞書引いてでも読む根性もないから
試行錯誤で適当に作った、でも動かない、僕知ーらっない、
てとこじゃねーのか
派遣にはよくある話だ
417デフォルトの名無しさん:2007/07/22(日) 19:22:09
>>416
>状況から考えて、英語のドキュメントが読めないし、辞書引いてでも読む根性もないから
でもなんか辻褄があわないんだよね
そもそも派遣が「ボクの仕事じゃない」なんて口にするわけがない
これには派遣というシステムに大きな理由がある

俺も派遣やってるけどさ
納期とか俺の責任じゃないし、基本的に残業代もらえるから残業するの大好きだしで
先の見えない仕事大好きだもん(毎週出勤すると残業代、休日出勤で月収が50万とかいく)

なるべく他の人がよくわからない問題抱え込んだり、自分にしかわからないことをたくさん増やすのは
はっきりいって派遣社員にとってノルマといって過言ではない

その環境で「面倒」とか「できない」とか言う意味がないんだよね
できなくても「できます」、わからなくても「やります」これ派遣では常識

できないことわからないことを深く追求される職場は今のところない
ならどんな仕事でも開口一発「やります」と言う。これ常識だし、こういう返事をするのは外勤先もわかってる(はず?w)

なんで>>387は俺的にネタにしか見えない
ポイントは残業代や休日手当てが出るということこれがでるとどんな仕事でも永遠にだらだら伸ばしたほうが得
418デフォルトの名無しさん:2007/07/22(日) 19:27:29
なるほど
派遣を見下したいがためのネタと思えば自然か
419デフォルトの名無しさん:2007/07/22(日) 19:29:36
ドキュメントなどを調べること、他人と調整すること、状況を整理することが嫌で
「ボクの仕事じゃない」なんて口にする人はいっぱいいますが
420デフォルトの名無しさん:2007/07/22(日) 19:51:51
>>419
全部ダラダラ時間かけて残業代アップします
嫌なんていいませんよ
なんたって残業代出ますから
421デフォルトの名無しさん:2007/07/22(日) 20:01:32
ダラダラ時間かけて最後に「頑張ったけどできませんでした、僕のせいではありません」
か。最悪だなw
422デフォルトの名無しさん:2007/07/22(日) 20:18:09
>>421
支持出すほうが悪いと思うけどな
少なくともこういう場面で「好きにやっといて」ってほうが頭どうかしてる
とりあえずここまで調べました
ここの部分は不明です
文献や掲示板にもそれらしい情報は調べた範囲ではありませんでした
って報告が限界だろうな
423デフォルトの名無しさん:2007/07/22(日) 20:28:03
はぁ、
「頑張ったけどできませんでした、僕のせいではありません」
「指示が悪いです」
か、極悪だなw
424デフォルトの名無しさん:2007/07/22(日) 20:31:06
>>423
直接そうは言わんけど
無理だった報告だけして終了だろうな
その報告を聞いてさらに調査を続けるか
そこで調査を打ち切るかは派遣のできる判断じゃないでしょ?

こういう仕事って勝手にやらせてる限り優劣つけられないと思うんだけど?
425デフォルトの名無しさん:2007/07/22(日) 20:31:57
カスども
マ板でやれ
426デフォルトの名無しさん:2007/07/22(日) 20:34:48
>>417のような糞派遣が残業代欲しさにダラダラ時間とシットダウンマネー(座ってりゃ貰える金)を
浪費した挙句、>>423のような結論だったらねマジギレだね、お父さん
427デフォルトの名無しさん:2007/07/22(日) 20:37:14
>>426
調べてみた結果できない・資料が無いってわかるのと
なんも調べてない状態ではやっぱり違うよ
こういうことの違いがわからない人は人を指示できる立場にふさわしくない
428デフォルトの名無しさん:2007/07/22(日) 20:40:17
シットダウンマネー目的でダラダラ時間を浪費する派遣と
問題解決が目的の人ではやっぱり違うよ
こういうことの違いがわからない人は人を指示できる立場にふさわしくない
429デフォルトの名無しさん:2007/07/22(日) 20:42:16
>>427
>調べてみた結果できない・資料が無いってわかるのと
>なんも調べてない状態ではやっぱり違うよ

実力主義、結果主義って知ってる?
430デフォルトの名無しさん:2007/07/22(日) 20:45:19
>>429
同じわからないでも

調査した結果を細かく報告する俺と
結果だけしか報告しないアンタと

どっちが評価されるか比べるまでもないだろ?w
431デフォルトの名無しさん:2007/07/22(日) 20:49:35
>>430
俺はシットダウンマネー目的でダラダラ時間を浪費してわからない、
なんて仕事はしないから。

ちゃんと制限時間を区切って調査するよ、お前みたいな派遣根性が染みついた
シットダウンマネー野郎とは違うのだよ。
432デフォルトの名無しさん:2007/07/22(日) 20:51:55
調べた結果が他の人に引き渡せる形で残せるなら、断然その方が良い。
ただしベストなのは、調べてる途中で分かりそうになかったら、
そこまでの内容をまとめて、誰かにSOSを出すことだな。
人に頼れない状況なら、相談だけでもする。
それで責任が分散できる。
433派遣クズ野郎:2007/07/22(日) 20:55:30
調べた結果なんて関係ない、断然残業代もらえる方が良い。
ただしベストなのは、調べてる途中でわけわかんなくなっても、
ダラダラ仕事を続けることだな。
失敗を人のせいにできない状況なら、相談だけでもする。
それで責任が分散できる。
434432:2007/07/22(日) 21:06:54
>>433
作業工数内で終わらせることは前提で書いてるよ。
工数内で終わらせて、最悪の場合でも>>432のようなことは行っておくということ。
435デフォルトの名無しさん:2007/07/22(日) 21:08:45
はあ?
ダラダラ仕事するって>>420で書いてるだろ?
氏ねよ、無責任派遣野郎!
436432:2007/07/22(日) 21:16:31
俺は432が初出だよ。
437デフォルトの名無しさん:2007/07/22(日) 21:32:48
ここが初心者質問スレとは思えないのですが
438デフォルトの名無しさん:2007/07/22(日) 21:43:52
おまえら本当スレちがいうざいな
439デフォルトの名無しさん:2007/07/22(日) 21:46:23
まあ、DirectXの質問は派遣辞めて就職してダラダラしないでしてね、ってこった
440デフォルトの名無しさん:2007/07/22(日) 22:24:20
>>438
マ板でやれよなぁ。
発端になった奴もいつもマ板から来て派遣ネタで荒らしてるやつだし。
441デフォルトの名無しさん:2007/07/22(日) 22:27:07
ム板は見てるがマ板は見てないって人が結構居るんじゃまいか
新鮮なネタに見えたんだろう
442デフォルトの名無しさん:2007/07/22(日) 22:37:37
派遣専用のプログラム板が必要だな
443デフォルトの名無しさん:2007/07/22(日) 23:47:24
ここもかw派遣派遣って
444デフォルトの名無しさん:2007/07/23(月) 00:12:47
やたら新着多いなーと思ってみてみたら・・・、

>>387すげー。
ム版だと派遣クンネタだけで半日で50レスも釣れるのか
445デフォルトの名無しさん:2007/07/23(月) 01:35:33
派遣がDirectXってゲーム屋さん?

元レスの意図をエスパーすると
(環境依存で)DirectXが(テスト環境以外のPCで)プログラムどおりに動かない原因を調べるのは僕の仕事ではありません。

って所じゃね?
ゲーム屋以外ならSEが悪い(設計ミス)だし
ゲーム屋ならそれぐらいはPGがやる範囲(少なくとも作り始める前に「動作確認が必要な環境を用意してください」ぐらいは言うべき)だよなぁ
446デフォルトの名無しさん:2007/07/23(月) 01:36:43
いつものコピペと同じネタで釣られている馬鹿が多すぎ。
あまたが悪いにも程がある。
447デフォルトの名無しさん:2007/07/23(月) 03:43:12
派遣に何も求めているのやら、、、重要な仕事なんか任せちゃ駄目だろ?
派遣には3Kワークをさせるのが普通。
どんな理由であれプロジェクトに支障出るような任務を派遣にやらせたという事実が既に駄目。

448デフォルトの名無しさん:2007/07/23(月) 03:56:27
製品リリース後の日曜だからソフトを作ってたゲーム開発部の連中は休みだが、
サポート担当者のところへは不具合報告が殺到。けっこう可愛い。その子が
サーバー管理やってる俺のところへ泣きついてきた! なんとかしてやらねば!

というストーリーだよ。
449デフォルトの名無しさん:2007/07/23(月) 04:05:10
派遣にDirectXやらせるほうがどうかしてる
450デフォルトの名無しさん:2007/07/23(月) 05:32:02
>>449
たしかに
ノウハウが巨大過ぎて
人の脳みそにしか蓄積されてないのが現状だよね

ネットでさえ昔あったサイトはもうほとんど閉鎖してるし過去のバージョンは消失
加えてDirectX9はそのうち消える運命(っていつかわからんけど)

踊る各社グラボのサポート状況

という現実がある上にさらに
3Dと3D機能という大きな壁
2Dの機能だけ使うなんて調子のいいことできない
知らないと不具合が出たときに一歩も動けない
プログラミングに対してかなりのベテランであったとしても3Dおよび画像処理に関しては
全くの素人だともう初心者同然、いうまでもなくプライドはずたずたに引き裂かれる
加えて掲示板のガラの悪さw

「はぁ?」「何言ってんの?」「数学勉強してください(核爆w)」「ヘルプも読めねぇのかよw」
「お前もう駄目だなwやめちゃえw」等

なんで誰も近づこうとしないw
451デフォルトの名無しさん:2007/07/23(月) 20:35:35
PSでは最前線にいた人も時代に付いていけなくなったりしてますか?
452デフォルトの名無しさん:2007/07/23(月) 21:04:29
付いていくかどうかはその人次第だろ。
何もしなければ置いていかれるだけ。
DXじゃなくGLに移行している人もオオイノヨー
453デフォルトの名無しさん:2007/07/23(月) 22:22:17
DX9で3Dゲーム作ってます。
質問なのですが、カメラから見える部分しか描画しないようにしたいのですが、
描画しない部分はどのような処理が最適ですか?
よろしくお願いします。
454デフォルトの名無しさん:2007/07/23(月) 22:27:33
視錐台カリングでググれ
455デフォルトの名無しさん:2007/07/23(月) 23:26:48
>>454
ども。ちなみに頂点シェーダーで、各頂点を判定する事は可能ですか?
範囲外の頂点を見つけてもその頂点をどうすればいいのかわからない・・・
456デフォルトの名無しさん:2007/07/24(火) 00:06:08
範囲外の頂点見つけたらGPUに送らなきゃいいんだよ。
457デフォルトの名無しさん:2007/07/24(火) 00:23:07
458デフォルトの名無しさん:2007/07/24(火) 00:54:08
どした。疑問符だけ浮かべててもおにーさん達は力になれないZO
459デフォルトの名無しさん:2007/07/24(火) 01:09:51
>>450
DirectX○はそのうち消える運命


全てのバージョンに言えることだね

加えて言うなら
>数学勉強してください(核爆w)
引数間違えてるだけの奴にこれ言うやつ多いし

>ヘルプも読めねぇのかよw
このレスが返ってくる場合、たいていはヘルプに載ってない

>お前もう駄目だなwやめちゃえw
これは正解だがな
460デフォルトの名無しさん:2007/07/24(火) 02:59:21
>>455
・頂点シェーダでは頂点そのものの破棄はできない。
・仮にできたとしても、例えば三角形の3頂点の1つだけが画面外だとしたら、
 それを破棄するわけにはいかない。
・カリングとかをしなくても、画面外のポリゴンではピクセルフィルは発生しない。
・画面外のオブジェクトの、描画自体をスキップすることで
 頂点計算等を省略するのが視錐台カリングの狙い。
多分こんなもんかしら。
461デフォルトの名無しさん:2007/07/24(火) 16:35:01
質問させていただきます。

VC++6.0を使用し、DirectX8で趣味で色々作ってきたのですが、
いつの間にやら時代はDirectX9が主流になってしまいました。

最近、DirectX9で開発したいな・・・ と言う欲が出てきたのですが、
開発環境を9にしても、DirectX8のプログラムをコンパイルできるのでしょうか?
過去作った物も時々弄るので、もしコンパイル出来なくなると・・・
と考えると怖くてなかなか手が出せません。

時代に乗り遅れた為、DirectX8から9へ移行した話などは、検索しても出て来なくて迷っております。
移行された方が居ましたら、経験談や、注意点などを教えてください。
よろしくお願い致します m(_ _)m
462デフォルトの名無しさん:2007/07/24(火) 16:52:15
うちはDirectX9のSDKの入った環境で、DirectX7のプログラム組んでるよ。
基本的には新しいSDKでも過去のソースは動くはず。
463デフォルトの名無しさん:2007/07/24(火) 17:08:56
新しいのだと、D3DX8がついてなかったりしなかったっけ?
464デフォルトの名無しさん:2007/07/24(火) 17:21:00
>>460
あざーす。理解しました。
465462:2007/07/24(火) 17:44:52
>>463
今、ヘッダファイルの中のぞいてみたら確かに9ではDXは別ものっぽい感じになってた。
せっかくインターフェース分けてるんだから、当然過去のソースは動くんだろうと思ってたんだけど、D3DXは違うのね。
なので、>>462は無視してください。
466デフォルトの名無しさん:2007/07/24(火) 19:17:32
以降といっても型の数字が8から9に変わっただけとか、関数名にExやAを付けたら大丈夫だったとかそんな程度だった記憶が。
使えない関数も当然出てくるけど、1つ1つ調べていったら解決策が出てくる。

DX9に移植するのもいいけど、DX初心者として10を1から学んだほうが今後のことを考えるといいと思う。
移植しないなら過去のものを使う場合、参照の優先度をDX8のライブラリを上げればいいだけの話で。
467デフォルトの名無しさん:2007/07/24(火) 22:27:35
いまさら時代はDX9というあたり、そういう発想のできる相手ではなかろう。
たぶんテクスチャも256X256を上限にしてるよ。
たとえ自分の対象ユーザーにVooDoo使用者が0人であったとしても。



468デフォルトの名無しさん:2007/07/24(火) 22:48:23
10なんて対応カードが無い状況で学ぶのは微妙だろ
Vistaのみリファレンスラスタライザで動けばいいのならいいけど
469デフォルトの名無しさん:2007/07/25(水) 00:44:30
少し前のオンボードなら256x256以下の正方形なんて当たり前だゾ
しかも2^nじゃないとらめぇえええええええええ
470デフォルトの名無しさん:2007/07/25(水) 01:06:11
少し前とかいい加減な情報ではなく、具体名を挙げよ。
471デフォルトの名無しさん:2007/07/25(水) 05:27:59
SDKに入ってるCardCaps.pdfには載ってないな
472デフォルトの名無しさん:2007/07/25(水) 07:36:54
2のn乗じゃないとだめってのは結構あるが、正方形じゃないとだめなのは
かなり古いものしかないよな。
気にする必要ない。
473デフォルトの名無しさん:2007/07/25(水) 08:32:19
だから古いとかじゃなくて具体名を挙げろよ。
出せないのならいい加減な話を出すな。
474デフォルトの名無しさん:2007/07/25(水) 09:18:22
少し前の古いアレだよアレ。
な、わかるべ?
475デフォルトの名無しさん:2007/07/25(水) 09:19:55
脳内にのみ存在するアレだよ。
476デフォルトの名無しさん:2007/07/25(水) 10:58:25
>>461
8→9は変化が少ないから、移植も楽だよ。
一番変わったのは、シェーダの管理にハンドルを使っていたのが
インターフェースに変わったことと、SetTextureStageStateの一部が
SetSamplerStateに分かれたこと。

D3DXのスプライト機能とかもだいぶ変わったと思うが、俺はまったく
使ってなかったので分からん。
477デフォルトの名無しさん:2007/07/25(水) 11:13:33
>>475
彼女のことかー!
478461 :2007/07/25(水) 14:10:05
461です。
書き込みが遅くなり申し訳有りません。

>>462様、わざわざヘッダーまで見ていただいてありがとうございました。
>>466様のご教授のとおり一つ一つ解決して見ようと思います。
>>476様、難しく考えすぎていたのかと思えるようになりました。

8→9を行った場合、ソースをまったく弄らずに・・・
と言うのは、無理のようですね。
参考になりました。

DirectX10ですが、今、私の使用しているOSが2000ですので、
手を出せるのはまだまだ先になる予定です。

皆様のお陰で、どうにかなる気がしてきました。
どのような結果になっても、よい経験だと思い移行することに決めました。
本当にありがとうございました。m(_ _)m
479デフォルトの名無しさん:2007/07/25(水) 23:54:33
>>473
出せるけどやめとくw
480デフォルトの名無しさん:2007/07/25(水) 23:59:28
warota
481デフォルトの名無しさん:2007/07/26(木) 00:08:46
ぐうの音を出しても仕方がない。
482デフォルトの名無しさん:2007/07/26(木) 00:14:48
エロゲを除けば、そういう機種を使っている人はゲームを遊ぶ習慣の無い人だってことなのに
なんで最低スペックに合わせたがるの?
483デフォルトの名無しさん:2007/07/26(木) 00:19:04
エロゲだから。
484デフォルトの名無しさん:2007/07/26(木) 00:42:02
エロゲか同人STG以外のものを作ってる人いる?
485デフォルトの名無しさん:2007/07/26(木) 00:50:19
会社で作ってるのは非エロ
486デフォルトの名無しさん:2007/07/26(木) 01:58:19
どんなスペックでもいいから、ものを作るんだ!
487デフォルトの名無しさん:2007/07/26(木) 04:53:13
>>467
> いまさら時代はDX9というあたり、

10の環境はまだ2%もないし、シェーダ弄くらなきゃ8.1と9は全然かわんないし、普通じゃねえの?

> たぶんテクスチャも256X256を上限にしてるよ。

極端すぎる。電柱を相手にファイティングポーズ取るのはやめとけ。
488デフォルトの名無しさん:2007/07/26(木) 11:32:47
2D描画で
 D3DXCreateTextureFromFileInMemoryEx
で読み込んだデータを
 DrawIndexedPrimitiveUP
で、描画するルーチンで制作していたのですが、

複数のTextureで構成された絵を拡縮する必要がでてきたので、
どのようにすればいいか悩んでいます。

イメージとしては、シューティングゲームは普通に組めたので、
ボスキャラを拡縮させながら登場させようとしたものの、計算で
調整しながら表示させると微妙にズレがでるケースがあるので、
可能なら一度構成したものを拡縮させたいと思っているのです。

命令などについてヒントが頂けないでしょうか。
489デフォルトの名無しさん:2007/07/26(木) 11:55:44
よーわからんが、マップチップをそのままチップ毎に拡大したら
つなぎ目が目立つって状況け?

だったらまずレンダーターゲットで作成したテクスチャに描画して
それを拡大するってのでイケるんじゃねぇかな。
490デフォルトの名無しさん:2007/07/26(木) 13:37:21
>>489
状況はそんな感じです。

レンダーターゲットとか理解しきれてなかったので、いま調べながら勉強中。
どう作るか方向性は見えてきました。 ありがとうございます。
491488:2007/07/26(木) 18:37:58
できた
悩んでいろいろ調べてる時間が一番長かった。
492デフォルトの名無しさん:2007/07/26(木) 20:16:53
実は普通じゃね?
493デフォルトの名無しさん:2007/07/26(木) 21:38:24
実際のコーディングなんて全工程の20%にしかすぎないんだZE?
494デフォルトの名無しさん:2007/07/26(木) 21:49:46
普通はパーツで作っても気になるほどずれないだろ。
そもそも整数とfloatの変換がまずいことなってんじゃねえの?
495デフォルトの名無しさん:2007/07/26(木) 22:25:33
3Dの海岸線は困ったな。
綺麗に繋がらないし、フライト物だったので広範囲を描画しないといけないわ、
近づいたらテクスチャが荒いからって大きなのを用意したらVRAMが足りなくなるわで。
もう解決せずに放置してるが。
496デフォルトの名無しさん:2007/07/26(木) 22:47:14
>>473
具体名を挙げると正方形じゃないと駄目で
さらに256だか512までだかとかいうウンコな制限が付いてたのは
VooDooとかいうグラボだけだった希ガス
もうないしこんなのサポートする意味もないから完全無視でおk

>>495
もやかけて限界まで誤魔化す
当然だろ
誰もみてねぇぞwそんなとこw
ハイご苦労さんw
497デフォルトの名無しさん:2007/07/26(木) 23:05:28
誤魔化せるようなクオリティならいいんだけどね。
地上を高速で走り回るようなゲーム(レースやロボゲー)だとテクスチャのの1ドットのずれも大きかったりするし。
レースゲームはカーブとかよく綺麗に描けるなと感心する。
498デフォルトの名無しさん:2007/07/26(木) 23:18:59
>>497
だから気にするからだろw
499デフォルトの名無しさん:2007/07/26(木) 23:22:11
>>497
現状どの程度なのかプリントスクリーン見せてよ
500デフォルトの名無しさん:2007/07/26(木) 23:35:04
mode 7で回転すればいい
501デフォルトの名無しさん:2007/07/26(木) 23:38:07
>>499
俺作ってないぞww
PSでもすごいと思うから中古ショップ漁ってきてくれw
502デフォルトの名無しさん:2007/07/26(木) 23:52:35
だいたいレースゲーなんてどれとってもジャギっててキタネーじゃん
水平線なんて気にする前にやることいくらでもあんぞ多分w
503デフォルトの名無しさん:2007/07/27(金) 00:05:54
D3DXLoadMeshHierarchyFromXを使ってXFILEを読んでいるのですが、マテリアル名を取得できません。
どのような方法をとればマテリアル名を取得できるでしょうか?
504デフォルトの名無しさん:2007/07/27(金) 00:11:10
505デフォルトの名無しさん:2007/07/27(金) 00:23:31
>>503
ほんとだ
ねーじゃんw
あれかな?作った奴よくわかってねーのかな?
506デフォルトの名無しさん:2007/07/27(金) 01:18:32
だからXぐらい自前で読み込めよ
507デフォルトの名無しさん:2007/07/27(金) 03:34:32
ていうかマテリアルだけ独立してないとおかしいときあるよな?
1つのインスタンスを複数ってのは考えられてねぇのかな?

っていうかそれ以前だな
マテリアルの種別を外部から特定できねーじゃんなw
仕方ネェからメッシュかテクスチャのファイルネーム辺りにマテリアル名も突っ込んどけば?w
508デフォルトの名無しさん:2007/07/27(金) 08:36:24
でも世界の開発者も誰も困ってない
SDKサンプル用途としてはそれで十分なんだろう
509デフォルトの名無しさん:2007/07/27(金) 09:58:26
神か
510デフォルトの名無しさん:2007/07/27(金) 22:20:41
DirectX関係の質問はここでいいのでしょうか

DirectX Busterを使ってDirectXをアンインストールしたのですが
再インストールが出来ない状態になってしまいました
どうしたら再インストールできるようになるか教えてください
511デフォルトの名無しさん:2007/07/27(金) 22:24:14
まずはプログラムの作成と何の関係があるのかを明確にせよ。
512デフォルトの名無しさん:2007/07/27(金) 22:46:31
≫511
DirectX 9を入れたら動きがおかしくなったのでアンインストールしたんです
元々はDirectX 8でゲーム作ってました
DirectX 8では問題なく動いてたから間違いなくDirectX 9のバグだと思うんです
513デフォルトの名無しさん:2007/07/27(金) 22:51:30
間違ったプログラムがたまたま動いていただけなのに、何でもかんでも他人のせい。
514デフォルトの名無しさん:2007/07/28(土) 05:52:59
>DirectX 8では問題なく動いてたから間違いなくDirectX 9のバグだと思うんです

で、DirectX8→9の変更点は確認して、プログラムの修正はやったの?
単に9のSDKで再コンパイルしただけ?
9のバージョンは?
515デフォルトの名無しさん:2007/07/28(土) 06:37:45
ビルドもせずに実行したんじゃね
516デフォルトの名無しさん:2007/07/28(土) 07:08:43
>>515
そんなことが出来る人間がいるのか。尊敬するわ
517デフォルトの名無しさん:2007/07/28(土) 07:48:26
≫513-516
原因がわかりました

知り合いにDirectX 9を入れてやってもらったんですが
ゲームを動かすといきなりWindowsがエラーを出して止まるようです
こちらとまったく同じ状態です
DirectX 9 SDKに入ってるプログラムはふつうに動いたそうです
これもこちらとまったく同じ状態です

ゲームの最初のところでスプライトがいっぱい(2000ぐらい)出るんですけど
これを出さないようにしたら動きました
多分DirectX 8よりDirectX 9のほうがスプライトの上限?が低いはずです
518デフォルトの名無しさん:2007/07/28(土) 10:18:56
ふーん。
519デフォルトの名無しさん:2007/07/28(土) 11:34:03
( ・ω・)・・・
520デフォルトの名無しさん:2007/07/28(土) 14:02:32
フォントを表示させたいのですがうまくいきません。
フォント表示するコードだけ載せときます。初期化もしています。
これが実行時にうまく行きません。コンパイルまではうまくいきます。
void GameOver(){//ゲームオーバー
if(getPassedTime(1)>3000){
RECT rc={0,160,640,260};
g_ptextsprite->Begin(D3DXSPRITE_ALPHABLEND|D3DXSPRITE_SORT_TEXTURE);
g_pxfonts[hgofont]->DrawText(g_ptextsprite,_T("GAME OVER"),-1,&rc,
DT_CENTER|DT_VCENTER,
D3DCOLOR_COLORVALUE(1.0f,0,0,1.0f));
g_ptextsprite->End();
}

if(getPassedTime(1)>15000){
gamemode=GM_MAIN;
//初期表示に戻す
mx=0.0f;
mz=-2.0f;
angle=0;
SetViews();
}}
エラーメッセージです。
main.obj : error LNK2001: 外部シンボル ""struct ID3DXSprite *
g_ptextsprite" (?g_ptextsprite@@3PAUID3DXSprite@@A)" は未解決です。
my3dlib.obj : error LNK2001: 外部シンボル ""struct ID3DXSprite *
g_ptextsprite" (?g_ptextsprite@@3PAUID3DXSprite@@A)" は未解決です。
どなたかアドバイスいただけませんか?
521デフォルトの名無しさん:2007/07/28(土) 16:45:27
そのエラーメッセージはリンク時に出力されるんじゃないの?
なのに「実行時にうまく行かない」・・・???

どっちだ
522デフォルトの名無しさん:2007/07/28(土) 17:12:27
>>521
ですからコンパイルまではうまくいくんですよ。
つまりプログラムにはなんの問題もないと言ってるんです。
実行するとエラーが出るので、
環境依存なのかWinのフォントあたりがバグってる可能性もアリ?かと。
523デフォルトの名無しさん:2007/07/28(土) 17:15:32
コンパイルができる≠プログラムに問題がない
524デフォルトの名無しさん:2007/07/28(土) 17:17:09
コンパイルができてリンクに失敗してるんじゃ
525デフォルトの名無しさん:2007/07/28(土) 17:29:41
>>521
だから、お前が貼った、「・・・は未解決です。」 ってのはリンク時に出るエラーじゃないの?

こんなエラーメッセージが実行時にでるの?
意味が分からん
526デフォルトの名無しさん:2007/07/28(土) 17:30:24
アンカーミスった。>>522
527デフォルトの名無しさん:2007/07/28(土) 17:33:03
最近の若者はコンパイルとリンクの別を知らんのかね
どっちも「コンパイル」に含めてるんだろうな
528デフォルトの名無しさん:2007/07/28(土) 17:33:22
>>522
ですからコンパイルまではうまくいくんですよ。つまりプログラムにはなんの問題もないと言ってるんです。
ですからコンパイルまではうまくいくんですよ。つまりプログラムにはなんの問題もないと言ってるんです。
ですからコンパイルまではうまくいくんですよ。つまりプログラムにはなんの問題もないと言ってるんです。
ですからコンパイルまではうまくいくんですよ。つまりプログラムにはなんの問題もないと言ってるんです。
ですからコンパイルまではうまくいくんですよ。つまりプログラムにはなんの問題もないと言ってるんです。
ですからコンパイルまではうまくいくんですよ。つまりプログラムにはなんの問題もないと言ってるんです。
ですからコンパイルまではうまくいくんですよ。つまりプログラムにはなんの問題もないと言ってるんです。
529デフォルトの名無しさん:2007/07/28(土) 17:37:27
だから、どう見ても実行時エラーじゃなくてリンク時エラーに見えるんだが
530デフォルトの名無しさん:2007/07/28(土) 18:07:10
横からすみません
>>504で書かれていることと同じような内容をを日本語で解説しているサイトはありますでしょうか
興味があるのに無い英語力で行った和訳がめちゃぐちゃでニントモカントモ
531デフォルトの名無しさん:2007/07/28(土) 18:15:37
>>523-527 >>529
あーすいませんVisual Studioから実行するとリンクが動くの忘れてました。

DirectX SDKを入れなおしても同じエラーが出るので、
そうなるとstruct ID3DXSpriteというやつがバグってるということですか?
こういうバグの報告はマイクロソフトにすればいいのかもわかりません。
もしくはプログラムには問題ないので、リンクをしない方法があれば教えてほしいです。
532デフォルトの名無しさん:2007/07/28(土) 18:18:36
プログラムを書くだけで実行しないのであれば、リンクをする必要はありません。
533デフォルトの名無しさん:2007/07/28(土) 18:19:57
なかなか良いキャラが出てきましたね
534デフォルトの名無しさん:2007/07/28(土) 18:23:53
うむ

ネタならネタだと先に言ってくれりゃいいのによもう
535デフォルトの名無しさん:2007/07/28(土) 18:29:26
>>531
すごいバグを見つけたね!
536デフォルトの名無しさん:2007/07/28(土) 18:36:35
>>520
おまえ無知(無恥)すぎるよ
537デフォルトの名無しさん:2007/07/28(土) 21:27:41
> そうなるとstruct ID3DXSpriteというやつがバグってるということですか
あなたのコードに問題があります。

LNK2001 を MSDN ライブラリで調べるか
ぐぐる先生に聞きましょう。
538デフォルトの名無しさん:2007/07/28(土) 21:31:47
DirectXキチガイ質問スレと分離したらどうだろうか
539デフォルトの名無しさん:2007/07/28(土) 21:33:33
本人が認識していない以上、自己判断は出来ないだろ
540デフォルトの名無しさん:2007/07/28(土) 21:35:28
こっちをキチガイ質問スレにしてみんな移動すればいんじゃね
541デフォルトの名無しさん:2007/07/28(土) 21:39:16
最初に自分を疑えない(再確認出来ない)奴は、どんな種類の仕事でも止めた方が良いよ。

リンクエラーが出るって事は、お前が悪いんだよ。
リンクしているライブラリが足りネーか、必要なヘッダをちゃんと読んでないかだろ。
542デフォルトの名無しさん:2007/07/28(土) 21:39:48
543デフォルトの名無しさん:2007/07/28(土) 21:49:06
>>542
結城先生あいかわらずいい仕事してるなあ
こういう視点の文章が日本語で読めるのはとても有難い
544デフォルトの名無しさん:2007/07/28(土) 21:58:28
>>542
アリガタス
調べても辿り着かないようなサイトなので助かります
545デフォルトの名無しさん:2007/07/28(土) 22:00:28
>>531
まずコンパイルとリンクというのがどういう処理なのかを勉強すれ。
その上で、リンカが
「main.objおよびmy3dlib.objという2つのオブジェクト(ソースをコンパイルしたもの)において
g_ptextspriteが見つからない」
と言ってることを理解すれ。
g_ptextspriteはどこで宣言してんだ?

あとは何すればいいかわかるだろう、わからないならもう少し基礎を重視したほうがいい
546デフォルトの名無しさん:2007/07/28(土) 22:18:30
>>543
場所がyukiwikiってだけで訳したのは結城じゃないぞ
547デフォルトの名無しさん:2007/07/28(土) 22:20:54
>>547
How Google Earth [Really] Worksで日本語ググルすれば上位に出てくるのだが。
辿り着かないんじゃなくて、辿り着けない、だろ。
548デフォルトの名無しさん:2007/07/28(土) 22:22:16
自戒乙
549デフォルトの名無しさん:2007/07/28(土) 22:22:44
悔しそう
550デフォルトの名無しさん:2007/07/28(土) 22:28:49
>>547
英語のサイト名+日本語で検索する発想がねーわwww
551デフォルトの名無しさん:2007/07/28(土) 22:32:07
そうか。
まぁ日本語訳あるの知ってて敢えて最初に英語版を貼った俺が悪かったよ。
お前らに読めるはずがなかったんだな。
552デフォルトの名無しさん:2007/07/28(土) 22:37:18
>>550
サイト名じゃなくて記事名。
面白そうな英語の記事は訳されてたり概要が紹介されてたりすることが多々あるので
日本語でググれば結構引っかかる。
553デフォルトの名無しさん:2007/07/28(土) 22:41:42
サンプルの解説ならともかく、アルゴリズムの解説であれば誤訳しちゃうととんでもないことになっちゃうからね。
和訳のミスを理解出来るならもうそのアルゴリズムを理解しているんじゃないかと。
もし和訳しているサイトがあれば誤訳は最小限に抑えれるし、間違っててもしてきしやすいよね。
このスレじゃないけど個人的に誤訳したものを持ってくるより、お前の誤訳で打ち込んだソースを持って来いとか言いたい時が多々。
554デフォルトの名無しさん:2007/07/28(土) 22:50:31
>>532-553
あまりDirectXには詳しくないので、DirectXのリンクについてもう少し勉強します。

>g_ptextspriteはどこで宣言してんだ?
これは市村さんに聞かないとわからないです。月曜日まで待って下さい。
555デフォルトの名無しさん:2007/07/28(土) 23:25:39
>>542で小さな画像を用意する(ミップマップ用)とありますが
用意するのは良しとして描画する面の数が膨大になりますよね
この点はDirectXのミップマップの機能に任せて大丈夫なのでしょうか

動きの早いゲームだと常時画像の解放と読込が行われることに?
処理落ちするんじゃないかと思ってたり・・・そこはプログラマの腕次第ですね
556デフォルトの名無しさん:2007/07/28(土) 23:26:46
市村さんかわいそす
557デフォルトの名無しさん:2007/07/29(日) 00:19:49
市村さん: それは派遣クンに聞かないとわからないです。
派遣クン: DirectXがプログラムどおりに動かない原因を調べるのは僕の仕事ではありません。

>>520あたりに戻る
558名無しさん@そうだ選挙に行こう:2007/07/29(日) 05:35:03
HDR勉強中です。

例えば、レンダリングはA16R16G16B16FのFP16で行い、プレゼントするときにX8R8G8B8のバックバッファーに転送するとどういった感じで丸められるんでしょう?
A16R16G16B16Fって-1024.0〜1024の範囲だと思うのですが、これがまず0〜1024にクリップされて、それから0〜255に変換されるのでしょうか?
それとも-1024〜0と256〜1024がクリップされて0〜255に変換されるのでしょうか?
559名無しさん@そうだ選挙に行こう:2007/07/29(日) 11:17:41
やってみろよ
560名無しさん@そうだ選挙に行こう:2007/07/29(日) 17:20:36
入出力が決まっていて内部が個別の実装に委ねられているというのは
それはそういう仕様なんであって
手近にある一個で試してみた結果でOKとは限らないわけです

561名無しさん@そうだ選挙に行こう:2007/07/29(日) 18:33:51
>>555
ミップマップはDirectXのでいいと思う。
水平近くならいいけど、上空から見下ろす時にかなりの箇所を描画しなくてはならないから、
3レベルぐらいのテクスチャを用意したほうがいい。

それよりテクスチャや地形に凹凸を細かくつけたモデルを用意するとなると、
1つのマップに1万種類ぐらい用意しないといけなくなる。
移動可能範囲の設定や砂埃が立ったり水しぶきが出るとかの設定とか。
面倒極まりない作業をどうにかしないとな。全面海とかなら楽なんだが。
562520:2007/07/29(日) 22:36:18
別の方が話題を膨らませていてびっくりしました。
明らかにリンクに失敗しているようです。
とりあえずspriteは無視して作業しようと思います。
文字描写系は全部コメントアウトしましたw
文字もグラフィック系使おうかな、とも。
回答していただいた方ありがとうございました。
563デフォルトの名無しさん:2007/07/30(月) 00:16:41
>>562
g_ptextsprite の実体を作ってないだけじゃないのか
564デフォルトの名無しさん:2007/07/30(月) 05:05:37
>>558
そもそもA16R16G16B16FからX8R8G8B8のバックバッファーへ転送ってサポートされているんだっけ?
565デフォルトの名無しさん:2007/07/30(月) 19:13:23
>>558

レンダリングターゲットとなるテクスチャ(バックバッファ)を作成する際のフィルター指定で
動作が変わったような記憶があるけど、ちょっと動作確認出来ない。
566稼げるとか騙されて正社員辞めて一般派遣やってるバカ:2007/07/31(火) 13:19:35
元々は正社員の特定派遣だったのに取引先にフリーのほうが稼げるとか騙されて
結局、一般派遣やってるバカがいるんだけどw

一般派遣の身分のどこがフリーだってのw
毎日毎日、他人様の会社に出勤する派遣契約書にサインする段階で気づけよ

なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw
最近はマネージャーもやってるとか寝言言ってるし、派遣がまねぇじゃぁ?はあ!?w

そもそも信頼されてるなら直接契約するか正社員にするはずだが、
いつでも切れる派遣会社経由って舐められてんだよ

派遣期間が長くならないうちに早く就職しろ、と忠告すると、ウッキー!って逆ギレw
バカで頑固だから何度言っても理解できない
騙されたとはいえ結局は自分で決めて一般派遣やってる癖に逆ギレしちゃってまぁ
人間として本当に恥ずかしい
567デフォルトの名無しさん:2007/07/31(火) 14:02:40
>>565
そんなん見たこと無いなぁ。
568565:2007/07/31(火) 19:35:08
>>567
ごめん。テクスチャロード時の原色フィルタの事と記憶がごっちゃになってました。
レンダリング時のはわかんないっす。
569デフォルトの名無しさん:2007/07/31(火) 21:49:07
>>566
派遣もマネージャーやるぞ(マジです)
570デフォルトの名無しさん:2007/07/31(火) 22:59:31
予算にタッチできない派遣が一体何をマネージすんの?
571デフォルトの名無しさん:2007/07/31(火) 23:16:27
これからの時代はオレら派遣が生き甲斐や夢をマネージするんだ!
と求人広告に書いてありました。
572デフォルトの名無しさん:2007/07/31(火) 23:18:28
バカか?
言われたことを言われた通りにやるだけの派遣が何を生きがいにしろと?
年収があがることのない派遣が何の夢を持てと?
573デフォルトの名無しさん:2007/08/01(水) 00:23:28
スレと無関係な話に食いつく馬鹿を何とか出来ないのか?
574デフォルトの名無しさん:2007/08/01(水) 03:49:27
>>570
資本主義だし
派遣だってノルマを決められて締め付けられるってことさ
具体的にいうと半請負状態になってて派遣社員の人数を進捗具合によって調節したり
人数的、スキル的にできるかどうか、予算的にやるかどうかを決める役

別に重要でもないし難しくもないけどね
+1してみてよかったらさらに+1、
+1してみて駄目だったら−1
こんな程度のこと
575デフォルトの名無しさん:2007/08/01(水) 05:21:40
荒らしでしょ?定期的に派遣の話して、無関係な雑談を装ってるけど。
576デフォルトの名無しさん:2007/08/01(水) 15:24:17
>>573
NG登録もしらない馬鹿がうようよしてんのはしょうがない
だって初心者スレだし
577デフォルトの名無しさん:2007/08/01(水) 15:29:54
派遣をNGワードに登録完了
578デフォルトの名無しさん:2007/08/01(水) 15:49:50
>>558
A16R16G16B16FからX8R8G8B8への転送だが同じく不思議に思ったんで試してみたら俺のマシンだとそもそもA16R16G16B16Fをサポートしていないみたい。
誰か助けてやってくれ。
579デフォルトの名無しさん:2007/08/01(水) 16:09:21
NGワード登録って現実逃避だよね

ハケン、ジュケン、シュウショク、ニート、、、
彼は突き付けられる現実を全てNGワード登録して現実から逃げて逃げて逃げまくるのであった。
580デフォルトの名無しさん:2007/08/01(水) 19:20:22
一度作成した頂点バッファでもLock(),UnLock()で内容を書き込めると思うのですが、
その頂点フォーマットが、座標、法線、テクスチャだった場合、座標データだけを
書き換える事ってできますか?
お願いします。
581デフォルトの名無しさん:2007/08/01(水) 19:41:50
ロックして座標だけ書き換えればいい。

ただし、

ロックする際に D3DLOCK_DISCARD を指定したときは内部で新しく作成されたバッファが
返される可能性があるので、座標だけでなく全てのデータを書き込まないといけない。

ただし、

D3DLOCK_DISCARD を指定しないとパフォーマンスが大幅に落ちる可能性があるので、
頂点データを動的に変更する場合は D3DLOCK_DISCARD を指定して
全データを上書きするのが普通。
582デフォルトの名無しさん:2007/08/01(水) 19:46:40
>>581
なるほど。詳しい説明ありがとうございます。
参考にされていただきます。
583デフォルトの名無しさん:2007/08/02(木) 16:11:21
うーん、訳分からん助けてくれ。

写真をテクスチャーとして貼り付けるようなソフトなんだが、ピクセルシェーダーで加工するとなんかかなりおかしい。
で、調べてみたらガンマがリニアとsRGBを考慮しないといけないって事が分かったんで、処理はリニアにすることにした。
で、PresentするときにLINEAR_CONTENTってフラグを立てるとsRGBにガンマ変換してくれるんでやったーって感じと思ったら、
これってX8R8G8B8しかサポートされていないのか?
しかもフルスクリーンモードだと駄目みたいだけど、どうすれば良いのか。
584デフォルトの名無しさん:2007/08/02(木) 20:03:35
ピクセルシェーダを使わずにソフトウェアで自分の思うように処理すればいい。
はい解決。

585デフォルトの名無しさん:2007/08/02(木) 20:26:22
てゆーか状況説明に「なんかかなりおかしい」とかやめてけれ。
586デフォルトの名無しさん:2007/08/02(木) 22:48:03
>>583
何を言ってるのかさっぱりわからないw
587デフォルトの名無しさん:2007/08/02(木) 22:52:17
このイミフな文章は最近のBBX並だな
588デフォルトの名無しさん:2007/08/02(木) 23:10:46
プログラムもきっと意味不明に違いない
真面目に書いてるとしたら最低の部類だな

いつ、どこで、だれが、なにを、どうした

の定型文に当てはめて文章作るところから叩き直さなきゃ確実に駄目だな
589デフォルトの名無しさん:2007/08/02(木) 23:39:26
>>583
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/graphics/programmingguide/advancedtopics/gamma/gamma.asp

D3DPRESENT_LINEAR_CONTENTはX8R8G8B8専用とウィンドウモード、ドライバサポートがあるときのみ
動作する簡易機能。
どのモードでも動作させるなら、ここに書いてるようにごたごたと気にしながら処理する必要がある
最終的に色書き込むときに、シェーダでsRGB変換してもいいんでないかな

というかこの質問、あまり初心者じゃないぞw

>>585
その行の説明がどうだろうと、質問の内容にはあまり関係はない。動機の説明だし
590デフォルトの名無しさん:2007/08/03(金) 00:15:16
質問です。
描画時の拡大縮小の際、D3DTEXF_LINEARを指定しているのですが、意図とはちょっとだけ違った描画になってしまってコマっています。

D3DTEXF_LINEARは、4ピクセルを参照して補完するというのは知っています。
そのせいかキャラクターの淵が思っているのとは少し違うようになってしまいます。

□□□□□□
□□■■□□
□■■■■□
□■■■■□
□□■■□□
□□□□□□

□はRGBAが(255, 0, 255, 0)なピンクの透明ピクセル
■はRGBAが(0, 0, 0, 255)な黒い不透明ピクセル
とします。
これを、拡大や縮小すると、黒丸のふちにピンクが混じって現れてしまうのです。
4ピクセルを参照して補完するわけですから分からないでもないのですが、ピンクはα値が0。
見えて欲しくない色なわけです。

D3DTEXF_POINTやD3DTEXF_NONEにすればピンクはまったく参照されなくなる(単純に透過される)のですが、補完自体は欲しいところ。
これを解決(D3DTEXF_LINEARをかけつつ、透明色は完全に無視させる)することはできますでしょうか?
591デフォルトの名無しさん:2007/08/03(金) 00:24:13
>>590
変えたいのは透明度だけなんだから全部黒でいいじゃん。

□はRGBAが(0, 0, 0, 0)な黒の透明ピクセル
■はRGBAが(0, 0, 0, 255)な黒い不透明ピクセル

□□□□□□
□□■■□□
□■■■■□
□■■■■□
□□■■□□
□□□□□□

PhotoShopみたいにちゃんと透明度管理してくれるソフト使ってると
いちいち透明部分を別の色にする必要ないと思うんだがな。
592デフォルトの名無しさん:2007/08/03(金) 00:32:03
>>590
フィルタなんて全部OFFにして
最後に一発フルシーンアンチエイリアスでFA
FSAAなければ適当に拡大縮小してぼかしてもいい
593デフォルトの名無しさん:2007/08/03(金) 00:36:13
Zバッファとかステンシルバッファを駆使してマスクかけられんかな?
594デフォルトの名無しさん:2007/08/03(金) 00:45:45
はじめっからぼかしたキャラに淵つけたもんをテクスチャに描いておくw
595デフォルトの名無しさん:2007/08/03(金) 01:01:58
>>590
テクスチャフィルタは透明かどうかを考慮せずに補間するので
完全に透明な部分の色も混ざってしまうのは仕方が無い。
(そもそもαは透明度と決まっているわけでもない)

解決方法は、不透明部分に隣接する透明部分には、不透明の
部分からうまく補間した色を置いておくのが普通。
596583:2007/08/03(金) 02:22:45
>>589
やはりそうですか、、、なまじ一部にだけ機能が提供されているからモードによる動作違いに悩みますな。
結局はこの簡易機能には一切関わらず、とにかく読み込み時にリニア、Present直前の書き込み時にシェーダーでsRGBにするという一貫性を持たせるしかないようですね。

>というかこの質問、あまり初心者じゃないぞw
やはりそうですか。周りでも聞いても”はぁ?”って感じでみんなリニアとノンリニアを考えずに適当にやっているみたい。ま、ゲームならどうでも良いでしょうが。
ググっても一切情報は出てこないですよね。いやはや確信が持てて助かりました。
597デフォルトの名無しさん:2007/08/03(金) 07:05:38
>>595
おお、
つーか、あれか、デザイナさんの作ったデータみると
キャラの枠よりαの枠のが2まわりぐらい小さくなってるな
そういうことか・・・なるほど・・・今気付いてしまったw
598デフォルトの名無しさん:2007/08/03(金) 10:59:59
>>597
もう少し日本語を書く訓練しておきなさいよ。まるで小学生の日記のようじゃないですか。
599デフォルトの名無しさん:2007/08/03(金) 14:34:15
マウスを使用したゲームを作っているのですが
なぜか、カーソルの座標が(0,0)か(640,0)の時にクリックをすると
ゲームが終了してしまいます。


そこで、カーソルの座標のyを常に1以上にしたいのですが
「カーソルの座標を取得する」関数はあるのですが
「カーソルを任意の場所に移動させる」関数が見つかりません。


未熟者の浅はかな質問ではありますがよろしくお願いします。


それと、出来れば(0,0)と(640,0)の時にのみゲームが終了する
理由も教えていただければ幸いです。


後、参考になるかどうかは分かりませんが、
ゲーム中は「カーソルキーを非表示にする」という処理を行っているのですが
(0,0)と(640,0)の時にのみカーソルキーが表示されてしまいます。
600デフォルトの名無しさん:2007/08/03(金) 15:10:01
それはプログラムが悪いんじゃないかとしか
601デフォルトの名無しさん:2007/08/03(金) 15:21:46
>>599
ウィンドウスタイルに問題あるんじゃないか?
フルスクリーンならタイトルバーとか閉じるボタンは付けてはいかんぞ。

マウスカーソルを移動させるAPIはあるが、そんな対処療法のためには
教えるわけにはいかんな。誤魔化さないで、ちゃんと原因を突き止めろ。
602デフォルトの名無しさん:2007/08/03(金) 16:28:12
>>601
601さんのアドバイスのお陰で出来ました。
CreateWindowEXの第1引数を0からWS_EX_TOOLWINDOWにしたら、出来ました。

これからは、すぐ諦めず原因を追求していきたいと思います。
本当にありがとうございました^−^
603デフォルトの名無しさん:2007/08/03(金) 17:09:17
それ本当に解決になってるのか?
604デフォルトの名無しさん:2007/08/03(金) 18:23:35
>>601
× 対処療法
○ 対症療法
605デフォルトの名無しさん:2007/08/03(金) 19:55:52
>>602
XPスタイルだからだろ?

デフォルトのLunaはタイトルバーの左上と右上の角が丸くなってるから、
背景になっている部分をクリックしてウィンドウが非アクティブ化したとか
そんな下らん理由だろ
606デフォルトの名無しさん:2007/08/03(金) 21:53:20
質問させてください
テクスチャーをD3DPOOL_SYSTEMMEMで読み込んだときの「システムメモリー」とはどこを指すのでしょうか?
いわゆるmallocやnewで割り振られるメモリーのことだと思っていたのですが

・タスクマネージャーのプロセスタブを見ると確かにメモリーを食っているっぽい
・だけどウインドウを「最小化」するとタスクマネージャーのプロセスタブ上ではメモリー食ってない状態に
・でもパフォーマンスタグを見る限り、やっぱりメモリー食いっぱなし

となっており、混乱しています。
607デフォルトの名無しさん:2007/08/03(金) 22:01:41
>>606
『「最小化」すると』のあたり、分かって聞いている釣りにも見えるな。
608デフォルトの名無しさん:2007/08/03(金) 22:07:59
>>606
最小化したらスワップするからメモリを食ってない状態になるんでしょ
609デフォルトの名無しさん:2007/08/03(金) 22:13:10
ワーキングメモリの話かなぁ
610デフォルトの名無しさん:2007/08/03(金) 22:43:41
>>607-608
釣りではないです。
最小化するとスワップ…。スワップっていうのは確か、メモリー上のをHDDの仮想メモリに逃がすんですよね。
なるほどそういう理由だったのですか。

てっきり「テクスチャーロード時に一時的に使ったメモリーを、最小化した機会にやっと開放したのかな」とか思ってました。
Java脳ですか。

じゃあ単純にシステムメモリー=PCのメインメモリですね。
ありがとうございました。
611デフォルトの名無しさん:2007/08/03(金) 22:50:58
>>610
最小化時にはスワップだけでなくメモリを解放する事もあるよ
612デフォルトの名無しさん:2007/08/03(金) 23:26:04
>>591-597
アドバイスありがとうございました。

まず1ドット太らせる機能を持つツールを探してみました。
フォトショですらそういう機能はないそうです。

次に絵描きさんにそもそも太らせるようお願いしようかと検討してみました。
小さめのドット絵を扱うので元画像を太らせつつ描くのはつらいようです。

最後に、テクスチャーを読み込んだら即座にロックし、プログラムで1ドット太らせてみました。
思いのほか処理が早く、本来の画像読み込みから10%程度多く時間がかかるくらいで済みました。
画像も綺麗に拡大縮小できています。
613デフォルトの名無しさん:2007/08/04(土) 00:04:34
アルファ効かせてるならコピーして上下左右斜めにそれぞれ1ドットずらして
ペタリと貼るだけな気もする
でそれをまたキャプチャー
614デフォルトの名無しさん:2007/08/04(土) 01:01:13
premultiplied alpha にするという手も。
615デフォルトの名無しさん:2007/08/04(土) 01:23:41
初心者ウザすぎ。もう来るな
616462:2007/08/04(土) 01:38:46
人とのコミュニケーション能力の無いガキは来るな
617デフォルトの名無しさん:2007/08/04(土) 08:21:42
>>612
太らせる?
元のキャラ絵の輪郭からα画像を生成して(フォトショップの色域選択で可)
縦横2ドットずつ縮小するだけじゃね?

>>615
スレタイ嫁w

質問するほうも初心者として扱われるのを覚悟しなきゃいけんし、
答えるほうも多少わけわからん日本語を覚悟しないと駄目だろ?
618デフォルトの名無しさん:2007/08/04(土) 16:50:48
>>617
多少わけわからん日本語てwww

日本語がわけわからん理由としてDirectXの初心者だからってのは言い訳にもならないぞ。
質問する側であれ答える側であれ、分かりやすい日本語を書くべきなのは当然だろう。

619デフォルトの名無しさん:2007/08/04(土) 17:31:45
質問者に関しては
・開発環境
・目的
・現状
・現状へのプロセス
これらをハッキリ伝えないと回答のしようが無い場合が多い。
日本語云々もそうだけど、曖昧にしたり何故か事実を歪曲させて書かれるとモウネ
620デフォルトの名無しさん:2007/08/05(日) 03:28:44
質問です
ゲームのエフェクトとしてパーティクルとビルボードをしようしようかとおもうのですが
その際の処理速度を上げる方法としていい方法は何かないでしょうか?

同じテクスチャのパーティクルはまとめてD3DLOCK_DISCARDで頂点バッファを
作成し描画する程度は思いつくのですが・・・
621デフォルトの名無しさん:2007/08/05(日) 03:34:07
>>620
普通のモデルとやることかわらんけど?
やってみて重かったら最適化しろよ
無駄だぞ
初心者のくせに組む前から失敗したくねーとか甘いこといってんじゃねぇよ
622デフォルトの名無しさん:2007/08/05(日) 07:20:47
なんでこう喧嘩腰になるのかねぇ…
嫌なことあった?
623デフォルトの名無しさん:2007/08/05(日) 08:13:43
2chでストレス発散するタイプ?
八つ当たりされた方はたまらんな。
624デフォルトの名無しさん:2007/08/05(日) 08:39:54
〜をやってみた→処理が重い→どうすれば軽くなる?
ならわかるけど
〜をやるつもり→速い処理教えて
↑こんな奴相手にしなくていいと思う
やんわり言っても同じことだと思うけど?
ただの煽りと区別つかないのはちょっと困る
625デフォルトの名無しさん:2007/08/05(日) 09:13:17
俺には>>621は煽りにしか見えん。
つか>>621は相手にしてんじゃん。相手にした上で煽ってる。

>やんわり言っても同じことだと思うけど?
同じじゃねーよタコ。

って言われたらカチンって来るだろ?
顔が見えないネットじゃ文面に気を使うのは大事だと思うよ。
626デフォルトの名無しさん:2007/08/05(日) 09:13:47
ゆとりにイライラしても始まらないのは確か。
627デフォルトの名無しさん:2007/08/05(日) 09:17:19
>>625
>同じじゃねーよタコ。
どう同じじゃねーんだよタコ
って返すだけだけどな
628デフォルトの名無しさん:2007/08/05(日) 09:20:19
age
629デフォルトの名無しさん:2007/08/05(日) 09:20:53
正直、現実で>>620のような奴が増えては困る
その場その場の方法なんて教えるだけ無駄だと俺は思う
初心者スレは技術より技術者の有り方を叩きこんでやるのが俺のおせっかい

それが嫌(初心者扱いがうっとおしいと思う)なら通常の質問スレにいけ
630デフォルトの名無しさん:2007/08/05(日) 11:01:38
CComPtr<IDirect3DTexture9>をCreateTexture等の引数に直接指定した場合
Attachを使わずに代入したのと同じく参照カウントは2になってしまうんでしょうか?
631デフォルトの名無しさん:2007/08/05(日) 11:15:32
すみません教えてください

DirectX BusterというのでDirectXをアンインストールした後
再インストールしようとしたのですが
「インストールの完了」と表示されても
DirectXの診断ではヴァージョンが更新されていません
どうすればインストール出来るのでしょうか;
632デフォルトの名無しさん:2007/08/05(日) 11:24:06
>>629
ここはDirectXについてのスレです。
技術者の有り方については別の場所でやってください。
まずあなた自身が勉強して日本語と空気を読めるようにならないと、
誰にも教えることなんて出来ないでしょうけどね。
633デフォルトの名無しさん:2007/08/05(日) 11:50:47
>>632
同意。そんなのはリアル世界で会社の糞後輩相手に右往左往してやって欲しい。
ここでは逆に純粋に技術話を端的にして欲しいな。
634デフォルトの名無しさん:2007/08/05(日) 12:11:15
>>632
そう?だれでも同じレスつけると思うけど?
だって無駄じゃん
こいつは自分でやってもみねぇで何をもって速くなったと判断するのか?
いま、その技術がそこでできるかどうかなんて問題じゃねぇじゃん
直接的に
Q1→A1
Q2→A2
 ・
 ・
 ・
ってやることに全く意味を感じない
どうせヘルプ見れば載ってるようなのばっかだろ?
また、次にとるべき行動が誰の目から見ても明らかなもんとかよ
調べるの面倒だから聞いたとかそんなもんだろ?
現実、会社で一発でもやってしまうとそこで終了な職場もあるから俺はそういうのを技術を通して教えて生きたいと思う

質問する側も勝手にすればいいと思うけど回答つける側だって勝手じゃん?
俺は俺のやり方でやらせてもらうよ
635デフォルトの名無しさん:2007/08/05(日) 12:20:25
そういうレスが要らない
636デフォルトの名無しさん:2007/08/05(日) 12:26:10
>>635が次のレスで技術的なことをいいます!
ではドゾー↓
637デフォルトの名無しさん:2007/08/05(日) 12:26:43
僕らは卒業までの期間が決まってるんです。
趣味でやってる暇な社会人とは使える時間が違うんです
638デフォルトの名無しさん:2007/08/05(日) 12:32:55
そういうレスが要らない
639デフォルトの名無しさん:2007/08/05(日) 12:38:23
会社で技術者のあり方を教えるのに
>>621の口調で教えるんだなお前は
640デフォルトの名無しさん:2007/08/05(日) 12:56:38
>>639
多少ですます調に変更はあるものの言うね、まちがいなく
それでシカトして困るの俺じゃねぇし
やる気ないの明らかに相手だし
641デフォルトの名無しさん:2007/08/05(日) 13:15:09
俺は別に心構えとかここで言ってもいいと思ってるけどね
多少ですます調に変わるって言うところが不愉快だ
642デフォルトの名無しさん:2007/08/05(日) 13:36:55
まあ落ち着け
突っ込まれてるのは口調だ
内容については誰も突っ込んでない
そこがまず食い違ってるぞ
643デフォルトの名無しさん:2007/08/05(日) 13:44:47
心構えなら技術のないリタイア組でも口出せるから必死なんだろ。
644デフォルトの名無しさん:2007/08/05(日) 15:04:06
ああ、なるほど。
技術が無いからこの初心者スレにいるが、教えられないけど偉そうには
言いたいって感じか。
645デフォルトの名無しさん:2007/08/05(日) 15:05:00
とりあえずおまえらプールにでも行ってこい
646デフォルトの名無しさん:2007/08/05(日) 17:00:43
むしろ初心者を挫折させたくて仕方がないんだw
647デフォルトの名無しさん:2007/08/05(日) 18:40:49
>>645
市民プールなんて排水口にまきこまれそうで怖くていけねーよ
648デフォルトの名無しさん:2007/08/05(日) 18:42:57
幼女発見
649デフォルトの名無しさん:2007/08/05(日) 18:56:38
排水口の中で
650デフォルトの名無しさん:2007/08/05(日) 19:42:31
市民プールは若い娘はいない。ロリとババアだけだ
651デフォルトの名無しさん:2007/08/05(日) 20:56:49
DirectX SDK を October 2003 から、 June 2007に
バージョンアップしたところ、

プログラム内で、DirectXで文字を表示する箇所、
DrawText( NULL,str, -1,pRect, DT_LEFT | DT_EXPANDTABS, color);

において、

Run-Time Check Failure #0 - The value of ESP was not properly
saved across a function call. This is usually a result of calling
a function declared with one calling convention with a function
pointer declared with a different calling convention.

というメッセージが表示されて停止してしまいます。
これは何が問題なのでしょうか?

ちなみにDrawTextの行をコメントにするとプログラムは正常に動きます。
652デフォルトの名無しさん:2007/08/05(日) 21:37:13
>>651
DrawTextの仕様が変わってんだろ?多分
引数に変更があるはずだから探し出せ
653デフォルトの名無しさん:2007/08/05(日) 21:54:40
DrawTextってGDIか?
654デフォルトの名無しさん:2007/08/05(日) 22:09:09
いいえ。DirectXの方です。
LPD3DXFONT pFont;
pFont->DrawText
として使っています。

>DrawText関数を使う前の、
D3DXCreateFont関数では、S_OKを返していました。
仕様変更をしらべてみます。
655デフォルトの名無しさん:2007/08/05(日) 22:17:06
調べ方わかるか?
SDKのサンプルでDrawTextを使ってるもんを調べるんだ
656デフォルトの名無しさん:2007/08/05(日) 22:26:29
ある呼び出し規約で宣言された関数を
別の呼び出し規約の関数ポインタで呼び出しちゃったと言ってるんで

インクルードフォルダとライブラリフォルダが正しいかとか調べてみては。
昔のインクルードを読んでるのにライブラリが最新のをリンクしてて、矛盾が生じてるとかあるかも
657デフォルトの名無しさん:2007/08/05(日) 22:38:03
>> 655 656
皆さんありがとうございました。解決しました。

古いSDKのフォルダ(DX90SDK)が残っていたので、削除しました。
(新しいSDKは、Program Filesの中にインストールされていました)
そしてリビルドかけたところ、
D3DXCreateFont等がリンクできないというメッセージがでたので、
リンクするライブラリを、d3dx9dt.lib から d3dx9.lib にしたところ、
うまくビルドできました。

658デフォルトの名無しさん:2007/08/05(日) 23:05:54
旧SDK全部アンインストールしてもう1回入れなおしたほうがいいな
659デフォルトの名無しさん:2007/08/06(月) 07:28:23
lib選択してリンクしてるってのがもう怪しいな
660デフォルトの名無しさん:2007/08/06(月) 18:07:06
物体の反射を作ろうとしてるんですが
xファイルから面の法線ベクトルを取得する方法ってありますでしょうか?
661デフォルトの名無しさん:2007/08/06(月) 18:14:00
中のデータを取得するだけ。
662デフォルトの名無しさん:2007/08/06(月) 19:48:10
>>661
xファイルから取得できるのは点の法線ベクトルだと思います
なんとかして面にしたいのですが方法ありますでしょうか?
663デフォルトの名無しさん:2007/08/06(月) 19:52:23
じゃあ各面について辺の外積を求めれば?
664デフォルトの名無しさん:2007/08/06(月) 20:52:01
>>663
そういう計算じゃ駄目なんです
CGツールでは面の法線ベクトルで指定できるわけですから
それを頂点や辺から求めたのでは結果が異なりませんか?
665デフォルトの名無しさん:2007/08/06(月) 21:22:23
エクスポートされたデータが面の法線を出しているのなら、
面を構成している頂点が面の法線になっているだろう。

頭が弱いのか?
666デフォルトの名無しさん:2007/08/06(月) 21:42:25
つまり、単なる平均じゃなくて重み付けの計算がやりたいが、具体的に教えろということだ。
667デフォルトの名無しさん:2007/08/06(月) 21:57:53
意味不明
668デフォルトの名無しさん:2007/08/06(月) 23:04:33
Xファイルには面の法線データは入っていないので、計算じゃだめってんなら、無理です。
669デフォルトの名無しさん:2007/08/06(月) 23:12:14
DirectXの方で面法線なんて設定できたっけ?
670デフォルトの名無しさん:2007/08/06(月) 23:13:18
あ、1頂点につき面の頂点分持てば可能か・・・
671デフォルトの名無しさん:2007/08/06(月) 23:17:18
意味不明
672デフォルトの名無しさん:2007/08/06(月) 23:20:35
モデリングソフト側で面法線を利用してエクスポートしているのなら、
面を構成している頂点の法線が全て共通になるだけの話。
計算も糞もない。

なぜこんな単純なことが分からないのか、それがさっぱり分からない。
673デフォルトの名無しさん:2007/08/06(月) 23:37:56
モルダーにでも聞け
674デフォルトの名無しさん:2007/08/06(月) 23:50:40
>面を構成している頂点の法線が全て共通になるだけの話。
うそーん?
じゃあ点ABCDから、三角形ABC、BCDのポリゴンがあるとしたら
BとCの法線ベクトルはABCと同値なの?BCDと同値なの?
675デフォルトの名無しさん:2007/08/07(火) 00:24:32
ジオメトリシェーダを使えば
面法線も余裕のよっちゃんかしらね。
676デフォルトの名無しさん:2007/08/07(火) 00:26:26
そういや法線の求め方に「正解」ってのは見たことねぇな。

たいがいは頂点の属する面の法線を足し合わせるだけだろうけど、
(足し合わせる前に法線正規化するorしない派がある)
面の向きに依存しないように頂点の角度を考慮に入れたりする場合もある。
この時点でツールによって実装バラバラなのに、ここから面をスムースにする
角度指定なんか入るとさぁ大変。

ぶっちゃけxファイルからツールの法線を完全に再現したいんなら(質問読み違えてる?)
ツールのSDK等でソースが公開されていることを祈るしかねぇんじゃないの?
677デフォルトの名無しさん:2007/08/07(火) 00:40:18
自分はツールにはあまり詳しくないんだが「頂点の角度」ってなんじゃらほい??

それはさておき、ツールで指定した面法線の値に依存するような
反射を作りたいんなら、そもそもX形式でやることがアレかも?
そのツールからX形式にするときに、求める情報が失われているかどうか
電卓とかで調べて、ダメなら結局自前でエクスポーターとか書くしかないんじゃね?
678デフォルトの名無しさん:2007/08/07(火) 06:23:20
>>674
その場合ってBとCの頂点は法線を2つもつためにBとCの頂点がそれぞれ2つになるんじゃね?
ΔABCと△BCDのBCは別の頂点になるんじゃね?っつこと
679デフォルトの名無しさん:2007/08/07(火) 08:27:09
Xファイルのフォーマットの仕様では法線のベクトル配列とインデックス配列は頂点座標のそれらとは独立しているので、
頂点4つに対して法線を6つ用意して法線を共有しない三角形を2つ作るといったことも記述できるよ。
http://msdn2.microsoft.com/en-us/library/bb147193.aspx
ただ、そのような変則的な書き方を利用するかどうかはCGツールのエクスポータ次第だけどね。
680デフォルトの名無しさん:2007/08/07(火) 09:16:48
Xファイルで面法線を記述する例
(頂点座標4個、法線ベクトル2個、三角形2個)

------------------------------
xof 0302txt 0032
Mesh {
4;
-1.0;0.0;0.0;,
1.0;0.0;0.0;;
0.0;-1.0;1.0;,
0.0;1.0;1.0;,
2;
3;0,1,2;,
3;1,0,3;;
MeshNormals {
2;
0.0;-0.7071;-0.7071;,
0.0;0.7071;-0.7071;,
2;
3;0,0,0;,
3;1,1,1;;
}
}
------------------------------

DirectX Viewerではこれで期待通りに動作した。
681デフォルトの名無しさん:2007/08/07(火) 10:00:42
だからモデリング時に面法線を使用した場合、エクスポートした時点でデータが入っているんだから、
これ以上グダグダ言っても始まらないだろ。
入っている物をそのまま使えばいいだけ。

逆に頂点ごとに法線が異なる場合は、モデリング時の指定かエクスポートの仕方が悪い。
結局データを読み込む段階に対処すべき話ではない。
682デフォルトの名無しさん:2007/08/08(水) 00:19:30
面法線を設定したって表示は頂点法線なんだべ?
なんか勝手に反映されてるような気がしないでもないけどねw
されてねぇんかな?
683デフォルトの名無しさん:2007/08/08(水) 01:28:41
ピクセルシェーダーでFP16バッファをXRGB32に書き出しているんですが、
s10e5っていう浮動小数点をどうやって0-255に落とし込むのが適切なんでしょ?
684デフォルトの名無しさん:2007/08/08(水) 01:30:21
*(BYTE*)&f
685デフォルトの名無しさん:2007/08/09(木) 02:27:01
>>683
FP16→RGB32変換ってドライバーがやってくれなかたっけ?
たぶん変換テーブルを持っていてよろしく変換してくれそうだけど、疑問はメーカー違いでも同じテーブルなのかということ。
686デフォルトの名無しさん:2007/08/09(木) 07:19:53
drawprimitiveupの3番目の引数にvectorを使用したいのですが
conts vector*に変換できませんとエラーが出ます。

なにか方法は無いでしょうか?
687デフォルトの名無しさん:2007/08/09(木) 07:27:07
(void*)
688デフォルトの名無しさん:2007/08/09(木) 08:00:18
>>686
俺いつも&(vec[0])ってやってた希ガスw
689デフォルトの名無しさん:2007/08/09(木) 08:35:08
&vec[0] か &vec.front() やね。
次期 C++ では vec.data() とできるようになるみたいだけど。
690デフォルトの名無しさん:2007/08/09(木) 09:13:45
俺は&vec.front()派だな
691デフォルトの名無しさん:2007/08/09(木) 09:25:57
0 がマジックナンバーに見える派だな。
気持ちはよく分かるわ。

ま、補助関数テンプレートでも作るのが一番かもしれんな。
692デフォルトの名無しさん:2007/08/09(木) 09:26:21
conts
693デフォルトの名無しさん:2007/08/09(木) 22:30:07
>>687-692
皆様ありがとうございます。
助かりました。
694デフォルトの名無しさん:2007/08/09(木) 22:56:11
人物モデルを半透明で表示したら、眼球パーツが透けてキモくなりました。
しかし世間のゲームはさほど気にならない気がします。
こういうときは一般にはどう対処するものなのでしょうか?
695デフォルトの名無しさん:2007/08/10(金) 00:25:59
Zだけ先に書いて、ZテストEQUALで色塗るとか、どう
696デフォルトの名無しさん:2007/08/10(金) 00:27:57
>>690
今すぐ Effective STL を読むんだ。
697デフォルトの名無しさん:2007/08/10(金) 00:29:30
>>694
半透明で表示しない(結構マジレスですw)
かもしくは
眼球もしくは透けては困るパーツをZバッファ使って後から描くとか小細工で逃げる
かもしくは
一度どっか別のテクスチャに描画してから改めて半透明で描画
かもしくは
・・・ごめん、俺、こんなことしか知らないや・・・w
698デフォルトの名無しさん:2007/08/10(金) 01:47:09
すんまそん。
今DirectX使ってお絵かきソフト作ろうと思ってるんですが(アホ)
各レイヤの内容を一旦テクスチャとして描き出してからそれをバックバッファに
アルファ値指定して描画って事をやりたいのです。

で、各レイヤー用のテクスチャに対してレンダリングする事は出来るのですが
バックバッファ以外にレンダリングするとFSAAが効いてくれません。
自前でスーパーサンプリングとかせずにテクスチャバッファへレンダリングする
時にFSAAによる補間処理を有効にする事って出来るのでしょうか?
699デフォルトの名無しさん:2007/08/10(金) 01:50:10
>>683
俺も同じ疑問を持っている。
FP16って浮動小数点だよな。どうやってガンマ2.2の0-255の整数に落とし込むんだろ?
700デフォルトの名無しさん:2007/08/10(金) 03:02:17
698ですが、色々と調べてみると我ながらアホな事を聞いたものだと思いました。

テクスチャのバッファとしてはDirectXはマルチサンプル形式をサポートしてない。
(サポートする意味が無い)
マルチサンプルの方式自体はドライバ側で隠蔽されているので、
Present時に必要であればダウンサンプルを行っている。

要するに、テクスチャバッファへレンダリングした場合FSAAが有効にならないのは
当然の事でなのですが、Present時にしか個々のFSAA処理に応じた解決
(ダウンサンプリング)がなされないという事は、バックバッファ以外に
マルチサンプルサーフェスを作成してそこにレンダリングした結果を
バックバッファへコピーor合成していくしか方法は無いという事ですよね。

ところがMSDNを見ると、

次のいずれかの場合、IDirect3DDevice9::StretchRect は失敗する。
転送元サーフェイスがマルチサンプリングされている場合 (MultiSampleType != D3DMULTISAMPLE_NONE で作成した場合)。

という記述があるのですが。(´・ω・`)どうしろと。
701デフォルトの名無しさん:2007/08/10(金) 06:15:03
>>698
イミフ
やりたいこと・解決したいことは

>各レイヤの内容を一旦テクスチャとして描き出してからそれをバックバッファに
>アルファ値指定して描画って事をやりたいのです

じゃなくて

>バックバッファ以外にレンダリングするとFSAAが効いてくれません

なのな?
つーか、何がしてぇの?
普通にバックバッファに描画して必要な分(描画したい数だけ)Presentすりゃいいじゃん
リアルタイムでワンフレいくらで動かしてるわけじゃないんしょ?
数分Presentすればいいじゃない?

つか、何で悩んでるのかわからん

>各レイヤの内容を一旦テクスチャとして描き出してからそれをバックバッファに
>アルファ値指定して描画って事をやりたいのです

これはできてんだよね?
702デフォルトの名無しさん:2007/08/10(金) 09:49:34
>>701

自分で見直してみてもイミフでした。すんまそん(´・ω・`)
基本的にベクタのお絵かきソフトなので、CPUが持ってるのはベクタデータのみ
レンダリングは全部VRAM上でやりたいのです。

複数のレイヤー毎にカラーの違うベクタデータを持っているものとして

それをレンダリングする時にFSAAが効いてないと汚くなるので
効かせたかったのですが

・FSAA効かせてバックバッファに描画
・バックバッファの内容をテクスチャバッファにコピー

までは出来たましたが、そのテクスチャバッファに書かれているデータの
アルファ値は全部FFのようで、描画されてない部分まで下地の色を持って
しまっているようです。

当然それをアルファ値指定して描画すると、透明にしたい部分も下の
レイヤーに影響を与えてしまうわけで。
何か良い方法はないでしょうかorz
一旦サーフェスをロックしてCPUでごにょごにょすれば余裕なのは
分かるのですが、なんか負けた気がするので(´・ω・`)
703デフォルトの名無しさん:2007/08/10(金) 11:40:28
バックバッファをアルファ付きフォーマットにすればいいんじゃない
704デフォルトの名無しさん:2007/08/10(金) 21:58:19
>>702
まだ、意味不明なんだけど
この手順じゃ駄目なんだっけ?

0.レンダリングステータスにFSAAを設定
1.ベクトルデータを使ってアルファ付きテクスチャバッファを作成
2.普通にアルファを効かせてバックバッファにレンダリング
3.Presentで目標物に描画

1〜3まで必要な数だけ繰り返す
じゃ駄目な理由ってなんだっけ?
705デフォルトの名無しさん:2007/08/10(金) 22:02:49
あーなるほど
1のときにサーフェイスをロックして色々やらずに
なんとかする方法を探してるってこと?
706デフォルトの名無しさん:2007/08/10(金) 22:49:26
作ったゲームのデータをプレイヤーから見れないようにする方法はありますか?

ttp://studiokingyo.fc2web.com/dxlib/kowaza/k4.html

などを参考にしましたが、さっぱり意味がわかりませんでした。
多少不確実でも簡単な方法があったら教えてください。

ちなみに、横スクロールシューティングを作ってるレベルなのでできるだけ簡単にお願いします
707デフォルトの名無しさん:2007/08/10(金) 22:52:30
・リソースにしてexeにリンクする
・データを暗号化する
708デフォルトの名無しさん:2007/08/10(金) 22:53:10
>>706
exeのなかに全部入れちまえ
709デフォルトの名無しさん:2007/08/10(金) 23:09:41
>>707
データを暗号化というのはやっぱり>>706のURLのようにソースをいじったりと複雑になりますか?


>>708
kwsk
710デフォルトの名無しさん:2007/08/11(土) 00:20:42
暗号化は、データをどうやって読み込んでるかと、どのていど強力な暗号化をしたいかによって、変わってくる。

exeの中に入れるのは、解りやすい古典的な方法だと
const char data[] = { 0x42, 0x40, ......... };
みたいなのをソースのどこかに埋め込む。

もうちょっと普通の方法だと、リソースとして入れる。
使ってるコンパイラは何?
711デフォルトの名無しさん:2007/08/11(土) 00:27:25
質問者のレベルからしてXORで十分じゃね
712デフォルトの名無しさん:2007/08/11(土) 00:37:36
>>706
D3DXCreateTextureFromFileなんて関数を使うのをやめれば、何も迷わない。
713デフォルトの名無しさん:2007/08/11(土) 00:42:53
VC++2005でDirectXをやる本のサンプルでウィンドウを表示するプログラムがあるんだけど
コードを部分的にしか書いてなくて初期化とかのやりかたがわかりません。
#includeとかつかって何か読み込むんですか?
714デフォルトの名無しさん:2007/08/11(土) 01:19:06
さすがにその辺書いてない本はないだろ
最初からよく読め、1ページ目からよく読め、さぼらず全部読め
715デフォルトの名無しさん:2007/08/11(土) 02:15:51
>>704,705

1.の手順でサーフェイスをロックしないでやりたいというのは
そのとおりなんです。

0〜3を繰り返すっていうのはおそらくスワッピングのフラグに
COPYが指定されている事を前提としていると思うのですが
(そうしないとレイヤーが8枚あったら1,3,5,7と2,4,6,8が違う
 バッファに書かれてしまう事になるので)
で、それはどうにでもなるとして。

この手順だとα付テクスチャバッファに描画する際に
アンチエイリアスが効かないのでそれをレンダリングしても
出てくるのはアンチエイリアスの効いてない画像になります。
正確には効いてるけど、それはテクスチャを貼り付けたポリゴンに
対してであってテクスチャの中身はマルチサンプルバッファに
なってないのでFSAAの効果は無いに等しくなります。

1.の時にα付テクスチャに予めCPUによってアンチエイリアスを
施したモノを描いておけばいいのですが、それはやりたくないですし。
そもそもそれだったらFSAAを有効にする必要が無いわけです。

で、色々考えた結果、
1.レイヤを一枚描画する毎にZバッファをクリアする。
2.同一のレイヤーのベクトルデータは同一のZ値を指定して描かせる。
3.その際のZ比較にNOTEQUALを用い。α値はレイヤーのα値とする。
という方法をとってみました。

色々ありがとう。あと、問題をよく整理できてなくて申し訳ない(´・ω・`)

716713:2007/08/11(土) 04:29:31
>>714
その本にのってる一番最初のサンプルコードがそれで
LRESULT CALLBACK....とかって始まってるんですけど
どうすれば?
717デフォルトの名無しさん:2007/08/11(土) 04:48:01
>>716
CDとかに全ソースコードが入ってるとかいうオチじゃないの?(´・ω・`)
718デフォルトの名無しさん:2007/08/11(土) 04:49:03
>>716
軽くwin32apiを勉強したほうがいい
719デフォルトの名無しさん:2007/08/11(土) 11:13:36
>>716
もっかい言うぞ
「一番最初のサンプルコードから」 読むんじゃない
「1ページ目から」 読め
さぼらず全部読め
720デフォルトの名無しさん:2007/08/11(土) 11:51:01
>>710
borland社のbcc32です。BCC Developerっていう補助ソフトを使ってます。
721デフォルトの名無しさん:2007/08/11(土) 14:08:12
bccdeveloperみてみた。プロジェクトを右クリックするとリソーススクリプトってあるでしょ。そこに

hoge RCDATA hoge.dat
piyo RCDATA piyo.txt

って感じでファイルを並べていく。
左はロードするための名前で RCDATA は予約語で右はファイル名。
メイクすれば、そのファイルが exe に取り込まれる。
使うときは

void *p = LockResource(LoadResource(NULL, FindResource(NULL, "hoge", RT_RCDATA)));

などとすればそのデータを取得できる。
fopen なんかは要らない。

これは知ってる人なら、取り出そうと思えば簡単に取り出せる。
プログラムとか知らない一般ユーザにはたぶん無理かな、くらい。
722デフォルトの名無しさん:2007/08/11(土) 15:51:11
>>721
やってみました。
リソーススクリプトファイルに

data1 RCDATA "C:\MyC\title.jpg"

と記述し、メインプログラムで

int p;
------省略-------
void *p = LockResource(LoadResource(NULL, FindResource(NULL, "data1", RT_RCDATA)));
------省略-------
DrawGraph(0,60,p,FALSE);

と表示しようとしたのですが何も表示されませんでした。使い方間違ってますか?
723デフォルトの名無しさん:2007/08/11(土) 16:02:03
DrawGraphってなんですか、自分で作った関数ですか。
こっちはそんなの知らないんだから、わかるわけない。
情報不足すぎる。
724デフォルトの名無しさん:2007/08/11(土) 16:12:43
もしかしてDXライブラリ?
725デフォルトの名無しさん:2007/08/11(土) 16:58:47
DXか・・・ だったらリファレンスを見る限り CreateGraphFromMem に読ませればいいんじゃない。
たぶんこんな感じ。

HRSRC hRes = FindResource(NULL, "data1", RT_RCDATA);
int g = CreateGraphFromMem(LockResource(LoadResource(NULL, hRes)), SizeifResource(NULL, hRes));
DrawGraph(0, 60, g, FALSE);

てか、条件を後出しにすればするほど解決に時間がかかることを覚えとくといいよ。
環境、コンパイラ、ライブラリなどが限定されてる場合は最初から書いておくべき。
726706:2007/08/11(土) 16:59:34
>>723-724
すみません、重要なこと言い忘れてました
Dxライブラリです。
727デフォルトの名無しさん:2007/08/11(土) 16:59:37
タイプミスorz

× SizeifResource
○ SizeofResource
728706:2007/08/11(土) 17:04:58
>>727
アドバイスありがとうございます!!上手くいきました。
今までアドバイスをしてくれた方も本当にありがとうございます。
729デフォルトの名無しさん:2007/08/12(日) 17:53:22
http://www.c3.club.kyutech.ac.jp/gamewiki/index.php?%BB%B0%A4%C4%A4%CEInput%A4%F2%A4%DE%A4%C8%A4%E1%A4%C6%A4%DF%A4%EB

にあるDrectInputのサンプルを組み込もうとしているのですが

DirectInputとデバイスを初期化する関数(InputManager::Init(HINSTANCE hinst, HWND hwnd))
デバイスをアップデートする関数(InputManager::UpData())
入力を拾ってくる関数(InputManager::GetKey(const DWORD keycode))

の順で動かしてもデバイスからの入力が拾えません
ビルドエラーも無く実行はできるために原因がさっぱりわかりません
おそらく初歩的なところで何かが抜けているのだと思いますが、どうして入力を拾えないのでしょうか?
730デフォルトの名無しさん:2007/08/12(日) 20:20:06
そんな人の作ったクラスのことなんて知らん。
ここで聞くのはスレ違い。
それ書いた人に直接聞いてくれ。
731デフォルトの名無しさん:2007/08/13(月) 07:10:24
当方美少女ゆえ、作者がスーパーハッカーの場合にIPを抜かれストーキングされることを警戒しています。
732デフォルトの名無しさん:2007/08/13(月) 08:03:38
その発想はなかったわ
733デフォルトの名無しさん:2007/08/13(月) 12:18:41
まぁ確かに、こんなこと書いているような香具師に質問なんかはしたくない罠。
http://www.c3.club.kyutech.ac.jp/gamewiki/etc/canvas.html
734729:2007/08/13(月) 17:44:24
>>729,733
wikiと掲示板が更新していなくて返事が来なさそうだと考えたためにこちらで質問させていただきました
問題に関しては今までキー取得用の関数とデバイス初期化用の関数を別のファイルに書いていたのを同じファイルに移すことで解決することができました。どうもありがとうございました
735706:2007/08/13(月) 22:57:20
再び質問です。
前回プレイヤーに見られたくない画像類をリソースとして入れ隠しましたが、>>725の方法で
データをwmvなどの動画にすると「Turbo Incremental Linker」が強制終了してしまします。
動画をリソースするにはどうしたらよいのでしょうか?
ちなみに"DrawGraph"の代わりに"PlayMovie"関数を使っています

使用コンパイラは Borland bcc32
補助ソフトは BCC Developer
Dxライブラリを利用してシューティングゲームを作っています。

リソーススクリプトファイルのソースは
data1 RCDATA "C:\MyC\opening.wmv"
となっています。
736デフォルトの名無しさん:2007/08/13(月) 23:02:23
DXライブラリ作ったひとに聞いてください
737デフォルトの名無しさん:2007/08/13(月) 23:07:23
もう面倒くさいから、そのぐらい自分で作れよ。
738デフォルトの名無しさん:2007/08/13(月) 23:08:47
つかDXライブラリだかなんだか知らんが、
DrawGraphやらPlayMovieやら、いきなり言われても住人の大半はそんなもん知らないぞ?

しかもファイルをリソースに入れるにはどうするか、なんて尚更DirectXと関係ないし、
そろそろスレ違いに気付けよ
DXライブラリだかBCCだかWin32初心者だかゲ製板あたり行って聞けよ
739デフォルトの名無しさん:2007/08/13(月) 23:10:11
>>738
そうします

すみませんでしたorz
740デフォルトの名無しさん:2007/08/13(月) 23:11:31
DXライブラリって何?誰かさんの俺ライブラリ?
741デフォルトの名無しさん:2007/08/14(火) 08:04:52
yahooでググレ!
742デフォルトの名無しさん:2007/08/14(火) 11:13:26
Googleでヤフレ!
743デフォルトの名無しさん:2007/08/14(火) 11:52:46
744デフォルトの名無しさん:2007/08/14(火) 20:51:11
フリーライブラリ利用者はヘボプログラマしかおらず、作者は世捨て人だという
印象があるので、こちらで幅広い人々の御見識を賜りたいのです。

745デフォルトの名無しさん:2007/08/14(火) 20:53:05
つまり俺らもDXライブラリを使って教えろと?
746デフォルトの名無しさん:2007/08/14(火) 20:54:57
利用者でも作者でもない人間がレビューできるわけないだろう
747デフォルトの名無しさん:2007/08/14(火) 21:00:36
知りもしないものを説明出来る奴がいたとしたらそいつは詐欺師の才能がある。
748デフォルトの名無しさん:2007/08/14(火) 22:59:32
つまりこのスレにいるヘボプログラマの情報を期待していると。
749デフォルトの名無しさん:2007/08/14(火) 23:36:13
>>744
>フリーライブラリ利用者はヘボプログラマしかおらず、作者は世捨て人

これはお前さんの単なる偏見じゃないのか?
なんちゃらライブラリのことは全然知らないけど
750デフォルトの名無しさん:2007/08/15(水) 10:38:45
幅広いヘボプログラマしか見つからんだろ。ここじゃ。
751デフォルトの名無しさん:2007/08/17(金) 03:12:52
D3DXIntersectを使おうと思ったんだけど、まったくあたりが帰ってこないから質問。
第1、2、3引数について
第1は xファイルのメッシュ
第2は 始点
第3は D3DXVECTOR3(0,-1,0)
を指定してます。
Intersectを使うにあたって、何か注意する点ありますか?
ぐぐるとたまに逆行列が云々と描かれていますが、いつどこの話か全く検討がつきません。
よろしくお願いします。
752デフォルトの名無しさん:2007/08/17(金) 06:57:07
>>751
始点はXファイルの原点からの相対位置じゃなかったっけ。
当たり判定をする物体の向きがX軸90度回転していたら-90度回転させて元に戻さないといけないし、
位置が0,0,0に配置されていないのだったら物体とその始点をずらさないといけないし・・・ってこれが逆行列ね。
753デフォルトの名無しさん:2007/08/17(金) 11:38:42
グラボに接続されているモニタが、ワイドモニタか、4:3モニタか調べる方法ってあるの?
DirectX or Win32API 何でもいいんだけど。
754デフォルトの名無しさん:2007/08/17(金) 11:51:36
デスクトップの比率を見て大雑把に分けるしかないんじゃない
755デフォルトの名無しさん:2007/08/17(金) 11:53:53
目視
756デフォルトの名無しさん:2007/08/17(金) 11:56:10
>>753
マルチ死ね
757デフォルトの名無しさん:2007/08/17(金) 12:47:22
>>752
具体的で分かり易かった!!
ありがとう。
当たり判定する物体は、まったく動かしてないから、
「始点はXファイルの原点からの相対位置」←で引っかかってるのかな。。。
頑張ってみます!!

>>753
ありそう。けど知らん。
758751:2007/08/17(金) 15:54:09
参考書に少しだけ書いてありました。
メッシュを読み込んでるときは、メッシュの移動等に関する逆行列をレイにかけてやらないとうまくいかないそうです。
759デフォルトの名無しさん:2007/08/18(土) 13:47:36
hlslのピクセルシェーダーでライティング処理を行いたいのですが、
光源の座標(L)と、モデルの頂点座標(P)、法線(N)、光色(D)が分かっているとして、
光源の近くなら明るく、光源から離れるほど暗くしたいのですが、
どのような式を使えばいいのでしょうか?
お願いします。
760デフォルトの名無しさん:2007/08/18(土) 13:52:53
距離が離れて暗くなるだけなら法線と光色は無視していいってことなんだろうな。
761デフォルトの名無しさん:2007/08/18(土) 16:48:22
atten = 1 / (a0 + a1*d + a2*d^2) (d:光源と頂点の距離)
一般的には上の式ね。attenを明るさに掛けるわけね。
a0〜a2の決め方は、例えば10m先で明るさを1/2にしたかったら
a0 = 1
a1 = (2.0 - 1) / 10.0;
a2 = 0
とかね。(a0 = 1, a2 = 0 は固定でいいかもね。)

でも調整が面倒だから、簡単に調整したいなら
atten = clamp( (d - attenBegin) / (attenEnd - attenBegin), 0.0, 1.0 );
みたいなのでもいいわよ。
762759:2007/08/18(土) 17:34:08
>>761
ありがとうございます。
理解してから、使わせていただきます。
763デフォルトの名無しさん:2007/08/18(土) 17:47:36
thanks but ill never use it until i understand it.
764デフォルトの名無しさん:2007/08/18(土) 20:22:07
あまりに技術的でない内容で恥ずかしいのですが、質問させていただきます。

使用PCはWindous Vista
DirectX9以上が必要なゲームをプレイするために、マイクロソフトの
ページからsetup.exeをダウンロードし、起動。
契約に同意して[インストール]をクリックしたら1秒の待ち時間もなく
インストール完了の文字が。
しかし、PC内どこを探してもDirectX9のファイルは見つからず、
当然ゲームも起動できません。

おそらくどこか手順を誤ったのだと思います。
正しい手順を教えていただけないでしょうか。
765デフォルトの名無しさん:2007/08/18(土) 20:31:28
お前がどう手順を誤ったかなんてエスパーでもない限り分かるわけないだろう

つかそれ以前にここはプログラム板なんだが
766デフォルトの名無しさん:2007/08/18(土) 20:45:59
板違いでしたか・・・消えます
767デフォルトの名無しさん:2007/08/19(日) 13:01:18
サーフェイス等について質問があります。
レンダリングをテクスチャに行いたいので次のモノを用意したとします。
LPDIRECT3DTEXTURE9 pTex0;
LPDIRECT3DSURFACE9 pSur0;
LPDIRECT3DSURFACE9 pDepth;
LPDIRECT3DTEXTURE9 pTex1;
LPDIRECT3DSURFACE9 pSur1;

@
まず、pTex0に描画するには、現在のバックバッファのサーフェイスを何処かに保存してから、
dev->SetRenderTarget(0, pSur0);
dev->SetDepthStencilSurface(pDepth);
dev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);
と設定してやる必要があると思います。
pTex0への描画処理

A
そして、次にレンダリングターゲットをpTex1に設定するとき、深度バッファはそのままで、
dev->SetRenderTarget(0, pSur1);
dev->SetDepthStencilSurface(pDepth);
dev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);
とし、pTex1へ描画処理。

B
次に、レンダリングターゲットをpTex0に戻し
dev->SetRenderTarget(0, pSur0);
dev->SetDepthStencilSurface(pDepth);
また、pTex0に描画しているのですが、この時、pDepthの深度値をAで1.0fにClearしているはずなのに、
@で描画したときの深度値が残っています。
やりたいことは、これでできるので良いのですが、何故初期化されていないのか気になります。
ちなみに、BでClearしたら初期化されます。
長くなりましたが、分かる方お願いします。
768デフォルトの名無しさん:2007/08/19(日) 13:45:54
D3DPRESENTFLAG_DISCARD_DEPTHSTENCILをつけたかCreateDepthStencilSurfaceのDiscardをtrueにしたため、
SetDepthStencilSurfaceの呼び出しでサーフェイスが無効化されたものの、たまたま以前と同じバッファが割り当てられたのでは?
未初期化状態であるので他の機種で同じ動作が期待できないというやつ。


769767:2007/08/19(日) 14:01:01
>>768
レストンクス。
確認してみたところ、CreateDepthStencilSurfaceのDiscardがtrueになってました。
やはり、他のPCでも同じ動作にさせたいのですが、この場合は、
pDepthのDiscardにfalseをセットし、もう一つ深度サーフェイス(pDepth1)を用意し、
>>767で言う、
@でpDepthをセットし、クリアする
AでpDepth1をセットし、クリアする
BでpDepthをセットし、クリアしない
という感じにすれば、他のPCで動かした場合でも同じ動作になるのでしょうか?
770デフォルトの名無しさん:2007/08/19(日) 20:36:10
簡単に3Dやりたいんですけど、これは使えますか

LGP
http://www.jppass.com/lgp/

Cyber Library
http://library.cyberdelia.net/library/library.html

Easy Link Library
http://www.twin-tail.jp/contents/el/el.htm
771デフォルトの名無しさん:2007/08/19(日) 20:41:51
これもありました
初心者が使えて速度がでるおすすめはありますか?

ActiveBasic
http://www.activebasic.com/help_center/articles/directx/index.html
772デフォルトの名無しさん:2007/08/19(日) 20:47:12
SDLでいいんじゃね
773デフォルトの名無しさん:2007/08/19(日) 21:17:41
DirectInputの質問です。
DirectXSDKはApril2007を使っていて、開発環境はVC6SP6です
LPDIRECTINPUT8 lpInput;
というように宣言をしているんですが、「error C2501: 'LPDIRECTINPUT8' : 識別名を宣言するのに、型が指定されていません。」とエラーを返されます。
当然headerファイルのインクルードなどは見直しました。
d3d9.h d3dx9.h dinput.hをインクルードしています。(input関連以外ではエラーはありません)
さらに同じ内容のエラーが異なる4つのcppファイルから発されています。当然#pragma onceをしています。
どうしたらこの問題(dinputの正常な使用とエラーの回避)が解決できるか教えてください。
なお、このサイトを参考に作成しました。
http://www.shader.jp/xoops/html/masafumi/directx9/dinput/dinput002.htm
774デフォルトの名無しさん:2007/08/19(日) 21:27:26
「識別名を宣言するのに、型が指定されていません」でぐぐれ
775デフォルトの名無しさん:2007/08/19(日) 21:38:59
http://www.kab-studio.biz/Programing/Codian/Basis/03.html
ここの一番下のことでしょうか?
すべてのhファイルを読み込んでいるファイルを先頭にし、エラーが出ているcppすべてでinputを管理するクラスを宣言しているヘッダをインクルードしましたが解決しません。
おっしゃっていることがよくわかりませんがどういうことですか?
776デフォルトの名無しさん:2007/08/19(日) 21:54:06
ver8のヘッダが必要なんじゃなかったっけ
そりゃDirectMusicだったっけ
777デフォルトの名無しさん:2007/08/19(日) 21:57:14
>>776
d3d8.hという意味でしょうか?
MSDNや解説サイトにはそのようなことは書いていなかったと思いますが、必要なのかもしれません。
他に足りない情報がありますか?
778デフォルトの名無しさん:2007/08/19(日) 22:04:46
>>773
DIRECTINPUT_VERSIONは定義してるか?
dinput.hを覗いたら、定義していなくても0x0800が自動で定義されるみたいだが、一応確認
779デフォルトの名無しさん:2007/08/19(日) 22:06:13
>>778
定義しています。それは書くのを忘れていました。すいません。
780デフォルトの名無しさん:2007/08/19(日) 22:18:53
>>773
VC6は、とっくの昔にDirectXSDKのサポートから外されてる。
いつからだったかは忘れたがApril2007だったら間違いなくVC6はサポートしていない。

対象外なんでコンパイルが通らなくても文句は言えないし、
仮にコンパイル出来たとしても正常に動作する保証もない。
781デフォルトの名無しさん:2007/08/19(日) 22:21:23
>>780
VS2005ならとおるんですね
ためしに2005を導入してやってみようと思います。
782デフォルトの名無しさん:2007/08/19(日) 22:27:11
VS2005導入してみましたが、やっぱりだめでした。
783デフォルトの名無しさん:2007/08/19(日) 22:32:20
>>782
まだ導入終わってないんですけど?
784757:2007/08/20(月) 01:15:11
アニメーションをもたない、D3DXLoadMeshFromXで読み込んだメッシュ情報と、 --------A
アニメーションをもち、フレーム処理のためにメッシュコンテナに格納したメッシュ情報。 ---B

D3DXIntersectでは、それぞれのメッシュ情報に関してレイと交差しているか判定できるでしょうか?
Aだと判定できるのですが、Bが旨くいきません・・・
785デフォルトの名無しさん:2007/08/20(月) 01:33:56
スキンメッシュでなければ、レイを各メッシュコンテナのごとのローカル空間に変換すればできる。
786デフォルトの名無しさん:2007/08/20(月) 11:55:03
DirectXでビデオを扱わないといけなくなったのだが、
ActiveX、DShow、VMR、VMR9、EVR、MediaFoundation、DXVAとあって訳が分かめ。
D3D9とD3D10で使う場合、それぞれどの組み合わせが良いのやら。。。
787デフォルトの名無しさん:2007/08/20(月) 20:34:44
Vista専用はやる気ないので知らね。
1280x720以上あるならVMR9じゃないと低スペック機できつい。
一昔前のゲームのような640x480程度ならどれでもいい。
788デフォルトの名無しさん:2007/08/20(月) 21:30:53
>>785
レスありがとうございます。
>>スキンメッシュでなければ
とありますが、スキンメッシュだとD3DXIntersectそのものが使えないということになるのでしょうか?!
789デフォルトの名無しさん:2007/08/21(火) 00:53:53
現在Javaプログラマで、DirectXに興味があります。
Visual C++が標準的だとは思うのですが、
GCやオブジェクト指向に限定したパラダイムに慣れた身としては
記述の自由度が高く、コピーコンストラクタや多重継承など癖の強いC++は辛い物があります。

C#からDirectXのdllを呼び出すことは可能だと思うのですが、
一般的ではないようです。全くではないですがほとんど見かけません。
何か問題があるのでしょうか・・・。
ジョイスティック/1000個程度のスプライト/WAVかOGGのBGM/効果音/30〜60fpsを満たせれば良いと思ってますが
これらはそこまで重い処理でもないでしょうからマネージドでも問題ないと思っています。
大きな問題がなければ、こちらの方向性で勉強していこうかと思うのですが、実際どんなものなのでしょうか。
(MDXは終わってるし、XNAは始まってない(Visual Studio 2005 Standardで使えない)ので保留します)
790デフォルトの名無しさん:2007/08/21(火) 05:37:53
>>789
質問の意味がわからない
実際どんなものなのでしょうか?
791デフォルトの名無しさん:2007/08/21(火) 05:52:12
Javaは出来るけど、C++は無理って・・・。
あとC#の文献や書籍も普通にあるし・・・・。
792789:2007/08/21(火) 07:37:58
>>790
質問内容は、
C#を使って、MDXやXNA等を使わずにDirectXを呼び出して使っている人がほとんど見つからないけど、
なぜ? 実用上問題があるのでしょうか? ということです。
C#やC++/CLIを使ってDirectXのアンマネージドなdllを呼び出すことはできるはずなのに・・・。

>>791
無理というか、C++という言語を使うのが辛いという感じです。
アドレス参照か実体か混乱したり、ヘッダとソースが二重管理だったり、
メモリ管理やコンパイラの仕様が今となっては古くさかったり、
要は人間に委ねられていることが多すぎるので、
特にある程度大規模なソースを書くと疲れるのです。
なるべくなら趣味で使いたくはない。
もちろん仕事で「使え」と言われたり、代替手段が無いのであれば使います。
793デフォルトの名無しさん:2007/08/21(火) 07:47:52
プログラマに向いてないのだよ
794デフォルトの名無しさん:2007/08/21(火) 08:31:48
>>789
>C#を使って、MDXやXNA等を使わずにDirectXを呼び出して使っている人がほとんど見つからないけど、
>なぜ? 実用上問題があるのでしょうか? ということです。

それってMDXを自分で一から作り直すってことにならない?
考えただけでも色んな面倒くさいことが思いつくのだけれど…
795デフォルトの名無しさん:2007/08/21(火) 08:37:30
>>789
>(MDXは終わってるし、XNAは始まってない(Visual Studio 2005 Standardで使えない)ので保留します)

今年末リリースのXNA GSE 2.0でExpress Edition以外もサポートされるよ。
ttp://blogs.msdn.com/ito/archive/2007/08/14/xna-game-studio-2-0.aspx

あとMDXは終わってるって言っても必要な機能はたいてい実装済みだしなんか問題あるの?
796デフォルトの名無しさん:2007/08/21(火) 15:48:48
DirectXを使って3D迷路を作りたいんですが、
どういう手順で壁を表示すればいいのかわかりません。

ちなみに私は初心者で、Direct3Dの概念、xファイルの読み込み、表示や、
カメラや自キャラの移動、当たり判定、くらいの初歩のことしかわかりません。

アドバイスくださいm(__)m
797デフォルトの名無しさん:2007/08/21(火) 16:01:04
>>796
只の3D廊下みたいなものは作れるのかな?
迷路は各階ごとに二次元迷路があってそれを梯子か階段で結ぶ形?
それとも、高さ方向にも入り組んだ形?
只漠然と3D迷路を作りたいと言われても何から答えていいのやら。
798デフォルトの名無しさん:2007/08/21(火) 16:11:19
>ちなみに私は初心者で、Direct3Dの概念、xファイルの読み込み、表示や、
>カメラや自キャラの移動、当たり判定、くらいの初歩のことしかわかりません

それくらいのことがわかるのなら、

>どういう手順で壁を表示すればいいのかわかりません。

壁のXファイルを読み込んで表示すればいいんじゃないの?
何がわからないのかわからない。
799デフォルトの名無しさん:2007/08/21(火) 16:34:57
考えるどころか、息をするのも面倒なんだろ。
800デフォルトの名無しさん:2007/08/21(火) 16:51:25
生まれてすみません
801デフォルトの名無しさん:2007/08/21(火) 16:56:45
>>797
>只の3D廊下みたいなものは作れるのかな?
すみません。わかりません。
まだ、背景が青い画面で表示して、
自キャラの座標やカメラの座標をいじるくらいしかできません。

>漠然と3D迷路を作りたいと言われても何から答えていいのやら。
現段階では、まずは単純な1階(フロア)だけの迷路を考えています。


>>798
すみません。青い画面上に自キャラを表示するくらいしかできません。

どうやって壁などを表示して、
迷路のような道筋を作るのかがわかりません。
802デフォルトの名無しさん:2007/08/21(火) 16:58:41
自キャラも壁も同じオブジェクトだろ
803デフォルトの名無しさん:2007/08/21(火) 17:05:19
>>801
>すみません。青い画面上に自キャラを表示するくらいしかできません。

壁も自キャラと同じ方法で表示できるはずだと思うが

>迷路のような道筋を作るのかがわかりません。

壁をいっぱい並べればいいんじゃないのか
804デフォルトの名無しさん:2007/08/21(火) 17:16:30
迷路全体をXファイルで作って
それを表示すれば完成
805デフォルトの名無しさん:2007/08/21(火) 17:33:05
いいのかそれでw
806デフォルトの名無しさん:2007/08/21(火) 17:36:14
メタセコイアで四角を組み合わせてまるまる一個ステージ作って
カリングで表示するのが一番簡単
807デフォルトの名無しさん:2007/08/21(火) 17:37:25
わーい、それはとっても簡単だねw
808デフォルトの名無しさん:2007/08/21(火) 18:50:12
>>792
コイツナニイッテンダ・・・。
C#でも文献普通にあるから試せよ。
そんな力説せんでも、だれもお前にC++を強要しないって。

実用上の問題は聞いた事ネーけどゲーム作成の世界じゃC++以外は
普通にマイノリティになるから、例がみつからんだけだろ。

要はコンパイラが古いとかメモリ云々っていうお前さんの意見は、少数派って事。
809789:2007/08/21(火) 19:49:51
>>794
もちろんそうなってしまうのですが、
将来的にフリーソフト頒布を考えたり、
あとは機能的に痒いところに手が届くと考えると、
車輪の再発明も構わないかな、と思いまして・・・。無駄でしょうか。

>>795
XNA2.0が出るのですか。そちらは期待ですね。
MDXについては、今後発展性の無いものを
勉強しても意味がないかと思うので・・・。
勉強するからには短くても今後5年は使えて欲しいです。
810デフォルトの名無しさん:2007/08/21(火) 20:00:32
グダグダ言わずにとっととやれよ。
811デフォルトの名無しさん:2007/08/21(火) 20:37:26
今後5年は使えて欲しいとか言う前に、プロ目指してるのか?ならC++やっとけよ
プロ目指してるわけじゃないんだったら、C# or C++/CLIでやりたいっていってるんだから、素直にMDXでいいだろ
アンマネージドなDirectXとMDXを比較してみれば分かると思うけど、
基本的な処理のさせ方は同じようなもん
考える前にまず手を動かして、作りたいものを作ってみたほうが早いと思うよ
何が作りたいのか、そのためにはどんな機能が必要なのか、明確にさせることが先決
ここら辺の軸をしっかりさせておかないと、あっちこっちに揺れて、作りたいものを完成させられないままになるぞ
技術的なことよりもまず、やり遂げる事が重要
技術は後からついてくる



と、DirectXをやったことがない俺が偉そうに語ってみる
812デフォルトの名無しさん:2007/08/21(火) 21:01:57
>C#やC++/CLIを使ってDirectXのアンマネージドなdllを呼び出すことはできるはずなのに・・・。

http://code.google.com/p/slimdx/
http://d.hatena.ne.jp/NyaRuRu/20061130

タイプライブラリが用意されていない以上、これをやらなきゃならんワケだ。
がんばれ?
813789:2007/08/21(火) 21:59:27
>>811
確かにあれこれ悩むより、手を動かすべきですね。
そのようにしたいと思います。
あと、プロになる気はないです。

>>812
構造体や定数を再定義するのは馬鹿馬鹿しいですね・・・。
なるべく固有の型定義などを隠蔽できるよう工夫してみたいと思います。
参考サイト情報、ありがとうございます。
814デフォルトの名無しさん:2007/08/22(水) 07:55:55
向いてないよ
815デフォルトの名無しさん:2007/08/22(水) 10:53:55
xファイルのサンプル置き場みたいなところがあるなら教えてください。
816デフォルトの名無しさん:2007/08/22(水) 11:14:19
そういったものはあんまり見当たらないな
そもそも微妙に板違いなんだ
817デフォルトの名無しさん:2007/08/22(水) 14:05:13
>>815
マルチが酷いので、知っているが教えない。
818デフォルトの名無しさん:2007/08/22(水) 21:45:32
流行らないからなぁ。。
素人な俺目線で言うと、できる人はxファイルを使わないみたい。
けど、そんなの到底無理だから使う俺。。。
819デフォルトの名無しさん:2007/08/22(水) 22:04:54
できる人は何を使うんだ?
820デフォルトの名無しさん:2007/08/22(水) 23:26:21
自作
821デフォルトの名無しさん:2007/08/23(木) 06:05:40
データを作ってるモデリングツールから独自形式へ直接変換
Xファイルなんか経由したら効率悪い

822デフォルトの名無しさん:2007/08/23(木) 15:00:48
>>821さんのとおり、じっさいxファイル使ってやってる素人な俺ですが、やはり効率の悪さを感じます。。。
823デフォルトの名無しさん:2007/08/23(木) 15:20:51
ぶっちゃけ、本当にできる人はフォーマットなんてどうでもいい。
Xファイルで効率が悪いなんてことはない。

ただ、データを作ってくれる人が言った通りに出力してくれなくて、
結局こちらでツールのネイティブ形式から変換というのはよくあること。
824デフォルトの名無しさん:2007/08/23(木) 15:22:44
結局こちらでツールのネイティブ形式から変換というのはよくあること。
825デフォルトの名無しさん:2007/08/23(木) 21:26:11
>>823
てか、そういう実体に即してない発言ってなんのためにするの?
そんなに楽ならみんなが楽になるような変換ツールでもちゃちゃっと作って公開してくれよ
できなきゃ2度とデカイ口叩くなよ
826462:2007/08/23(木) 21:28:54
ワロス
827デフォルトの名無しさん:2007/08/23(木) 21:31:18
>>825
こ、子供かおまいは・・・
828デフォルトの名無しさん:2007/08/23(木) 21:36:51
使っているモデリングソフトのプラグインは自分で作る。
それ以外の解決方法は存在しない。
829デフォルトの名無しさん:2007/08/23(木) 21:38:57
>>827
で?できたの?w
830デフォルトの名無しさん:2007/08/23(木) 21:41:12
一端出力されたデータを変換している段階で、既にそのデータは使い物にならない。
831デフォルトの名無しさん:2007/08/23(木) 21:42:03
>>823
       ☆ チン        ハラヘッタ〜
                     ハラヘッタ〜
 ☆ チン  〃 ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ ___\(\・∀・)< はやく!はやく!はやく!
      \_/⊂ ⊂_)_ \____________
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
   |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:|  |
   | 淡路たまねぎ   .|/
832デフォルトの名無しさん:2007/08/23(木) 21:51:17
>>823
チン  ☆  マチクタビレター  ☆
        チンチン           マチクタビレター ♪
           ♪   ☆ チチン
    ♪                .☆   マチクタビレター
        ☆ チン   〃  ∧_∧  ヽ        / ̄ ̄ ̄ ̄
          ヽ   ___\(・∀・ ) /\_/ <  マダー?
        チン    \_/⊂    つ    ‖    \_____
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|     ‖
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|   /|\
         |             |/
833デフォルトの名無しさん:2007/08/23(木) 21:57:40
典型的な今時のキレやすいお子様
さらに理解力皆無
834デフォルトの名無しさん:2007/08/23(木) 22:00:34
その辺のゲームライブラリって「既存のXファイル→自分のプログラム」ができれば十分としか考えてないのかもね。
でも、データ作る職人と共同作業をすれば、ツールの専用形式→Xファイル→自分のプログラム という2度手間は
煩雑でとてもやってられないものなんだけどな。


835デフォルトの名無しさん:2007/08/23(木) 22:02:16
だからエクスポートプラグインを作って直接吐き出せと何度言ったら
836デフォルトの名無しさん:2007/08/23(木) 22:32:40
>>834
>>823はそんなこと関係ないとおっしゃられております
837822:2007/08/24(金) 03:54:48
いらんこといってすみません。。。
838デフォルトの名無しさん:2007/08/24(金) 07:21:22
>>823
チン  ☆  マチクタビレター  ☆
        チンチン           マチクタビレター ♪
           ♪   ☆ チチン
    ♪                .☆   マチクタビレター
        ☆ チン   〃  ∧_∧  ヽ        / ̄ ̄ ̄ ̄
          ヽ   ___\(・∀・ ) /\_/ <  マダー?
        チン    \_/⊂    つ    ‖    \_____
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|     ‖
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|   /|\
         |             |/

839デフォルトの名無しさん:2007/08/24(金) 13:19:43
っていうか、このスレにいる奴らは、単にコンバータが欲しいだけなのか?
俺はまだXファイルと独自形式のどっちを使うかって話をしているのかと
思っていたが、それってあっちの板のスレだったっけ?
840デフォルトの名無しさん:2007/08/24(金) 16:39:31
アホがひとり粘着してるだけだろ
841デフォルトの名無しさん:2007/08/24(金) 18:57:27
くれ厨が一匹いるだけじゃない?
842デフォルトの名無しさん:2007/08/24(金) 20:30:56
現在のディスプレイの最大解像度を取得するにはどうすればいいんですか?
843デフォルトの名無しさん:2007/08/24(金) 21:19:33
>>823
チン  ☆  マチクタビレター  ☆
        チンチン           マチクタビレター ♪
           ♪   ☆ チチン
    ♪                .☆   マチクタビレター
        ☆ チン   〃  ∧_∧  ヽ        / ̄ ̄ ̄ ̄
          ヽ   ___\(・∀・ ) /\_/ <  マダー?
        チン    \_/⊂    つ    ‖    \_____
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|     ‖
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|   /|\
         |             |/
844デフォルトの名無しさん:2007/08/24(金) 21:21:50
自己解決
GetSystemMetricsでいけました
845デフォルトの名無しさん:2007/08/24(金) 21:25:06
>>842
GetAdapterModeCount
EnumAdapterModes
846デフォルトの名無しさん:2007/08/26(日) 17:31:47
SDKのサンプル MultiAnimation についての質問です。

表示するキャラクター(tiny)を150体ぐらい増やし、
床を移動するプログラムを呼ばずに、純粋にモーションだけする状態にして、
その150体を描画する時間を計測してみました。
すると、150体を描画する時間は、だいたい18msぐらいで描画されたのですが、
たまに、100msぐらいかかる時があり、これが周期的に繰り返されます。
このため、腕をふって歩いているモーションをするtinyをみると、
周期的にモーションがカクッとワープしているように見えてしまいます。
847846の続き:2007/08/26(日) 17:32:33
アプリケーションループにおいて、毎回計測してみた結果↓。
こんな、感じで、たまに100msぐらいかかる時がある。
略〜
時間: 13
時間: 13
時間: 106
時間: 14
時間: 19
時間: 16
略〜

毎回、モーションするだけの同じコードの処理をしているだけなのに、
周期的に、普段より長い時間、描画に費やされる時があるのは
なぜでしょうか?
また、このような周期的に普段より長い時間かかることを防止する方法は
ないのでしょうか?
よろしくお願いします。

環境は、以下の通りです。
Microsoft Visual Studio .NET 2003
Microsoft DirectX 9.0 SDK October 2004
GeForce7600 GS
848デフォルトの名無しさん:2007/08/27(月) 06:59:03
俺はAnimationControllerを使ってないんで見当つかないが
単なるSDKのサンプルの改造なら、ソースつきでアプロダに置いてみたら?
物好きが見てくれるかもよ

849デフォルトの名無しさん:2007/08/27(月) 13:07:58
>>847
考えたこともなかったな。。
他のプログラムは関係ないの?
Athlon64X2 2.25Ghz + GeForce8600GT
こっちはとくに目立った、どこかで時間かかってるような挙動はなかったけど。。
850デフォルトの名無しさん:2007/08/27(月) 14:23:42
>>848
サンプルをUPしときました。
改変場所は、中身のメモ.txtに書いてあります。
ttp://gamdev.org/up/img/10034.zip

>>849
たぶん、他のプログラム関係ないと思います。
Retailモードで動かしていると、>>846で書いた現象が
目立ちました。
その時のFPSは、30ぐらいでした。
(自分の環境が原因なんですかね・・・)
851デフォルトの名無しさん:2007/08/27(月) 20:09:12
デバイスをリセットした時にエラーが出てしまうので
解放できてないのが原因だと思って色々試したのですが上手く行きません

色々試した結果、エラーを出すのが特定の関数を通った後にリセットを掛けた時だけ
ということがわかりました。

以下のような関数(問題のありそうなところを抜粋しました)なんですが、下の記述で問題あるところはありますか?

// テクスチャをパイプラインにセット
pd3dDevice->SetTexture( 0, m_pTexture );

pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );
pd3dDevice->SetRenderState( D3DRS_ZENABLE, FALSE );

pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_ONE );

D3DXMatrixTranslation( &mWorld, vPos.x, vPos.y, vPos.z );
pd3dDevice->SetTransform( D3DTS_WORLD, &mWorld );

// オブジェクトの描画
pd3dDevice->SetStreamSource( 0, m_pVB, 0, sizeof(MY_VERTEX) );
pd3dDevice->SetFVF( MY_VERTEX_FVF );
pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );

pd3dDevice->SetTexture( 0, NULL );

pd3dDevice->SetRenderState( D3DRS_LIGHTING, TRUE );
pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );

pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
852デフォルトの名無しさん:2007/08/27(月) 21:03:23
>>851
SetStreamSourceかな?
m_pVBをセットしたままで、解放できてないんじゃない?
853デフォルトの名無しさん:2007/08/27(月) 21:43:11
>>852
SAFE_RELEASE(m_pVB);という感じで解放はしたんですが、やっぱり上手く行かないです

こういうようなこともやらないといけないんですか↓
pd3dDevice->SetStreamSource( 0, NULL, 0, sizeof(MY_VERTEX) );
854デフォルトの名無しさん:2007/08/27(月) 22:59:25
↑解決しました
この関数を呼ぶ直前の別の部分で未解放がありました…
お騒がせしましたm(_ _ )m
855デフォルトの名無しさん:2007/08/28(火) 07:34:45
>>850
Xp Core2Duo E6300 GF8600 GTS
試してみたところ100ms越えなどはないが、ログでは常時8ms程度でたまに20ms程度が混じる。
たしかにこのサンプルにしては妙な遅滞だ。同じ問題が潜んでいるということかもしれない。
856デフォルトの名無しさん:2007/08/28(火) 12:20:41
DirectX9で開発している者ですが質問させていただきます。
バックバッファと同じサイズのテクスチャを用意し、それぞれ別のオブジェクトを描画し、
最後にそれらを合成したいのですが、可能でしょうか?
テクスチャの方は黒(0,0,0)で初期化しているので各ピクセルを加算合成すればできそうなのですが、
ピクセルシェーダーでテクスチャ側の色は取得できますが、レンダリングターゲット側のピクセルを取得する方法が分かりません。

それぞれ別テクスチャに描画し最後に合成しながらバックバッファへ表示することはできますが、
現在バックバッファへ書き込んでいるオブジェクトが多いので速度的にやりたくないです。

その他のやり方でも良いので、ご教授お願いします。
857856:2007/08/28(火) 18:34:19
事故解決しました。
858デフォルトの名無しさん:2007/08/28(火) 20:57:39
それはよかったですね
859デフォルトの名無しさん:2007/08/29(水) 22:55:24
いちいち説明を書いて解答を待つよりも、自力で何とかしたほうが早いのがこのスレの基本
860デフォルトの名無しさん:2007/08/29(水) 23:31:05
つまり、このスレの住人は能なし。そもそも住人なんていないのかもな。
861デフォルトの名無しさん:2007/08/30(木) 16:41:13
背景を半透過する四角を描画したいんですが、ID3DXLineを使っても問題ないですかね?
ID3DXLineを太く描画すれば簡単に四角っぽくなるので、
もし特に問題がなければこれでいきたいのですが
862デフォルトの名無しさん:2007/08/30(木) 16:59:26
そんなの使うよりDrawPrimitiveUP使う方が簡単だと思うが。
863デフォルトの名無しさん:2007/08/30(木) 17:19:00
ID3DXLineをクラスにまとめたものがあるので、こっちのでやった方が早いかな
と思ったんですが、やっぱりそちらのほうが一般的ですよね
ありがとうございました
864デフォルトの名無しさん:2007/08/30(木) 18:29:55
↑のものです
DrawPrimitiveで四角形を書いた場合、例えば色に0x33ff0000という値を入れても
背景を透過しないんですがなぜでしょうか?
865デフォルトの名無しさん:2007/08/30(木) 18:31:15
SetRenderStateを忘れていました・・・
すいませんです
866デフォルトの名無しさん:2007/08/31(金) 00:47:43
test
867デフォルトの名無しさん:2007/08/31(金) 15:43:44
3Dの世界を作っていて、
四角いブロックのXファイルを複数ならべて壁にしています。

Xファイルの近くを移動したりすると、
自分の視点がxファイルの中にめり込んでしまうのですが、
それを防ぐ方法はありますか?
もしくは、xファイルの外側しか画面に映らなくできるなど。

初心者なのでおかしなことを言っているのかもしれませんが、アドバイスお願いします。
868デフォルトの名無しさん:2007/08/31(金) 17:29:10
Xファイルって内側作らなきゃ内側表示されないよ
869デフォルトの名無しさん:2007/08/31(金) 19:03:11
>>867
視錐台のニアクリップは0距離には出来ないので、必ずある程度の
面積を持った面になる。だから、たとえカメラの位置が壁より手前でも、
ニアクリップ面の幅(の半分)よりも壁に近づくと、壁の裏側が見えてしまう。

解決方法は、壁に近づきすぎないようにすることと、ニアクリップの
距離を短めにすること。ただし、後者はZバッファの精度にも影響するので
程々にしないと画質に影響する。

カメラの当たり判定を球とすれば、ニアクリップ面の対角線の距離
(ワールド座標系での距離)を直径とした球にしておけば、めり込むことは
ないかな。

第三者視点の場合は、キャラクタとカメラの間に壁がないか
チェックする必要がある。

まぁ、市販のゲームでも壁の裏が全く見えないってのはあまりなくて、
ちょっと見えてしまうことがあるのは仕方が無い。
特にワイドスクリーンに対応していると、ニアクリップ面の形も
環境によって変わってしまうので、厳密に処理するのは難しい。
870デフォルトの名無しさん:2007/08/31(金) 20:49:24
DirectX8.1SDKの入手先がわかりません。誰か助けて
871デフォルトの名無しさん:2007/08/31(金) 21:01:45
DirectX9か8.0で作ればいいのに
872デフォルトの名無しさん:2007/09/01(土) 01:40:59
なんで旧バージョンのSDKを欲しがるのか非常に謎なんだが・・・
何がしてぇの?
会社で昔のアプリの保守でも頼まれたの?
それとも何か思うところがあって探してるならそれを先に言ってみろって感じだな

もし、頓珍漢な理由で旧バージョンのソースを探してるなら
正直、テンプレに書いたほうがいいと思う
さすがにこのパターン何度目だって感じだ

ちなみにこのパターンってのは

初心者:「旧バージョンのSDKってないですか?」
回答者:「なんのためにそんなもん探してるの?」
初心者:逃走・・・
回答者:「おーい・・・」

って感じw
873デフォルトの名無しさん:2007/09/01(土) 02:01:54
テンプレにCOMとバージョニングとQueryInterfaceについて
4レス位使って説明しといた方がいいかな
874デフォルトの名無しさん:2007/09/01(土) 02:41:28
>>872
入ってるサンプルやその作りが違うだろう。
8.1ベースで作るのに(Steam利用者の統計では8.1の環境はまだ15%もある)
8.1のコードやヘルプがないのは困ると思うが。

配布している間にきっちり保存しておかないのが失敗というのはありそうだが。
MSはすぐ梯子はずすから。
875デフォルトの名無しさん:2007/09/01(土) 02:46:22
逆になんで新しいSDKを使わせたがるのか非常に謎。
シェーダバリバリで超絶美麗なゲームでも作ってるわけ?俺みたいに。
国内にはそんなの一握りしかいないはずだけどな。
876デフォルトの名無しさん:2007/09/01(土) 02:48:25
完全に下位互換ではないしね
特定のツールとか機能が外されてたりもするし
877デフォルトの名無しさん:2007/09/01(土) 07:15:12
また下位互換と上位互換を混同している馬鹿が来たよ。
そもそもDirectXには下位互換はないし、そんなことは想定されていない。
878デフォルトの名無しさん:2007/09/01(土) 07:27:30
>>874
SDKが無いとかいって探し回るより、新しい内容に合わせた方がマシ。
無い無いと言って探し回っている暇があったら、とっとと新しいバージョンに合わせた方がよっぽどはやい。
WEB上で古いサンプルを見つけて、コンパイルできないとか言っている奴は、
そもそも見ているところがおかしい。
新しく勉強するのに古い情報を参照したって無意味なのに、その程度のことにすら気がつかない。

環境といっても余計な機能を使わなければ初期のDirect3D対応のビデオカードでも
9のランタイム上で動作は可能だし、困ることは全くない。
879デフォルトの名無しさん:2007/09/01(土) 08:14:16
旧バージョン探す奴の理由はそのバージョンで書かれた本を見てるからだろ。
エラーメッセージなんて読む気ゼロだから

エラー出た→エラーが出ない同一バージョン欲しい

ってなる
880デフォルトの名無しさん:2007/09/01(土) 09:18:55
DirectXランタイム 上位互換
DirectX SDK 下位互換

おまえもわかってないだろw
881デフォルトの名無しさん:2007/09/01(土) 10:50:49
>>872
とくに今のやつにはD3DRM関係はいってないだろ?
3年前の本のサンプルビルドしようとしたら、ビルド出来なくて困ったぜ
コード部だけ移植試しして面倒だった
882デフォルトの名無しさん:2007/09/01(土) 10:54:17
すまん。入ってないってのはライブラリファイルの方な
もしかしたら入ってるのかもしれんけど、ドキュメントがないから
なにを指定すればいいのか判らんかった
883デフォルトの名無しさん:2007/09/01(土) 12:22:01
DxLibが絡む話で申し訳ないのですが
DxLibを使ってVisual C++でゲームプログラミングをしている場合に、
FSAAと回転アルファブレンディングの機能だけをDirectX SDKから使用することはできますでしょうか?
テクスチャの読み込み、レンダリング等はDXSDKの関数等を使うとして、
入力や音楽再生など他の処理を扱うライブラリと、DXSDKを介在させることはできるのでしょうか?
884デフォルトの名無しさん:2007/09/01(土) 15:26:04
公式サイトで聞いてきなよ。
あそこは割と親切でしょ?
885デフォルトの名無しさん:2007/09/03(月) 00:19:28
ウィンドウモードでフルシーンアンチエイリアシングはどうやってかけるのでしょうか?
D3dDevice->SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, TRUE);
にしてもかかってくれません。。。
886デフォルトの名無しさん:2007/09/03(月) 00:19:48
CreateDeviceの段階でなんか指定するんじゃなかったっけ
887デフォルトの名無しさん:2007/09/03(月) 00:38:36
>>885
http://somnium.sakura.ne.jp/xoops/modules/weblog/index.php?cat_id=3&user_id=0

D3DPRESENT_PARAMETER d3dPP
ZeroMemory( &d3dPP, sizeof( d3dPP ) );
d3dPP.Windowed = FALSE
d3dPP.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dPP.MultiSampleType = D3DMULTISAMPLE_2_SAMPLES;
pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
          hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &d3dDevice)
888デフォルトの名無しさん:2007/09/03(月) 01:07:53
クライアント領域内で動く「ウィンドウ」のサンプルをご存じの方いらっしゃいませんか

具体的には例えばラグナロクオンラインのステータスウィンドウや、
Ajaxで言えば
ttp://prototype-window.xilinus.com/samples.html
の"Open a simple window"で開くみたいな奴です

方向性として子ウィンドウを無理矢理使うか、
ウィンドウマネージャーの役割を担うものを作るかだと思うのですが、
前者の場合はDirectXとの兼ね合い
後者の場合マウスメッセージの扱いが課題です…
889デフォルトの名無しさん:2007/09/03(月) 01:31:17
市販ゲームは家庭用などへの移植性を考えて、Windowsにべったり依存せずに
そのゲーム専用のウィンドウシステムを組むんじゃないかな。
890デフォルトの名無しさん:2007/09/03(月) 01:38:17
WindowsUIを使うのはメッセージを盗まれたり改竄されやすいかもな。
891デフォルトの名無しさん:2007/09/03(月) 01:47:08
>>888
その辺は必要な機能を絞って自作したほうがいいぜ
Windowsのを使おうとすると今度は他のアプリの影響も受けるってことだしな
できたらできたで今度はエクスプローラの機能をどれだけ潰せるかってことになると思うし
892デフォルトの名無しさん:2007/09/03(月) 02:04:55
>>888
俺も前にウィンドウマネージャ作ったことあるけど、意外と簡単だったよ。
マウス関係はメッセージではなくGetAsyncKeyStateを使った。
893デフォルトの名無しさん:2007/09/03(月) 02:28:25
>>892
なにそれ?
ショートカットとかアクセサリ関連のアプリの動作とか止められんの?
テキトーなこといってんじゃねーぞ

俺がやった限りだと製品のレベルはおろか同人のレベルだって不可能だ
894デフォルトの名無しさん:2007/09/03(月) 02:36:04
>>893
何を勘違いでテンパってる?
895888:2007/09/03(月) 02:56:50
みなさん暖かい声援ありがとうございます

子ウィンドウ路線が微妙そうという雰囲気ですね
最低限必要なのは、移動、リサイズといったあたりなので、
自作はできると思います
ちょっとがんばってみます

それにしても検索しようとすると「ウィンドウ」or "window"という語が
DirectX window modeのそれだったり窓OSのそれだったり
サンプル探すにしてもなかなか困りますね

かなり面倒ですがCompizを読みながら設計してみます…
ttp://compiz.org/Home/Start
フレームワークレベルで良いアイデアがありましたら是非お願い致します
896デフォルトの名無しさん:2007/09/03(月) 08:51:22
質問にきますた

ID3DXMesh::LockAttributeBuffer Method

HRESULT LockAttributeBuffer(
DWORD Flags,
DWORD** ppData
);

これのppDataについて、各サイトで違うこと書いてるんですが、一体どれが正しいんでしょうか?

http://msdn.microsoft.com/archive/en-us/directx9_c_Summer_03/directx/graphics/reference/d3dx/interfaces/id3dxmesh/lockattributebuffer.asp?frame=true
ppData
[out] Address of a pointer to a buffer containing three DWORDs for each face in the mesh.

http://msdn2.microsoft.com/en-us/library/bb174070.aspx
ppData
[out] Address of a pointer to a buffer containing a DWORD for each face in the mesh.

http://msdn.microsoft.com/library/ja/DirectX9_c/directx/graphics/reference/d3dx/interfaces/id3dxmesh/lockattributebuffer.asp?frame=true
ppData
[out] メッシュ属性データを格納するバッファへのポインタのアドレス。この配列は、メッシュの頂点およびエッジを記述する D3DXATTRIBUTERANGE 要素の配列である。
897デフォルトの名無しさん:2007/09/03(月) 21:45:52
じゃあSDK HELPにしたら
898デフォルトの名無しさん:2007/09/03(月) 21:55:22
だからD3DXの高レベル関数は使うなとあれほど
899デフォルトの名無しさん:2007/09/03(月) 22:10:46
ID3DXSpriteとID3DXFontとID3DXAnimationControllerに関する質問はFAQで
「テンプレ読め」とだけ答えるようにしたいものだ。




900デフォルトの名無しさん:2007/09/03(月) 22:13:08
DirectX900
901デフォルトの名無しさん:2007/09/04(火) 10:54:45
ID3DXAnimationControllerってやっぱり評判悪いんだ
俺は問題なく使えてるけど
902デフォルトの名無しさん:2007/09/04(火) 12:10:45
高レベル関数群全般の評判が悪い。
903デフォルトの名無しさん:2007/09/04(火) 16:07:14
DirectXのモーション付きのXファイルに関する質問です。

MetasequoiaとRokDeBone2で作成したモーション付きのXファイルを使用していますが
モーションは最初は滑らかなのですが時間が経つと次第にカクカクになり
3分も起動しておけば攻撃の最初と最後のモーションしか見えなくなってしまいます。
FPSに変化は無くモーションだけがこのようになり原因も解らず困っているのですが
何か良い解決方法は無いでしょうか?
とりあえずモーションの設定部分を抽出しました(長いのでアップローダに上げました)
もしお解かりになる方がいらっしゃいましたらアドバイスをお願いします。

ttp://www.hsjp.net/upload/src/up2920.txt
904デフォルトの名無しさん:2007/09/04(火) 16:17:48
D3DXの高レベル関数を使わずに作り直してみてください。
905デフォルトの名無しさん:2007/09/04(火) 18:11:59
>>904
返信ありがとうございます
んー高レベル関数ってのを色々とググってみてみましたが
イマイチ求めてる情報に突き当たらない・・・もう少し粘ってみます
906デフォルトの名無しさん:2007/09/04(火) 18:12:05
>>903
消えてるよ
907デフォルトの名無しさん:2007/09/04(火) 18:27:26
>>905
>>904みたいのは真面目に答えてやる気も無いだろうから
無視した方がいいw
最初は全部表示できてるのならどこかしらで情報失ってるんだろうから
ブレークポイント入れて見てみるとかしたらどうかな。
とりあえずソース再うpよろ。
908デフォルトの名無しさん:2007/09/04(火) 18:48:25
xファイルを多数表示すると、実行時すごく時間がかかってしまうのですが、
その重さを解消するにはどうしたらよいですか?
909デフォルトの名無しさん:2007/09/04(火) 18:49:51
多数ってどれくらいよ
910デフォルトの名無しさん:2007/09/04(火) 19:26:31
>>906-907
すみません消えてるというか鯖落ち?みたいですね
とりあえず再アップロードしました
ttp://doiob.net/doiob/uploader/src/up9915.txt
ttp://www.nya-taloda.jpn.org/2MB/src/mamitasu20193.txt(ミラー)

>>907
ありがとうございます。色々と試してみます。
とりあえず何度もやっているうちにモーション全てが消失するのではなく
フレーム間の補完してるところが消失するみたいです。
0フレーム目と30フレーム目と60フレーム目を作成した場合、
残りの1フレーム目〜29フレーム目などは自動で補完されスムーズに動きますが
どんどんカクカクになり最終的に0,30,60フレーム目しか無くなってしまう
という感じでしょうか…これだけでは情報不足かもしれませんが一応追伸です
911903:2007/09/04(火) 19:33:00
910はDirectX SDKは2007Februaryで作成しています
912デフォルトの名無しさん:2007/09/04(火) 21:50:12
ddsという形式がありますがこれってテクスチャーを張る上で何か利点があるのですか?
テクスチャーの形式は何が一番妥当でしょうか?
913デフォルトの名無しさん:2007/09/04(火) 21:52:35
>>912
俺の考えたフォーマット
914デフォルトの名無しさん:2007/09/04(火) 22:19:17
bmpでも貼っとけ。
915デフォルトの名無しさん:2007/09/04(火) 22:51:49
>910
>float AnimeSpeed;
>float AnimeTime;
>float AnimeTimeHold;
試しにdoubleにしたらどうかしら。
それと AnimeTime と AnimeTimeHold は 最初に0で初期化してるの?
916デフォルトの名無しさん:2007/09/04(火) 23:30:26
>>909
数百単位です。
ブロックを表示して、壁代わりにしているので。
対処方あったら教えてください。
917903:2007/09/04(火) 23:33:00
>>915
>>915
ご回答ありがとうございます。
全てdouble型にして実行してみましたが、
やはり1分を経過した頃からカクカクが目立ち始めてしまいました。
もしかして全然関係の無いとこで何かいじっちゃってるのかな・・・
newでオブジェクトを生成する際にゼロクリアしてますので
値は全て初期化しています。
918デフォルトの名無しさん:2007/09/04(火) 23:47:30
>917
よく考えたらDirectXってデフォルトでFPUを単精度にするから無関係ね。
(その割にAdvanceTimeとか引数がdoubleになってて謎だけど。)
AdvanceTime(ObjMotion.AnimeSpeed); みたいな決めうちでもダメなの?
919デフォルトの名無しさん:2007/09/04(火) 23:51:25
>>913
つまんねーんだよ糞ハゲ
920デフォルトの名無しさん:2007/09/05(水) 00:07:31
>>919
いや、かなりマジで
っていうか市販のゲームほとんどそうじゃん
異論あんのか?クズがw
921デフォルトの名無しさん:2007/09/05(水) 00:23:53
>>920
市販のゲームが全部お前の考えたふぉーまっとなんですか
すごいねー異論はないよすごいねー
922デフォルトの名無しさん:2007/09/05(水) 00:23:56
おまえが考えたフォーマットってすごいんだな
923903:2007/09/05(水) 00:26:00
>>918
>AdvanceTime( ObjMotion.AnimeTimeHold, 0 );
の部分を AdvanceTime( ObjMotion.AnimeSpeed, 0 );
にしたところ色々試しましたがカクカクならずに動きました!
これでやっと制作に打ち込んでいけそうです;
こちらで聞いた甲斐がありました。
短いお時間でしたがお付き合いいただき本当にありがとうございます。
924デフォルトの名無しさん:2007/09/05(水) 00:26:59
ほんとにくだらん揚げ足の取り合いだな
925デフォルトの名無しさん:2007/09/05(水) 00:33:35
他人のフリをする920
926デフォルトの名無しさん:2007/09/05(水) 01:15:54
927デフォルトの名無しさん:2007/09/05(水) 06:05:13
>>922
おう、一部だけなら某大作RPGも使ってるはずだw
928デフォルトの名無しさん:2007/09/05(水) 07:39:06
もしや特許とっちゃった例の人でつか?
誰でも使ってるロジックを縫い合わせて特許とった気分はどんなもんでつか?
某所で鶏卵って言ってるのはアンタのやつのことでつよ
チキン野郎が産んだタマゴという意味でつよ
929デフォルトの名無しさん:2007/09/05(水) 14:14:12
野郎に卵は産めません(><)
930デフォルトの名無しさん:2007/09/05(水) 18:05:15
ステンシルバッファについて質問させていただきます。

最初にステンシル値を0で初期化し、複数のオブジェクトを、Zもステンシルも通過した時+1しながら描画するとします。
そして、全部描画し終わった後、特定の値、例えば1以上の部分だけを、
別のテクスチャに描画したいのですが、可能でしょうか?
前に描画したオブジェクトの再描画はなしで、色つきで抜き出したいです。

アルゴリズム的なモノだけでも良いのでお願いします。
931デフォルトの名無しさん:2007/09/05(水) 18:08:59
可能です。
932930:2007/09/05(水) 18:22:58
ども。自己解決しました。
スレ汚しスマソ。
933デフォルトの名無しさん:2007/09/06(木) 11:41:46
リリースし忘れを警告する方法ってありませんか?
934デフォルトの名無しさん:2007/09/06(木) 12:52:22
発売日をしっかり守る! と紙に書いてパソコンやカレンダーにはっておく。
935デフォルトの名無しさん:2007/09/06(木) 13:23:54
リリースするまでオナ禁
936デフォルトの名無しさん:2007/09/06(木) 13:55:07
釣ったら食え
937デフォルトの名無しさん:2007/09/06(木) 15:29:29
デバッグ版を出しちゃった
938デフォルトの名無しさん:2007/09/06(木) 18:44:03
デバッグし忘れを警告する方法ってありませんか?
939デフォルトの名無しさん:2007/09/06(木) 18:52:25
あ、D3DXFontとかの->Release()のことです
940デフォルトの名無しさん:2007/09/06(木) 19:06:27
>>933見て>>939のように解釈できた人いるの?

CComPtr
941デフォルトの名無しさん:2007/09/06(木) 19:11:48
>>939
みんな分かっててボケてるんだよ。
942デフォルトの名無しさん:2007/09/06(木) 19:23:31
スマートポインタを使わずにする方法はないですか?
943デフォルトの名無しさん:2007/09/06(木) 19:28:17
なんで使わないの
944デフォルトの名無しさん:2007/09/06(木) 19:35:28
なんでといわれても
945デフォルトの名無しさん:2007/09/06(木) 19:38:28
使わない理由が特に無いなら使えば
946デフォルトの名無しさん:2007/09/06(木) 19:44:29
あ、スマートポインタは祖父の遺言で使うなと言われたのです
947デフォルトの名無しさん:2007/09/06(木) 19:45:15
面白くないよ
948デフォルトの名無しさん:2007/09/06(木) 19:47:09
あのう、真面目に話しているんですが
949デフォルトの名無しさん:2007/09/06(木) 19:47:58
はいはい板違い
去ね
950デフォルトの名無しさん:2007/09/06(木) 19:50:35
わかりました、もう二度と来ません
951デフォルトの名無しさん:2007/09/06(木) 20:19:33
理由はもうだいぶ組んじゃってるのでスマートポインタで書き換えるのが
面倒だと思ったのですが仕方ないので書き換えます
一応>>946>>948>>950は偽者ですので
952デフォルトの名無しさん:2007/09/06(木) 20:22:02
そんなに面倒ならプログラムを組むのをやめるといいよ。
953デフォルトの名無しさん:2007/09/06(木) 20:28:44
面倒だけどやるっつてんだろうが糞ハゲが
役に立たない上にガタガタ騒ぐなボケ
954デフォルトの名無しさん:2007/09/06(木) 21:01:48
っていうか、デバッグバージョンのdllを使えば済む話じゃないか?

コード上で検出したいなら、グローバルなインターフェースはNULLで初期化しておいて
Releaseすると同時にNULLを代入するマクロを使う。
(Releaseの戻り値が0かどうかも確認するといい)
最後に全てのインターフェースがNULLかどうか確認する。
955デフォルトの名無しさん:2007/09/06(木) 21:48:32
最後のLPDIRECT3D9とLPDIRECT3DDEVICE9のリリースで0になっていませんでした
でもどこで忘れているのか見当もつきません;;
956デフォルトの名無しさん:2007/09/06(木) 21:58:25
スマートポインタを始めて聞いたようなレベルの同僚と共同作業する場合
自分がローテクに降りて行くほうが安全確実である。
957デフォルトの名無しさん:2007/09/06(木) 22:15:46
悲しいがそれが現実だな
958デフォルトの名無しさん:2007/09/06(木) 22:49:00
一つずつ切り分けていったら原因箇所がわかり、Releaseの戻り値
すべて0にできました、ありがとうございます
959デフォルトの名無しさん:2007/09/06(木) 23:18:11
そしてAddRef/Releaseの戻り値に依存したコードは書いちゃ駄目と
MS自身が言及している悲しい現実。
960デフォルトの名無しさん:2007/09/06(木) 23:29:13
デバッグ用に確認してるだけであって、
戻り値によって処理を分岐してるわけじゃないんだろ?
まあReleaseの戻り値が期待通りでなくても文句は言えないんだが。

つか>>958
そこまでデバッグする暇あるのなら素直にComPtrで書き直せばいいのに
961デフォルトの名無しさん:2007/09/07(金) 00:05:33
時間かかりそうならスマートポインタに書き換えようと思いましたが
SAFE_RELEASEにログを吐くコードをくっつけて
↓見たいな感じで一つずつやっていったらすぐに特定できたので・・・

プレイヤークラス->Create()
//ステージクラス->Create()
//メニュー表示クラス->Create()
・・・

プレイヤークラス->Destroy()
//ステージクラス->Destroy()
//メニュー表示クラス->Destroy()
・・・
962デフォルトの名無しさん:2007/09/07(金) 00:33:27
>>961
〜を使うではなくてプログラム自体を
そういうことで悩む必要のない構造にできればレベル+1だw
俺はちゃんと組めばスマートポインタの出番なんてないと思ってる
破綻することがわかってるコードをゴリ押しでもってくのがスマートポインタ
963デフォルトの名無しさん:2007/09/07(金) 03:32:18
>>962
最後の一行に激しく同意。
階層設計を構造的にきちんとデザインしないからスマートポインターとかでよろしく処理しようと思ってしまう。
964デフォルトの名無しさん:2007/09/07(金) 04:27:30
こんなふざけた野郎はどうみても釣りだろ。
965デフォルトの名無しさん:2007/09/07(金) 05:13:13
>>963
構造主義一辺倒じゃ片付かない事例なんていくらでもあると思うんだ
966デフォルトの名無しさん:2007/09/07(金) 08:30:24
>>965
多人数で組む時とか?
でも、ここは初心者スレだし。
最初からスマートポインタで対処療法しちゃう癖つけるのも宜しく無いよ。
現実のコードが追いつく/追いつかないは置いておいて、
どっちにしろ構造をデザインするのは悪い事じゃないし。
967デフォルトの名無しさん:2007/09/07(金) 12:59:38
>>965
そういうやっつけ仕事をして日銭を稼いでいるような会社は可愛そうだな。
事例はある事は認めるが、それに甘んじてしょうがなく働くかどうかは本人次第。
俺はとっくにそういったことに見限って10年前からアメリカのソフト会社だから全然違うけどな。
968デフォルトの名無しさん:2007/09/07(金) 13:19:13
誰も聞いていない自分語りを始める奴は、例外なく心の病気にかかっている。
969デフォルトの名無しさん:2007/09/07(金) 14:28:42
>多人数で組む時とか?
いいえ、事案自体の構造的に、構造主義一辺倒の分析で間に合わないケースがあるよ

初心者スレだからこそスマートポインタに対する冷静じゃない見方を植え付けるのは
よくないなあと思ったんだが
970デフォルトの名無しさん:2007/09/07(金) 19:35:47
>>969
DirectXみたいに構造化された対象を扱うケースで?そんなに頻繁に?
設計がおかしいんじゃねーの?
971デフォルトの名無しさん:2007/09/07(金) 19:37:57
構造化・・・
972デフォルトの名無しさん:2007/09/07(金) 23:11:30
スマートポインタをただの開放忘れ防止にしか使ってなきゃいいけど
よくわからなくなったインスタンスの所在を一括廃棄するために使ってるとしたら
普通に危険だ
この先経験を積んでもロクなプログラマにならないだろう・・・
俺はそういう奴を何人も見てきたw
973デフォルトの名無しさん:2007/09/07(金) 23:35:51
俺はそういう奴を何人も見てきたw
974デフォルトの名無しさん:2007/09/07(金) 23:44:12
具体的に何人?
975デフォルトの名無しさん:2007/09/07(金) 23:46:28
大抵は日本人だけど中にはインド人とかもいた
976デフォルトの名無しさん:2007/09/07(金) 23:49:16
廃棄タイミングを制御できない事例について議論しようぜ
オブジェクトを生成した階層と、そのオブジェクトを使う階層が違って、かつオンラインのような長期稼動のケースでは、廃棄タイミングを制御するなんて現実的じゃないと思うんだ
思うだけで深い意味はない、素人だから
977デフォルトの名無しさん:2007/09/07(金) 23:52:13
日本人
978デフォルトの名無しさん:2007/09/08(土) 00:00:31
曰本入
979デフォルトの名無しさん:2007/09/08(土) 00:20:34
日本人(笑)
980デフォルトの名無しさん:2007/09/08(土) 00:36:18
つうか、自動変数でしか管理されて無いオブジェクトってなんなの?
そんなもんがプログラム中に頻繁に発生するの?
981デフォルトの名無しさん:2007/09/08(土) 00:36:51
初心者スレなのになんか難易度の高い基地外が住みついてるなこのスレは
982デフォルトの名無しさん:2007/09/08(土) 02:21:03
質問です。
初心者レベルの問題なのかはよくわかりませんが、
正規化(Normalize)や内積(Dot)・外積(Cross)の使い方がわかりません。
というか、何となく言葉ではわかっているんですが、
それを実際にプログラミングで使用するとなると
一気に?状態になるんです。
ベクトルの長さを1に〜とは言っても「1にしてどうすんの?」
という感じでして・・・
どなたかわかりやすい解説や、わかりやすいサイト等を
知っている方は是非お願いします。
983デフォルトの名無しさん:2007/09/08(土) 04:56:46
他人の解説を聞いても意味はないよ。他人にとって欠かすことができない処理でも
自分の作るプログラムに必要でないことはいくらでもある。
スーパーマリオもドラクエも法線の計算を使ってないだろうしな。
984デフォルトの名無しさん:2007/09/08(土) 05:42:22
>>982
用途が分からないものを今無理して使う必要はない
使うことによってどう役に立つのか理解したいのであれば、DirectXではなくまずは線形代数を勉強しよう

最近はゲーム開発寄りの線形代数入門の書籍も多いみたいだけど、
Webで有名なのはここかね。とっくに閉鎖してるからWebArchiveからだけど
ttp://web.archive.org/web/20020609064207/www.cc.rim.or.jp/~devilman/3dCoding/3dCoding.html
985デフォルトの名無しさん:2007/09/08(土) 06:20:01
>>976
それってつまり管理できてないってことでしょ?
ゲーム系だとみんな俺様設計で組んでるから文句言われないけど
業務系でそういうことやると組み直しになるぜ
生成したインスタンスが管理できてないなんて特に最悪

どうせならどこでも通用するプログラマになりたいよね

それにそもそも
>オブジェクトを生成した階層と、そのオブジェクトを使う階層が違って、
この構造がまずそうじゃねぇか、この仕組みに手を入れないで
スマートポインタに手をだしていいのは締め切り1ヶ月前だけだろw
ほんと広範囲に影響がでるもん触ることになってちょっと怖くて組みなおせないよってときは
いいと思う>スマートポインタ
986デフォルトの名無しさん:2007/09/08(土) 06:59:52
なに興奮してんの
987デフォルトの名無しさん:2007/09/08(土) 07:03:56
>>986
結構重要な分岐点だから
ここでインスタンスの管理をサボるようになると
マジでロクなPGにならない
988デフォルトの名無しさん:2007/09/08(土) 07:16:55
重要なことかもしれんけど初心者スレでインスタンスの管理やら説いても伝わるとは思えんけどなあ
そして伝わってないなら周りから見ればスレ違いのオナニー長文にしか見えないわけで
989デフォルトの名無しさん:2007/09/08(土) 08:28:57
場違いな所での場違いな力説の空回り感と言ったら・・・
990デフォルトの名無しさん:2007/09/08(土) 09:48:17
まあ、ちゃんと管理しなきゃ駄目だよってことが伝わればおk
991デフォルトの名無しさん:2007/09/08(土) 14:55:03
どーせJavaグラマ上がりのスマートポインタマンセーブタが、設計の手抜きに対して
「事案自体の構造的に、構造主義一辺倒の分析で間に合わないケースがある」
とか寝ぼけてんでしょ。
無視が一番。
992デフォルトの名無しさん:2007/09/08(土) 16:10:39
チームが分断していてコントロールできない事例なんていくつもある
さらにチームではなく、外部ベンダとかに分断している可能性だってある
現実的に優秀なPGが一人いるわけじゃなくて、馬鹿なPGが大勢いることの方が多い
下手したら日本人PGはインドや中国のPGより質が悪いかもしれない
じゃあ現実的にどうしようか、って考えたらリソースリークが避けられるスマートポインタは一つの方法としてあると思う
(生成したもの全てをスマートポインタにしろといってるわけじゃない)
他には遅延フェッチの実装を助けるとか、リソース管理とか参照回数の計測をしなきゃいけないときとか、純粋にコーディング世界での有用性もあるし
要は使いどころだと思うよ
993デフォルトの名無しさん:2007/09/08(土) 16:20:30
だったら、まず必要なのは「スマートポインタで逃げる事」じゃなくって、
多人数でも正常に動作する構造設計と品質管理システム。
リークのあるリソースの追跡なんてプロファイラでやる事。
最後の行も、スマートポインタと全然関係無い。
普通にスマートポインタ使わない環境でもやってる事ばっかり。

「要は使いどころ」なのは同意だが、「困ったらスマートポインタ」なんてやってたら
バカPGが大勢生産される環境になるだけ。
994デフォルトの名無しさん:2007/09/08(土) 17:13:40
お前らみんなスレタイを見ろ。
995デフォルトの名無しさん:2007/09/08(土) 18:31:49
>>993
それ、良い事じゃないか
996デフォルトの名無しさん:2007/09/08(土) 18:53:38
>他には遅延フェッチの実装を助けるとか、リソース管理とか参照回数の
まさにスマートポインタの使いどころだと思うけど
997デフォルトの名無しさん:2007/09/08(土) 19:06:48
設計でつまずくたびにスマートポインタでスマートに逃げる・・・
逃亡プログラマだなw
998デフォルトの名無しさん:2007/09/08(土) 19:43:08
体育会系プログラミングってやつか
999デフォルトの名無しさん:2007/09/08(土) 21:46:16
糞スレ埋め
1000デフォルトの名無しさん:2007/09/08(土) 21:47:50
でもそんなの関係ねぇ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。