鬱だ氏のう DirectX 2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGマターリと技術情報交換しましょう。
前スレ「鬱だ氏のうDirectX」
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=966655286
関連スレ「初心者はここで聞け!DirectX相談室」
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=991795568
0322デフォルトの名無しさん
NGNG俺も同じようなことをしたいと思ってた。
とりあえず、COMプログラミングから勉強始めてみたよ。
0323鬱だ氏のう
NGNG0324デフォルトの名無しさん
NGNGhttp://www3.justnet.ne.jp/~botchy/el.htm
ってどう?
0326デフォルトの名無しさん
NGNG独自のフィルタ作成する際には参考になるかも。
0327デフォルトの名無しさん
NGNG保持する構造体 へのポインタをたくさん作って中身を入れて、
複数のキャラを登場させるためにそれらのポインタを配列変数に入れて使っています。これって
メチャメチャメモリを使ってるんです(・・・か?)よね。
それで終わったらその格納されたメッシュとテクスチャとへのポインタだけ(Xファイル関係では)を
DXのリリース処理に渡してるんですけどこれでいいんでしょうか。
一応ちゃんと動いて、ちゃんと終了したように見えるのですがとても怖いです。
0328デフォルトの名無しさん
NGNGDirectX 2 機能限定スレッドかと思って期待して入ってしまった(マジ)
0329デフォルトの名無しさん
NGNG違うのだ。「 鬱だ氏のう DirectX 」 のパート2。
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGお祝いにみんなに一杯おごれYO!
0332デフォルトの名無しさん
NGNG早速流出しろYO!
0333デフォルトの名無しさん
NGNGほしけりゃ自分で応募しろYO!
最初の募集で応募すれば誰でも当選するYO!
0335デフォルトの名無しさん
NGNG応募者全員に来たのかと思った。テストしてやるんだし。
国際FAXさせられたぞ
0336デフォルトの名無しさん
NGNG東京のマイクロソフトでいいんでないの?
0337デフォルトの名無しさん
NGNGコロコロ変わる頂点の扱い方について、うまい方法が、どうも思いつきません。
今は、丸め誤差対策にintかなんかで、データを別場所に持ち
[0] [1] [2] [3] .... ←可変長ベクトル(DrawPrimitiveに渡すバッファ)
↑ ↑ ↑ ↑
ptr ptr ptr ptr ←各データオブジェクトがintデータを渡すためのポインタ
なんてやっているのですが。可変長ベクトルが縮んだりした場合の処理が厨で…
初心者丸出しの質問ですが、もしこんなの組んだ方いらっしゃましたらアドバイスお願いします。
0338デフォルトの名無しさん
NGNGデータの格納自体にはSTL使って、表示データをそこから生成するように
してみれば?
033966
NGNG0340
NGNG解説本でも見たことないなぁ
同じビット数なら大差ないような気がしないでもない
(ある程度、数値の上限下限が決まってればfloatよりbitを効率よく使えそうだけど)
0341337
NGNGレスありがとうございます。
えっと、別場所int格納のオブジェクト管理にSTLを使い、
描画毎に、表示データを生成する、ということで良いのでしょうか?
0342337
NGNGすいません、私本当に初心者なので間違っていると思います。
実はすでにfloatで頂点データ持つ様なの作ったんですよ。
で、この頂点を、たとえば0.1ずつ動かすようなコマンドがあるのですが、
これを50回実行したあと、-0.1ずつ50回動かしても、元の値には戻らない。
しょうがないのでデータは整数できっちり持って、
描画時には適当な値で、それを割ったのを使おうと思ったんです。
0343デフォルトの名無しさん
NGNG(インデクスの?)int以外に、頂点のセレクションデータとか、ユーザーデータとか持つ場合の
情報を構造体とかに収めて、それをSTLの任意のコンテナで管理しておくという感じのを想像
してました。
描画毎、というよりはデータの更新や変更がある度にモデラーに表示するデータを更新して
やればOKかと。(実際の管理データと、プレビュー上に表示するためののデータを分けて
やるってことですね。)
0344デフォルトの名無しさん
NGNGdoubleで持っていても精度に問題あります?
0345337
NGNG言葉足らずですいません。上記のintはインデクス管理のintではなく、頂点データそのものです。
そうなんです、管理データと、描画データ(DirectXのfloatバッファ)を分けて考えたくて…。
描画バッファをフラッシュせずに処理することばかり、考えてました。
お勧めに従い、変更あるたびにバッファデータを全更新してみます。
御陰様で、しがらみから解放されたような、清々しい気分です(^ ^)
>>344
double d = 0.0; int i;
for( i=0; i<1000; ++i ) d += 0.1;
for( i=0; i<1000; ++i ) d -= 0.1;
今、VC++6でこんなの試してみましたが、やはり完全な0.0には
戻らないみたいです(T-T なにか私が勘違いしている気がしてきました…
0346
NGNG0348名無しさん
NGNG0349デフォルトの名無しさん
NGNGサイズが増える
0350デフォルトの名無しさん
NGNGWindowsを切り捨てる。
0351デフォルトの名無しさん
NGNG0.1 じゃなくて、0.125 とか 0.06125 とか、
2の乗数だったら正確に計算できるはず
0352デフォルトの名無しさん
NGNG閾値を設けるものではないかね。
0353デフォルトの名無しさん
NGNG.Netに対応する
0354Kusakabe Youichi
NGNG> それはそれとして、普通浮動小数点の同値判定には
> 閾値を設けるものではないかね。
というか「してはいけない」のでは?
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG閾値って知ってる?(笑
0357Kusakabe Youichi
NGNG> >>354
> 閾値って知ってる?
先日すっぽんのを飲みましたよ :)
で、a > 0.0 とか b < 3.5 ってのはOKだけど、
a == 0 のかわりに 0 - d < a && a < 0 + d みたいなのは
「やるべきではない」という話ですよ? > 前述の
(だからa == 0 にしろと言っているわけではない)
0358デフォルトの名無しさん
NGNG>double d = 0.0; int i;
>for( i=0; i<1000; ++i ) d += 0.1;
>for( i=0; i<1000; ++i ) d -= 0.1;
純粋に疑問なんだけど、こういうのをどういう目的につかっているの?
UNDOの為にこういうことをしているんだったら根本的に間違っている気が…。
0359Kusakabe Youichi
NGNG> >>345
> >double d = 0.0; int i;
> >for (i = 0; i < 1000; ++i) d += 0.1;
> >for (i = 0; i < 1000; ++i) d -= 0.1;
>
> 純粋に疑問なんだけど、こういうのをどういう目的につかっているの?
「こういうのはやっちゃいけない」という例題の目的では?
0360デフォルトの名無しさん
NGNG0361
NGNG「やるべきではない」という話ですよ? > 前述の
えっ これダメなの?
0362デフォルトの名無しさん
NGNG0363Kusakabe Youichi
NGNG> a == 0.0 のかわりに 0 - d < a && a < 0 + d みたいなのは
> 「やるべきではない」という話ですよ? > 前述の
>
> えっ これダメなの?
それを「やるべし」という話だったんですよね?
まあ一般にはよくいわれるけど、
それを私は「そうではない」と主張したわけです。
(もちろんa == 0.0のほうが0.0 - d < a && a < 0.0 + dよりよいと
いっているわけじゃないですよ。勘違いしないように)
0364
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGスレを荒らしたくないなら、相手にするのはやめとけ。わざと曖昧な言葉を使って
混乱させるだけだから。
相手にすると、どのぐらい酷いことになるかは
”作ってわかるCプログラミング”でCを勉強 part5
http://pc.2ch.net/test/read.cgi/prog/1007204446/l50
このあたり参照。
0367
NGNG0368デフォルトの名無しさん
NGNG私も気になります。どう書けばいいか、
「作ってわかるCプログラミング」に書いてありますか?
0369デフォルトの名無しさん
NGNGたのむからプログラマ板に帰ってくれ、こっちまで汚さないで。
0370デフォルトの名無しさん
NGNGいわれちゃうんだろうな。誰かクヌース先生の
原著持っている人、確認してください。
0371デフォルトの名無しさん
NGNG「閾値=しきいち」
0372Kusakabe Youichi
NGNG> >>357
> 「閾値=しきいち」
その慣用読み(まではまだ行ってないかなあ)ってどの時代にできたんでしたっけ?
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGDirectXスレッドにくるのはやめてください。ゲーム開発者に恨みでもあるのですか?
0375デフォルトの名無しさん
NGNGスレ違いな発言は無視でしょ。ここ DirectX スレなんだし、言語史はどうでも良い。
0376Kusakabe Youichi
NGNG> 「しきいち」と
「敷居値」とでも書くのですか? :)
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNGウゼェ。
0380デフォルトの名無しさん
NGNGオマエモナー
Kusakabe 先生のスレ違い書き込みに対する苦情には専門のスレが用意されて
いるので、ム板では書かないようにお願いします。スレ違いな書き込みにコメント
をつけるのは、スレ違い書き込みをしている人間と一緒になって荒らし行為をし
てるのと変わりません。
日下部 陽一先生の隔離スレッド void ***
http://pc.2ch.net/test/read.cgi/prog/1006918877/
#同意も反論も不要。なんかあったら↑のスレで言ってくれ。
0381373
NGNGMS-IME98だと「しきいち」で「閾値」に変換されます。
閾値は「いきち」が普通だと思ってたけど、まさか「しきいち」でも変換できる
とは思ってなかった。
メルトダウンのATiのスライドでも「しきい値」ってのが出てきますね。
0382Kusakabe Youichi
NGNG> >>376
> MS-IME98だと「しきいち」で「閾値」に変換されます。
> 閾値は「いきち」が普通だと思ってたけど、まさか「しきいち」でも変換できる
> とは思ってなかった。
まあMS-IMEですから。
VJE-Delta4.0ならまっとうですよ。
0383デフォルトの名無しさん
NGNG「しきいち」を使っていましたが、何か?
0384デフォルトの名無しさん
NGNGいいかげんにしろ。
0385デフォルトの名無しさん
NGNGお客様、展示品にはお手を触れないでいただけないでしょうか。
0386デフォルトの名無しさん
NGNG東京でいいの
あとMAILでおくる場合って、
やっぱり印刷したPDFをスキャナでスキャンして送るのかな?
0387デフォルトの名無しさん
NGNG東京の宛先ってMSのどこ?
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG郵送?メールじゃなくて?
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGでも音沙汰無し
0392デフォルトの名無しさん
NGNGJPEGで添付してmailで送ったよ。
0393デフォルトの名無しさん
NGNGその後なんか連絡あった?
0394デフォルトの名無しさん
NGNG無いよ。
mailじゃダメなのかな?
どうしよう・・・
0395デフォルトの名無しさん
NGNGいや、俺はアメリカへFAXしたけれど、やっぱり連絡ない。
もう少し待ってればいいのかな
0396デフォルトの名無しさん
NGNGどう対処していいのか分からず、OSからの再インストール・・・鬱だ
0397マジ
NGNGIn article >>710, 710 仕様書無しさん wrote:
> > そんな変なことを言うひともいるんですね。
> そうですよね、ふつー上京は東京に行くことだし、
はつみみです。
730 :仕様書無しさん :01/12/04 18:13
>>722
じょうきょう【上京】
地方から都へ行くこと。現在は,東京へ行くこと。
(新辞林 by 三省堂 @Yahoo! DICTIONARIES)
とありますよ。
「地方から都へ行くこと。」「東京へ行くこと。」のどちらが「普通」かと言
えば現在では後者といっておかしくないでしょう?
744 :スバリ回答 :01/12/04 18:20
民明書房国語辞典
じょうきょう【上京】 [名][自サ]地方から都に出ること。京都へ出ること。
やはり、日下部氏は正しかった。
752 :Kusakabe Youichi :01/12/04 18:27
In article >>741, 741 困った wrote:
> 清水国語辞典
> じょうきょう【上京】 ジヤウキヤウ[名][自サ]地方から都に出ること‥豕・惱个襪海函
>
> 誤植ですね。
民明書房国語辞典 じょうきょう【上京】 [名][自サ]地方から都に出ること。京都へ出ること。
0398396
NGNG8.0にしてみるか・・・
0399デフォルトの名無しさん
NGNGえ”、日本マイクロソフトでもよかったの?
レッドモンドまでエアメールで送ってしまったよ。。。
例のタンソ菌騒ぎで多分相当遅れるって郵便局で脅されたよ。。。
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG0402401
NGNG0403デフォルトの名無しさん
NGNGDirectX7とVC++でゲーム作っているのですが、
メタセコイヤがDirectX8のラインタイムが無いと、一部動かないので
DirectX8のランタイムだけ入れたいと思います。
というわけで、DirectX7SDK+DirectX8ラインタイムっていう
組み合わせは吉でしょうか?凶でしょうか?
0404デフォルトの名無しさん
NGNG俺は8.1ランタイムで8.0aSDK開発してるよん。
いまのところ問題はない。
0405デフォルトの名無しさん
NGNG問題ナシ。
DirectX8SDK入れて、7のインターフェース使う場合とかは#defineが必要になる。
0406デフォルトの名無しさん
NGNG640*480でMMX233でMMXつかっても10fpsぐらいしか逝かんです
RGB各色ごとに処理してるから遅いと思われるのですが
なにかいいほうほうはないもんですか
0407デフォルトの名無しさん
NGNG自前描画ならそんなもんです。MMX233程度なら、60FPS出せとか誰も言いませんよ。
環境が許すなら、素直にハードウェア使いましょうや。
0408デフォルトの名無しさん
NGNG設計おかしくないですか?
0409デフォルトの名無しさん
NGNGいや、10fpsはさすがに遅すぎだろ。MMX使ってるのに。
20〜25fpsは出るよ、がんばれば。
つか、フェードアウトなら60fpsも可能かも?
漏れ作ったのはクロスフェードで20fps以上出てたから。
>>406
その部分のコード見せてみ
ロジックそのものが悪いか、
パイプラインを考慮してないだけだと思う。
0410デフォルトの名無しさん
NGNGそのポリゴン(プリミティブ?三角形の断片)数を
取得する関数ってありますか?
0411デフォルトの名無しさん
NGNGDirectX8の機能にフェードアウトできるようなものはないんですか??
フェードアウトって自前でないと実現できないんでしょうか。
0412デフォルトの名無しさん
NGNG0413406
NGNGmovq mm1,mm0
movq mm2,mm0
pand mm0,mm3// 赤マスク
psrlw mm0,[Rshift64] //赤を右にもってく
psubusw mm0,mm6//減算
psllw mm0,[Rshift64]//赤のビット位置戻し
pand mm1,mm4
psrlw mm1,[Gshift64]
psubusw mm1,mm7 //565を考慮して差を変化
psllw mm1,[Gshift64]
pand mm2,mm5
psubusw mm2,mm6
por mm0,mm1
por mm0,mm2
movq [esi],mm0
パイプラインなんて考えてないっす
つーかフェードアウトの意味違ってたらごめんなさい
画面が暗くなってくやつだよね?
0414デフォルトの名無しさん
NGNG結構使ったけど、何がおかしいですか?
私は合理的な設計に思えるけど。
0415デフォルトの名無しさん
NGNGttp://www.geocities.co.jp/SiliconValley-PaloAlto/5989/trans01.html
ここ,参考になりますか?
0416デフォルトの名無しさん
NGNGふつーフェードアウトは乗算でやるけど、まぁ減算でもいいか。
413のソースをちょっと改良すると、
movq mm0,[esi]
movq mm1,mm0
pand mm0,mm3// 赤青マスク
psubusb mm0,mm6//赤と青を減算
pand mm1,mm4//緑マスク
psubusw mm1,mm7 //緑だけ減算
por mm0,mm1
movq [esi],mm0
こんなとこか?試してないから間違ってたらスマソ。
とりあえず、406はIntelの最適化マニュアルでも読んで、最適化の方針くらいは
覚えた方がいいかと。下手なアセンブラはCよりも遅いよ。
例えばレジスタに書き込む操作をした直後に読み出そうとすると遅くなる。
↑のソースの場合だと、pandの直後にpsubusbやpsubuswはまずいかと。
pand mm0,mm3// 赤青マスク
pand mm1,mm4//緑マスク
psubusb mm0,mm6//赤と青を減算
psubusw mm1,mm7 //緑だけ減算
こうした方がいい。
>>415
そこ見てみたけど、わざわざ色分けして解説するほど良い物じゃないなぁ。
教科書通りというか、406にちょっと毛が生えた程度のレベル。
0417406
NGNG最適化マニュアルなんていいっすね
早速見させてもらいます
ちなみに赤と青を同時演算は考えたんだけど
青成分が0で赤成分が残って減算すると赤から借りが発生して
青成分がMAXになってしまうんですよ
乗算でやるともっと遅くなる気がするんですがどうなんでしょ?
0419406
NGNG書き間違えだと思った
ためしたら成功しました
参考になります
ついでに質問なんですがメモリをロックするとき読みこみと書き込みを
別々にロックすると2倍くらい速度出るんだけど
それもメモリアクセスで読み書き両方すると遅くなるってやつ?
0420デフォルトの名無しさん
NGNGSDKのクラスそのまま使うのってあり?
0421モハメド
NGNG■ このスレッドは過去ログ倉庫に格納されています