トップページgamedev
1001コメント376KB

DirectX総合スレ (Part6)

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001DirectX62006/11/17(金) 00:38:52ID:lRjOsWKq
言語はC++
他の言語使ってる奴はいますぐ消えろ

■過去スレ

DirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
0889名前は開発中のものです。2007/05/13(日) 04:13:16ID:YhPUR9BZ
こんな時間に質問です。

今、"Special Effects Game Programming with DirectX"って本を読んでいるんですが
添付されているCDのDirectXはVersion 8.1です。
ネットで検索すると最新はVersion 9.0cらしいですね。

皆さんならどちらをインストールしますか?
(それらの違いをよくご存知の方が答えてくださると光栄です。)
0890名前は開発中のものです。2007/05/13(日) 07:37:01ID:SnrZits5
>>888
マップチップでやるっつーのは質問者の意向だろう
その前提を覆すなら初めからそういっときなよ
苦しくなったからって今更一枚絵でーとか逃げんな

お前の主張

一枚絵でやってもいんじゃね。ローカルメモリに全部読み込むと楽でいいよ

で片付く話。長文でぐだぐだ書かなくていいよ
0891名前は開発中のものです。2007/05/13(日) 09:34:18ID:qSV8MiSt
>>888
お前まさかマップチップの利点がVRAMの節約だけだと思ってんのか?

すくなくとも画面いっぱいにチップ描画をする程度なら素直にバッファまとめてDPすりゃいい。
1024x768程度の画面を32x32のチップで埋め尽くしても余裕で60FPS出る程度の速度にゃなる。

元のチップを1枚のテクスチャにまとめるというデータ的な最適化は必要だがな。

背景に動画だとかユーザーの入力に反応してスクロールするときとか、
地形が変化するときどうするつもりだよ。
そもそも画質が劣化するしチップごとにアトリビュート持たせるために別のエディター用意すんのか?
0892名前は開発中のものです。2007/05/13(日) 09:38:17ID:Ll0xyx+i
>背景に動画だとかユーザーの入力に反応してスクロールするときとか、地形が変化するとき
質問者はそこまで想定してんの?
0893名前は開発中のものです。2007/05/13(日) 09:48:08ID:o7qNUyB+
>DrawPrimitive
結局、頻繁に呼ぶと遅く、まとめて呼ぶと早いのなら、
APIそのまま使わず、
ラッパー一段かませれば済む話でもないのかな?
まあ、構造同じにならないから、同じようには組めないだろうけど

あと、試すのもいいけど、他の3DライブラリでDirect3Dの扱いどうなっているかも見た方がよさげですね。

普段OpenGL使ってて、DirectX使うおうか悩んでて覗いている者なので適当に流してくれていいけど。
0894名前は開発中のものです。2007/05/13(日) 10:17:17ID:hldRPPX0
>>892
え、RTSってそういう処理が必要な筆頭じゃないの?

>>893
まあそのラッパー内部をどう実装するかの話でもあるわけで。
GL実装のシーングラフでも、ステート変更削減を優先としたソートと
遮蔽カリングを優先としたソートみたいなのがあるじゃん。
あれに「DPコール数」が加わる感じ(実際にはステート変更削減にほぼ含有されるけど)。
0895名前は開発中のものです。2007/05/13(日) 12:35:00ID:1Qws1EBM
>>891
>背景に動画だとかユーザーの入力に反応してスクロールするときとか、地形が変化するとき
これでも問題ないぜ
動画はユーザーの入力に反応させて再生時間を進めてやればいいぜ
地形が変化するときは変化するときするところだけポリ数が多いもん使えばいいぜ
0896名前は開発中のものです。2007/05/13(日) 14:38:41ID:Ll0xyx+i
>>894
いや発端の837にそこまで書いてなかったからさ
どの程度までやろうとしてるのかは質問者じゃないとわかんないでしょ
やりもしないことに対してアドバイスしてもと思って
0897名前は開発中のものです。2007/05/13(日) 14:41:27ID:qSV8MiSt
>>895
おまいさんは地形が変化する場合の全パターンを動画でつくるのか?

あと地形に高低差があって前後関係からソートが必要なときどうすんだ・・・
対応するZバッファも動画に作っておくのか?

>地形が変化するときは変化するときするところだけポリ数が多いもん使えばいいぜ
2Dのマップチップの話でポリ数?
0898名前は開発中のものです。2007/05/13(日) 15:03:58ID:1Qws1EBM
>>897
地形の話と動画の話は別でなw(別にやってもかまわんけどw)
なんでくっついたんだ?w

>対応するZバッファも動画に作っておくのか?
そういうライブラリあったなぁ・・・自分で作りゃいいけどw

>2Dのマップチップの話でポリ数?
そうそう、マップチップてのも所詮格子状のメッシュを表示してるに過ぎない
だから変形させるときだけ変形させたいメッシュに挿げ替えてもいいわけ
地形が変形するのはこれで対応できる
0899名前は開発中のものです。2007/05/13(日) 16:59:10ID:+AlEORLF
>>889
>出版社: Premier; Pap/Cdr版 (2001/12/1)
古!もっと新しい本読んだほうがいい。
グラフィックス技術に関する本は進歩が早い。3年も経つと役に立たないとおも。

DirectX8 → 過去の遺産
DirectX9 → 現役
DirectX10 → ?

DirectX9の最新を入れるのが望ましいけど、
初めての場合は日本語マニュアルのあるバージョン入れればいいんじゃナイン?
(今見た感じではOctober 2004か?これも結構古いね。。。)
0900名前は開発中のものです。2007/05/13(日) 17:01:43ID:G1Q8MypF
確かに古いグラフィックス技術は役に立たなくなるな
業務系はMDXからWPFに変わるだろうし、
ゲームはMDXからXNAに変わるからな。
基本的にDirectXをラッピングしただけなんだけどね。
0901名前は開発中のものです。2007/05/13(日) 17:05:06ID:r63fo3XD
C++をそんなに切り捨てたいのかな
0902名前は開発中のものです。2007/05/13(日) 17:22:44ID:n9ubTWNv
MSにからするとC++だろうとC#だとうと製品が売れてくれれば良いと考えてるから、
別にC++を切り捨てたいと考えているわけではない。
本国の開発者が簡単に開発できるようにしてくれと言う要望が多いから自然とC#に
取って代わっているだけだ。
0903名前は開発中のものです。2007/05/13(日) 17:57:09ID:o7qNUyB+
>>901
C++が簡単に覚えられて、セキュアなら切り捨てないだろうな
0904名前は開発中のものです。2007/05/13(日) 18:33:28ID:qSV8MiSt
D3D10触るなら結局C++じゃなきゃだめだし全然切り捨てられてないだろ。
XNAはD3D9が前提だし。
0905名前は開発中のものです。2007/05/13(日) 18:35:38ID:KHtOAKRB
HSP
0906名前は開発中のものです。2007/05/13(日) 18:44:52ID:um5/oy7y
>>904
バージョンアップすれば良いだけだよ。
0907名前は開発中のものです。2007/05/13(日) 18:53:14ID:Ddw6YCjh
比較的に習得難易度の高いC++を喜んで使っているのは日本人位だぞ。
海外では、習得難易度の低い言語を喜んで使っているのに。
日本人の変な職人意識がされせてるんだろうけどね。
0908名前は開発中のものです。2007/05/13(日) 19:03:29ID:WaANxxN8
>日本人の変な職人意識がされせてるんだろうけどね。

日本人を語る前に日本語でおk
0909名前は開発中のものです。2007/05/13(日) 19:04:55ID:s2cymDK6
ベターCと思えば難易度なんて零に等しい。
0910名前は開発中のものです。2007/05/13(日) 19:08:25ID:KHtOAKRB
HSP
0911名前は開発中のものです。2007/05/13(日) 20:14:52ID:cBAd95/m
>>907
ツクールなんて使うなんて日本人ぐらいだぞ、海外ではプログラミングバリバリ
0912名前は開発中のものです。2007/05/13(日) 20:24:58ID:xUYhEzLu
>>911
RPG-Tsukuruでググってみろw
0913名前は開発中のものです。2007/05/13(日) 20:45:00ID:cBAd95/m
>>912
ツクール2003でそんなに売れてないと思うんだけど・・・平均は高かったが
あっちはfpsとかが主流でsdkで配布してmodでいろいろ拡張してとかだし
大学卒でゲームエンジン会社作る人も入るからレベル地学ね?
0914名前は開発中のものです。2007/05/13(日) 20:45:42ID:o7qNUyB+
>>912
かなり、引っかかってビビタ
0915名前は開発中のものです。2007/05/13(日) 20:46:13ID:o7qNUyB+
>>909
そのベースのC言語が難しいとは思わんのだろうな・・・これだから・・・
0916名前は開発中のものです。2007/05/13(日) 21:07:52ID:pf2aaMdX
ツクールってTsuだったのか・・。
0917名前は開発中のものです。2007/05/13(日) 21:13:25ID:s2cymDK6
C言語なんて、
コンピュータの大まかな仕組みが判っていればすんなり理解できるはず。
各種のテクニックについては、必要に応じて知識増やしていけば大丈夫だろ。

PGなら最低限コンピュータの大まかな仕組みを考えて、
実行速度が早くなるよう予測しながらコーディングするわけだから、
PG資質に自動的についてくる程度のものだろ、C言語スキルなんて。

というわけだから、そろそろDirectXネタに軌道修正してくれ。後はROMるからw
0918名前は開発中のものです。2007/05/13(日) 21:14:51ID:TqtnwnbW
>>907
今海外にいるが同意しかねる
0919名前は開発中のものです。2007/05/13(日) 21:21:58ID:qSV8MiSt
まぁコンシューマー機でC#やJAVA使うことはまずないからな・・・
0920名前は開発中のものです。2007/05/13(日) 22:18:16ID:Ll0xyx+i
>>919
XBoxを仲間はずれにしないでください。・゚・(ノД`)・゚・。
0921名前は開発中のものです。2007/05/13(日) 22:32:09ID:wxcsKR97
GUIツール制作はもうC#一択でもいいかしら、って気がしないでもないわ。
0922名前は開発中のものです。2007/05/13(日) 22:36:03ID:qSV8MiSt
>>920
XBOXでも商用はC++だっつーの。
XNAは商用に使うもんじゃねぇw
0923名前は開発中のものです。2007/05/13(日) 22:44:17ID:1Qws1EBM
正直、C#は何がいいのかよくわからない
0924名前は開発中のものです。2007/05/13(日) 22:47:22ID:Rmwcgt3j
>>923
オブジェクト指向言語、GC、ジェネリック、デリゲート、マネージ・アンマネージを両方使える。
これくらいかな?
0925名前は開発中のものです。2007/05/13(日) 22:49:59ID:1Qws1EBM
>>924
いや、C++と比べて
0926名前は開発中のものです。2007/05/13(日) 22:52:48ID:Njnbtq5T
ヘッダファイル→イラネ
かなw
0927名前は開発中のものです。2007/05/13(日) 22:53:39ID:1Qws1EBM
C++で全部ヘッダーに書いてみるとかw
0928名前は開発中のものです。2007/05/13(日) 22:58:56ID:+lZI1v+3
一番は参照型、値型を意識しないでプログラミングができることだろうね。
0929名前は開発中のものです。2007/05/13(日) 23:05:55ID:+c7Xo/Fh
C#で
int* p = new int;
と同等のコードってどうなるの?
0930名前は開発中のものです。2007/05/13(日) 23:09:09ID:1Qws1EBM
>>928
それなんかいいの?
大事なことがぼやけていくような
0931名前は開発中のものです。2007/05/13(日) 23:09:59ID:d9Lz/MLC
>C++で全部ヘッダーに書いてみるとかw

テンプレートだらけにすればほとんどのコードはヘッダに
ビルドに時間かかるけどッギモヂイイ
0932名前は開発中のものです。2007/05/13(日) 23:10:49ID:d9Lz/MLC
>>928
それ最悪じゃね
0933名前は開発中のものです。2007/05/13(日) 23:17:44ID:1Qws1EBM
なにも考えずに文字列連結していったら大変なことになりそうだ

str += buff[i];

みたいな。
前後みて適切な動作してくれるならいいけど一文字ずつ領域確保しなおすとか
マゾい仕様に仕上がっててこんなのが今後の主流とかなったら泣く
0934名前は開発中のものです。2007/05/13(日) 23:20:08ID:wxcsKR97
>>929
Object i = new int();
たぶんこうかしら。ボクシングってやつね。
値型うんねんはちょっとは意識した方がいいかもね。
0935名前は開発中のものです。2007/05/13(日) 23:27:39ID:G3x2P80e
C++ と C# の比較
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cscon/html/vclrfcomparisonbetweenccsharp.asp
0936名前は開発中のものです。2007/05/13(日) 23:36:10ID:1Qws1EBM
>デストラクタ : C# では、デストラクタはガベージ コレクタによって自動的に呼び出されるため、デストラクタが呼び出されるタイミングを制御できません。
俺、これすっげー嫌だわ
なんでこんな仕様にしたんだろ?
誰か好きな奴いんの?

>C# では、ビット フィールドはサポートされていません。
これ、便利なときもあるからなくさないでほしいな
移植のときとかあると便利だし

>switch ステートメント : C++ の switch ステートメントとは異なり、C# は、ある case ラベルから下にある case ラベルへの移動をサポートしていません。
なんでみんなが慣れた動作を変えようとするのかわからん

あと、ポインタと文字列関連嫌な臭いがする
0937名前は開発中のものです。2007/05/14(月) 01:01:24ID:yjPo2K0+
一度CやC++に慣れたら、わざわざC#やる気は起きないよなw
0938名前は開発中のものです。2007/05/14(月) 01:17:19ID:L8cLvTAn
そうでもない
ケースバイケースで使い分ける。

使い捨てアプリは C# で創ったほうがずっと楽だし
外部に公開するアプリは C++ で書いたほうが良いだろう。
0939名前は開発中のものです。2007/05/14(月) 01:25:19ID:5kwfmOE5
>>938
いやー、ライブラリに蓄積って形がなれてるから
別言語使う必要のないところで使いたくないなー
0940名前は開発中のものです。2007/05/14(月) 01:26:22ID:5kwfmOE5
>>937
同意だ
0941名前は開発中のものです。2007/05/14(月) 02:07:06ID:yjPo2K0+
> 使い捨てアプリはC#
使い捨てアプリは板違いだから、ゲ製的にはC系使いはC#イラネって事か…
0942名前は開発中のものです。2007/05/14(月) 02:38:58ID:vfAgKAOX
>>936
そのためのDispose

>>switch ステートメント : C++ の switch ステートメントとは異なり、C# は、ある case ラベルから下にある case ラベルへの移動をサポートしていません。
>なんでみんなが慣れた動作を変えようとするのかわからん

諸悪の根源だからな。

基本的にC++と互換性はないよ。そのまま移植はありえない。
0943名前は開発中のものです。2007/05/14(月) 02:57:05ID:k6jq6JKI
C#というより.NETFrameworkのランタイム使えれば.NET使えば良いだろう。
使えなければC++のネイティブが良い。
DirectX環境でランタイム使えないのはさすがにありえないけどね。
0944名前は開発中のものです。2007/05/14(月) 04:48:22ID:U4grSrCx
Managed使ってみてもなんか気持ち悪いしな
慣れればいいんだろうけど
0945名前は開発中のものです。2007/05/14(月) 08:41:13ID:Rbwmu53K
>>898
>だから変形させるときだけ変形させたいメッシュに挿げ替えてもいいわけ
ねえ・・・結局最初からマップチップで描画すりゃいいじゃんソレ・・・。
0946名前は開発中のものです。2007/05/14(月) 14:03:54ID:IqWECu0g
>>941
>使い捨てアプリは板違いだから

心の狭い香具師だな
0947名前は開発中のものです。2007/05/14(月) 23:17:43ID:czGrVvYN
.NETの参照型、値型の縛りは気持ち悪い。
何でヒープ型とスタック型にしなかったんだろ。
こっちの方が自然だし、自由度が高い。
0948名前は開発中のものです。2007/05/14(月) 23:33:34ID:5kwfmOE5
>>945
変形させるとなるとかなり目の細かいメッシュが必要だから常時だしてると重くなるよ
0949名前は開発中のものです。2007/05/15(火) 00:18:54ID:b6S1ChH/
>>947
それだとユーザ定義型でスタック型とヒープ型を混ぜられなくなるんじゃない?
無理矢理混ぜられるようにあれこれ弄りだすと結局今の値型になりそうだけどその辺どうよ?
それとも混ぜられなくておkにするの?
0950名前は開発中のものです。2007/05/15(火) 00:29:10ID:b6S1ChH/
>>947
それともC++みたいに確保時にスタック上とヒープ上の選択ができるようにするってこと?
ヒープ型とスタック型って響きは自然だけど、どういう仕様を意図してるのかいまいち分からん。
0951名前は開発中のものです。2007/05/15(火) 01:03:08ID:kfJ7M9rT
{
value_t value0; // スタック型

value_t value1 = value0; // スタック型は常にコピー

value_t^ pValue0 = new value_t(); // ヒープ型

value_t^ pValue1 = pValue1; // ヒープ型は参照カウント増加

value_t^ pValue2 = ^value0; // オートボクシング
} // スコープを外れるとスタック型は、Disposeコール

っていうかC++/CLI?
0952名前は開発中のものです。2007/05/15(火) 09:45:05ID:ySPPyGNu
>>948
CPUかフィルレート律速の状況なのに、頂点数減らすために
わざわざ柔軟性の無い実装に変えても意味ないでしょ。
0953名前は開発中のものです。2007/05/15(火) 10:03:15ID:4as9xAPK
まぁ一般的に頂点シェーダーが吊る事ってまずないからなぁ・・・。
元は画面いっぱいのチップが重いって話なんだしDP量に比例するCPU負荷の話だろ。
0954名前は開発中のものです。2007/05/15(火) 15:46:48ID:247W4gkD
すみません
>717のLueというライブラリは何かの略称でしょうか?
ぐぐっても出てきませんです。
0955名前は開発中のものです。2007/05/15(火) 16:46:21ID:wufws/3W
>>954
Lunaライブラリ系列についてはつい最近出来た
http://gamdev.org/w/?%5B%5B%A4%AA%A4%DE%A4%A8%A4%E9%B2%B6%A4%CBLuna%5D%5D
0956名前は開発中のものです。2007/05/15(火) 16:59:52ID:247W4gkD
ありがとうございます
Blue Impulse に突っ込むところでした
0957名前は開発中のものです。2007/05/15(火) 19:08:35ID:f7G5sIdD
>>951
くだらねw
それじゃ、C++じゃねーか。
C#のいいところが抜け落ちてる
0958名前は開発中のものです。2007/05/16(水) 02:04:24ID:mcxT4s5r
3Dモーションモデルの作成はやはり、photoshopを使うべきなんでしょうか?
0959名前は開発中のものです。2007/05/16(水) 02:18:04ID:Lzqa97Xd
DCC(Digital Content Creation)ツール
http://3dcg.homeip.net/3d_products/

この中のお勧めはどれかな?
0960名前は開発中のものです。2007/05/16(水) 02:31:59ID:VSHkmsP8
ゲームやるならXSIFndか 金あるならMaxいっとけば?
・・・その人使い込んでないソフトのことも記事にしてないか?中立視点のようで温度差けっこうあるなw
0961名前は開発中のものです。2007/05/16(水) 08:55:24ID://Z4Ymn2
俺はLightwave信者
0962名前は開発中のものです。2007/05/16(水) 11:15:12ID:y5FykLvg
ツールの信者は結構いるよな。
一度使ったら、他のツールを使うつもりにならないなぁ。
とりあえず、Max使い始めました。
0963名前は開発中のものです。2007/05/16(水) 18:25:55ID:6mx3tuvt
俺もLightWaveだな
まぁこればっかりは好みだから仕方ない
0964名前は開発中のものです。2007/05/16(水) 18:51:08ID:LCXuH5pB
Lightwaveって、一昔前にトゥーンが強いって聞いたけど、
今でもLightwaveがトゥーン最強?
0965名前は開発中のものです。2007/05/16(水) 18:53:35ID:VBs2TFGD
>>963
好み以前に、趣味レベルだと価格の問題がw
趣味でMaxは手が出ないな。まぁ、gmaxで十分かもしれないが。
0966名前は開発中のものです。2007/05/16(水) 20:54:55ID:7cJo3Vs6
ビルボードを実装しようとしているのですが、上手くいかないので
どうか教えてください。
ビュー行列のm41、m42、m43 を0にして、その逆行列を
ワールド行列に設定して描画したのですが、
遠くの板ポリも近くの板ポリも全く同じ大きさに表示されてしまいます‥orz
と言うか、カメラ位置をフィールドに対しズームアウト、ズームインしても
遠くの物も近くの物もカメラの目前に張り付いてるように、常時同じ大きさと位置で表示されてしまうのです。

ビルボードに遠近感を持たせるにはどうすればいいのでしょうか?
RHWが何たらとも読んだのですが、具体的な実装法が全く分かりません。
何とぞご教授をお願いします
0967名前は開発中のものです。2007/05/16(水) 20:59:16ID:X+5WGjdi
射影行列を設定しろ。
0968名前は開発中のものです。2007/05/16(水) 21:12:44ID:CrdwKTEd
射影行列だっけ?
ビルボードってカメラ行列(ビュー行列?)のm41,m42,m43の以外の部分を
コピーしてビルボードを置きたい座標をm41,m42,m43に入れるだけだと思ったけど
メッシュは-z方向に向ければ、別に行列いじらなくてもそのまま使えたような・・・
0969名前は開発中のものです。2007/05/16(水) 21:20:24ID:X+5WGjdi
射影変換無しでどうやって遠近のサイズを設定するんだ?
そのビックリな方法を言ってみろ。
0970名前は開発中のものです。2007/05/16(水) 21:25:59ID:bB+r/QzK
位置に応じて単純なスケーリングを
まあ射影変換のことだけどな!
0971名前は開発中のものです。2007/05/16(水) 21:35:44ID:lSuw7PNY
>>966
逆行列をとった行列が、
実はビュー行列じゃなくて、ビュー行列とプロジェクション行列の積
だったんじゃないの?

いかにもありそうだが
0972名前は開発中のものです。2007/05/16(水) 22:38:21ID:7cJo3Vs6
>>970
そのスケーリングの方法を教えてください。

ちなみに、IDirect3DDeviceにプロジェクション行列は設定してます。
ビュー行列の逆行列を、Deviceのワールド行列に設定して
描画すると、ビルボードの遠近感だけが全くなくなってしまうのです。
(DSpriteで描画したのと同じ感じになる)
具体的な方法を何とぞご教授くだされ
0973名前は開発中のものです。2007/05/16(水) 22:40:04ID:CrdwKTEd
>>969
え?意味がわからん。
普通の、まーよくある描画までの一連の流れは辿ってるってこと前提だと思ったんだけど
ビルボードじゃなくてモデルの表示まではできてるって俺は勝手に思ってたけどそうじゃなくて
質問者は射影行列つーかワールドから画面に表示するまでの一連の流れができてない状態の人だったってこと?

俺は、ビルボードのローカル座標のあり方について聞いてるかと思った
0974名前は開発中のものです。2007/05/16(水) 22:41:26ID:CrdwKTEd
>>972
てか、ビルボードじゃない普通の3Dモデルは表示できてる?
てか、3D空間は構築済み?
0975名前は開発中のものです。2007/05/16(水) 23:00:16ID:7wvGwwEk
>>972
ビルボードの場合、オブジェクトの向きは、カメラの向きによって決まるけど、
オブジェクトの位置は変えちゃだめよ。
とりあえず、ビュー行列の逆行列(=カメラの姿勢行列)を求めてから
その平行移動成分(m41,m42,m43)に、位置座標を上書きすれば多分おkね。
今はきっと、全部のビルボードが、ワールドの原点に配置されているんじゃないかしら。
0976名前は開発中のものです。2007/05/16(水) 23:11:29ID:CrdwKTEd
やっぱそうだよなぁ
#ああ、俺もビルボードのローカル座標とか違うこと言ってるわw

カメラの姿勢行列のm41,m42,m43以外の部分をコピーして来て
ビルボードを置きたい座標(ワールド)をm41,m42,m43に突っ込んで
できたもんがビルボードのワールド座標だよな

射影行列使ってやる方法もあるってことなんかな?
0977名前は開発中のものです。2007/05/17(木) 00:19:03ID:+BYlvm7I
シェーダで演算してその結果をID3DXEffect::GetIntで
取得できないかといろいろ試しているのですが
この方法は無理ですか?誰か助けて。
0978名前は開発中のものです。2007/05/17(木) 00:33:34ID:/T2VJZC8
無理じゃね?
0979名前は開発中のものです。2007/05/17(木) 00:59:13ID:hoPxXnJ+
>>977
どっかのテクスチャに描画してその描画結果を取得するんじゃ駄目なの?
0980名前は開発中のものです。2007/05/17(木) 01:25:44ID:LzmNTBWG
>>975
それが無理なんです‥
やって見ればわかります。
ちなみに、カメラの位置は地面から垂直な天上から30度下げた位置にあり
つまり、地面とその上に立つキャラを斜め上から見下ろしてる状態です。

キャラをビルボードにすると、丁度キャラが地面に立ってるようになる訳で
ビルボードにした場合は、カメラに対して手前のキャラは大きく
奥のキャラは小さく表示されるべきなのに、上の方法を使用しただけでは
全部のキャラが手前奥関係なしに同じ大きさになってしまうのです。

ビュー行列の逆行列(シフト成分ゼロ)に加えて、もう一つ何かの計算が
必要だと思うのですが、どうかそれをご教授ください。
0981名前は開発中のものです。2007/05/17(木) 01:45:40ID:kp/jlzet
視線ベクトルと単位垂直ベクトルの外積を、単位化して水平ベクトル
            ^^^^^^^^^^^^@            ^^^^^^^^^^^^A
@とAで3D空間上にポリゴン表示。
0982名前は開発中のものです。2007/05/17(木) 07:29:25ID:hoPxXnJ+
>>980
>それが無理なんです‥
>やって見ればわかります。
いや、俺>>975じゃないけど感覚でそうはならんはずってわかるっしょ
だってカメラの姿勢行列ってワールドに普通に存在するモデルとなんも変わらないじゃん。
その行列の位置座標を変えるだけなんだからこれでおかしいってことないでしょ。
仮にカメラの回転成分を
1000
0100
0010
にして位置座標だけ変えてみたら描画までおかしくなりそうか?ならないっしょ?

なにか別のことしててそれがバグってるんでしょ。
0983名前は開発中のものです。2007/05/17(木) 07:38:22ID:hoPxXnJ+
書いてて気付いたけど
もしかして>>980ってワールドの拡大縮小を利用して描画のサイズを決定してるんじゃ・・・
0984名前は開発中のものです。2007/05/17(木) 09:45:28ID:mphBkoz/
要は、木のビルボードみたいに軸回転だけにしたいわけね。
0985名前は開発中のものです。2007/05/17(木) 09:58:55ID:LzmNTBWG
>>983
そうなんです。
もともとD3DTS_WORLDに、::D3DXMatrixScaling(1 / 1280, 1 / 960, 1 / 480)で生成した
スケーリング行列を設定してたので、先のビュー逆行列とスケーリング行列の積を
D3DTS_WORLDへ、新たに設定してます。
それはダメなのですか?
0986sage2007/05/17(木) 14:11:34ID:rJQ9Pieq
各オブジェクトの D3DTS_WORLD は共通で、代わりに位置座標は、
DrawPrimitiveUPかなんかで描画するときに、ポリゴンの座標を直接変更してるってこと?
もしそうなら、ポリゴン座標の変更はやめて、
各オブジェクトごとに、ビルボード行列*平行移動を求めて
D3DTS_WORLDに設定しないとだめね。
0987名前は開発中のものです。2007/05/17(木) 21:08:08ID:hoPxXnJ+
>>985
>それはダメなのですか?
うん
別にそのままでも動くっちゃ動くけど、色んな行列変換ができなくなるよ
こういうのははじめにデザイナさんと打ち合わせして寸法決めとかないと駄目
んでワールドの原点に普通に表示したときには
1000
0100
0010
0001
で普通に表示できないと苦しい
スケール使って調節するってのは普通はやんない。と思う。
0988名前は開発中のものです。2007/05/17(木) 21:22:58ID:i1w2om/x
スクリーン座標に対応させたビルボード用のビュー行列を用意しておいて、
必用なときだけ切り替えれば済む話。
レス数が950を超えています。1000を超えると書き込みができなくなります。