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


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

【C++】 DirectX初心者質問スレ Part4【C++】
751 名前:デフォルトの名無しさん :2005/07/07(木) 00:44:39
>>750
何度も何度もありがとうございます。。
早速学校でやってみたいと思います!

752 名前:デフォルトの名無しさん :2005/07/07(木) 01:36:28
Xfileで定義されているモデルの
面が右回りなのか左回りなのか
わかる方法は何かありませんか?
ググってみたら遠くからレイを飛ばして
交差回数を数えるという方法でわかるみたいですが
みなさんこれをやっているんですか?

753 名前:デフォルトの名無しさん :2005/07/07(木) 02:10:53
ない。と思います。
分からない場合、別の方法で衝突判定してます。
(衝突判定で困ってるかどうかは分かりませんが)

754 名前:デフォルトの名無しさん :2005/07/07(木) 18:06:38
質問です。
申し訳ないのですが、アゲさせてもらいます。
前にDirectX8のDirectAudioでWAVE-RIFF形式のMP3を再生しようとした時、
ごく一部の環境で再生出来ないと報告を受けた事がありました。
原因は、何らかの要因でWindowsに最初から入っているはずのFraunhoferのMP3 Codecがおかしくなってたからなのですが、
DirectShowを代替手段として使えないかと思い、DirectShowで再生を試みました。
MP3 Codecを削除してDirectShowでMP3を再生した所、特に問題なく鳴ったのですが、
鳴ったは鳴ったで、「なんで鳴ったんだろう?」って不安になってしまいました。
これはDirectShow自身がMP3 Codecを内包してるからなのでしょうか?
それとも、ウチの環境が特殊なんでしょうか?
知ってる方がいらっしゃいましたら、ご教授願えればと思います。
DirectAudioとDirectShowで使用しているDirectXのバージョンはDirectX8です。
ちなみに、Codecを削除した状態でWAVE-RIFFのMP3をDirectAudioで再生したらやっぱり鳴らなかったので、
環境としては、以前、トラブル報告を受けたマシンの状態を再現出来ていると思うのですが……。

755 名前:デフォルトの名無しさん :2005/07/07(木) 18:14:48
>>754
この板はageたからといって回答もらえるわけじゃないんだよ

756 名前:デフォルトの名無しさん :2005/07/07(木) 18:18:17
DirectAudio って何?
DirectX Audio = DirectSound + DirectMusic なら知ってるけど。

757 名前:デフォルトの名無しさん :2005/07/07(木) 19:48:41
馬鹿限定の隔離方特殊技術。

758 名前:デフォルトの名無しさん :2005/07/08(金) 00:45:00
格ゲーのライフ表示みたいに、常に一番手前に表示されるようにするにはどうしたらいいのでしょう?
ちなみに頂点シェーダを使っています。
カメラのビューと射影変換なんかをオフにしたりできるのでしょうか。

759 名前:デフォルトの名無しさん :2005/07/08(金) 01:23:56
ヒント: D3DDECLUSAGE_POSITIONT

760 名前:デフォルトの名無しさん :2005/07/08(金) 01:30:24
>>758
ふふふw
最初、こんなもんもできねぇって俺ってアホ?とか思っただろ?
実は結構難しいんだなw

そもそも画面描画までの座標変換ってよ。

オブジェクト空間→モデリング変換→ワールド空間→ビュー変換
→視点空間→射影変換→クリップ空間→遠近除算→正規化デバイス空間→ビューポート・深度範囲変換→ウィンドウ空間
(書籍 The Cg Tutorial日本語版より抜粋)

こうなってて、頂点シェーダには
オブジェクト空間からクリップ空間までの変換が書いてあるわけだよ。
#ここでどの変換でどの空間に移動してるのかしっかり理解してな。

だから2次元データを頂点シェーダを使って描画するには
クリップ空間上での座標を意識しなくちゃいけないんだよ。
#あ、実際にコードくれとかいうのは無しなw面倒だからw

ヒントと参考書籍まで紹介したんだ。後は自分でなんとかしる!
基本を理解する奴は絶対に伸びる。応援してるぞ。

761 名前:デフォルトの名無しさん :2005/07/08(金) 01:32:15
稚拙な質問ですみません。
プログラム側から、インストールされているDirectXのバージョンを調べることができますか?
たとえば、ゲーム起動ログにそのPCにインストールされているDirectXのバージョンを吐き出させるような。

762 名前:760 :2005/07/08(金) 01:34:32
>>759
えーw
また、規格外のものを出す〜w
ぶっちゃけありえな〜いw
正直、パイプラインでなにやっちゃってんの?的な匂いがするぅ〜w
ストリーム0しか使えないしぃ〜w

763 名前:デフォルトの名無しさん :2005/07/08(金) 02:08:51
質問です。
クルクル回っている三角錐の物体(Xファイル)があって、0〜3のいずれかの数値を与えると、
それに対応した面がパッとこちらを向く・・・というようなことをしたいのですが、
どうすればいいのかサッパリわかりません。
どなたか考え方だけでも教えてください。お願いします。

764 名前:デフォルトの名無しさん :2005/07/08(金) 02:31:35
>>763
そらおめ、まず自分の向いている方向から対象までの角度を測って
対象の方向へ向くように角度を変えていくのが一番だべ。(ちなみに自分ってんは三角錐のことかな?)

方法は

1.姿勢行列から自分の現在の角度取得
2.自分から対象物への角度を取得
3.自分の現在の角度を対象物の方向へ近づけていく

で、できそうだな。
で、わからんのが

・自分の向いている方向をどうやって角度へ直すのか?

ってところだべ。ま、要は角度がわかりゃいいんだな。
アークタンジェントとか調べてみるといいんじゃね?atan2とかいう関数を使う。

765 名前:デフォルトの名無しさん :2005/07/08(金) 02:33:31
肝心なとこ間違えた

X・自分の向いている方向をどうやって角度へ直すのか?
○・対象物までの角度をどうやって取得するか?

766 名前:763 :2005/07/08(金) 03:20:49
>>764-765
なるほど、三角錐側から考えて
カメラの方へ向いていくというのは思いつきませんでした。

XYZ軸すべて回転させているのでちょっとややこしそうですが、
頑張ってみます。
ありがとうございます!!

767 名前:758 :2005/07/08(金) 03:36:41
>>759
これは、座標変換済み頂点の方法ですね。
>>760氏によると規格外らしいですが、どうにもならなくなったら使わせて頂きます!

>>760
これって結構難しいんですか、なるほど…。
クリップ空間を意識する必要があるわけですか。
つまり、640x480の画像を同じ大きさのウインドウに表示するとすると、
クリップ空間で(-1.0, -1.0, 0.0)〜(1.0, 1.0, 0.0)の大きさのポリゴンにテクスチャを張ればいいんですよね。
えーと、試しに実装してみたのですが、うまくいかないorz  試行錯誤してみます。

768 名前:デフォルトの名無しさん :2005/07/08(金) 04:02:53
別にxyを-1〜1、zを0に、wを1にすれば
いいんじゃねーの

769 名前:デフォルトの名無しさん :2005/07/08(金) 06:59:03
>>767
760=762がおかしいだけで、何も問題ないよ。
D3DDECLUSAGE_POSITIONTを使った場合は、ビューポート変換まで
飛ばされるので、指定するのはスクリーン座標。
x,yを(0,0)-(640,480)の範囲で指定して、z=0,w=1あたりに設定して描画するだけ。
必要に応じてD3DRS_ZENABLEやD3DRS_ZWRITEENABLEも使うと吉。

D3DDECLUSAGE_POSITIONTがよく分からなければ、FVFでXYZRHWを
指定しても一緒。

770 名前:デフォルトの名無しさん :2005/07/08(金) 08:09:07
そもそも同じカメラを使い回すという発想しかできない>>760がアホ。
ライフ表示用のカメラを作ってやれば、余計な計算などまるで必用がない。

771 名前:デフォルトの名無しさん :2005/07/08(金) 09:50:57
変換済み頂点ってさー、ハードウェア頂点処理の場合はデバイス能力に
D3DPMISCCAPS_CLIPTLVERTSか、十分なGuardBandがないとまずいんじゃないの?
イヤこれで問題出たってほとんど聞かないけど、dxinfo見る限りじゃ結構対応状況悪いし。

俺はおっかないからスプライトの場合、ワールドとビュー行列に単位行列、
射影行列にはビューポートと同サイズの正射影って感じだべ。
頂点シェーダ使うなら・・・(x,y)をビューポートのサイズで割るだけじゃねーの?

772 名前:771 :2005/07/08(金) 12:03:36
>(x,y)をビューポートのサイズで割るだけじゃねーの?

('A`)

773 名前:デフォルトの名無しさん :2005/07/08(金) 14:12:44
>>771
ライフ表示に頂点クリップや広いガードバンドは必要ないしょ。
Intelの狭いガードバンドでも普通は問題にならないべさ。

774 名前:デフォルトの名無しさん :2005/07/08(金) 19:06:27
モデルの拡大縮小をすると明るさが変わってしまいます。
例えば Y軸を拡大 → モデルの上面と底面が暗くなる
縮小すると明るくなります。
(光源は平行)

なんででしょうか。

775 名前:デフォルトの名無しさん :2005/07/08(金) 19:21:34
法線の設定が不適切だから。

776 名前:デフォルトの名無しさん :2005/07/08(金) 20:07:50
むう。
D3DXComputeNormals(pMesh, NULL)
では不満だというのですか。

777 名前:デフォルトの名無しさん :2005/07/08(金) 20:11:55
>>776
SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );

778 名前:デフォルトの名無しさん :2005/07/08(金) 20:20:14
【質問】
透視射影変換 Frustum についてお尋ねします。

赤本の付録部分等にも4x4行列について載っていますが、
この行列について、原理を理解したいと思っています。

どなたか、透視(正)射影変換について
解説書、教科書、Web情報など、ご存知でしたら教えてください。

779 名前:デフォルトの名無しさん :2005/07/08(金) 20:32:37
>>777
ちゃんとなりますた。

780 名前:デフォルトの名無しさん :2005/07/08(金) 20:51:33
CreateWindowExで 
最小化ボタンあり最大化ボタン無効
ウィンドウのサイズを変更させない
このスタイルのウィンドウを作りたいのですが
styleにどう設定すればいいのか分かりません

宜しくお願いします

781 名前:デフォルトの名無しさん :2005/07/08(金) 21:02:02
DirectXと関係ないのに厚顔無恥もいいところ。

782 名前:デフォルトの名無しさん :2005/07/08(金) 21:26:22
Win32API質問箱 Build33
http://pc8.2ch.net/test/read.cgi/tech/1120153520/


783 名前:デフォルトの名無しさん :2005/07/08(金) 21:30:27
>>770
>>760はそんな話はしていないと思うが・・・

784 名前:780 :2005/07/08(金) 22:22:58
解決しました
WS_DLGFRAMEで行けます

785 名前:デフォルトの名無しさん :2005/07/09(土) 11:43:54
DirectShowを使って、USBカメラの映像を加工してビデオチャットで使う、
ということを行うにはどうすれば良いでしょうか?

786 名前:デフォルトの名無しさん :2005/07/09(土) 13:39:52
データを受け取って流す。

787 名前:デフォルトの名無しさん :2005/07/09(土) 14:55:12
これは・・・少し違うか?
http://www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow002.htm

788 名前:785 :2005/07/09(土) 15:54:57
ビデオチャットを自分で作るのではなく、メッセンジャーの機能を使いたいと考えています。
その場合、加工したものを出力するのに仮想カメラのようなものを作らないといけないのかなぁと思いました。
加工というのは他の画像のはめ込み等を考えています。
現在はサンプルグラバを使って1枚ずつ加工、それを何かしらの方法で動画に直すという方法で進めていますが方向はあってますか?

789 名前:デフォルトの名無しさん :2005/07/09(土) 17:55:54
DirectXを使おうと思っているのですがどの程度理解してから手をつけていいのやら・・・
そういうクラス群と認識してコピペしながら作り始めていいですかねぇ

790 名前:デフォルトの名無しさん :2005/07/09(土) 19:59:16
>>789
いいですよ。使ってるうちに必要な知識は覚えます。

791 名前:デフォルトの名無しさん :2005/07/09(土) 23:55:58
複数のDirectSoundBufferに取り込んだWaveデータを再生する時、確かフォーマットの何かを
プライマリバッファに合わせなければならないという制限があったような気がするのですが
どうにも思い出せません。また文献も見つけられませんでした。
nChannels
nSamplesPerSec
wBitsPerSample
のどれかだったと思うのですがご存知の方は教えて下さい。
サンプリングレートでしたっけ('A`)?

792 名前:デフォルトの名無しさん :2005/07/10(日) 09:51:20
>>790
回答ありがとうございます
某所で見つけたサンプルに色々つけたしながら機能を覚える方向でがんばります


793 名前:デフォルトの名無しさん :2005/07/10(日) 10:04:35
やった、メイク通った
ありがとう
ここまで来るのに5年かか・・・OTL

794 名前:デフォルトの名無しさん :2005/07/10(日) 12:34:03
>>793
>>792の人かな?
プログラムは絵画と同じで本を読むだけじゃ書けるようになりません。
絵の勉強をする人がひたすらデッサンをするのと同じように、
とにかくコードを書いていくことでどんどんセンスが磨かれていく。
何十冊読もうが、おそらく100行程度のソースすら1発でビルド通らないよ。

795 名前:デフォルトの名無しさん :2005/07/10(日) 12:44:09
そこでハッカーと画家ですよ。
http://www.shiro.dreamhost.com/scheme/trans/hp-j.html

796 名前:デフォルトの名無しさん :2005/07/10(日) 12:53:52
同じ関数を使う限り、洗練されることはない。

1つの関数に一つの機能しかないものであれば、
結局はみんな同じ書き方になっていく。

1つの関数で2つの事が行える関数を使ったときに初めて
異なる書き方になる。


だから、同じ関数を使う限り何百回何千回書き上げようが何も上達しない。

797 名前:デフォルトの名無しさん :2005/07/10(日) 12:58:52
●分割の評価
プログラムは、モジユール単位に分割しますが、良いモジュール分割とは、「独立性の高い分割」であり、「モジュール強度」と「モジュール結合度」で評価できます。
「モジュール強度」
モジュールがどれだけの機能を実現しているかを示す尺度で、強いほど独立性が高い。

  種類                   モジュール内の関連性 独立性
機能的強度 1つの機能を実現するためだけのモジュール       高 高
情報的強度 特定のデータ構造を扱うためのモジュール    
連絡的強度 関連ある逐次的機能で要素が連絡しあうモジュール
手順的強度 関連のある逐次的な機能を扱うモジュール
時間的強度 時間的に連続した複数の機能を扱うモジュール
論理的強度 関連のある複数の機能を扱うモジュール     ←お前が言ってるのこれ
暗号的強度 関連のない複数の機能を扱うモジュール        弱 低


798 名前:デフォルトの名無しさん :2005/07/10(日) 13:55:49
C言語のみでDirectXを触っているのですが、

SetTexture(
DWORD Stage,
IDirect3DBaseTexture8* pTexture
)
関数がうまくいかないみたいです。
warning C4133: '関数' :
'LPDIRECT3DTEXTURE8' と 'IDirect3DBaseTexture8 *' の間で型に互換性がありません。
が出ています。

C++では IDirect3DBaseTexture8* が IDirect3DTexture8*
でも表示されるのはなぜですか?継承構造だからですか?


799 名前:デフォルトの名無しさん :2005/07/10(日) 14:04:24
DirectX 9.0 SDK Update June 2005をインストールしましたが、
プログラムをコンパイルしようとすると、VC++6.0に
「入力ファイル "d3d9.lib" を開けません」といわれます。

[ツール]-[オプション]の[ディレクトリ]タブの中で
C:\PROGRAM FILES\MICROSOFT DIRECTX 9.0 SDK (JUNE 2005)\INCLUDE
C:\PROGRAM FILES\MICROSOFT DIRECTX 9.0 SDK (JUNE 2005)\LIB\X86
を指定しています。

[プロジェクト]-[設定]の[リンク]タブの中でd3d9.libとd3dx9.libを指定しています。

どうすればちゃんとコンパイルできるんでしょうか?
(>>522 関連のも読みましたが分かりませんでした)

800 名前:デフォルトの名無しさん :2005/07/10(日) 14:15:19
>>799
ディレクトリタブでちゃんと一番上にくるようにもってきた?
また、指定したディレクトリの中身ってちゃんとある?

このぐらいしか俺にはうかばん・・・。

あと、VC6ってすんなりビルドできるっけ?
そのうちプラットフォームSDK入れろとかあれやれこれやれ嫌になるぐらい警告でると思ったけど。
この機会に諦めてVC.NET買ったら?とか思う・・・。スタンダードで十分だし。

801 名前:799 :2005/07/10(日) 14:27:21
>>800
一番上に来るようにしてあります。
ディレクトリの中に、libファイルがあることは確認しました。

VC.NETですか・・・、アカデミックで安く買えるかなぁ。
でもできればVC6でできればいいんですが。


802 名前:デフォルトの名無しさん :2005/07/10(日) 16:31:18
VC.NET、VC.NET2003ともう二バージョン古いんだから、コンパイルできなくても
文句言わない。

803 名前:デフォルトの名無しさん :2005/07/10(日) 16:33:40
2003はまだ二年前なわけだが…

804 名前:デフォルトの名無しさん :2005/07/10(日) 16:34:07
読み違えてたわけだが…

805 名前:798 :2005/07/10(日) 16:35:11
解決しました。
頂点の設定のフラグが間違っていたみたいです。
それと、IDirect3D8Textureは IDirect3D8BaseTextureの継承になっていました

806 名前:デフォルトの名無しさん :2005/07/10(日) 17:47:50
>>796
>1つの関数で2つの事が行える関数を使ったときに初めて
そんな関数あぶなくて使えねぇよw 適当なこと言うな

807 名前:デフォルトの名無しさん :2005/07/11(月) 01:37:24
>>806
うむ。
1関数1機能を徹底してもらわねば困るな。

808 名前:デフォルトの名無しさん :2005/07/11(月) 01:37:46
まあ、ものによるけど。

809 名前:デフォルトの名無しさん :2005/07/11(月) 01:54:40
法線を4x4world行列で変換するとき
3x3行列にキャストして変換すると思うんですが
この後正規化するべきだと思いますか?
3x3行列が非直交行列である可能性は低いから省くのが
一般的でしょうか?
それとも法線変換用に別に逆転置行列を用意するのが
一般的でしょうか?

810 名前:809 :2005/07/11(月) 01:59:21
>>809
2つの質問がごっちゃになってました。

VertexShaderなんですが
法線を4x4world行列で変換するとき
3x3行列にキャストして変換すると思うんですが
この後正規化するべきだと思いますか?
3x3行列がスケーリングを含む可能性は低いから省くのが
一般的でしょうか?
また法線変換用に別に逆転置行列を用意するのは
一般的でしょうか?普通そこまでやらないですか?

811 名前:デフォルトの名無しさん :2005/07/11(月) 02:28:41
法線の場合はw成分を0にして拡張してくれないなぁと時々思うよなぁ
漏れは直交行列以外がわたる可能性があるときは逆転置も渡してるよ。
スキニングでやるとレジスタ足りなくなるorz

812 名前:デフォルトの名無しさん :2005/07/11(月) 02:30:17
>>810
変換行列の左上3×3部分が:
・回転のみ(直交行列)なら、逆転置は用意せず、正規化もしない。
・回転と一様スケーリングのみ(直交行列の定数倍)なら、逆転置は用意せず、正規化のみ行う。
・非一様スケーリングやせん断変形を含む一般の行列なら、逆転置を用意して、さらに正規化も行う。

スケーリングやせん断変形を含む可能性が「高いか低いか」の問題ではなく、
あなたの扱うシーンにおいてその可能性が「あるかないか」で明確に判断すべきですね。

813 名前:デフォルトの名無しさん :2005/07/11(月) 02:36:21
>>799
関係無いとは思う事柄なんだけど、
自分もVC6使ってて、DirectxSDK導入の際に色々面倒臭い事があったよ。
JUNE2005とかSUM2004でもdsound.hでエラーが出るから、
SUM2003を探して導入することをお勧めします。

814 名前:デフォルトの名無しさん :2005/07/11(月) 03:06:31
>>811
スキニングで行列倍はきついですね。
つーか無理ですよね。
頂点テクスチャを使えばいけるかもしれませんね。

>>812
ライブラリ的なものを作ってるので
判断は難しい・・
のでworldは回転+移動のみ強制、逆転置無しでいこうと思います。
(Shader内でスケーリングの必要性今のところ感じないし。)
ありがとうございました。

815 名前:デフォルトの名無しさん :2005/07/11(月) 04:09:56
DIRECTX9の最新の日本語ヘルプをダウンロードして検索してみたのですが
検索結果が全て無題となって
無題をクリックしても何も反応がありません
使い方を教えてください

816 名前:デフォルトの名無しさん :2005/07/11(月) 13:25:26
ビデオボードでDirectX9対応じゃないものは、
DirectX9でデバイス初期化して、
ハードウェアT&Lやシェーダはできない?

817 名前:デフォルトの名無しさん :2005/07/11(月) 14:14:41
対応している範囲内で動作する。

818 名前:デフォルトの名無しさん :2005/07/11(月) 22:25:37
こらタケシ!あんたまたDirectXでエッチなゲーム作ろうとしてるでしょ!ホントあんたって子は

819 名前:デフォルトの名無しさん :2005/07/11(月) 22:29:10
してい

820 名前:デフォルトの名無しさん :2005/07/11(月) 22:33:37
エッチなゲームのプログラム     ← タケシ担当
エッチなゲームのモデルファイル  ← スネオ担当

821 名前:デフォルトの名無しさん :2005/07/11(月) 22:44:30
エッチなゲームの声          ← シズカ担当
エッチなゲームのテストプレイ    ← ノビタ担当
エッチなゲームの販売         ← ドラ○モン担当

822 名前:デフォルトの名無しさん :2005/07/11(月) 22:48:58
>>818-821
夏休みの宿題

823 名前:デフォルトの名無しさん :2005/07/11(月) 22:50:12
どう考えてもミスキャストがあるな

824 名前:デフォルトの名無しさん :2005/07/12(火) 00:28:11
エッチなゲームのプログラム     ← タケシ担当
エッチなゲームのモデルファイル   ← ノビタ担当
エッチなゲームの声          ← スネオ担当
エッチなゲームのテストプレイ    ← シズカ担当
エッチなゲームの販売         ← ドラ○モン担当


825 名前:デフォルトの名無しさん :2005/07/12(火) 00:48:16
【DirectX】

826 名前:デフォルトの名無しさん :2005/07/12(火) 21:54:17
DirectShowでMPEGから音声抽出は可能でしょうか?

827 名前:デフォルトの名無しさん :2005/07/12(火) 21:59:18
別にDirectXでやるようなことじゃないと思うが。

828 名前:799 :2005/07/12(火) 23:23:14
>>813
返事が遅くなりましたが、JUNE2005を消してSUM2003を入れてみたら、
上手くコンパイルができました。

.NET 2003とか買ったらまた新しいので試してみます。
ありがとうございました。


829 名前:デフォルトの名無しさん :2005/07/12(火) 23:28:27
ポリゴンをたくさん作ったら、FPSが30から20ぐらいになってしまったんですが、
そのほとんどは前面のポリゴンに隠れて見えません。

後ろに回って見えないポリゴンは自分で判定して描画しないといけないの
ですか?
Zバッファとかいうのは関係ないのでしょうか?

830 名前:デフォルトの名無しさん :2005/07/12(火) 23:29:17
描画しないといけない
 ↓
描画しないようにしないといけない

831 名前:デフォルトの名無しさん :2005/07/12(火) 23:37:53
>>829
GPUが早期Zテストをサポートしていない限り、そうなるわね。

832 名前:デフォルトの名無しさん :2005/07/12(火) 23:44:12
>>831
わかりました。
ありがとうございました。

833 名前:デフォルトの名無しさん :2005/07/13(水) 01:02:04
>>832 一応補足。
早期Zカリングは手前のオブジェクトから先に描画するようにしないと効果が出ないわ。
最近のGPUではほぼサポートされてるみたい。

834 名前:デフォルトの名無しさん :2005/07/13(水) 01:28:57
アルファなんか無ければ良いのに!

835 名前:デフォルトの名無しさん :2005/07/13(水) 01:30:46
>>833
早期Zカリングがあっても、頂点処理は全頂点に対して行われるわけだから、
頂点シェーダがボトルネックになっている場合はほとんど効果がないね。
>>829のシェーダ負荷バランスがわからないと何とも言えない。

836 名前:デフォルトの名無しさん :2005/07/13(水) 02:13:26
この手の手前のポリゴンで遮蔽されたポリゴンの
頂点変換オーバーヘッドが惜しいなら、一応、
BSPがあるよ。Convexな空間でしかつかえないけど。


837 名前:836 :2005/07/13(水) 02:22:19
×Convexな空間
○閉じた空間とそれをポータルで接続したもの
閉じた空間のことをConvexな空間というのと勘違いして覚えてた。
すまそん。


838 名前:デフォルトの名無しさん :2005/07/13(水) 02:49:09
BSP(二分空間分割)とポータルシステムはまったく別の手法だと思うが

839 名前:デフォルトの名無しさん :2005/07/13(水) 03:19:03
DirectXSDKをダウンロードするのは
DirectX 9.0b SDK (2002)

DirectX 9.0 SDK Update (June 2005)
をインストールすればいいのですか

それとも
DirectX 9.0 SDK Update (June 2005)
これだけでいいのでしょうか

840 名前:デフォルトの名無しさん :2005/07/13(水) 09:13:11
>>839
いまさら 9.0b 入れる必要はないんじゃないかな。
(ちょっと古い本だと 9.0c に対応してないのもあるけど)

June 2005 でもいいけど、December 2004 あたりにしといたら。

841 名前:デフォルトの名無しさん :2005/07/13(水) 10:25:44
質問の趣旨が理解されていない件について

>>839
Updateだけでいい。

842 名前:デフォルトの名無しさん :2005/07/13(水) 21:16:59
ぶっちゃけ デバイス ってわかりやすく言って何なんですか?

843 名前:デフォルトの名無しさん :2005/07/13(水) 21:26:05
>>842
辞書も引けないの?小学生?

844 名前:デフォルトの名無しさん :2005/07/13(水) 22:05:05
Direct3D のレンダリング コンポーネントのこと


ぶっちゃけ コンポーネント ってわかりやすく言って何なんですか?

845 名前:デフォルトの名無しさん :2005/07/13(水) 22:11:15
>>844
辞書も引けないの?小学生?

846 名前:デフォルトの名無しさん :2005/07/13(水) 22:19:49
他 の こ と も 言 え な い の ? 小 学 生 ?

847 名前:デフォルトの名無しさん :2005/07/13(水) 22:22:38
そういうことは聞いちゃダメ、みんなにだって聞かれたくないことたくさんあるんだよ?
まずは調べてから、ね。お姉さんとの約束だよ。>>842

848 名前:マイク ◆yrBrqfF1Ew :2005/07/14(木) 00:00:15
構成要素でいい。

849 名前:デフォルトの名無しさん :2005/07/14(木) 00:25:11
Davis

850 名前:デフォルトの名無しさん :2005/07/15(金) 11:36:42
シェーダってdraw〜ごとに一種類しか設定できないんでしょうか?
そうだとすると、シェーダーが別のビルボードをZソートなんかしたら
すごいことになりそうなんですけど。


851 名前:デフォルトの名無しさん :2005/07/15(金) 22:31:09
>>850
お前何言ってんの?

852 名前:デフォルトの名無しさん :2005/07/15(金) 22:35:37
osikkositai

853 名前:デフォルトの名無しさん :2005/07/15(金) 22:50:59
俺には>>850が言ってることが分かる気がするけど、答えが分からないので誰か任せた。
未だに固定パイプライン使いですよ?

854 名前:デフォルトの名無しさん :2005/07/15(金) 23:04:52
>>853
なら、>>850のいってることを翻訳してくれよ。


855 名前:マイク ◆yrBrqfF1Ew :2005/07/15(金) 23:32:36
ジオメトリシェーダは知らんがそれ以外ならできるだろ

856 名前:デフォルトの名無しさん :2005/07/16(土) 00:01:48
>>855
バカマイクひさしぶり。なんでこんな所に居るの?

857 名前:デフォルトの名無しさん :2005/07/16(土) 03:07:14
WMPもどきを作成中です。
で、再生できる物がきたんですけど再生速度の変更で行き詰まりました。
mpegを再生速度 0.5倍速 に設定すると再生できないんです。

- WMP10での話し -
ためしにWMP10で同じmpegを、再生速度 0.5倍速 で再生すると、、
やはり再生できません。
1.0倍速再生→0.5倍速 と、途中から変更した場合は再生できるのですが、
0.5に設定→停止→再生 とすると再生されません。
4、5個のmpegファイルで試してみましたが全て同じでした。
- WMP10での話し 終わり-

IMediaSeeking::SetRate を使用しています。
0.51倍速 だと問題は起きませんでした。
エラーは発生しません。

どうしても0.5倍速で再生したいわけではなく、できないならできないと判定できればいいんです。
何か情報持っている方いますか?

858 名前:デフォルトの名無しさん :2005/07/16(土) 04:56:03
はなしし とは?

859 名前:デフォルトの名無しさん :2005/07/16(土) 07:44:47
>>858
プゲラ
これだから低学歴は困る

860 名前:デフォルトの名無しさん :2005/07/16(土) 08:09:21
名詞では送り仮名を付けないと習いました。

861 名前:デフォルトの名無しさん :2005/07/16(土) 08:14:55
ふつー「話」

862 名前:デフォルトの名無しさん :2005/07/16(土) 08:26:00
「話し」は動詞「話す」の連用形だな。

863 名前:デフォルトの名無しさん :2005/07/16(土) 15:02:36
DirectX9で雨を降らす効果を説明しているサイトは無いでしょうか?
DirectX9 雨
とかで検索してもなかなかそれっぽいサイトが無くて・・・

864 名前:デフォルトの名無しさん :2005/07/16(土) 16:25:35
>>863
実際のゲーム買って雨が降ってるシーンを見て研究するのが一番だよ。
こういうことができないといつまでたっても誰かが整備した道だけ
追い続けることしかできなくなっちゃうからたまには研究してみるのもいいんじゃない?
ま、資料があればそれに越したことはないんだけど。無いときはしょーがないっしょ。

865 名前:デフォルトの名無しさん :2005/07/16(土) 16:30:41
>>863
でもまあ、ちょっとアドバイスすると
調べるときのキーワードを 雨 DirectX9 なんかにするんじゃなくて
モデリングソフトで雨ってどういう風に表現してるのかって知るだけでも
あとはどうとでもなるでしょ。
それがリアルタイムでできるかどうか?また、リアルタイムで表現できるように簡略化できないかどうか?
を考える能力を身に付けようよ。
だからCGWORLDとか雑誌を毎回立ち読みするだけでも実力はついていくと思うよ。

こういう知恵も解説サイトだけじゃ学べないことだぞ。

866 名前:863 :2005/07/16(土) 17:02:49
本来はそのほうがいいのでしょうが、
DirectX初心者&時間が無い(納期が近い)なので
出来る限りサンプルがほしいところなのです。

867 名前:デフォルトの名無しさん :2005/07/16(土) 17:20:28
>>866
時間がないならなおさらサンプルなんて読むだけ無駄。
適当に主人公のまわりの空間に雨(ポリゴンで雨っぽい線を描画)して降らせて
地面なんかに可能な範囲で飛沫を付けて終わりでいいじゃん。
もちろん飛沫はビルボード&テクスチャアニメーション。
それっぽく見えるように頑張って終わり。

868 名前:863 :2005/07/16(土) 17:25:51
RPGのようなものではないので、3D空間に雨を降らせる必要は無く、
Z=0のところで降らせてみようと思うのですが、
その場合でもポリゴンの描画で実行速度は大丈夫でしょうか?

869 名前:デフォルトの名無しさん :2005/07/16(土) 17:28:32
夏の陣に向けてだとしたら大笑い。いや、大童か。

870 名前:863 :2005/07/16(土) 17:43:36
そういえばなぜサンプルは読むだけ無駄なのでしょう?

871 名前:デフォルトの名無しさん :2005/07/16(土) 17:50:13
ゲィームでよくある、モワモワなんですが、
あれは一枚ポリゴンで表現するものなのですか。
モワモワだから、全部スプライトなりピクソーなりで描画するものだと思って、
いましたが、大概のゲームでのモワモワをよく見てみると、
モワモワの、周りには、四角い透明な領域があります。
とすると、モワモワというのは、そう見えているだけのごまかしなのでしょうか?
全部ピクセルで描画するのが、ベストと思い尾増すが、なんでそうしないのでしょうか?

872 名前:デフォルトの名無しさん :2005/07/16(土) 18:18:06
>>871
全部計算で出したピクセル使ったらどうなるか想像つかないの?

873 名前:デフォルトの名無しさん :2005/07/16(土) 18:30:38
>>871
テクスチャアニメーションの場合もあるし、
ポリゴンアニメーションの場合もあるし、
その両方の場合もあるしで、
なにも一枚ポリゴン(2枚じゃね?w)とは決まっていない。
板ポリに貼ってそれで終わりってのは中々少なくなってきてはいるな。
まあ、ほとんどデザイナ側の問題なわけだがw

874 名前:デフォルトの名無しさん :2005/07/16(土) 18:31:13
スプライトボリュームでいいじゃん

875 名前:デフォルトの名無しさん :2005/07/16(土) 18:31:55
「モワモワ」で通じるあたりが凄い。

876 名前:850 :2005/07/16(土) 19:05:01
>>851>>854
んと、
いちいち頂点バッファぶった切ってシェーダ切り替えなきゃいけないの?ってこと
100枚描画するとき、

for( int i = 0 ; i < 50 ; i++ )
{
SetPixelShader shader A
DrawPrimitive 1prim

SetPixelShader shader B
DrawPrimitive 1prim
}

こうしなきゃいかんの?

本当はこうしたい

SetPixelShader shader A
SetPixelShader shader B
DrawPrimitive 100 prim <-中で切り替えてくれるといいなぁ

引数、覚えてないから適当

877 名前:デフォルトの名無しさん :2005/07/16(土) 19:14:29
>>876
そんなことしたらプリミティブ毎にシェーダの種類を持たなければならないじゃないか。

for( int i = 0 ; i < 50 ; i++ )
{
SetPixelShader shader A
DrawPrimitive 1prim

SetPixelShader shader B
DrawPrimitive 1prim
}

こんな記述はライブラリで一度書けば、済む問題だしな

878 名前:デフォルトの名無しさん :2005/07/16(土) 19:19:51
最近は動的分岐も可能になったので
>>878のような主張も可能。

879 名前:デフォルトの名無しさん :2005/07/16(土) 19:20:33
自演キター!

880 名前:デフォルトの名無しさん :2005/07/16(土) 19:27:47
>>871
煙とかをピクセル単位で計算して出してたら
幾らマシンパワーがあっても足りない

881 名前:デフォルトの名無しさん :2005/07/16(土) 19:38:03
>>876
そもそも何のために切り替えているのか、その用途について説明せよ。
この手の質問の場合、根本的にそれ以外の解決方法があるのに、
無駄な手法をとっている場合が十中八九。

882 名前:850 :2005/07/16(土) 20:16:32
>>877
shader A Bはまったく別のシェーダだからそうだけど。
draw〜って一杯呼んじゃって問題ないの?directXって?

>>878
条件分岐で分岐する場合、シェーダを組み合わせ用に書かなくちゃいけない
2種類程度ならいいけどシェーダの種類が10、20と増えてきたら容量や使い勝手が悪過ぎない?

>>881
シェーダA/Bをつかった描画がソートの結果たまたま交互に現れたら、
876のようになちゃうよね?


883 名前:デフォルトの名無しさん :2005/07/16(土) 20:37:24
>>869
落下中の雨粒は空気抵抗のために横に扁平な球になっているので、
そういうオブジェクトを作って大量にばらまけばいいと思うよ。(プ
雨粒の大きさによって終端速度が変わるので、そのあたりもちゃんと計算するようにな。

>>881
いろんなシェーダを使って描画するビルボードが画面内に混在すると、
Zソートで奥から描画するときにシェーダ切り替えまくる羽目になるのでどうすんべという話かと。
まあ、テクスチャなんかと同じで、パフォーマンスを気にするなら
まとめるしかないってことになるんでない? 俺は固定パイプライン野郎だから知らんけど。

>>878
無限ループおめ

884 名前:デフォルトの名無しさん :2005/07/16(土) 20:49:35
煙をピクセルで表現したいのなら、何も計算する必要ないではないか。
単に置いていけばいいだけだ。
それに近いのが、ポストプロセス

あれだってただ単にアルファマークしたところにピクセルをブチ撒けているだけだ

885 名前:デフォルトの名無しさん :2005/07/16(土) 20:58:10
>>884
すまん、なにを言っているのか分からん

886 名前:デフォルトの名無しさん :2005/07/16(土) 21:03:32
風吹いたらそのとおりに湾曲させたり分散させたりする必要が別にないわけで

一律に同形状で上がってよし

887 名前:デフォルトの名無しさん :2005/07/16(土) 21:08:43
>>883
俺はビルボードが一箇所に固まってるなら物体が中に入ること自体があまりないので
ソートなんかしないでそのまま出しちゃってる。(水飛沫等)
それが広域に及ぶなら一定単位ごとにまとめて数箇所だすだけの話になる。
逆に画面にちりばめられてるようなシーンなら一度に画面に出る数(カメラに映る数)が大したことないはずなので
一つ一つのビルボードにマトリクスを持たせてそれごとにZソートをかけてる。

1メッシュごとにZソートをかけるシーンってのは極めて特殊だと思う。
ビュークリップもできないので実装したらおそらく激重だろう。
メッシュにある大半のビルボードが画面にでる場面(ビュークリップされない)
ってのが想像できないのであんまり使わないんじゃないかな。
と思うがどうだろうか?

888 名前:850 :2005/07/16(土) 21:24:11
>>883
あーそうそう。
やっぱりシェーダごとにまとめて描画するしかないのかな。
でも、モデルデータ中でシェーダ切り替えってどうやってんだろ?
たとえば布と金属で別シェーダだと布用ストリップと金属用ストリップで2パス描画するのかな
マテリアルごとにシェーダ切り替え自由にしてたら死ぬな。
デザイナーに釘さしておかないと。

>>884
モワモワって陽炎じゃない?
それなら描画取り込みのメッシュをそれっぽく揺らせばいいんじゃない。
ついでにぼかしも入れとけば、よりそれらしくなる。

>>887
たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
気にしないで書いちゃうのがいいのかね?PS2とかソートしてないゲームが大半だし。


889 名前:デフォルトの名無しさん :2005/07/16(土) 21:29:59
>>888
>たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
それだとそういう問題じゃなくてマトリクスごとにメッシュもってる。
つまりZソートかけちゃってる。
一緒のプリミティブにもつってことはしないよ。
モデリングツールでデザイナが設定した通りにでるってそれだけ。

てゆうかさ
>たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
こういう物体を一緒のプリミティブに突っ込んだらビュークリップはいつかけるんだ?
言ってる事はDrawPrimitiveに突っ込んだ頂点に複数のシェーダをかけたいってことでいいんだよな?

890 名前:デフォルトの名無しさん :2005/07/16(土) 21:40:48


豆知識:ピクセルシェーダの原理


誰に聞いても「やって見てみればいい」というような、原理や作動もまったく知らないような
ド素人がデカい顔してることに対する代名詞的扱い。

せめて「ピクセルを出力するもの」くらいいえないものだろうか

891 名前:850 :2005/07/16(土) 22:02:03
>>889
突っ込む前にはじいちゃうんじゃない?

>言ってる事はDrawPrimitiveに突っ込んだ頂点に複数のシェーダをかけたいってことでいいんだよな?
俺、directX触るの初めてなんで

突っ込んだ頂点ごとに別のシェーダがかけたい。

シェーダの切り替えってDrawPrimitiveの外でしかできないみたい(できるの?)

場合によってはDrawPrimitiveとシェーダ切り替えの数がものすごい数になってしまう。

パフォーマンスとか大丈夫なの?とおもった。

DrawPrimitive中で切り替えられるの?

892 名前:デフォルトの名無しさん :2005/07/16(土) 23:17:23
>>891
ああ、なるほど

>シェーダの切り替えってDrawPrimitiveの外でしかできないみたい(できるの?)
DrawPrimitiveの中でのシェーダの切り替えはできなかったような気がした。
気がしたって程度なのはこの辺複雑になってて本当にできないのかは
しっかり調べてないのでよくわからないというのが本当のところ。

>パフォーマンスとか大丈夫なの?とおもった。
おそらくそういう場面が無いので問題になっていないんだと思う。

893 名前:850 :2005/07/17(日) 01:50:54
とりあえずDraw単位のソートで組んでみるわ。
回答してくれた人ありがトン。

あと、次のDirectXあたりから固定パイプライン廃止の方向に行きそう。
ソースは言えない。


894 名前:デフォルトの名無しさん :2005/07/17(日) 10:24:16
どちらにせよ上位互換は残るので、今作っている人間にとっては、
廃止されようが残留しようが関係ない。

895 名前:デフォルトの名無しさん :2005/07/17(日) 12:10:52
ヘタレ絵師とそれ以上にヘタレなプログラマが作る同人ソフトに
シェーダの有無など関係ありませんよ。アヒャ

896 名前:デフォルトの名無しさん :2005/07/17(日) 12:18:59
>>895
バンプぐらいは使っても楽かも
基本的に模様みたいなのつけて貼るだけだし。
実装もそう難しくない。

897 名前:デフォルトの名無しさん :2005/07/17(日) 12:25:34
もわもわが何か明確じゃないけど
昔(MMX全盛の頃)はそれこそピクセル単位で計算してたじゃないか
何かと併用する余裕は無かったが、不可能でも無かったぜ

898 名前:デフォルトの名無しさん :2005/07/17(日) 12:30:41
費用対効果が最大になるのは
普通のライティング、パンプ、反射、屈折ぐらいまでだろうな。

画面効果も演出的なぼかし、グレースケールなんかはうまく使うと
(グレースケールのシーンで赤いマントだけ色がついてるとか)
いいと思うけど、被写界深度までいくとセンス悪いと「これ、ちょっとちがうんじゃない?」って
のが多い。かけないほうがいいよなー的なのが増える。

899 名前:デフォルトの名無しさん :2005/07/17(日) 12:34:08
>>897
そんなことした覚えないよ。
たくさんのピクセルに変更がかかる場合はアニメーションの方が
早いのはいまも昔もいっしょだよ。

900 名前:デフォルトの名無しさん :2005/07/17(日) 12:42:47
もわもわって、フォグのこと?

901 名前:デフォルトの名無しさん :2005/07/17(日) 12:51:52
>>891
>突っ込む前にはじいちゃうんじゃない?
この発言で気になったんだが、毎フレーム頂点バッファを書きなおしてるの?

>>900
レスを順に読む限りではビルボードをたくさん密集させた形のエフェクトのこと。

902 名前:デフォルトの名無しさん :2005/07/17(日) 13:34:05
>>899
おまいさんがしたことないのは知らんし、
ここでアニメーションが速いと言い出されても、そりゃそうだとしか言えん

アニメーションとエフェクトは、それぞれに利点と欠点があるだろ

903 名前:デフォルトの名無しさん :2005/07/17(日) 13:42:57
>>902
>アニメーションとエフェクト
なにいってんの?
これ比べるもんじゃないし。
>>902←これちゃんと書きなおしてよ。

904 名前:デフォルトの名無しさん :2005/07/17(日) 14:36:10
いや先にアニメーションとか言い出したのはおまいだっての
比べるもんじゃないってのは自分に言ってくれ

もしくはエフェクトの意味を取り違えているかだな
シェーダのそれじゃないぞ

905 名前:デフォルトの名無しさん :2005/07/17(日) 14:46:24
DirectX8辺りから入った人には分からないのかもよ

906 名前:デフォルトの名無しさん :2005/07/17(日) 15:16:37
>>904
俺がいってたのはピクセル単位の処理なんてやってなくて
スプライトのアニメーションでやってたって話だよ。
エフェクトなんていってない。

907 名前:デフォルトの名無しさん :2005/07/17(日) 15:37:15
エフェクトが>>897を指すと、類推すら出来ない時点で終わっとる。
最近MegaDemoとか聞かないし、しょうがないのかもね。

908 名前:デフォルトの名無しさん :2005/07/17(日) 15:47:25
>>906
なんかもう疲れたな…
画面全体にピクセル単位の処理(画像エフェクト)をかけることは別に不可能じゃないよ
というか3Dカード必須じゃない頃は、皆が普通にやってたろ

そこへなんで、俺はスプライトのアニメーションだぜー
俺の方が速いぜー…って見当違いの話が出てくるんだ

909 名前:デフォルトの名無しさん :2005/07/17(日) 18:32:20
>>908
画面全体の処理の話なんてしてないじゃん。
あくまで小さいエフェクトの話だっただろ。
ビルボードでたくさん出すって話からどうして画面全体の話になるんだ。
自分の発言をころころ軌道修正してるみたいだけど
こういう奴だいっきらい。馬鹿みたい。

910 名前:デフォルトの名無しさん :2005/07/17(日) 18:32:59
>>908
もう馬鹿なんだから3Dゲームなんて作るのやめろよ。

911 名前:デフォルトの名無しさん :2005/07/17(日) 19:00:22
とうとう感情むき出しか

912 名前:デフォルトの名無しさん :2005/07/17(日) 19:04:44
>>909
画面の一部ならなおさら楽だろw

913 名前:デフォルトの名無しさん :2005/07/17(日) 19:08:14
彼は頑張って突っ込み所を見つけたんだよ。見当違いだったけど。

914 名前:デフォルトの名無しさん :2005/07/17(日) 19:21:14
いやたぶん話が通じてないだけだ
恐らく描画バッファを直接叩くという概念すら分からないニュータイプ

915 名前:デフォルトの名無しさん :2005/07/17(日) 19:29:51
反論できないと人格叩きに転向でつか(^^)

916 名前:デフォルトの名無しさん :2005/07/17(日) 19:53:45
今北産業

917 名前:デフォルトの名無しさん :2005/07/17(日) 19:58:31
なんかワナビーが暴れてるみたいね。句点がついてないのは全部同一人物か?
ポストプロセスの2D処理でモワモワをまともに表現できるわけがないだろ、バカめ。

918 名前:デフォルトの名無しさん :2005/07/17(日) 20:14:02
全部同一人物にされてしまったw

919 名前:デフォルトの名無しさん :2005/07/17(日) 20:20:42
正直好きなようにやれよと。
過程が重要なんじゃない、必用なのは結果だ。

920 名前:デフォルトの名無しさん :2005/07/17(日) 20:27:53
いや、皆899の「そんなことした覚えないよ」に、「それはお前だけ」と突っ込みたいだけだろ。
句点付けておくか。

921 名前:デフォルトの名無しさん :2005/07/17(日) 20:50:06
いつから平気でだろだろ言うようになったのですか?
たががはずれたのはいつどんな瞬間だったのですか?
皆もやってるから自分もいいだろうと思ったのですか?
そんな当たり前の節度も守れない人間が他人にお説教ですか?
恥かしいですね。

922 名前:デフォルトの名無しさん :2005/07/17(日) 20:55:33
もはや中傷合戦になっとるな

923 名前:デフォルトの名無しさん :2005/07/17(日) 20:58:24
だろ?(^ω^)

924 名前:デフォルトの名無しさん :2005/07/17(日) 20:58:38
>>921
極度に厨むき出しの文章について。

925 名前:デフォルトの名無しさん :2005/07/17(日) 20:59:08
897 902 904 908が同一人物ね
>>899は、もうどうでも良いですわ…

>>914
同意

>>917
>>871はスプライトと言っている以上2Dゲームっぽいし、十分以上に可能だと思うんだがどうだい
というか>>871自身、画像エフェクトで(全部ピクセルで)やりたがっているみたいなので、
>>880に対し、>>897で助け船を出しただけよ

そもそも俺は、ゲームでよくある、ってとこから画面切り替え効果みたいのを想像してた
917氏はモワモワが何か分かっている様だが…

926 名前:デフォルトの名無しさん :2005/07/17(日) 21:04:13

   〃∩ ∧_∧
   ⊂⌒(  ・ω・)  はいはい、わろすわろす
     `ヽ_っ⌒/⌒c     
        ⌒ ⌒



927 名前:デフォルトの名無しさん :2005/07/17(日) 21:05:46
もやもや病

928 名前:デフォルトの名無しさん :2005/07/17(日) 21:14:48
ところで、モワモワとは何だったのか、871はちゃんと説明してくれよw

929 名前:デフォルトの名無しさん :2005/07/17(日) 21:52:42
ピクセル処理



ポストプロセスとして使うもの
顕著にわかる代表例:Hitman Contracts

エフェクトとして使うもの
・煙を表す、ボリュームレンダリング



930 名前:デフォルトの名無しさん :2005/07/17(日) 21:54:56
見解がズレたままケンカしてるんやでw

931 名前:デフォルトの名無しさん :2005/07/17(日) 22:00:32
自分以外が全て自演に見えたら末期
そんなあなたに

そろそろム板もID付けないか?
http://pc8.2ch.net/test/read.cgi/tech/1105878545/

932 名前:デフォルトの名無しさん :2005/07/17(日) 22:15:07
そういうZソート前提の話題より
Zソートをいかにして無くすかの方が
まだやる価値があるような気がするが。
重なる数に2枚までとか4枚までとか制限をつけたら
何とかなりそうとかさ。
マルチインスタンスに動的分岐にそれを組み合わせれば
1パスで全てのスプライトが表示出来てウマーとかさ。
考えてみてくれよ、俺の為に。

933 名前:デフォルトの名無しさん :2005/07/17(日) 23:02:26
>>932
>マルチインスタンスに動的分岐にそれを組み合わせれば
>1パスで全てのスプライトが表示出来てウマーとかさ。
よくわかんねぇよ。
この場合ってビュークリップっていついれればいいの?
毎フレーム頂点バッファを構築しなおしてるってこと?

934 名前:デフォルトの名無しさん :2005/07/19(火) 01:23:45
Xファイルを表示するサンプルソースを見たのですが、
複数のXファイルを表示する方法がわかりません。
プレイヤと敵を同時に表示する時とか、どのようにすれば
よろしいのでしょうか?


935 名前:デフォルトの名無しさん :2005/07/19(火) 01:53:13
ナンカ急にレベルが下がったが、D3DXLoadMeshFromX()を自分の好きなだけ呼べばよかろう。

936 名前:デフォルトの名無しさん :2005/07/19(火) 03:43:58
>>934
それは複数表示できてるソースをあげてくれと言ってるのか?
サンプルのここが理解できないからわからん
とかならまだしも

937 名前:デフォルトの名無しさん :2005/07/19(火) 08:21:27
>>934
Xファイル……と言うかメッシュの表示ね。
複数じゃなくてひとつの Xファイルを読み込んで
それを複数描画するにはどうすればいいかわかりますか?

938 名前:デフォルトの名無しさん :2005/07/19(火) 08:26:08
「ひとつのXファイルを読み込んでそれを複数回描画する」
としか・・・

939 名前:デフォルトの名無しさん :2005/07/19(火) 08:53:49
printf関数で"hello world!"を複数表示するにはどうs (略
みたいな質問されてもなぁ

940 名前:デフォルトの名無しさん :2005/07/19(火) 12:37:25
初歩的な質問だと思うけど聞かせてください。

VC6++でDirectX9AppWizard使ってスケルトン作って勉強し始めたんですが、
class CMyD3DApplication : public CD3DApplication
になってるからCMyD3DApplicationをいじくればいいんだと思って、
色々いじって反応を見てたんですが。
ウィンドウサイズ変更するときが不思議だったんでおしえてください。

m_dwCreationWidthの値を変更すればいいと思って。
CMy〜の方のコンストラクタの値を弄ってもなぜか500x375からどうしてもかわらず、
「へんだなぁ」と思いつつ
m_dwCreationWidthがDWORDってなってるから整数だっけなと思いつつ、
SetRect( &rc, 0, 0, m_dwCreationWidth, m_dwCreationHeight );→
SetRect( &rc, 0, 0, 640, 480 );

に変えたら変更できたんで。
やっぱm_dwCreationWidthだなぁと思って。
CD3D〜のm_dwCreationWidthを変更してみたら
ウィンドウサイズが変更できました。
コンストラクタはCD3D〜→CMyD〜の順に通るんですよね?

変更できない時は以下の状態だったんですが、
CD3D〜のコンストラクタでは
m_dwCreationWidth = 400;
m_dwCreationHeight = 300;
CMyD〜のコンストラクタ
m_dwCreationWidth = 640;
m_dwCreationHeight = 480;
スケルトン作った直後の表示では (500x375)となってました。
自分の頭の中で解決できないんで助けてください

941 名前:デフォルトの名無しさん :2005/07/19(火) 12:45:13
他人の規則に従うのが無理なら、ウインドウの表示ぐらい自前で書けば解決。

942 名前:940 :2005/07/19(火) 12:48:49
今やってみたら
CD3DとCMy3Dのm_dwCreationWidth両方いじっても変更できませんでした。。。
どうなってるんでしょう・・・。

>>941
まだウィンドウの表示とか自前で作れないから、
スケルトンプログラム読んで勉強しようと思ってるんですが…。


943 名前:デフォルトの名無しさん :2005/07/19(火) 12:52:31
>>942
ならウィンドウの表示から学べば良い。
スケルトンは飽くまでそういった基礎が解かっている人が作成の手間を省くために
使うものであって、決して勉強用ではない。
どっちにしても結局は覚えなきゃならないよ。

944 名前:940 :2005/07/19(火) 13:05:31
>>943
本来はそうなんでしょうね・・・。
良い参考書が見当たらないんで(あんまり探してないけど…。)、
スケルトンからやってみようと思ってます。

自己解決できました。
スケルトンがレジストリにウィンドウ枠の大きさを保存していて、
コンストラクタの最後でそれを読み込んでいる為でした…。

945 名前:デフォルトの名無しさん :2005/07/19(火) 16:20:09
ウィンドウの表示のためだけに本買うの?
お金持ちだねぇ

946 名前:デフォルトの名無しさん :2005/07/19(火) 16:27:45
>945はそんなに貧しいの?

947 名前:デフォルトの名無しさん :2005/07/19(火) 16:32:39
>>946
だって無職だもの。

948 名前:デフォルトの名無しさん :2005/07/19(火) 16:35:50
>>945
じゃあなんとなくAdvancedWindowsを買った俺はなんなんだ!

949 名前:デフォルトの名無しさん :2005/07/19(火) 17:14:26
しかもウィンドウの表示なら買うのはプログラミングWindowsなのにッ!

950 名前:デフォルトの名無しさん :2005/07/19(火) 22:23:24
>>940
適当にブレークポイントしかけて、
ウォッチウィンドウで値確認してけばいいんじゃね?

951 名前:デフォルトの名無しさん :2005/07/20(水) 08:40:48
http://developer.nvidia.com/object/nvperfhud_home.html#Downloads

Japaneseがダウンロードできないけど手に入れる方法ない?

952 名前:デフォルトの名無しさん :2005/07/20(水) 08:45:28
ちょっと考えれば簡単に手にはいるぞ。

953 名前:デフォルトの名無しさん :2005/07/20(水) 10:27:38
入手できました
ありがとうございました

954 名前:デフォルトの名無しさん :2005/07/20(水) 16:21:26
3Dとか触ってみようと思ったんですが、
どっかのページのサンプルをコンパイルしたら
D3DXMatrixTransformation2D
がネーヨって言われて、d3dx9math.hを見たら、たしかにありませんでした。
ヘルプにはあるっぽく書いてあるのに...

ひょっとしてOSのせい(Windows 2000 sp4)?

955 名前:デフォルトの名無しさん :2005/07/20(水) 16:24:42
(´-`).。oO(なんでこんな池沼がD3Dなぞ触ってるのだろう)

956 名前:デフォルトの名無しさん :2005/07/20(水) 16:50:46
>955
それくらい教えてやれよ
俺のDirectX知識は7.0で止まってんだよ。

質問の内容で、こいつ古いバージョンのDirectX使ってるくらい分かるだろアホ

957 名前:デフォルトの名無しさん :2005/07/20(水) 17:03:03
>>954
ヒント:WindowsUpdate

958 名前:デフォルトの名無しさん :2005/07/20(水) 17:46:33
>>957
全然おもしろくない。

959 名前:デフォルトの名無しさん :2005/07/20(水) 19:03:53
>>954
どこのサンプル?

960 名前:デフォルトの名無しさん :2005/07/20(水) 20:49:06
>>954
SDKのバージョン

961 名前:デフォルトの名無しさん :2005/07/21(木) 00:04:45
Win2K+VC6+DX8で開発してます。

ウィンドウの最小化ボタンをつけていた(ウィンドウスタイルにWS_MINIMIZEBOXを指定)場合、
最小化ボタンやWindowsキー+Dで最小化するとエラーが起きて終了しちゃうんです、
(恐らくReleaseし忘れとかだと思います)

んで、エラー箇所がよくわからないのでとりあえず置いといて、
今度は最小化ボタンを表示しないでウィンドウを作ったですが(閉じるボタンのみ)、
この場合にWindowsキー+Dで最小化してもエラーが起きなかったんです。

Windowsキー+Dの最小化、というのは普通(?)の最小化と違うのでしょうか?
また、エラーが発生しなかったので、最小化ボタンを表示しないのであれば
このまま何かエラー対策処理などを加えなくても大丈夫なんでしょうか?

962 名前:デフォルトの名無しさん :2005/07/21(木) 00:57:41
スレ違いではないでもない気もするのですが、質問です
多角形のポリゴンを3角形に分割する方法に悩んでいます。
ある配列Aがあり、その中には多角形を構成するn個の頂点のデータが時計回りで連続して入っています。
この配列のデータを3角形を構成するデータに変換するにはどうしたらいいでしょうか。

963 名前:デフォルトの名無しさん :2005/07/21(木) 01:04:50
>>962
triangulationとかでぐぐるといいそうだ

964 名前:デフォルトの名無しさん :2005/07/21(木) 01:27:19
>>962
…間違ってたらスマンが
配列に時計回りで連続で入ってるなら
0番目の頂点と、後は配列で連続する2頂点をずらして
三角形を形成して行くだけなんでは?
012
023
034
045
…こんな感じ…

965 名前:デフォルトの名無しさん :2005/07/21(木) 01:32:09
>>963
ありがとうございます。ドロネー法という難しそうなのがヒットしました。これを考えて見ます。

>>964
FANで構成すると、ひねったような位置に2頂点がくるとまずいことになります。。。

966 名前:デフォルトの名無しさん :2005/07/21(木) 01:34:49
>>964
凹型ポリゴンで氏ぬ

>>965
Blue Impulse SDKっていうオープンソースなライブラリのなかに
凸型ポリゴンに分割する関数がある。
そこまでやれば964の方法も使える。
少々癖のあるソースだがこいつを研究してみるのもありだ。

967 名前:デフォルトの名無しさん :2005/07/21(木) 02:37:50
>>965
Delaunay法は点群→三角形群の変換なので、凹多角形→三角形群の変換には使えない。
"polygon" や "polygons" あたりを加えて絞り込んで検索したほうがいいと思うよ。

SGI OpenGLサンプル実装のGLUのTessellation関連のソースを見てみるのもいいかもね。
http://oss.sgi.com/projects/ogl-sample/
↓によれば、GLUのソースを抜き出して利用するのは "It was very easy" らしい。
http://www.vterrain.org/Implementation/Libs/triangulate.html
俺はソース読むのが面倒だからDirectXでもGLUをそのままブラックボックスとして使っちゃったりするけど。

968 名前:965 :2005/07/21(木) 22:36:08
>>967
ありがとうございます。教えていただいたGLUで検索すると
http://graphicsbb.itgo.com/solutions/extrude.html
というところが見つかりました。これでなんとかできそうです。
ありがとうございました。

969 名前:デフォルトの名無しさん :2005/07/21(木) 23:48:48
再現性が低いバグが出た場合
おまいさんがた、どう対処してますか?

d3dxmath.hこんなファイル名だったか
 inline
 D3DXVECTOR3 operator - 忘れた
 {
⇒     return D3DXVECTOR3( x - v.x, y - v.y, z - v.z );
 }
こんな汎用的に使う場所で・・・

970 名前:デフォルトの名無しさん :2005/07/21(木) 23:50:48
何がおかしいの?

971 名前:デフォルトの名無しさん :2005/07/21(木) 23:53:35
あ しまった。

初回の例外は〜〜〜〜〜とでて止まった。

972 名前:デフォルトの名無しさん :2005/07/22(金) 00:00:05
>>969の存在そのものがバグ。
修正するのなら死ぬしかない。

973 名前:デフォルトの名無しさん :2005/07/22(金) 00:04:50
>>972
そいつは困った。

ブレークポイントも効果ない上に
なかなか症状がでないなぁ。

974 名前:デフォルトの名無しさん :2005/07/22(金) 00:09:17
C MAGAZINEのプログラムの禁じ手にある
・自動変数をポイントして,それを関数の戻り値にする
・解放したものを使う

ここらへんを やらかしたんだろうか?w

975 名前:デフォルトの名無しさん :2005/07/22(金) 00:38:26
>>969は自動変数のコピーを返してるだけじゃないの?

976 名前:デフォルトの名無しさん :2005/07/22(金) 00:47:42
vが怪しいかも

977 名前:デフォルトの名無しさん :2005/07/22(金) 00:52:54
d3dx9math.inl(385)

D3DXINLINE D3DXVECTOR3
D3DXVECTOR3::operator - ( CONST D3DXVECTOR3& v ) const
{
    return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);
}

これか。
…構文的には間違ってないように思えるけど。

978 名前:969 :2005/07/22(金) 00:59:31
971,973,974は自分です
名前欄いれるの忘れてた。

D3DXVECTOR3をnewしてもいないのに
ポインタとかありえんしなぁ

void hoge( D3DXVECTOR3* pV )
こんな関数は沢山作っちゃったけど
pVの参照元が何もありません
とかも考えきれんしなぁ



979 名前:デフォルトの名無しさん :2005/07/22(金) 01:01:00
少なくとも、D3DXVECTOR3::operator - には何の問題もない。

980 名前:デフォルトの名無しさん :2005/07/22(金) 01:02:41
あるあるww
俺の場合は呼び出し元が壊れたオブジェクトだったり、無効なポインタdeleteした後だったってことが多いw
関数は問題ないんだよなww

981 名前:969 :2005/07/22(金) 01:04:27
>>977
おお まさにソレです

とりあえずあやしぃ場所に
assert( pV )
仕掛けまくってみますた
そもそもデバッガ機能を
使いこなせてない俺ガイル

それでは、おやすみ

982 名前:969 :2005/07/22(金) 01:07:50
壊れたオブジェクトか
STLのvectorでの消し方がまずかったかな

参考にしてみます。ありがとう!!

983 名前:デフォルトの名無しさん :2005/07/22(金) 01:20:52
遅レスだが、エフェクトというMS用語にはマジでむかついた。
nVidiaのCg以上にむかついた。
混乱するだけだろっての。

984 名前:デフォルトの名無しさん :2005/07/22(金) 02:04:25
>>969
そろそろデバッガの使い方を覚えた方がいいと思うぞ。
例えば「初回の例外」って何のことだか分かってるか?

985 名前:デフォルトの名無しさん :2005/07/22(金) 09:24:10
>>983
DX7あたりのエフェクトはクソだったが
今はだいぶ使えるようになったぞ。
頑張って慣れろ、絶対エフェクトマンセーになるから。

986 名前:デフォルトの名無しさん :2005/07/22(金) 09:26:14
>>985
そういう話じゃないだろ

987 名前:985 :2005/07/22(金) 09:26:45
ああ>>983は、エフェクトの名前そのものに文句いってるのね。
それは同意、つーかコンピュータの技術って一般的な名前つけるの
多すぎ。アトラスとかベロシティとか、検索めんどくせーんだよ。

988 名前:デフォルトの名無しさん :2005/07/22(金) 09:30:58
日本語なら、まだカタカナ語として専門用語っぽく区別できるけど、
英語の中に紛れると非常に不便だよね。

989 名前:デフォルトの名無しさん :2005/07/22(金) 09:34:17
だからといって、英語の医学用語みたいにラテン語バリバリとかも嫌だけどw

990 名前:デフォルトの名無しさん :2005/07/22(金) 09:46:26
まともな名前を考えるとしてRenderingSolution?

991 名前:デフォルトの名無しさん :2005/07/22(金) 10:03:45
せめて2単語なら検索しやすくなるのに、1単語だもんな。
検索しにくいったらありゃしない。非常にむかつく。

992 名前:デフォルトの名無しさん :2005/07/22(金) 10:11:33
史上最強のクソ名前ってやっぱCgか?

993 名前:969 :2005/07/22(金) 12:38:02
>>984
漠然とでしか解ってなす。
大概、リリースとかデリートしたものにアクセスすると
そういうのに引っかかるかな。

994 名前:デフォルトの名無しさん :2005/07/22(金) 13:38:38
BBX荒らしてるjj = スレ主

995 名前:デフォルトの名無しさん :2005/07/22(金) 13:51:26
むしろ荒らしは休暇中。
何であんなに得意気なんだ?

996 名前:デフォルトの名無しさん :2005/07/22(金) 18:17:09
おまいら次スレって概念は無いのか
またリンク無しか、テンプレ議論も無しか

ここの>>1自体は良いテンプレだけどな(誰も守らんが)
他、初質系の割に、いつまでたっても参考リンクが出来ないとことかどうよ

997 名前:デフォルトの名無しさん :2005/07/22(金) 18:26:19
>>996
じゃあ次スレよろしく

998 名前:デフォルトの名無しさん :2005/07/22(金) 20:21:15
【C++】 DirectX初心者質問スレ Part5 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1122031254/

999 名前:デフォルトの名無しさん :2005/07/22(金) 20:52:32
ume

1000 名前:デフォルトの名無しさん :2005/07/22(金) 20:53:04
hara


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