■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

鬱だ氏のう DirectX (Part 9)
751 名前:749 :03/08/04 02:47
>>750
してないです。
テクスチャ1 →(ライン転送)→ テクスチャ2(一時的にターゲット) →(丸ごと転送)→ レンダリングターゲット
をD3DXSPRITEで行っています。
DirectX9で作っていること自体が特殊だと思われw

752 名前:デフォルトの名無しさん :03/08/04 03:05
>>751
うちの場合、テクスチャをターゲットにすると、ソースのα(αビット・DIFF)
がターゲットテクスチャのαビットに描画される。

やっぱり、白でクリアするか、 →(丸ごと転送) の手前でα切らないと、
うちでは駄目ぽ。 これが通常の動作だと思ってたよ。

753 名前:デフォルトの名無しさん :03/08/04 08:31
>>742
うちの GeForce4MX では普通に表示されたよ。

754 名前:デフォルトの名無しさん :03/08/04 22:12
ところで、GetAvailableTextureMemを使用するとテクスチャメモリ使用可能容量を知ることができるわけだけど。
AGP Aperture Memoryがあるから、物理VRAM16MBしか積んでなくても32MB等と示されるわけで。
つまりその場合、我々は32MBのテクスチャを確保しても問題ないということなのかな。
パフォーマンス的にやはり問題あり?

755 名前:デフォルトの名無しさん :03/08/04 22:38
>>754
パフォーマンスはやっぱり実測で有効かどうかを試さんと分からんかと。

756 名前:754 :03/08/04 22:54
>>755
あー、やはりそうですか。マイクロソフトのfaqにも「パフォーマンスを絶えずテストしろ」とか
書いてありますしね。

ちなみにテストとして、現在の空きテクスチャをログに定期的に書き込み続ける
アプリを作ってみました。
で、G450 VRAM16MBの環境(GetAvailableTextureMemだと32MBになるので、
AGP Aperture Memoryは16MB?)の環境で、某メルティブラッドのメモリ使用量を
大雑把にテストしてみた。
どうやらこのソフト、明らかにテクスチャ20MB以上は使用しているようだが、
比較的快適に動いている。物理VRAMは足りないのだが。
Direct3Dとドライバがマネージしてるってことかな?

757 名前:デフォルトの名無しさん :03/08/04 23:22
テクスチャ切り替えるとDirect3Dが勝手にスワップの様な事する様で、
毎フレーム常に全テクスチャを駆使しない限り、使用頻度の低い
テクスチャはVRAMから弾き出されるみたい。

758 名前:デフォルトの名無しさん :03/08/04 23:35
MANAGEDクラスだと、んなことまでやってくれるのか…
(・∀・)イイッ

759 名前:デフォルトの名無しさん :03/08/04 23:42
つかね、DEFAULTがそんな感じだった。

760 名前:デフォルトの名無しさん :03/08/05 04:54
質問。
みなさんはDirectXプログラミングは生C || better Cでゴリゴリ書いてるのですか?
C++でクラス化してみようと思ったりするもよーわからん。ラッピング?
ていうか何をクラスにすればいいんだ。要求分析、設計できないんですが。
良質のDirectX C++ サンプルコードが見たいです。

761 名前:デフォルトの名無しさん :03/08/05 07:54
>>760
ウィザードが吐き出すコードをとりあえず見てみよう。

いやしかし、よくできたスレタイだね。

762 名前:デフォルトの名無しさん :03/08/05 17:03
>>761
BCCなので無理です。鬱だ氏のう。

763 名前:デフォルトの名無しさん :03/08/05 17:14
ってゆうか、普通にSDKのサンプルコード見ればいーじゃん。

そもそもDirectXはCOMで実装されてるんだから、
薄いラッパークラスなんて要らない。

764 名前:754 :03/08/05 19:29
皆様!質問でつ!
使用していないテクスチャは、物理VRAMから自動的に追い出されることはわかりました。
しかし気になることが。
D3DPOOLはD3DPOOL_DEFAULTじゃないとダメ?D3DPOOL_MANAGEDはどうですか?


765 名前:デフォルトの名無しさん :03/08/05 19:41
>>764
D3DPOOL_DEFAULTはビデオカードにとって最適の場所
(おそらくほとんどの場合ビデオメモリ)に優先的にリソースを置く。
D3DPOOL_MANAGEDはシステムメモリにDirect3Dがコピーを持ち、
必要に応じてビデオメモリに転送する。

ということで、むしろD3DPOOL_MANAGEDじゃないとダメなんだと思う。

766 名前:デフォルトの名無しさん :03/08/05 19:48
DEFAULTはAGPアパーチャとVRAM、
MANAGEDはシステムメモリとVRAM間じゃないのかね。

767 名前:デフォルトの名無しさん :03/08/05 20:04
>>766
なるほど。>>764の言う「追い出し」っていうのはVRAMからAGPメモリへの退避なのか。

しかし、ドキュメントに特別な記載が無いし、
Direct3DはVRAMとAGPメモリとの違いを見てないような気がするけど・・・。

768 名前:  :03/08/05 20:40
D3DPOOL_MANAGED にしとくと明示的に Restore しなくて良い、
って話じゃなくて?

769 名前:デフォルトの名無しさん :03/08/05 20:41
>>768
全然違う・・・

770 名前:デフォルトの名無しさん :03/08/05 21:27
C#でDirectX9やってる人いますか?

C#のペイントイベントの中でDirectXの描画を呼び出すと、
一瞬だけ映像が見えてすぐに基本色で上書きされて
しまうのですが、何か方法ないのでしょうか?

C++では、WM_PAINT呼ばれた時に、
Present→ValidateRect(hWnd,NULL);
で、再描画を解除できたのですが・・・。

771 名前:デフォルトの名無しさん :03/08/05 21:29
>>770
DirectX、C#のスレが既にありますね。
こちらの質問は撤回させていただきます。失礼しました。

772 名前:754 :03/08/05 21:54
どうもありがとうございまつ。
自分が言いたいことですがつまり、
物理VRAM16MBの環境で4MB×5枚計20MBのテクスチャを最初に確保した場合、
4MB分現在使っていない(BeginScene-EndScene間で使われていない)
テクスチャがあればそれは自動的にVRAMから破棄される。
必要になったら呼び戻される。
つまり現在使用しているテクスチャが16MB以下であれば、最初に確保したテクスチャの量に関係なく、
レンダリングの結果も問題なし、レンダリングの速度も大幅低下しないのではないか。
ということです。

ドキュメントに明示的に記載されていないので確証は無いのですが。
仮に物理VRAM16MB、AGPメモリ16MB確保されている場合。
D3DPOOL_MANAGED:
物理VRAMで必要なくなったデータは(空きが無くなった場合)破棄される。
必要になったらまたシステムメモリからコピーされてくる。
D3DPOOL_DEFAULT:
物理VRAMで必要なくなったデータは(空きが無くなった場合)AGPメモリに
転送される。必要になったらまた物理VRAMに戻される。
以上でいいのかな?
D3DPOOL_DEFAULTの解釈が怪しいような。指摘プリーズ。

AGPメモリ→VRAMと、システムメモリ→VRAM の速度がほぼ同じなら
D3DPOOL_MANAGEDがいいのかなと思っていますが。

773 名前:デフォルトの名無しさん :03/08/05 22:04
同じなわけない

774 名前:デフォルトの名無しさん :03/08/05 22:12
そもそもAGPメモリのマネージメントは行われているのだろうか?

775 名前:デフォルトの名無しさん :03/08/05 22:18
>>772の解釈が正しいとしよう。

不要なテクスチャを破棄するコストと
再度必要になった場合にテクスチャを復帰するコストを合わせて考えると、
AGPアパーチャメモリ→VRAMの転送コストが
システムメモリ→VRAMの転送コストの半分以下でなければ
パフォーマンスは向上しない、ということになる。

で、問題の転送コストだが・・・誰か知ってますか?

776 名前:デフォルトの名無しさん :03/08/05 22:19
>>775
× AGPアパーチャメモリ→VRAM
○ AGPアパーチャメモリ←→VRAM

777 名前:デフォルトの名無しさん :03/08/05 22:24
つか、パフォーマンスの前に根本的に用途が違うだろ。
DEFAULTはレンダーターゲット、MANAGEDは要ロックじゃないの。

778 名前:デフォルトの名無しさん :03/08/05 22:42
>>777
用途で考えずに、性質で考えなよ。

779 名前:デフォルトの名無しさん :03/08/06 08:12
DrawIndexdPrimitive()を使用するとレンダリング(描画)と内部処理が平行して行えると聞きました。
そこで知りたいのが以下のどの処理の段階で描画が行われるのでしょうか?

・DrawIndexdPrimitive()が呼ばれた直後
・EndScene()の直後
・Present()の直後

個人的にはEndScene()の直後だと重いますが・・・。
この直後にトランスフォームなどをしてやれば高速化できるのだと思います。
ご伝授よろしくお願いします。


780 名前:デフォルトの名無しさん :03/08/06 08:58
↑ハズレ

781 名前:デフォルトの名無しさん :03/08/06 12:35
DirectX7 のユーティリティの使用につい聞きたいのです
D3DXCreateTextureFromFile 関数を使用し画像を読み込み、
読み込んだ画像にたいして SetColorKey を使用し透明色を設定しました
そして、D3DXDrawSpriteTransform 関数を使用し描画したんですが
何故か透明色が働きません。
考えられる原因としては何がありますか?
もし、良ければ教えてください。お願いします。
ちなみに DirectDraw の方の機能の BltFast では透明色が働きました。
追伸
D3dDevice->SetRenderState( D3DRENDERSTATE_COLORKEYENABLE, TRUE ) ;
はすでにおこなってあります

782 名前:デフォルトの名無しさん :03/08/06 13:46
DirectX9.0bの差分インストールには
再領布パッケ−ジ、開発者ランタイム、シンボルファイルの3つがありますが
最後のシンボルファイルだけインストーラがついておらず、どのフォルダにいれればよいのか
分かりません・・・。英語の公式サイトページを見ても分かりませんでした。

783 名前:デフォルトの名無しさん :03/08/06 14:18
>>782
対応するファイルと同じところじゃネーノ

784 名前:デフォルトの名無しさん :03/08/07 21:17
VS.net2003環境にDXSDK9.0bぬっ込んだら、
DXアプリウィザードインスコされてないんですけど・・・
もしかして、仕様?

785 名前:デフォルトの名無しさん :03/08/07 21:26
>>784
SDK9.0bっても、ランタイムとか以外は以前のSDKのまま。
だから付属のインストールファイルは.NET2002用。
何度か既出の質問なんで、このスレか1つ前のスレを検索してみれ。

786 名前:デフォルトの名無しさん :03/08/07 22:24
2003用のを誰かツクってよ

787 名前:デフォルトの名無しさん :03/08/08 00:30
つーか、ウィザードなんか使わないだろ

788 名前:デフォルトの名無しさん :03/08/08 01:18
せっかくあるなら使ってみたいのが人情ってもんよ。

789 名前:デフォルトの名無しさん :03/08/09 03:21
お前らいつまでC++使ってるの?
時代はC#なんだよ?わからないかな・・・?

790 名前:デフォルトの名無しさん :03/08/09 08:18
>>789
人柱がんがれ

791 名前:デフォルトの名無しさん :03/08/09 10:56
ないんだよ。
金が。

792 名前:デフォルトの名無しさん :03/08/09 11:50
働けよ

793 名前:デフォルトの名無しさん :03/08/09 11:58
せっかく2003なのにDXやるなら2002のほうがいいのか_| ̄|○

794 名前:デフォルトの名無しさん :03/08/09 14:20
>>793
なんでそーなるのか知らんが、ウィザードの事だったら最近の過去ログ探れ。
たしか二箇所の書き換えで.NET2003に入れられる。

795 名前:デフォルトの名無しさん :03/08/09 15:53
>>794
DirectX C#スレは過去ログとは言わないと思うYO!


796 名前:デフォルトの名無しさん :03/08/09 17:30
>>795
C++での話じゃないの?

797 名前:デフォルトの名無しさん :03/08/09 17:35
ウィザード用のファイルをコピーするだけという簡単な作業すら出来ない人が、
プログラムを組むのもどうかと思いますが
PC初心者ですか?

798 名前:デフォルトの名無しさん :03/08/09 19:04
>>796
このスレは色々な所から多重継承されてるされてるから見落としがあるかもしれんが
C++系の鬱氏で該当レスは見あたらんよ
>>2の過去ログにはなかった
過去ログをみろというレスは見かけたんだが・・・
GREPかけてもサパーリヒットしない(DAT落ちスレ除く)

799 名前:デフォルトの名無しさん :03/08/09 19:30
2003へのWizardのインストールは、C++でもディレクトリ・ファイルが
違うだけで、C#と同じ方法で出来るのでは?

800 名前:キリ番ゲッター見習い ◆cEL6a7QKc2 :03/08/10 01:31



    今だ!800番ゲットォォォォ! 
       ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄    
                      
             ∧_∧                 
``)          ( ´∀`)                     
  `)⌒`)      ⊂  ⊂ )       
≡≡≡;;;⌒`)≡≡≡〈 〈\ \  
     ;;⌒`)⌒`)  (__)(__) 
          ズザーーーッ   




801 名前:デフォルトの名無しさん :03/08/10 01:37
>>320おめ

802 名前:デフォルトの名無しさん :03/08/10 19:22
今でもサンプル通りとかで、なんとなく使えちゃってるのですが、
やっぱりDirectXやるなら、COMの事を理解しておいた方が良いでしょうか?

というか、意気込んでCOMスレいったら、通夜ムードで…。
今現在のCOM知識は、ヘルプの該当個所を斜め読みした程度です。

803 名前:デフォルトの名無しさん :03/08/10 20:07
スネ毛の生えた自分の足を見て思った。
これがトゥーンシェーディングか、と……。


804 名前:デフォルトの名無しさん :03/08/10 20:15
AddRef, Releaseの作法ぐらいは覚えておいたほうがいいと思うズラ

805 名前:802 :03/08/10 20:19
>>804
レスサンクスです。逆に言えばそれだけで良いのかな。
QueryInterfaceなんか使ったこと無いなぁ…。

806 名前:デフォルトの名無しさん :03/08/10 20:56
>>803
ファーシェーディングでどうやるの?

807 名前:デフォルトの名無しさん :03/08/10 22:16
>>805
DirectShowだとQueryInterfaceを使うね。
COMは使い方だけ知ってればいいと思う。自分でDLLでも作ろうと思わん限りは。

808 名前:デフォルトの名無しさん :03/08/10 22:31
うん、COMは使い方だけ知っていればいいね。内部に深入りする必要は無い。
DirectX的には、シェーダープログラミングの理解に時間を振り当てた方が良い。

809 名前:デフォルトの名無しさん :03/08/10 23:12
sdkサンプルみたいなスキンメッシュを再生できるようになりたいんだけど
どっかいいサイトor本知りませんか?

810 名前:デフォルトの名無しさん :03/08/10 23:41
>>809
腰を据えて、ドキュメントを見ながら
自力でサンプルを読み解いていくのをお勧めしたい。

811 名前:デフォルトの名無しさん :03/08/11 00:38
>>809
もう知ってるのかもしれないけど、そのサンプルを読むのに知っておいたほうが
よい情報を教えておきますよ。

ID3DXAnimationControllerのSetTimeメソッドを呼ぶと、D3DXFRAMEの
TransformationMatrixが適切な値に設定される。

俺、これに気づかなくて理解するのにだいぶ時間がかかった。

812 名前:デフォルトの名無しさん :03/08/11 02:35
ま、ドキュメントには「フレーム階層のトランスフォーム行列を更新する」ってちゃんと書いてあるんだがな。

813 名前:デフォルトの名無しさん :03/08/11 03:27
あのサンプルを読まなきゃなんないのか
鬱、、、

814 名前:デフォルトの名無しさん :03/08/11 03:38
とりあえず、「スキンメッシュ」でググってみたら、幸せになれる かも しれない。

815 名前:デフォルトの名無しさん :03/08/11 05:46
スキンメッシュとかアニメーションとかで適当に
探してはいたんだが、、、

3日くらいがんばればサンプルでも問題ない(と思う)んだが
漏れは一応受験生なんで時間が取れんのよね、、、

とりあえずサンプルをすこしずつ解読していきます。

816 名前:デフォルトの名無しさん :03/08/11 05:52
素直にGame Programming Gemsでも買っと毛。
実装の手本はSDKサンプルで。

817 名前:デフォルトの名無しさん :03/08/11 06:04
ここは見た?
個人サイトなので、Google経由
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=DirectX8%E3%81%AE%E3%83%AF%E3%83%B3%E3%82%B9%E3%82%AD%E3%83%B3%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AA%E8%A9%B1

818 名前:デフォルトの名無しさん :03/08/11 07:20
>>816
ベクトルとか行列とかの数学は結構勉強してるから必要な知識はあると思います。
C#ならわかりやすいコーディングがあったんで今それをCに直しているところです。

>>817
説明をざらっと読んでプロジェクトを落としてソースを眺めたりは
してました。こちらも参考にしてやはりSDKのサンプルをメインに
がんばっていこうと思います。

てか皆さん本当にいろいろとありがとうございます。
アニメーションを出来るか出来ないかは3Dの分かれ目だと思うので
がんばって早めに取得しようと思います。

819 名前:デフォルトの名無しさん :03/08/11 10:39
スキンメッシュの前に、その基礎になるフレームツリーのアニメーションは出来てるの?

820 名前:デフォルトの名無しさん :03/08/11 11:23
>>813
それでもDirectX8時代のSkinnedMeshに比べたら
ものすごく簡単になってるんだよ・・・
DirectX9のアニメーションは楽でいいね、
モーションブレンドとかも実装されててやらなくていいし

821 名前:デフォルトの名無しさん :03/08/11 14:50
ただ、ID3DXAnimationController、あまりにブラックボックスしすぎじゃないか?
後、C#的プログラム手法が嫌だ。

822 名前:デフォルトの名無しさん :03/08/11 16:07
C#で組めよアフォたれ

823 名前:デフォルトの名無しさん :03/08/11 16:24
C#イラネ( ゚д゚)、ペッ

824 名前:デフォルトの名無しさん :03/08/11 16:24
というか、C#的プログラミング手法ってなにサ。

825 名前:デフォルトの名無しさん :03/08/11 20:04
自力で実装、これ最強

826 名前:デフォルトの名無しさん :03/08/11 23:37
フルスクリーンモードでIMEなどのFEPを使用した
文字入力をしたいのですが、(チャットウインドウのような)
誰かご存知のかたいませんか?


827 名前:デフォルトの名無しさん :03/08/12 01:39
液晶ユーザーの為に

640*480===>>1280*1024(上下に黒帯、スムージング無し)
の拡大ドライバって作れないでしょうか?

828 名前:デフォルトの名無しさん :03/08/12 05:58
>>827
なぜこのスレに・・・?

829 名前:デフォルトの名無しさん :03/08/12 08:35
液晶で512×384のフルスクリーン表示したらどうなりますか?


830 名前:デフォルトの名無しさん :03/08/12 13:41
>>828
スレ違いだったのですか
すみません

>>829
液晶側では受けられない信号なので
GPU側が液晶パネル側の解像度に
スケーリングして出力します。

831 名前:デフォルトの名無しさん :03/08/12 15:10
LongHornがでればWin32APIは全滅だ!!

832 名前:デフォルトの名無しさん :03/08/12 17:28
ID3DXAnimationControllerはDX8のSkinnedMeshを理解してれば、お得感あるんだがねぇ。
今でこそ色んなところで日本語サンプルや解説が転がっていて楽だが
DX8が出た初期のころはアレを理解するのに相当の時間を食った…

833 名前:デフォルトの名無しさん :03/08/12 18:56
>>826
ネット上に転がってますぞよー。

834 名前:デフォルトの名無しさん :03/08/13 06:37
>>830
DirectXの互換ドライバを作るってことなの?
スレタイトルみた?

ま、ドライバスレッドって無いみたいだけど。

835 名前:デフォルトの名無しさん :03/08/13 08:29
単にバイリニアを切るってだけなら、ドライバで強制設定出来なくても
ラッパ一つで簡単に出来そうだけど、拡大もするのか。

836 名前:デフォルトの名無しさん :03/08/13 09:42
じゃあ、こっそり質問でもしちゃおうかな・・

DDRAW(DX7)が扱える最大画像サイズと、どの環境でも動くであろうと
思われる推奨の画像サイズはどんだけでしょうか。

経験上でも結構なので、よろしこ (゚∀゚)

837 名前:デフォルトの名無しさん :03/08/13 10:49
>どの環境でも動くであろうと思われる
最低動作環境に設定されている640*480
それ以外は保証されない

838 名前:デフォルトの名無しさん :03/08/13 14:47
そか、サンクスコ(゚∀゚)


839 名前:デフォルトの名無しさん :03/08/13 15:59
すんまそん

VB DirectXの超素人質問したいのですが、どこですればいいんでしょうか・・・
初心者スレが見つけられません

840 名前:839 :03/08/13 16:07
見つかりました
放置

841 名前:デフォルトの名無しさん :03/08/13 21:59
VMR Allocator9のサンプル動かしたんだけど、TNT2だとテクスチャが
グシャグシャになってしまう〜。
なんでやねん。ドライバも最新(と言ってもカードが古いが…)入れとるし。
誰か他に動かなかった人いる?

842 名前:デフォルトの名無しさん :03/08/13 22:54
投影テクスチャについて質問です。

ライト視点でレンダーターゲットのテクスチャに
オブジェクトを描画して投影テクスチャを作り、
それをライトからの影として貼り付けたいのですが、
その際のテクスチャトランスフォームの値と
UV値の設定方法が今ひとつ理解できません。

この辺り詳しい方がおられたら御教授お願いします。

843 名前:デフォルトの名無しさん :03/08/13 23:12
シャドウバッファでgoogleってみれ

844 名前:デフォルトの名無しさん :03/08/14 12:15
それは投影テクスチャの問題というよりは、
2つの射影平面をどうやって合わせるか、っていうほうが問題になってそう。

まず最初にライト視点のz深度画像を書くわけだけど、
この画像は通常視点の射影平面とは別の位置にある。
ライト視点の射影平面にあるわけです。

本描画時の頂点シェーダでは、
通常視点で座標変換した頂点座標をピクセルシェーダに送り、
更にz深度画像を書いたときと同じ座標変換をした頂点座標も送ります。
同じ変換をしているのだから、当然、この変換で得られた同次座標の値は、
ライト視点の射影平面における位置を表しています。
(その同次座標をfloat4 tとすれば、t.xy/t.wが射影平面の座標値になる)
このとき、同次座標のz値と、z深度画像のz値を比較すれば、
光が当たっているか、影の領域なのかが判定できるっちゅうわけです。

それから、z深度画像を参照するときはテクスチャ空間に変換しなきゃならんので、
本描画時の頂点シェーダで、z深度画像を書いたときと同じ座標変換の行列に、
テクスチャ空間に写像する行列もついでに掛けておきます。
もちろんテクセルの中央をサンプリングさせるようにすることも忘れずに。

845 名前:デフォルトの名無しさん :03/08/14 18:36
>>842
シェーダ使わないで実装しようとしているなら、やめた方がいいかも。
テクスチャトランスフォームの仕様が明確でないせいで、HALとTnLHALで
(ドライバによって)別の行列を使わないといけなかったり。

846 名前:デフォルトの名無しさん :03/08/14 19:21
レスありがとうございます。

どうも勘違いしていたようで、
テクスチャの投影自体は、以下の方法でできました。

D3DMATRIX lightView; //ライトビュー
D3DMATRIX lightProj; //ライトプロジェクション

D3DMATRIX texScale; //x *= 0.5f; y *= -0.5f;
D3DMATRIX texMove; //x += 0.5f; y += 0.5f;
D3DMATRIX InvView; //メインビューの逆行列


D3DMATRIX matrix = InvView * lightView * lightProj * texScale * texMove;

SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS,
D3DTTFF_COUNT3 | D3DTTFF_PROJECTED );

SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACEPOSITION);

SetTransform(D3DTS_TEXTURE0, &matrix);

>>845
トランスフォームに違いがあるんでしょうか?
Geforce2では可能でしたが・・・。

847 名前:デフォルトの名無しさん :03/08/15 02:00
>>846
全ての環境で動くように作るのが無理ってだけで、特定のチップで動くよう
に作るのは可能。

848 名前:デフォルトの名無しさん :03/08/15 03:05
んなこといったら昔のVGAなんか3Dすらいけないわけだし。
どっかで見切りをつけるしかないよ。

849 名前:デフォルトの名無しさん :03/08/15 04:41
とりあえずVooDooはもう切ってええよ。

850 名前:デフォルトの名無しさん :03/08/15 10:02
今、無理をしてでも動作環境に入れるかどうかというと
チップセット内蔵グラフィックかなぁ

851 名前:デフォルトの名無しさん :03/08/15 12:11
age

852 名前:デフォルトの名無しさん :03/08/15 13:04
WinXP、VisualC++を使っています。

工学社のDirectX9実践プログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4875934610/qid=1060918749/sr=1-1/ref=sr_1_2_1/250-0559328-1750651
に添付のCD-ROMからDX9をインストールし、DirectXGraphicsのサンプルをビルドして
実行したところ、フルスクリーンでは画面が一瞬だけ表示されて落ちる。ウィンドウモードで
はフリーズします。
デバッグしてみたところ、ID3DXSprite::Beginを実行しているところで、
「ハンドルされていない例外はDXGSample01.exeにあります:0xC0000005: Access Violation。」
とメッセージボックスが表示されました。

サンプルには何も手を加えていません。どうか解決策をご指南下さい。

853 名前:デフォルトの名無しさん :03/08/15 14:23
>>852
自分のとこでは大丈夫なんだけど。
とりあえずWindowsUpdateしてみるとか・・・。

854 名前:山崎 渉 :03/08/15 15:13
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

855 名前:デフォルトの名無しさん :03/08/15 16:23
>>852
nullポインタにアクセスしているんだろうから、
デバッガのヲチウィンドウでチェックしてみれ。

856 名前:デフォルトの名無しさん :03/08/15 16:26
ぬるぽちぇけら

857 名前:852 :03/08/15 17:20
VisualC++6.0上の「実行」でプログラムを走らせるとスプライトが確保できているんですが、
普通に走らせると確かにスプライトのインターフェースがnullポインタになっていました。
どうしてVisualC++上でだけ正常に動作して、普通に動作しないんでしょう?

ビルド後のプログラムをアップしてみました。
http://lignel-hp.hp.infoseek.co.jp/DXGSample01.exe

858 名前:デフォルトの名無しさん :03/08/15 17:52
>>857
俺の環境でもnullポインタ参照を確認した。
ただexeファイルをアップされても、これくらいしか言えん。

つーか、ウイルスチェックの手間を考えると
俺みたいな暇人じゃないと、実行すらしてもらえんぞ。

859 名前:852 :03/08/15 18:01
ごめんなさい。
http://lignel-hp.hp.infoseek.co.jp/Sample1.lzh
がプロジェクト本体です。

860 名前:デフォルトの名無しさん :03/08/15 18:05
>>859
ああ、すまん言い過ぎた。
ソースのアップは著作権関連でヤバそうだから消すべし。

どうやらテクスチャの読み込みに激しく失敗してるようだ。
>DXGSample01.cpp(165): InitDXGraphics D3DXCreateTextureFromFile (hr=D3DXERR_INVALIDDATA (0x88760b59))

861 名前:852 :03/08/15 18:09
>>852
ありがとうございます。

ですが、VisualC++上に限り正常に動作するのはどうしてなんでしょう?

862 名前:デフォルトの名無しさん :03/08/15 18:11
>>861
テクスチャファイルはどこに置いてる?

863 名前:852 :03/08/15 18:12
>>855
すみません。自己解決しました。
ビルド後のフォルダにテクスチャ用のファイルを入れていないのが原因でした。

ありがとうございました。


864 名前:デフォルトの名無しさん :03/08/15 18:20
教訓:エラーのハンドリングはしっかりしましょう。

しかし、デバッグビルドだと結構詳細なシンボル情報が残ってるもんだね。

865 名前:デフォルトの名無しさん :03/08/15 19:14
>>850
現在メインのチップセット内蔵グラフィックボードは何でしょうか?


866 名前:デフォルトの名無しさん :03/08/15 21:05
>>865
チップセット内蔵グラフィックボード????????????????????????????????????????????????

867 名前:デフォルトの名無しさん :03/08/15 21:33
>>866
きっとマザーボードのことだよ

868 名前:デフォルトの名無しさん :03/08/15 21:58
何故に消えそうなの?あげ

869 名前:デフォルトの名無しさん :03/08/15 21:59
危なかった・・・。

870 名前:デフォルトの名無しさん :03/08/15 23:20
アニメーションとスキニングってあんまり関係ないのに
どうして同列扱いで解説しやがるんだろうな。チンコ!ヽ(・∀・)、
おかげでソースが汚くなったじゃないか・・・。
スキニングあるなしでシェーダ分けるのって馬鹿らしいな(DirectX8)
てか、最近、この辺どうなってんのよ。
DirectX9になってからましになった?

871 名前:デフォルトの名無しさん :03/08/15 23:33
みんなどこいっちゃったの?
だれもいないし・・・。

872 名前:デフォルトの名無しさん :03/08/15 23:37
>>871
ヲタの祭典、コミケだと思われ(w

873 名前:デフォルトの名無しさん :03/08/15 23:48
燃料が投下されたようで。

つーか質問ないと成り立たないスレだからなあここ

874 名前:デフォルトの名無しさん :03/08/16 00:09
>>872
え?そうなの?
3Dな人たちもあそこにいってるのかなぁ?

>>873
暇ならなんか質問してみてよ。
難しいのは答えられないけど。(なんじゃそりゃ)

875 名前:デフォルトの名無しさん :03/08/16 03:14
くそー・・・
みんないないよー・・・
おかーーーーーちゃーーーーーん!

876 名前:デフォルトの名無しさん :03/08/16 04:29
質問キボンヌ

877 名前:デフォルトの名無しさん :03/08/16 07:11
アニメーションやスキニングに関する情報が欲しくなるときは、
たいていどちらにも興味があるからだろう。

まず実装方法が来る>>870はライブラリオタ。アプリ作ってますか?

だいたいシェーダなんて、ライトの数その他の条件で分けていったら
数百個行くのなんてあたりまえだろ。管理がうざいってのはみんな思ってる。


878 名前:デフォルトの名無しさん :03/08/16 07:20
>>877
じゃあ、やっぱり組むしかないんだ?

おかーーーーちゃーーーーーーん!

879 名前:>>2ちゃんねらーの皆さん :03/08/16 07:29
2ちゃんねらーなどの間で、人気のある御尊像が有ります。
これらの御尊像を手に入れて、金運向上等を祈願しましょう。(爆)
http://www.butsuzou.com/jiten/sanmen.html
http://www.butsuzou.com/list1/sanmen2.html
http://www.butsuzou.com/list1/sanmen3.html
http://www.butsuzou.com/keitai/sanmen-kz.html

880 名前:デフォルトの名無しさん :03/08/16 09:00
盆だからだろ、オタといっしょにすんな

881 名前:デフォルトの名無しさん :03/08/16 12:24
>>880
同意
どこいってもコミケのせいにしてる「自分はヲタじゃない!」って感じのがいる

そこまで影響ねぇだろ!  …ないよね?

882 名前:デフォルトの名無しさん :03/08/16 14:18
>>881
ないかな?

883 名前:デフォルトの名無しさん :03/08/16 15:18
質問キボンニュ

884 名前:デフォルトの名無しさん :03/08/16 16:25
そんなにほしけりゃくれてやる。

689 名前:デフォルトの名無しさん 投稿日:03/08/14 06:41
   C++って、Cより++(チョメチョメ)な分エロいんですか?
   どんなプレイのことをC++(シーチョメチョメ)って呼ぶんですか?
   それと昔、棒ランド(某ランド?)っていうヤバい会社もC++してたんですか?
   MSのはVisual的にスゴいのか・・・(;´Д`)ハァハァ

885 名前:デフォルトの名無しさん :03/08/16 17:59
0点

886 名前:デフォルトの名無しさん :03/08/16 18:33
質問お願いします。DX9でアニメーションも簡単になって
ムヒョヒョヒョとしてたのですが、いざ使おうと思ったら色々悩みが・・・・。

例えば素手の人に、銃を持たせるにはどうしたらいいかさっぱりでして。
手の子フレームとして、銃付ければいいや、なんて簡単に考えていたのですが、
モーション付けツールとかとの兼ね合いで面倒になってしまいまする。

上手い方はどうやっているのでしょうか。
いっそ銃持つ人と、素手の人を、別モデルとして扱おうかなどと
考えているのですが、やはりメモリの無駄かな・・・・。

887 名前:デフォルトの名無しさん :03/08/16 19:07
>>886
どう面倒になってしまうのでしょうか?
めり込むのがどうとかなら多少のポリ割れには目をつぶってみてはどうでしょうか?
指の動きがどうとかなら手首ごと切り取ってみてはどうでしょうか?
銃に限らず道具をもっているときと素手のときとを同じアニメーションで
すまそうとか考えてるデザイナがうザイなら
「あまえんじゃねー!それでプロのつもりかゴラァ!」
とかしばいてみてはどうでしょうか?

・・・なんか私では解決できそうにないですね。
だれか助けてage

888 名前:886 :03/08/16 19:40
おつき合いありがとうございます。すいません、ちゃちな質問を・・・・。

ええっと、今現在、私に出来るのが、一番簡単なモーションデータ付き
Xファイルを出力したり、それを再生する事だけなんです。フレーム階層があって、
それと一対一のアニメーションフレーム階層が、工夫も無くくっついてる様な。

例えるなら・・・
・人のモデルと、そのアニメーションデータ
・銃を持った人のモデルと、そのアニメーションデータ
(人は共通)

このままなら、モーション作る人も私も分かりやすくて幸せなのですが、
実際にはたぶん、下記のデータはバラバラに扱った方が良さそうでして。
・銃のモデル
・人のモデル
・銃を持った人のアニメーションデータ
・素手の人のアニメーションデータ

しかしバラバラに扱い、プログラム側でケース別に対応するのも面d・・・・骨ですし、
モーション作る人も介入しづらいですしで・・・悩んでます。
なんかこう、明快なやり方でもあれば是非。

889 名前:886 :03/08/16 19:43
ぐぁっ、なんか>>887さんへのレスになってない。
すいません、887さんの内容くらい、高度な悩みなら良かったのですが

・・・・恥ずかしい

890 名前:887 :03/08/16 20:09
>>888
人に銃を持たせるだけのような気がするのですけど。
そうでもないのでしょうか?

うーんと、つまりアレですか?
手の階層がどれかわからない、もしくは、
手の階層がどうにもとりにくい構造になっちゃったということですか?
Xファイルを読み込んだときに各階層の名前も保存しておいて
モデルの階層構造に対して名前で検索をかけて
「手の階層をとってくる」とか出来るようにしておけばいいのではないでしょうか?

それともそういう話ではなにのでしょうか?

891 名前:887 :03/08/16 20:24
>>888
質問の意味がなんとなくわかったっぽいです。

1つのモデルに対して複数のアニメーションをつけるには
どうしましょうか?

ってことですね。
てっとりばやくやるには
00-10フレームまでは  歩き、
10-20フレームまでは  走り、
20-40フレームまでは  殴り、
40-53フレームまでは  立ち。
とかやると現在の構造を変えずにアニメーションができます。
でも、このやり方って最悪ですね。
上の例で開発中に途中で
走りアニメーションのフレーム数を変えたい。とかなったら
どうするんでしょうね。

Xファイルで複数のアニメーションを
扱うにはどうすればいいかって結構悩みますね。
モデリングツールでAnimationSetを複数吐き出してくれる
ならそれで解決する感じがするようなしないような気がしますね。

それともそういう話でもないですか?

892 名前:887 :03/08/16 20:32
>>でも、このやり方って最悪ですね。
あ、訂正。
フレームの長さとアニメーションの並び順で管理すれば結構使えますね。

893 名前:デフォルトの名無しさん :03/08/16 20:35
モーションを作る手間の問題なら、CharactorStudio辺りを使えば簡単に出来るけど

894 名前:デフォルトの名無しさん :03/08/16 21:03
>>893
http://www.oakcorp.net/max/cs.shtml
↑こんなの3dsmaxとセットで買えないよー。
Maya考えちゃうな。

895 名前:886 :03/08/16 21:24
>>890-892
ぐぁぁぁ、大した質問用意できなかったのに、教授の時間取らせてしまった
時の状況みたいだ・・・・に、逃げ出したい!すいません、本当に。

一つのモデルに複数のアニメーションは、なんとかできていて・・・説明不足で申し訳ないです。
>>891での通りAnimationSetを複数、Xファイルに加えています(でも時間フレームで管理の方が便利そうですね)。

ただそのモデルに、もう一つ二つモデルを、くっつけたい時の扱いが・・・・。
デザイナー(そんな大それたものじゃないですが)側は、どこのモデルが
共通とか考えず、別Xファイルとして、ひょいひょいデータを送ってくる状況なんです。

でもそうか・・・こっちで差分取って、まとめるしかないのかな・・・・できるかな・・・・。
D3DXLoad〜系でお手軽にやってるものですから、>>890で指摘頂いた
辺りが面倒で、つい他の方法や、データ側でどうにか出来ないかと甘えてしまいました。

対話型デバッグじゃないですが、なんだかスッキリしてきました。
親身なレス、本当にありがとうございました。

>>893
どうもです!今は無理ですが、いつかの励みにしたいと思います。

896 名前:デフォルトの名無しさん :03/08/16 21:34
∩゚∀゚∩<それでは次の質問キボンヌ。

897 名前:デフォルトの名無しさん :03/08/16 21:51
>>895
市販品でもその辺できてないのあるし、最初は気にせんでもええと思うよ
何やるにしろ、いつでも剣持ったままのゲームとかあったやろ、あれだ

898 名前:デフォルトの名無しさん :03/08/16 22:56
複数のアニメーションセットを持たせていたほうが実は好都合みたいなことない?
DX9だとモーションブレンドが出来るし

899 名前:デフォルトの名無しさん :03/08/16 23:06
>>898
そりゃもちろんそうでしょう。
それが本当の使い方でしょうし。

900 名前:デフォルトの名無しさん :03/08/16 23:29
色々考えると確かに管理が面倒だな
クラス固定のRPGって実はごまかしなんだろうか
使用武器固定みたいな

901 名前:デフォルトの名無しさん :03/08/16 23:48
最初から手に子フレームを持たせて、武器を持たせておけば?
武器を構えていないときは、そのフレームを表示しない。


後から持たせるより、最初から持っているものを表示しない方が
ラクだと思う。

902 名前:デフォルトの名無しさん :03/08/17 00:00
素手で殴るのと剣で切る付けるモーションは全く別な動きをするわけですが、
つまり特定のフレームを消すだけでは意味がありません。

903 名前:デフォルトの名無しさん :03/08/17 00:01
DirectX9について質問なんですが
今まで見てきたwebサイトでは書いていなかったんですが、先ほど見たwebサイトに

CoInitialize(NULL);
を関数のはじめのほうに呼び出してCOMインターフェースを初期化し、

CoUninitialize();
を関数の終わりに呼び出してインターフェースを閉じる作業をさせていました。

DirectX9を使っていく上で、これらの作業は必要なんでしょうか?

904 名前:>>2ちゃんねらーの皆さん :03/08/17 00:02
2ちゃんねらーなどの間で、人気のある寺院が有ります。
これらの寺院にて諸願成就を祈願しましょう。(爆)

(1-4件目)  http://www.z-shoten.or.jp/
http://www.tctv.ne.jp/matuti/
http://www5b.biglobe.ne.jp/~ryumyoin/
http://www1.ocn.ne.jp/~tatsueji/
(5件目)
寺院名    吉祥山唐泉寺
通称     江戸川不動尊
所属宗派  真言宗泉涌寺派
住所     〒133−0051
        東京都江戸川区北小岩七丁目10−10
        京成電鉄の小岩駅から徒歩約15分
        (JR線の小岩駅は、
        京成電鉄の小岩駅とはもの凄く離れているので不可。)
電話番号  03−3658−4192
住職     高田正圓
        (女住職で、先代住職(高田真快)の奥さんであった模様。) 
本尊     不動明王
祈祷日及び祈祷時刻
        通常は毎日午前6時より(150分前後かかる模様)
        行われるが、毎月28日には(不動明王縁日として)
        午前11時にも(2時間ほどかかる模様)行われる。
祈祷料
(普通護摩)   3000円 5000円 10000円
(特別護摩)   30000円(21日間) 100000円(108日間)
          300000円(365日間)


905 名前:デフォルトの名無しさん :03/08/17 00:03
>902
モーションは当然、武器の有る無し別に用意する。
当たり前の話だと思うけど?

906 名前:デフォルトの名無しさん :03/08/17 00:04
>>902
それは殴るアニメーションを件所持のときに適用したりしなければすむことでは?
>>901のはフレーム階層構造を一定に維持しようってことでしょ。

907 名前:デフォルトの名無しさん :03/08/17 00:05
>>903
ここで必要かどうかを答えることは出来ますが、
まずCOMについて勉強されることをお勧めします。
その上でCoInitializeがどうして必要なのか、
誰が呼び出すべきなのかを考えてください。

908 名前:デフォルトの名無しさん :03/08/17 00:06
>>903
DirectMusicなどでは必要

909 名前:デフォルトの名無しさん :03/08/17 00:06
>>902
同じモーション使うって前提の方がおかしいぞ。
モーションはもちろん別でしょ。

それより他の武器を持たせたい時困りそうだ>フレーム消しで対応

910 名前:デフォルトの名無しさん :03/08/17 00:09
>>903
その質問が実行スパンのことであるなら、
関数単位で呼び出すことは無い。
アプリケーション単位でよい。

その質問が呼び出しの必要性であるなら、
CoCreateInstanceを使うDirectShowでは必須。
Direct3DCreate9でDirect3Dを作成する場合は不要。
ドキュメント冒頭の「COMの使い方」を読め。


911 名前:デフォルトの名無しさん :03/08/17 00:09
リロードしよ…

912 名前:デフォルトの名無しさん :03/08/17 00:16
>>909
複数の武器を兄弟フレームで持たせて、必要なものだけ表示するようにすればいい。
キャラクターが使う可能性がある武器を、全てモデリング段階で決定して置く
必要があるけど、普通は決まってるよね。

913 名前:909=911 :03/08/17 00:34
>>912
なるほどねー
後は使う武器と、それ用のモーション名とを、関連づければ一丁あがりか

914 名前:デフォルトの名無しさん :03/08/17 01:02
>>907
>>908
>>912
勉強になりました。
ありがとうです

915 名前:デフォルトの名無しさん :03/08/17 03:38
まあ要は
Direct3DCreateみたいなヘルパー関数に頼っていると
CoInitializeを使わなくて良いわけです。やってくれるから。
普通にCoCreateInstance使うとD3DでもCoInitializeやらなきゃならん

916 名前:デフォルトの名無しさん :03/08/17 10:07
>>912
でもそれって使わない頂点とかモーションとかテクスチャとかも
全部読んどく必要があるんじゃね?
(データが気にならないほど小さいときは別にいいけど)
やっぱりちょっとした部品のカスタム機能ぐらいはつけても
バチはあたらないようなそのほうがいいような。どうよ?


917 名前:デフォルトの名無しさん :03/08/17 23:11
DirectX8で、テクスチャーのカラーキー以外の部分を白く塗りつぶす
簡単な方法とかって何かありますか?

918 名前:デフォルトの名無しさん :03/08/17 23:42
>>917
カラーキー消えたじゃん。
時代は変わったんだよ。
消えたものわざわざ使うと面倒だよ。
ちょっと情報を集めるにもなかなか知っている人がいない。
これからつまづくたびにたくさん走り回って調べなきゃいけない。

919 名前:デフォルトの名無しさん :03/08/17 23:58
>>917
カラーキーなんて画像に固有のものなんだから、
テクスチャ読み込んだ後にLockしてアルファチャネルを設定すればいいじゃん。

920 名前:917 :03/08/18 00:33
>>919
すいません、アルファチャネルをどのように設定すれば白に出来るのでしょうか?

921 名前:デフォルトの名無しさん :03/08/18 00:38
>>920
いや、アルファはカラーキーの代わりに設定するだけ。

あなたがやりたいことは2Dアクションとかで
キャラが白く光るような効果でしょ?
それなら、テクスチャステージで、テクスチャ色ではなく
白に設定したディフューズ色とかを選択すればいい。

922 名前:917 :03/08/18 00:57
>>921

> あなたがやりたいことは2Dアクションとかで
> キャラが白く光るような効果でしょ?

その通りです。

> それなら、テクスチャステージで、テクスチャ色ではなく
> 白に設定したディフューズ色とかを選択すればいい。

僕はSpriteというやつを使って描画をやってるので
テクスチャステージとかディフューズ色というのが
よく解らないんですけど、もしかするとSpriteだと出来ないんでしょうか?

923 名前:デフォルトの名無しさん :03/08/18 02:10
スペキュラに0xffffffffをいれればいいだけ。


924 名前:デフォルトの名無しさん :03/08/18 02:18
と思ったらID3DXSpriteにはスペキュラないのか。使ったことないので知らんかった。
まあスプライト程度、自分で作ればいいってこった。



925 名前:デフォルトの名無しさん :03/08/18 05:43
テクスチャステージ適当に設定すればできるんでねーの?
MODULATE2X使って光度2倍にしてやるとかかな。
D3DXSPRITEは使ったことがないからどういう結果になるかは知らん。
スペキュラなんかスプライトに使う必要なし。

926 名前:デフォルトの名無しさん :03/08/18 08:48
3Dゲームで地上と海を作っているのですが、
海の良い表現方法無いでしょうか?
ちなみに、現在は一枚の板を半透明で出してるだけ。
海岸にうち寄せる波辺りを表現したい・・・。

927 名前:デフォルトの名無しさん :03/08/18 09:07
FF11では(もう1年前の出来事なのですっかり忘れたので記憶が曖昧だが)
海そのものと、打ち寄せる波の2種類に分けてたように見えました。
波はテクスチャを張った板を動かすという感じだったような。
ただ、あまりにもソレが分かってしまう感じで、なかなか萎えれました。

928 名前:デフォルトの名無しさん :03/08/18 12:45
EQは1枚の板が上下してるだけだった

929 名前:デフォルトの名無しさん :03/08/18 13:24
水面近似は楽なんだけどねぇ。
波打ち際の波しぶきはやっぱテクスチャ貼るしかないんだろうか。

930 名前:デフォルトの名無しさん :03/08/18 14:39
DX9のID3DXAnimationControllerについてです。
こいつにはイベントというのがあるようなのですが
どういう機能なんでしょうか?

具体的に言うと、アニメーションコントローラーに割り当てた
アニメーションセットの再生が終了したときに通知を受けたいわけです。
自前でやっても全然構わないのですが、トラック毎の再生速度も
変更できるようなので、ちょっと面倒ですよね。
そこで、イベントを使えばいけるんじゃないかと。

でもヘルプのID3DXAnimationControllerに関する部分では
「GetMaxNumEvents コントローラでサポート可能なイベントの最大数を取得する。 」
としか書いてなくて、イベントとは何なのか、イベントを割り当てるにはどうすれば
いいのか、などの情報を見つけることが出来ませんでした。

931 名前:デフォルトの名無しさん :03/08/18 21:57
>>930
ID3DXAnimationControllerは別スレッドで動いてるわけじゃないので
イベントは同期オブジェクトではないと思われます。

932 名前:デフォルトの名無しさん :03/08/19 05:09
>>929
波しぶきをテクスチャで貼るとして、
海岸線の抽出や波の向きはどういう処理で可能でしょうか?

単純に上下するだけでも、
変化のあった岸の部分だけ透明度をあげて描画できない物かな・・・。




933 名前:デフォルトの名無しさん :03/08/19 05:30
>>932
海岸線は、普通に高さと水面の交線を求めればいいかな…

透明度を上げて描画、ってのは、深さによる濁りみたいなもん?
それならそのまんま深さからα値へ変換すればよさげ。

しかしリアルな波しぶきの表現の画像とかあったら見てみたいもんだなあ

934 名前:デフォルトの名無しさん :03/08/19 06:41
まぁ波の表現は2Dでもまだまだな分野だから
素人があんまり頑張りすぎない方が良いと思うよ
自分なりのアイデアがあるならまだしも
ここで聞いて回ってるようなレベルでは、ね

単なる嫌味にしか聞こえないかもしれんが妥協は大事だ

935 名前:デフォルトの名無しさん :03/08/19 06:49
同感。FF11ですらあんな感じだし…

936 名前:デフォルトの名無しさん :03/08/19 10:51
3ds max + CharacterStudio 使ってます。
MSが配布しているXファイルエクスポーターは
行列キー以外のタイプで出力できないのでしょうか?

また、複数のアニメーションセットを出力することは
できないのでしょうか??

937 名前:デフォルトの名無しさん :03/08/19 12:19
DrawIndexedPrimitive(D3DPT_TRIANGLESTRIP, ...) を使って隣接してない複数の平面(4頂点)を描画できるの?
どうも全部繋がっちゃうんだけど。
それともD3DPT_TRIANGLELISTでやらないとだめなのかな。

やりたい事は敵キャラの弾を1回で描画なんだが・・・。
ちなみにDX7使ってます。

938 名前:デフォルトの名無しさん :03/08/19 13:24
Bit()で拡大コピーをすると、純粋に拡大ではなく、
角の取れた滲んだ拡大が行われてしまいます。

純粋に拡大コピーをするにはどうすればいいのでしょうか?

939 名前:デフォルトの名無しさん :03/08/19 14:08
>>938
角の取れたってのがよくわからないが純粋に拡大してくれるよ。
RECTの指定が間違ってるんでないの?それかドライバの(ry
綺麗に拡大させたいのならLockして自前で拡大処理すればよろしい。

940 名前:デフォルトの名無しさん :03/08/19 15:23
>>930
謎が多い・・・。
では、ID3DXAnimationControllerに関して、もうひとつ質問いってみようか!!!

これから、ID3DXAnimationSetを取り出して、どこかのID3DXInterpolatorを
取り出します。
LPD3DXKEYFRAMEINTERPOLATOR pd3dInterpolator=NULL;
pd3dAnimationSet->GetInterpolatorByIndex(i, (LPD3DXINTERPOLATOR*)&pd3dInterpolator);

インターポレータから回転のキーをとりだします。
UINT numRotations=m_pd3dInterpolator->GetNumRotationKeys();
D3DXKEY_QUATERNION* pRotationKeys=new D3DXKEY_QUATERNION[numRotations];
pd3dInterpolator->GetRotationKeys(pRotationKeys);

このとき、キーが存在する時間の回転を補間によって取り出してみたときに、
DOUBLE time=pRotationKeys[0].Time / pd3dInterpolator->GetSourceTickPerSecond();
pd3dInterpolator->GetSRT(time, pScale, pRotation, pTranslation);

キーで表されている回転 pRotationKeys[0].Value と
補間で得られる回転 *pRotation が違うのです。
どう違うのかというと、pRotationKeys[0].Value は *pRotation の逆元なのです。
このふたつは等しいはずだと思うんですが・・・。これはなぜなんでしょうか?

941 名前:デフォルトの名無しさん :03/08/19 20:56
>>937
012, 345
が頂点の三角形なら

012, 23, 345
の順にindex化すると
見えない三角形ができてストリップを繋げられる。

四角形なら
0123, 334, 4567

でも、Listで描くよりかえって遅くなるけど・・・。

942 名前:デフォルトの名無しさん :03/08/19 21:43
>>941
あーほんと出来るけど遅くなる。
スプライトの高速化ってみんなどーやってんだろ。

943 名前:デフォルトの名無しさん :03/08/19 22:07
>>942
上の連結も頂点が5つ以上なら多少意味があるのかも・・・。

結局、Listをindexで描画して、
後はできるだけDrawPrimitive回数を減らすくらいしか無いのでは。
(Stateやテクスチャが同じ物をまとめて描画する)

VertexBufferに積んでも
座標がスプライト毎に変わるから余り意味無いし。

944 名前:デフォルトの名無しさん :03/08/19 22:38
これからDirectXをつかって2Dアプリを作りたんですけど、
バージョンはいくつを使ってはじめるのがお勧め?
OSはXPです。

945 名前:デフォルトの名無しさん :03/08/19 23:04
たのむからDX9を使ってくれ

946 名前:デフォルトの名無しさん :03/08/19 23:11
>>944
DX9 の Managed DirectXでDirectDrawを使う

947 名前:デフォルトの名無しさん :03/08/19 23:59
今でもDirectX7使ってる奇人って、なんでいるの?

948 名前:デフォルトの名無しさん :03/08/20 00:40
ユーザ環境に合わせるならDX7になるだろうねえ。

949 名前:デフォルトの名無しさん :03/08/20 01:24
DirectXのREFって何の為に存在するの?
どうせREFで動かしてもまともな速度にならないのに。
設計当時はCPUで何とかなるレベルだと思ってたの?

950 名前:デフォルトの名無しさん :03/08/20 01:44
9.0bと9.0aってセキュリティ以外では何が変わったんだ?

951 名前:デフォルトの名無しさん :03/08/20 02:15
>>949
ハードウェアが怪しい動作をしているかどうかのチェックが出来るんじゃない?
ソフトウェアレンダラは必ず正しい結果でレンダリングできるから

952 名前:デフォルトの名無しさん :03/08/20 02:22
>>942
敵弾くらい小さいものなら
三角形の内接円みたいに敵弾テクスチャを描いて
ポリゴン1枚で済ませるとか。

>>944
個人でやるならDX9にシフトしといたほうが良いと思う。

>>949
その名の通りreference用かと。
比較検証用。

953 名前:デフォルトの名無しさん :03/08/20 02:35
>三角形の内接円
ポリゴン数は半減するけど、フィルレートはどんなもんだろ?

954 名前:デフォルトの名無しさん :03/08/20 07:35
ポリ数ってあんまり常識はずれな数を使わなければ、
あんまり関係無くない?(PCだと)
どっちかっていうとフィルレートの方が問題になる場合多くない?
そんなことない?


955 名前:952 :03/08/20 07:50
あー、確かにフィルレートの影響をより大きく受けるかも。
あんまり深く考えてなかった。

956 名前:_ :03/08/20 08:04
http://homepage.mac.com/yamazaki8

957 名前:_ :03/08/20 08:10
http://homepage.mac.com/yamazaki8/hankaku10.html

958 名前:デフォルトの名無しさん :03/08/20 08:56
フィルレート稼ぐ方法はあるんですか?
画面全体を塗りつぶすだけで結構処理くってるのですが・・・。

959 名前:デフォルトの名無しさん :03/08/20 09:11
>>958
できるだけ前から描画するくらいがプログラマにできることでしょう。


960 名前:デフォルトの名無しさん :03/08/20 10:09
>>959
…他の処理は済んでる前提だよな?
…フィルレート稼ぐなんてプログラマ以外は出来ないと思うけど…

961 名前:デフォルトの名無しさん :03/08/20 10:39
で、どうやってフィルレートを稼ぐんだ?
良いビデオカードに買い換えるってのは無しの方向で。

962 名前:デフォルトの名無しさん :03/08/20 12:44
敵弾みたいのだと、
αテストで完全透明部分を回避、
くらいしかできんからなあ。

963 名前:デフォルトの名無しさん :03/08/20 13:48
>>960がフィルレートを稼ぐプログラマならではの方法を知ってそうなので教えろ。

964 名前:938 :03/08/20 15:41
すいません、言葉足らずでした。
Bltで拡大コピーと行うと、アンチエイリアシングが行われるのですね、
StretchBltではアンチエイリアシングは行われないんです。
BltでStretchBltのようにアンチエイリアシングされないBitのやりかたを
知りたいんです。
Lockしたり、StretchBltすれば同じ結果を得られるとは思うのですが、
出来ればDirectXの機能で行いたいのですよ。

よろしくおねがいします。

965 名前:デフォルトの名無しさん :03/08/20 15:50
>>964
アンチエイリアシングじゃなくてバイリニアフィルタリング。
ドライバ側の設定を変えなくちゃいけないんだろうが
DirectDrawはもはや失われたに等しいので詳しくは分からない。
Direct3Dに乗り換えてください。

966 名前:デフォルトの名無しさん :03/08/20 18:53
DX9のキモ!
ID3DXAnimationControllerの人柱報告、激しくキボンヌ(切実)

967 名前:デフォルトの名無しさん :03/08/20 18:58
DX9のキモはHLSL、PS2だろという突っ込みは無しですか?

968 名前:デフォルトの名無しさん :03/08/20 20:02
PS2ってなに?

969 名前:968 :03/08/20 20:03
あ、PSはピクセルシェーダーか。プレステかと思った。
死んできます。

970 名前:デフォルトの名無しさん :03/08/20 20:38
PS/2
とかいってみる

971 名前:デフォルトの名無しさん :03/08/20 20:39
>>970
>>970

972 名前:デフォルトの名無しさん :03/08/20 21:01
HLSLって何?

973 名前:デフォルトの名無しさん :03/08/20 21:12
>>972
はいな!直リン!
http://monsho.hp.infoseek.co.jp/dx/dx54.html
http://if.dynsite.net/t-pot/program/72_HLSL/index.html

974 名前:デフォルトの名無しさん :03/08/20 21:24
もうそろそろ、次スレへの移行を時期ですかね?

975 名前:デフォルトの名無しさん :03/08/20 21:49
>>974
( ・∀・)もうそんな時期ですか・・・

976 名前: ◆Manna2uCLg :03/08/21 07:49
んじゃ、そっくら立ててきますわ。

977 名前: ◆Manna2uCLg :03/08/21 08:08
次!

鬱だ氏のう DirectX (Part 10)
http://pc2.2ch.net/test/read.cgi/tech/1061420660/


978 名前:デフォルトの名無しさん :03/08/21 08:09
>- 宇治社中改(3D基礎講座)
>http://www.cc.rim.or.jp/~devilman/
どうにかして見られないものか

979 名前:デフォルトの名無しさん :03/08/21 08:20
>>978
そーいうときはコレを使うとやっぱり見つかったりするらしい。
http://web.archive.org/web/20020607052151/http://www.cc.rim.or.jp/~devilman/

980 名前:デフォルトの名無しさん :03/08/21 19:44
1000取り合戦♪

981 名前:デフォルトの名無しさん :03/08/21 20:47
早く取らせろ

982 名前:デフォルトの名無しさん :03/08/22 11:13
ム板、マ板の人間はそーいう子供っぽいことはあまりやらないわけだが

983 名前:デフォルトの名無しさん :03/08/22 12:03
1000取らないとなかなか落ちずに邪魔なんだよ
速く汁!!

984 名前:デフォルトの名無しさん :03/08/22 12:46
おまえがしつこく書き込むと余計に落ちにくくなるわけだが。
そんなに埋めたきゃ一人でやれよ。

985 名前:デフォルトの名無しさん :03/08/22 15:05


986 名前:デフォルトの名無しさん :03/08/22 16:17
US 全言語のページからdirectxを検索しました。 約533,000件中1 - 10件目 ・検索にかかった時間0.18秒
GE 全言語のページからdirectxを検索しました。 約105,000件中1 - 10件目 ・検索にかかった時間0.19秒
FR 全言語のページからdirectxを検索しました。 約73,500件中1 - 10件目 ・検索にかかった時間0.25秒
JP 全言語のページからdirectxを検索しました。 約66,200件中1 - 10件目 ・検索にかかった時間0.19秒
RU 全言語のページからdirectxを検索しました。 約64,200件中1 - 10件目 ・検索にかかった時間0.31秒
CH 全言語のページからdirectxを検索しました。 約61,500件中1 - 10件目 ・検索にかかった時間0.13秒
UK 全言語のページからdirectxを検索しました。 約17,400件中1 - 10件目 ・検索にかかった時間0.34秒

日本まだまだだな

987 名前:デフォルトの名無しさん :03/08/23 06:22
まあ、おまいらがどんなにがんばっても
1000をとるのは俺なんだが。

988 名前:デフォルトの名無しさん :03/08/23 23:22
まあ、おまえ1000をとられては困るわけだが

989 名前:デフォルトの名無しさん :03/08/23 23:58
といいつつ全然埋まらない

990 名前:デフォルトの名無しさん :03/08/24 09:10
では僭越ながら、わたくしめが1000Getさせていただきます。

              1 0 0 0 !

991 名前:デフォルトの名無しさん :03/08/24 19:08
991

992 名前:デフォルトの名無しさん :03/08/24 19:34
あんまり連続で書き込むと嵐と間違われるからな。

993 名前:デフォルトの名無しさん :03/08/24 20:07


994 名前:デフォルトの名無しさん :03/08/24 20:18
>>992
過去スレ上げるだけで充分荒らしだが?

995 名前:デフォルトの名無しさん :03/08/24 20:32
ウザイから埋めるよ

996 名前:デフォルトの名無しさん :03/08/24 20:33
BCSって某ではじめてまともにDirectX使える製品だよね

997 名前:デフォルトの名無しさん :03/08/24 20:34
DirectX使った.NETアプリって他機種で動く可能性あんの?

998 名前:デフォルトの名無しさん :03/08/24 20:35
次スレ

鬱だ氏のう DirectX (Part 10)
http://pc2.2ch.net/test/read.cgi/tech/1061420660/

999 名前:デフォルトの名無しさん :03/08/24 20:41
DirectMusic以外ならBCBでどうにかなるが

1000 名前:デフォルトの名無しさん :03/08/24 20:46

  本 当 の 主 役 は

   あ な た で す 
 


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.