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


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

鬱だ氏のう DirectX (Part 11)
501 名前:デフォルトの名無しさん :04/01/18 19:20
>>500
キューブマップが使えるようになったのはGeForce/Radeon世代になってから
だから、RivaTNTやRageだと使えないのよ。あとintelの815も駄目かな?

スフィアマップは法線をほとんどそのままテクスチャ座標として使うだけだから
実装が物凄く簡単で、TnLHALならハードウェアの支援も受けられる。
ただし、視点を動かすことができないという致命的な欠点がある。

Dual-Paraboloidはスフィアマップの欠点を克服したもので、視点を自由に動かせる。
これも実装は簡単でハードウェアの支援が受けられる。

キューブマップが使えるならキューブマップの方がほとんどの面で優れているから
無理に使う必要はないよ。

502 名前:デフォルトの名無しさん :04/01/18 23:30
透過用のアルファ値を反転させて表示させようと思い、
単純に
pDev->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pDev->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

pDev->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_INVSRCALPHA);
pDev->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_SRCALPHA);

としてみたのですが、上手くいかず、
pDev->SetRenderState( D3DRS_ALPHATESTENABLE, FALSE );
を追加したら上手くいきました。

D3DRS_ALPHATESTENABLEがTRUEの時にブレンド処理がされる物とばかり
思っていたのですが、実は違うのでしょうか?

503 名前:デフォルトの名無しさん :04/01/19 00:57
>>501
レスありがとうございます。
スフィアマップやDual-Paraboloidは
キューブマップが使えない環境で環境マップを使うための技術なのですね。
このままキューブマップを使おうと思います。

丁寧な説明ありがとうございました。

504 名前:デフォルトの名無しさん :04/01/19 01:05
>>502
D3DRS_ALPHATESTENABLE はアルファテストで
D3DRS_ALPHABLENDENABLE がアルファブレンド


505 名前:デフォルトの名無しさん :04/01/19 01:22
>>504
確かによく見ると・・・。
アルファが0の所は先にアルファテストで抜かれて、
アルファが255の所はD3DBLEND_INVSRCALPHAでさらに抜かれて、
全部透明になってたんですね・・・。失礼しました。

506 名前:デフォルトの名無しさん :04/01/19 18:37
自分で3DCG書こうと思ったら結構大変ですが、皆さんどうしてます?
Xファイル素材集みたいな物は無いのでしょうか?
メタセコイヤで作ろうと思ったんだけど予想以上に面倒で挫折しそうです・・・



507 名前:デフォルトの名無しさん :04/01/19 20:46
同士発見。
パッケージ買おうかと考えたこともあるけど、
3Dの素材集だけやたら高いんですよね・・・

508 名前:デフォルトの名無しさん :04/01/19 21:07
まともなモデルを利用する3Dは、貧乏人には向かない。

509 名前:デフォルトの名無しさん :04/01/19 22:03
>>506-507
かっこいいもの作ろうと頑張るなよ。
○とか■でも適当に組み合わせてそれっぽくみえりゃいいじゃん。
手間をかけずにそれっぽく見えるようにする技術を身につけろ。
会社でも役に立つぞ。

510 名前:デフォルトの名無しさん :04/01/19 22:11
スプライトっぽい機能のものを作ろうとして四角形の形のメッシュを
作ったまではよかったがこれってもしかして移動するにも
シェーダにそういうしくみを作っとかなきゃいけないのか・・・。
2Dだから3X3の行列を渡せばいいのかな?

511 名前:デフォルトの名無しさん :04/01/19 22:32
>>509
おっしゃる通りなんですよね。
それっぽいものでまったく問題ないのですが。
最後の行には同意なんで、がんがって精進します。

512 名前:デフォルトの名無しさん :04/01/20 00:50
素材集ってほとんどがプリレンダにしか使えないよ。
データとして素材が抽出できるような使い方は駄目っていうライセンスが普通。

>>510
どう組んだのか知らないが、スプライト使うならトランスフォーム済みの頂点
フォーマット使えばそのままスクリーン座標で指定できるから楽だよ。

513 名前:デフォルトの名無しさん :04/01/20 01:05
>>512
つか、この場合って頂点バッファ作らないでやっちゃってもいいんですかね?

514 名前:デフォルトの名無しさん :04/01/20 01:16
>>513
そんなんどっちでもいいよ。頂点バッファの方がちょっと速いだけだし。
むしろ頂点バッファは扱い方を間違えると遅くなるから、初心者はUPの方が
いいかもしれない。

515 名前:デフォルトの名無しさん :04/01/20 01:24
>>514
UPの制限が気にいらないっす。
ストリーム0だけっすか・・・。

516 名前:デフォルトの名無しさん :04/01/20 18:04
>>515
DX8ドライバならXYZRHW頂点は結局ストリーム0オンリー

517 名前:デフォルトの名無しさん :04/01/20 22:16
ちょっと誰かこれの使い方教えて。
http://www.shaderworks.com/index.html

518 名前:517 :04/01/20 22:29
プレビューにモデルも出せません。

519 名前:517 :04/01/20 22:38
わかりました
私の使っているグラボがps2.0をサポートしていないため
何も出なかったみたいです。
 ∧||∧
(  ⌒ ヽ 逝ってきまつ
 ∪  ノ 
  ∪∪

520 名前:デフォルトの名無しさん :04/01/21 01:50
>>517
普通に動いたが使い方がわからん。
ちょっと誰かこれの使い方教えて。

521 名前:デフォルトの名無しさん :04/01/21 03:11
ttp://www.interq.or.jp/black/minami-m/games/Imdun.exe
↑これのビルドの仕方が分からない・・・。
>>491の通りにパスを通すだけじゃ駄目なの?

522 名前:521 :04/01/21 03:17
ちなみにエラーが90個も出る。例えば
c:\DX90SDK\INCLUDE\d3dvec.inl(20) : error C2511: '_D3DVECTOR::_D3DVECTOR' : オーバーロードされたメンバ関数が '<Unknown>' にありません。
とか。

523 名前:デフォルトの名無しさん :04/01/21 06:06
>>522
dd_lib.hを書き換え、dsound.hより先にd3d.hをインクルードするようにすればいい

そんな糞古いサンプル捨てろよ


524 名前:521 :04/01/21 12:58
>>523
ありがとうございました。

>そんな糞古いサンプル捨てろよ
3D空間を動き回るサンプルがこれ以外見つけられなかったのもので・・・。

525 名前:デフォルトの名無しさん :04/01/21 13:09
>>524
DirectX9
http://mofon.pns.to/pg/index.html

526 名前:521 :04/01/21 13:47
>>525
これ.NETですよね。VC++6.0でも出来ます?ビルドしたら
c:\libsrc\afld3dobject.h(17) : fatal error C1083: インクルード ファイルがオープンできません。'boost/shared_ptr.hpp': No such file or directorycl.exe の実行エラー
って出るんですが。
どこかにboostフォルダを作ってその中にshared_ptr.hppを入れるのですか?

527 名前:デフォルトの名無しさん :04/01/21 15:44
ホントにこのスレはインクルード ファイルがオープンできないスレだな

528 名前:デフォルトの名無しさん :04/01/21 18:28
boostって言ったらあれしかないだろ
googleで検索汁

529 名前:デフォルトの名無しさん :04/01/22 14:46
3Dのサイコロが転がって目を決めるプログラムを作ってけろ!
これが出来ねえと留年だ俺!
誰か出来たらどっかにUPしてけろけろw

530 名前:デフォルトの名無しさん :04/01/22 14:47
>>529
留年->退学ケテーイ

531 名前:デフォルトの名無しさん :04/01/22 14:47
留年しろけろ。けろけろ!

532 名前:デフォルトの名無しさん :04/01/22 17:47
>けろけろw
まだ余裕がありそうだな。

533 名前:デフォルトの名無しさん :04/01/22 19:30
サイコロをマジでやるなら剛体力学を扱うプロムラモになるな。
平面以外の床も扱うなら衝突チェックもエライ免独裁。
そこまでやるなら空気抵抗も考慮せねばなるまい。
ここはおとなしく留年してけろ

534 名前:デフォルトの名無しさん :04/01/22 20:55
モーションを6パターン作(ryけろけろ

535 名前:デフォルトの名無しさん :04/01/22 22:14
誰かドミノシミュレーション作って100万枚くらい置ける奴

536 名前:デフォルトの名無しさん :04/01/22 22:32
サンプルのビルドにすら難儀するレベルだからな。ここの住人

537 名前:デフォルトの名無しさん :04/01/22 22:42
>>536
え?苦労するでしょ、っていうか面倒であることはたしかでしょ。
俺の感覚からすると「どうしてVC使っててビルド一発で動かないの?」って思うけど。
はっきりいってすっげー下手糞だろサンプル組んだ奴って。
マイクロソフトのページににおいてあるDirectX8のサンプルも
バージョンが変わったせいか古いSDKとってこないとビルドできないしね。
っていうか同じファイル名のバージョン違い作るなよ。ド級のアホだろ?
世の中下をみるとそれなりに下っているもんだねって安心するよ。マジで。

ちなみにnVidiaのサンプルも一発では動かない。
対してATiは一発で動いたりする。

538 名前:デフォルトの名無しさん :04/01/23 01:16
>「どうしてVC使っててビルド一発で動かないの?」

普通にヘルプを読めば一発で通るが……。

539 名前:デフォルトの名無しさん :04/01/23 02:05
サンプルの出来は別として一応動くかな。

540 名前:デフォルトの名無しさん :04/01/23 20:25
頂点シェーダを使っていろいろ実験してみたいんだけど、
D3DXLoadMeshFromXで読み込んだメッシュを
DrawSubset()と用いる代わりに、頂点シェーダ使って描画することってできんの?

541 名前:デフォルトの名無しさん :04/01/23 23:06
DX9ならシェーダ使っててもDrawSubset()でいけるよ。
DX8の場合はGetVertexBuffer,GetAttributeTable等を使って自力で
DrawPrimitiveすればできる。

542 名前:デフォルトの名無しさん :04/01/24 08:15
>>541 情報ありがとう。DX9なら直にできんのですか…バージョンアップしたい
とりあえずは後者の、テーブル属性値を自前で確保する方法に挑戦してみます。

543 名前:デフォルトの名無しさん :04/01/24 20:27
DirectXってまだほとんど仕様が固まっていないな・・・
勉強はもうちょっと後にしよう。

544 名前:デフォルトの名無しさん :04/01/24 20:34
>>543
お前の寿命が来る前に固まるといいな。
どうせ何もできない言い訳にしているだけだろうけどな。

545 名前:デフォルトの名無しさん :04/01/24 21:06
>>543
固まっていないのではなく、MSがDirectXに関しては容赦なくAPIを刷新するポリシーなだけ。
大多数のゲーム開発者はちゃんとそれについて行っている。

546 名前:デフォルトの名無しさん :04/01/24 22:14
まあ Longhorn がリリースされるまでは大きな変更はないと思うから今のうちにやっとけ

547 名前:デフォルトの名無しさん :04/01/24 23:34
LonghornでDirectX8時代のゲーム動くの?

548 名前:デフォルトの名無しさん :04/01/24 23:35
>>547
そりゃ普通に考えて問題ないべ。

549 名前:デフォルトの名無しさん :04/01/25 01:48
固まるもなにも、技術の進歩に合わせて常に変化しているんだから、グラフィック
アクセラレータの進歩が止まらない限り、ずっと変わり続けるよ。
逆にDirect3D以外は既に更新が止まってるが。そういう意味では固まってる。

新しいバージョンが出てもDirectX7を使い続けたって構わないんだから、自分の
要求を満たすバージョンで覚えてそれを使ってりゃいいんだよ。

今からやるなら、2D系なら7、3D系なら9がいいかと。

550 名前:デフォルトの名無しさん :04/01/25 03:39
今からやるならなおのことDX9一本に絞っていいだろw

551 名前:デフォルトの名無しさん :04/01/25 03:46
DX10が出るのは2年は先のことだしな

552 名前:デフォルトの名無しさん :04/01/25 09:46
>>551
2年ででるのかな?
とりあえずLonghornを様子見。

553 名前:デフォルトの名無しさん :04/01/25 15:39
2Dアクション作ってる方に質問です
2Dやろうと思ってるんですがDx9でも問題ないのでしょうか?
友人からは2D(DirectDraw)ならDx7といわれましたが、
Dx9でテクスチャ貼るような感じで無理やり3D→2Dでやった方が色々と楽なような気もしますが(回転とか拡大とか半透明とか)


554 名前:デフォルトの名無しさん :04/01/25 15:43
その通り

555 名前:デフォルトの名無しさん :04/01/25 16:38
>>553
ノートPCなんかだとDirectDraw+ソフトウェア処理の方が軽くない?
や、もちろん品質にも差がでるだろうから3D使える環境なら3D使ったほうがいいと思うけど。

556 名前:デフォルトの名無しさん :04/01/25 16:43
>>553
DX7とDX9を両方使って、DX7と言うなら分らないでもないが…
恐らく、DX7派ってDX9を使ってない、理解出来ないとかなんじゃないかな。

あ、DX9は理解出来ないからDX7ってなら納得。

557 名前:デフォルトの名無しさん :04/01/25 17:02
派とかどうでもいい話すんな。
各々の案件に適したバージョンを採用せよ。
終わり。

558 名前:デフォルトの名無しさん :04/01/25 17:04
そうそう。
2chってすぐ対立論争させようとするよな。くだらねえことで。
自分の優位性をそういうところに見出そうとしてるんだろうな。

559 名前:557 :04/01/25 17:07
相槌打つなら無言にしてくれ

560 名前:デフォルトの名無しさん :04/01/25 17:09



561 名前:デフォルトの名無しさん :04/01/25 17:14



562 名前:デフォルトの名無しさん :04/01/25 17:15
ノートを守備範囲にいれるならDX7しかないよね。
3Dで640x480描くだけで60FPS絶対でない。

でも、実は座標変換済み頂点だけを使用したらそうでも無いの?
実は試したことないので。

563 名前:デフォルトの名無しさん :04/01/25 17:27
>>562
ノートもいろいろあるからそうとも言えんでしょ。

でも今どきDirectDrawの方が軽いってのは
かなりしょぼいノートだと思うぞ。

564 名前:553 :04/01/25 18:19
Dx9でも特に問題はないということですね
ノートの人はごめんなさいということで、Dx9でいくことにします


565 名前:デフォルトの名無しさん :04/01/25 18:58
>>562
自分のノートでは変換済み頂点だけでも話にならなかった。
エロゲくらいは動くがなー。

ま、ノートPCは切るってのが一番かも

566 名前:デフォルトの名無しさん :04/01/25 19:11
830Mとか、最近のCentrinoノートPCならIntel Extreme Graphics 2が載ってるから、
廉価デスクトップPCと同程度の3D性能はある。
2Dゲーや軽い3Dゲー程度なら楽々60fpsで動くってこった。
A4ノートならMOBILITY RADEON 9000以上やGeForce Go搭載はもう珍しくもない。

全体的にノートPCでもちゃんと3Dをサポートしようという方向に向かってる。
FF11くらい動かないとまずいでしょって雰囲気。
Longhornのこともあるし、今からDirectX 7で頑張るのは正直おすすめできないな。

目前に迫るDirectX 9統合チップセットラッシュ
http://pc.watch.impress.co.jp/docs/2004/0123/kaigai057.htm

とのことだし。あと、このサイトが参考になると思う。
http://www.kettya.com/

567 名前:デフォルトの名無しさん :04/01/25 19:19
α付きテクスチャ*αカラー
をターゲットに対しαブレンド
ぐらいができれば、
Zバッファはなくても2D的用途には問題ないように思うがどうか。

568 名前:デフォルトの名無しさん :04/01/25 22:43
Bltだけで用が済むようなのなら、DX7の方が圧倒的に良いと思うが。
半透明・回転が必要ならDX9の方がいいけど。
ただ、ウィンドウモードを実装しようとすると、DirectDrawは面倒。
Direct3Dはフォーマット変換もやってくれるから楽なんだけどね。

俺は今でも用途にあわせて、3,7,9を使い分けてるよ。
NT4でも動かしたいときだけ3で、基本的には7か9だな。

569 名前:デフォルトの名無しさん :04/01/26 01:25
2Dでもαチャンネル使えないDirectDrawは用済みだな、俺的には。
http://gamdev.org/up/img/029.png
こういう普通の合成もできないわけだし。

570 名前:デフォルトの名無しさん :04/01/26 01:42
>569
そう考えるとx8以降は便利だよね
いい世の中になったもんだ


ガッ

   ガッ  ガッ

571 名前:デフォルトの名無しさん :04/01/27 00:46
VB+Win2kで2Dスプライトの高速描画をやろうと思っています。
いにしえのDirectDrawを使おうと思っています。
最近のVGAドライバは余裕でDirectDrawに完全対応しているのでしょうか?
DirectDrawは枯れた技術なので、どんなマシンでもOS並に動作が安定する
ことを期待しています。実際にはどうなのでしょうか?

572 名前:デフォルトの名無しさん :04/01/27 01:06
DirectDrawに対応してないVGAって…
そんなのもううんこVGAだよ

573 名前:571 :04/01/27 01:30
>>572
流石に最近になってDirectDraw非対応のVGAは見ないけど、
DirectDrawに中途半端に対応していてBltが変な動作して、
ビットマップ表示が欠けるというのは見たことがあります。

皆様、最近のVGAでのDirectDrawの動作不安定報告もしていただけると嬉しいです。

574 名前:デフォルトの名無しさん :04/01/27 02:14
俺のTrio64ですらDirectDrawは使えるぞ。
7とかは試してないから怪しいけど。

575 名前:デフォルトの名無しさん :04/01/27 02:26
OS並に安定させたいならGDI使うしかないだろう。

576 名前:デフォルトの名無しさん :04/01/27 02:47
>>571
DirectDrawとか言う括りじゃなくて、capsで個々の機能を調べないの?

577 名前:デフォルトの名無しさん :04/01/27 20:51
質問
お金がなく、今年のVisualStudioのメジャーVerUpまでVC5を使わざるを得ない者
です。DX8の勉強をしているのですが、dx8dx.hを使うサンプルをコンパイルすると
UINT_PTRが定義されていない、というメッセージを発し終了してしまいます。
#include "basetsd.h"を加えれば無事コンパイルできるのですが、どうも
DX8SDKを使うに当たって根本的な設定を間違えている気がしてなりません。
VC6以降を使われている方はソースでどのようにUINT_PTRが定義されているのか
教えていただけると幸いです。

578 名前:デフォルトの名無しさん :04/01/27 21:25
悩んでる暇があったらバイトして金ためろ

579 名前:デフォルトの名無しさん :04/01/27 21:42
>>572,>>574-576
結局DIBを使うことにしました。
ありがとうございました。

580 名前:デフォルトの名無しさん :04/01/28 02:09
UINT_PTRを検索して全て(unsigned int)にすればして
セーブすればいいだけ・・・。

581 名前:デフォルトの名無しさん :04/01/28 02:14
Platform SDKをUpdateするって選択肢はないのか…

582 名前:577 :04/01/28 06:05
>580
過去ログネタですか?


583 名前:デフォルトの名無しさん :04/01/28 12:47
>>580=>>338

584 名前:デフォルトの名無しさん :04/01/30 00:15

おい、迅鉄が金ゴキ持ってるらしいが借り物だよな?
 

585 名前:584 :04/01/30 00:15
誤爆

586 名前:デフォルトの名無しさん :04/01/30 00:58
Xファイル読み込んでテクスチャ貼り付けたのはいいんだけど、
なんか影がついてないように見える。
ちなみにテクスチャを貼り付ける前は(生の状態)ちゃんと影っぽいのできてた。
こういう時に何がありえる?

587 名前:デフォルトの名無しさん :04/01/30 01:16
>>586
お前の頭がラリってるだけ

588 名前:デフォルトの名無しさん :04/01/30 01:38
>>587
わかんない人は無理してレスしなくていいです・・・(^_^;)

589 名前:デフォルトの名無しさん :04/01/30 01:52
>>586
キチンと説明出来ない人もレスしなくていいです・・・(^_^;)

590 名前:デフォルトの名無しさん :04/01/30 02:15
キチンと説明できる人はそんなことで悩まないかもしれない。

591 名前:デフォルトの名無しさん :04/01/30 02:20
こんなことで悩む香具師はまあいないだろうな

592 名前:デフォルトの名無しさん :04/01/30 02:45
マジレス
影ではなくて陰では?
SetTextureStageStateで適切な設定がされているか確認汁
特にD3DTSS_COLOROPがD3DTOP_MODULATEになってるか確認汁

593 名前:デフォルトの名無しさん :04/01/30 13:50
3Dアクションゲームを作成しているのですが、
Xファイルを読み込んで、Xファイルに事前にツールで入れておいたアニメーションデータを
使用して、アニメーションさせるやり方をしてゲームを作成しています。
最近、あるサイトで親子関係のアニメーションを計算でやっているものを見つけました。
こちらの方が、アニメーションを計算で行うため自由度が高いと思うのですが、どうなんでしょうか?
3Dアクションゲームの場合、どちらがむいているのでしょうか?

レベルの低い質問ですが、アドバイスの方お願いします。

594 名前:デフォルトの名無しさん :04/01/30 14:25
>>593
真面目な話、普通のアクション物なら、事前に作ったモーションを再生するのが一番でそ。
アニメーションを計算でやるって…もしかしてKanekoさんとこのIK格闘の奴?
あれは割とネタっぽいところがあるんでそこまでせんでいいかとw

595 名前:デフォルトの名無しさん :04/01/30 16:33
>>593 参考までに、私の例を紹介しておきます。
私が作り中のFPSでは、人体モデルの各ボーンを物理法則に従って計算させてます。
1体あたり21ポーンの人体モデルを5体配置するとフレームレートが30位になって
しまいます。ちなみにCPUはPen4 1.5GHzです。

銃身を微妙に動かしたり、自然な足さばきができるのでいいのですが、
キャラが少ししか出せないのでは仕方ないので、主役キャラ以外は、
素直にモーションデータ使おうかなと考えたりもします。
一応、計算量を減らせないかと思案中ですが。

596 名前:593 :04/01/30 17:41
レスありがとうございます。参考になりました。
>>594
Kaneko氏のところではないのですが、やってることは同じようです。
>>595
体験談非常に参考になります。



597 名前:デフォルトの名無しさん :04/01/30 18:25
DirectInputのキーボードの入力処理で使うDIK〜をアスキーコードに変換するにはひたすら分岐書くしかないでしょうか?

598 名前:デフォルトの名無しさん :04/01/30 18:41
どうせ連番で定義されてるだろうから値調べて計算で変換したら?
定義変わったらアウトだけどまずないだろ
つかそいつはDirectInputが必要な処理なのか?

599 名前:デフォルトの名無しさん :04/01/30 19:20
>597
もしくはテーブルを作るか。
>598
だいたいキーボードの配列順だから、計算では無理。

600 名前:デフォルトの名無しさん :04/01/30 19:59
>>593
市販ゲームの多くは、その両方を組み合わせているよ。
基本的にアニメーション再生で、手足はIKで地形に適応させて、服や髪を
物理シムで計算して、首はターゲットの方を向かせる…といった感じ。

アニメーション再生するかしないかと択一的に考えずに、柔軟に組み
合わせて使うのが良いかと。

上に書いたように1つのモーションに両方を組み込むのが面倒なら、
例えばパンチやキックは事前に作成したアニメーション再生だけど、
吹っ飛んだりダウンしたりするときは計算で求めるとか。

601 名前:597 :04/01/30 20:18
タイピングのゲームつくってるんですが
文字列の現在位置と同じキーが押されたら〜みたいなことをやりたいのです。
DirectInputいらないと言われたらいらないですね・・・

602 名前:デフォルトの名無しさん :04/01/30 20:32
普通にいらんでしょ
DI使う意味がわからん


603 名前:デフォルトの名無しさん :04/01/30 20:35
きっとジョイパッドでカーソル操作してミスったら振動とかやりたいんだよ多分。

604 名前:デフォルトの名無しさん :04/01/30 20:48
ああ、なるほどな
タイプミスったらチンコマシーンが作動すると


605 名前:デフォルトの名無しさん :04/01/30 21:46
人類の英知がまた1ページ

606 名前:デフォルトの名無しさん :04/01/30 22:18
人類のエッチがまた1ページ

607 名前:デフォルトの名無しさん :04/01/31 06:15
またBBXdj

608 名前:デフォルトの名無しさん :04/01/31 08:03
DirectX 9.0 SDK Update (Summer 2004) Beta 1が出た。
というわけで、今年もコアの更新はないようだ。

609 名前:デフォルトの名無しさん :04/01/31 11:26
そりゃないだろうよ

610 名前:日曜PG :04/01/31 15:37
DirectX9を使ってアクションゲームを作っています。
手元の参考書にキーフレームアニメーションという項目があるのですが、
モーションなどを、キーフレームで考えるというのは納得できるのですが
その参考書には移動もキーフレームで行っています。
長い距離を違う動作環境で移動させた場合、PCスペックによって移動距離に
差がでるので、キーフレームを使用するというのには納得がいくのですが
キーを押した時だけ移動するような、短距離を移動させる場合に
キーフレームが必要なのか疑問です。

みなさんは、キャラクターを移動させるときどのように考えてますか?
長文ですいません。


611 名前:デフォルトの名無しさん :04/01/31 16:13
>>610
お前がサンプルよりいいやり方を思いついたなら、それをやればいいんだよ。

ただ、これは間違い。本質的に別問題。
>長い距離を違う動作環境で移動させた場合、PCスペックによって移動距離に
>差がでるので、キーフレームを使用するというのには納得がいくのですが


612 名前:デフォルトの名無しさん :04/01/31 16:20
なんかその阿呆な質問の内容にデジャブーを感じるのだが。
どこかのコピペ?

613 名前:日曜PG :04/01/31 16:38
>>611
>長い距離を違う動作環境で移動させた場合、PCスペックによって移動距離に
>差がでるので、キーフレームを使用するというのには納得がいくのですが

これは、同じ時間移動処理をさせると、PCのスペックにより移動距離に差が出るという
意味でした。記述ミスすいません。↑でも本質的に別問題なのでしょうか?
DirectX ゲームグラフィックスプログラミングという本にそういう事が書かれていました。


614 名前:デフォルトの名無しさん :04/01/31 16:52
別問題

615 名前:日曜PG :04/01/31 17:01
>>614
どのように別問題なのでしょうか?
何度も読み返したのですが、別問題というのがまだ理解できません。
アドバイスをお願いします。

616 名前:デフォルトの名無しさん :04/01/31 17:05
キーフレームと時間って無関係じゃないのかね。

617 名前:デフォルトの名無しさん :04/01/31 17:09
>>615
その参考書の名前をさらせよ!
つか、もう、その参考書捨てた方がいいよ!マジで!

618 名前:デフォルトの名無しさん :04/01/31 17:12
理解の仕方間違えてるだけかもしれないけどね。

619 名前:日曜PG :04/01/31 17:14
>>616
うぇええ!
無・・無関係ですか・・・。
通常のアニメーション=1コマごとに指定
キーフレームアニメーション=時間単位で動きを指定
って書いてますね><。


620 名前:日曜PG :04/01/31 17:25
>>618
図で書くと

<キーフレーム無しのアニメーション>
----------------------4コマで1m移動--------------------
PCが早い場合     ○→○→○→○→●
1秒間に4コマ処理

PCが遅い場合     ○→○→●|-------| ←1秒間の移動量が違う
1秒間に2コマ処理

<キーフレームのアニメーション>
----------------------4コマで1m移動--------------------
PCが早い場合     ○→○→○→○→●
1秒間に4コマ処理

PCが遅い場合     ○→→→○→→→● ←1秒間の移動量が違う
1秒間に2コマ処理               それでも1秒間の移動量は1m

こういう図が説明のところに載ってますね。

621 名前:デフォルトの名無しさん :04/01/31 18:02
遅いPCの時は50cmずつ移動させればいいだけ。
キーフレームの使用とは全く関係ない。

622 名前:デフォルトの名無しさん :04/01/31 18:07
>>620
時間を考慮しないで移動させれば、速度が変わってしまうのは当たり前。
それとキーフレームにどういう関係があると思ったのか、具体的に説明せよ。

623 名前:デフォルトの名無しさん :04/01/31 18:46
・普通のアニメ
10コマ分のフレームを用意する。
・キーフレームアニメ
キーとなるフレームを3枚だけ用意し、途中のフレーム(残り7枚)は計算で求める。

ということでまず、上のどちらかでアニメの素材を完成させたところで、
次に、>>620のように、単位時間でどれだけ移動させるとか、
単位時間で何コマ動かすという話になるんでしょ?

624 名前:デフォルトの名無しさん :04/01/31 20:58
ポリゴンの裏面というのはどう作ればよろしいのでしょうか。
普通に三角形を描いたとして、表が白・裏が黒みたいにしたいのですが。

625 名前:デフォルトの名無しさん :04/01/31 21:02
そういうのは点ABCを結ぶポリゴンと点ACBを結ぶポリゴンの2枚を使えばOK

最近は一発でいける方法があるらしいねぇ

626 名前:デフォルトの名無しさん :04/01/31 21:34
ありがとうございます。
ポイントリストの順番を変えたものをもう一個用意すればよろしいのですね

627 名前:デフォルトの名無しさん :04/02/01 00:00
法線とかいらなければ、CULLMODEを逆にすれば同じ頂点データでいけるが。
色とかを変える必要すらないなら、D3DCULL_NONEで1回で描画できる。

628 名前:デフォルトの名無しさん :04/02/01 03:02
>>627
表が白で裏が黒って書いてあるから
わざわざ625みたいに書いたわけでそ

629 名前:デフォルトの名無しさん :04/02/01 03:08
んなこたあ>>627も分かってるだろ。わざわざいらんツッコミするヤツだな。

630 名前:デフォルトの名無しさん :04/02/01 03:17
俺から見たら627が要らん発言なのだが…
だって色を変えたいんで質問してるのに
色とかを変える必要すらないなら、
って全く逆の前提の話の解答してるんだもん

あーもうこんなどうでもいいことで突っかかって俺も馬鹿だな

631 名前:デフォルトの名無しさん :04/02/01 06:07
>>630
>>627の1行目を百回読み直しましょう。

632 名前:デフォルトの名無しさん :04/02/01 07:24
ワケの分からん屁理屈ツッコミが多いな。このスレ

633 名前:デフォルトの名無しさん :04/02/01 19:30
>>625
行列はどのようにすればよろしいのでしょうか
ABC,ACBの二つを用意し、
同じ回転行列で描いたところうまくいきませんでした。


634 名前:デフォルトの名無しさん :04/02/01 22:07
>>633
発想を変えてみれば?
平行移動成分は同じで
回転成分はABCのポリゴンを原点で180℃回転した物を、ACBに使うとか。
もっと良い方法があるかも知れんが…

635 名前:デフォルトの名無しさん :04/02/01 22:38
x,y,zからディスプレイの座標(x,y)に変換
するにはどうすればよいでしょうか?

636 名前:デフォルトの名無しさん :04/02/01 22:41
Pick...

637 名前:デフォルトの名無しさん :04/02/01 22:46
サンプルくらいは見ろよ

638 名前:デフォルトの名無しさん :04/02/01 22:56
まじこういう質問する人って
3Dグラフィクスがどうして表示されるのかとか勉強してからのほうがいいと思う

639 名前:デフォルトの名無しさん :04/02/01 23:01
どうやって勉強するのでしょうか?

640 名前:デフォルトの名無しさん :04/02/01 23:06
勉強のしかたを知らない人が増えています

641 名前:デフォルトの名無しさん :04/02/01 23:16
勉強やめますか?それとも人間やめますか?

642 名前:デフォルトの名無しさん :04/02/01 23:29
俺は人間をやめるぞ>>641イイイイィ〜

643 名前:デフォルトの名無しさん :04/02/01 23:33
藻前ら,635ごときに熱くなるようじゃ
2流から抜け出せないぞ。

644 名前:デフォルトの名無しさん :04/02/01 23:36
人間をやめて吸血鬼になれば超一流

645 名前:sage :04/02/02 04:11
DirectXを使ってRealOnePlayerのファイルを再生したいんですが、
どうしたらいいんでしょうか。フィルタに何かを指定したり
するんでしょうか。


646 名前:デフォルトの名無しさん :04/02/02 04:13
sage書く場所間違えた_| ̄|○

647 名前:デフォルトの名無しさん :04/02/02 06:07
>>638
そう馬鹿にしたもんでもないよ。
俺、rhwを使わないで自力でシェーダ使って
ディスプレイ座標に変換しようとしたとき本当に迷ったもん。

648 名前:デフォルトの名無しさん :04/02/02 07:02
>>634
やはりどうもうまくいかないみたいです
表と裏を0.013f離すとそれっぽくは見えますが。
それより短いと筋が入ったように変な表示になってしまいました。

649 名前:デフォルトの名無しさん :04/02/02 07:42
座標変換でもシェーダ使いとD3DX使いじゃ、差がありすぎじゃんw

650 名前:デフォルトの名無しさん :04/02/02 08:00
>>648
なぁ?カリングって知ってる?
これがわからないと解決できない問題なんだけどなぁ・・・。

例えばDirectXはどうやって三角形の裏表を判断しているのかなぁ・・・って話なんだけど。

筋が入ったような変な表示になるのってのは要するに
白と黒のポリゴンが同時に描画されてしまっているわけよ。
でも、望んでいる結果は白か黒のどちらかが描画されてほしいわけよ。

いま、君は白と黒の2枚のポリゴンを使って書いているわけよ。
いうまでもなくこのそれぞれに裏と表が存在しているわけよ。
問題は裏を向いているポリゴンが描画されてしまっていることなのよ。
白だけを描画してほしいのに黒も描画されてしまっていて、
黒だけを描画してほしいのに白も描画されてしまっている。

つまりだな・・・。
カリングの設定をきっちりやらないと未来はないぞってことなのよ。
device->SetRenderState(D3DRS_CULLMODE,D3DCULL_CW);
とか
device->SetRenderState(D3DRS_CULLMODE,D3DCULL_CCW);
とか
とりあえず突っ込んでみろボケ。

651 名前:デフォルトの名無しさん :04/02/02 08:52
>>650

652 名前:デフォルトの名無しさん :04/02/02 08:54
>>651
   __                 __
   \  \./■ヽ/■ヽ/■\ /  /
    \ ( ´∀( ´∀( ´∀`/  /

653 名前:デフォルトの名無しさん :04/02/02 10:17
>>650
( ´,_ゝ`)

654 名前:デフォルトの名無しさん :04/02/02 20:05
>>650
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない。

655 名前:デフォルトの名無しさん :04/02/02 20:14
ん?誤爆だなw

656 名前:デフォルトの名無しさん :04/02/02 20:51
>>654
(・∀・)GO BACK!!

657 名前:デフォルトの名無しさん :04/02/02 21:55
4つのスピーカから別々に波形合成した
4つの音をばらばらに出そうと考えています。
ところが、なぜか左右のスピーカに
ミキシングされてしまい困っています。
(FL+BLと、FR+BRとなって、左右で鳴る)

ttp://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx
ここのMulti-Channel 16-bitを参考にして
WAVE_FORMAT_EXTENSIBLE設定で、waveOutOpenしたのですが、
データを8バイト=1セットで作成し、FL,FR,BL,BR別々に
鳴らそうとしてもFLとBLで(FRとBRも同様)同じ音になります。

dwChannelMaskが0x33なのを色々変えると、スピーカの鳴るものも
変わるので、なんとなくは反応していそうなのです。

ttp://www.tsp.ece.mcgill.ca/MMSP/Documents/AudioFormats/WAVE/Samples.html
SB Liveの4スピーカ設定にし、診断でも4つの
スピーカが別々に鳴るし、ここの4chデータ
WAVE_FORMAT_EXTENSIBLE filesもちゃんと鳴るので、
環境の設定は大丈夫だと思います

658 名前:デフォルトの名無しさん :04/02/03 06:03
DirectX7 ですが、サーフェスロストのリストアが非常に面倒くさい。
本当にみんな、Blt系メソッドを呼び出すたびに DDERR_SURFACELOST
をチェックして、リストア処理しているの?

ヘルプには、多くのメソッドはロスト状態を検出すると DDERR_SURFACELOST を
返してあとは何もしない、てなことをと書いているから、ロストしていようが
何だろうが、描画処理を全て終えてから IsLost() を呼び出してチェック
しているけど、こんなので問題ないんだろうか…。

DirectX8(DirectGraphics)以降では、ロストをどう処理しているのだろう。

659 名前:デフォルトの名無しさん :04/02/03 06:16
>>658
そんなことしてねーよ。
俺は、ロストしたらフリップが失敗するからそれでロストしたと判断してるけど。
そのときにとりあえずデバイスまわりはすべて破棄する。
それで復帰したとき(Windowsのメッセージがなにかくるはず)にまたすべてを作り直してるけど。

660 名前:658 :04/02/03 06:19
>>659
さんくすです。
ついでに、Blt〜 が DDERR_SURFACELOST を返すのは、転送先
(つまり dstsurf->Blt の dstsurf) がロストしたときだけ?それとも
転送元のサーフェスがロストした場合にも Blt は DDERR_SURFACELOST を
返すの?

661 名前:デフォルトの名無しさん :04/02/03 07:07
>>660
知らん。つか昔は多分知ってた。
俺は、その辺ひっくるめて考えるのが面倒臭くなったから
一括破棄して一括復帰にしている。

662 名前:デフォルトの名無しさん :04/02/03 11:54
DX7に関する知識を一括破棄してDX9で復帰したのかと思った。w

663 名前:デフォルトの名無しさん :04/02/03 13:56
頂点情報をいじらずRenderStateをいじるだけでアルファを
変えられるというのを昔見た気がしたのですがどのようにやればよろしいでしょうか

664 名前:デフォルトの名無しさん :04/02/03 14:20
>>663
そんなのあったっけ?
アルファってテクスチャのアルファと頂点色のアルファと他なんかあったっけか?

665 名前:デフォルトの名無しさん :04/02/03 14:29
あー、あとマテリアルのアルファがあるのか・・・。
でもRenderStateだけでできたっけ?

666 名前:デフォルトの名無しさん :04/02/03 14:43
普通はマテリアルのアルファで調節すると思われ

他にもSetTextureStageStateのD3DTSS_ALPHAOPで三項演算を指定して
D3DTSS_ALPHAARG0で調節できるかも...
でも三項演算は対応してないグラフィックカードが多そうだし
オイラ使ったコト無いからワカンネ

667 名前:デフォルトの名無しさん :04/02/03 15:08
>>666
マテリアルってシェーダ使ったときに無視されなかったっけ?
そう考えると頂点色のアルファの方がいいような気が・・・。

668 名前:デフォルトの名無しさん :04/02/03 15:27
DirectX9.0 update(Summer)を使って作成しています。

// Direct3D フォント生成
hr = D3DXCreateFontIndirect( lpD3DDevice, &logfont, &m_lpD3DXFont );

ここで、
error C2664: 'D3DXCreateFontIndirectA' : 2 番目の引数を 'LOGFONT *__w64 ' から 'const D3DXFONT_DESCA *' に変換できません。
というコンパイルエラーでます。
DirectX9.0 SDKの時は出なかったのですが、何か回避法をご存知の方いますか?


669 名前:デフォルトの名無しさん :04/02/03 15:29
>>668
D3DXが一部変更されています
詳しくはヘルプで

670 名前:668 :04/02/03 15:41
>>669
書き込む前にヘルプを見たのですが、DirectX9.0 SDKの仕様しか書かれていませんでした。
公式に新しいのがあると思い、行ったのですがSummerのヘルプはないようです。
どこか他にあるのでしょうか?


671 名前:デフォルトの名無しさん :04/02/03 15:59
>>670
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/d3dx/functions/miscellaneous/d3dxcreatefontindirect.asp
これか?ちがったらすまんこ。

672 名前:デフォルトの名無しさん :04/02/03 16:03
>>670
Microsoft DirectX 9.0 日本語ドキュメント

DirectX 9.0 日本語ドキュメント
このダウンロードには、完全に日本語化された DirectX 9.0 のドキュメントとリリースノートが含まれています。
directx9_c.chm はダブルクリックすれば読むことができる C/C++ のドキュメントです。DirectX9JpnDoc.msi には
C/C++ に加えて Managed (C#、Visual Basic .NET) の日本語ドキュメントが含まれています。
Visual StudioR .NET をお使いの場合は、このファイルをダブルクリックしてインストールすると、
Visual Studio .NET ドキュメントとして読むことができます。DirectX 9.0 Update (Summer 2003) の

英語ドキュメントの更新には対応していません。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Date: December 20, 2002


673 名前:デフォルトの名無しさん :04/02/03 16:06
>>663
TFACTORのこと?

674 名前:668 :04/02/03 16:14
>>671
ビンゴです!
たすかりました

675 名前:デフォルトの名無しさん :04/02/03 16:18
しかも、何も考えずにインストールしているなら英語ドキュメントも
一緒にインストールされてるはずだし

676 名前:デフォルトの名無しさん :04/02/03 16:29
>>673
TFACTOR DirectX をキーワードにしてググルと結構ピンポイントで当たるね。

677 名前:デフォルトの名無しさん :04/02/03 16:55
前から気になってたけど、Summerと9.0ってどっちのほうがいいのかな?
まぁ、使い方にもよると思うけど。
ちなみに俺は、9.0派。なんか使いやすい。

678 名前:デフォルトの名無しさん :04/02/03 17:42
新しいほう使ってた方がいいんでない?

679 名前:デフォルトの名無しさん :04/02/03 18:06
>>677
8.0か9.0で迷ってるなら勝手にすりゃいいと思うけど。
コンパイルも通るし、まあ、どうでもいいっちゃどうでもいい。
9.0とsummerじゃsummerにしちまったらコンパイルすらできないわけだが・・・。

680 名前:デフォルトの名無しさん :04/02/03 18:12
多くの人にやって貰いたいなら8.0ですかねぇ〜。
でも8.0(8.1a)とかってどこで手にいれれば
いいんですか?

681 名前:デフォルトの名無しさん :04/02/03 18:18
ぶっちゃけ、D3DXしか変わってないからどっちでもいい>2003Summer

682 名前:デフォルトの名無しさん :04/02/03 18:54
TFACTORは何気に新しめなボードでも不具合があったりするから注意
確かTFACTORとのMODULATEかなんかで出来ないことがあったような?
GeForce3クラスなら大丈夫だったと思うけど…

683 名前:デフォルトの名無しさん :04/02/03 18:58
マテリアルのアルファはフォグ係数。
ロストは、Dirext3D8以降はPresent(Direct3D7でいうFlip)が失敗するので
それで判断。

684 名前:デフォルトの名無しさん :04/02/03 19:27
DX8SDKは米国からどーぞ

685 名前:デフォルトの名無しさん :04/02/03 20:27
>>683
>マテリアルのアルファはフォグ係数。
何?

686 名前:デフォルトの名無しさん :04/02/03 20:42
勘違い君だろ

687 名前:デフォルトの名無しさん :04/02/03 21:02
ロスト判定は普通TestCooperativeLevelかBeginSceneの失敗じゃねーの?

688 名前:デフォルトの名無しさん :04/02/03 21:22
頂点のアルファいじるのはフェードイン・アウトの時にきつくね?
そんなことはないかなぁ。
なんか頂点を毎フレームいじるのは重いと教わったんだが

689 名前:デフォルトの名無しさん :04/02/03 21:27
>>688
そっか、シェーダ使ってない人は
ロックとかアンロックとかしなきゃならねぇな。

690 名前:デフォルトの名無しさん :04/02/03 21:37
>>688
でも、さすがにフェードイン・アウトぐらいで何がどうにかなるってことはないべ。
ただ、LockしてUnLockして頂点1つ1ついじるよりはマテリアルのアルファを設定した方がいいのかな。

ちなみにシェーダ使ってる人はピクセルシェーダにそんな感じのレジスタがあるんだっけ?
俺、最近HLSLやり始めたばっかりだから知らないや。

691 名前:デフォルトの名無しさん :04/02/03 22:02
まっとうなパーティクルシステムを作っていれば、動的頂点バッファでLock/Unlockしてるだろ。
必要な場所でなら恐れることもないと思うけど。


692 名前:デフォルトの名無しさん :04/02/03 22:06
ああ、ピクセルシェーダだとr0.aなのかな?
ところで今思い出したんだけど
マテリアルって光源の影響受けるものだけじゃなかったっけ?
あれ?頂点色以外のアルファブレンドってどうやってたっけ?
年かのー。なんだか全く思いだせん。
誰かアルファブレンドの方法を整理してくれんかのー。

頂点シェーダだけの場合と
頂点シェーダとピクセルシェーダを両方使った場合と
そのHLSLバージョンの場合と
マテリアルを使った場合と
頂点色を使った場合と
TFACTORを使った場合。

で全部かのー。

693 名前:デフォルトの名無しさん :04/02/03 22:09
ヘルプに書いてありますよ。

694 名前:デフォルトの名無しさん :04/02/03 22:26
>>693
キーワードぐらいおいてってくれんかのー。

695 名前:デフォルトの名無しさん :04/02/03 23:06
普通に知らないだけじゃ…?

696 名前:デフォルトの名無しさん :04/02/03 23:42
>>695
いや、正直こんなにレパートリーがあると思わなかったし、
知らない(やったことない)やり方も結構あるかも。

以前は頂点色とマテリアルとテクスチャのアルファでやってた気がする。

ところで以前はテクスチャのアルファを考慮する必要があるときは確か
カラーオペレーションだかアルファオペレーションだかのレンダリングステータス
使ってなにやらやってた気がするけど
HLSLを使った場合ってどうやるようになったの?
ピクセルシェーダのところでテクスチャのアルファ値を取得して突っ込む必要があるのかなぁ。
t-potさんの出した本に書いてあるかとおもったけどその辺はどうやらのってねーみたいな感じ。

697 名前:デフォルトの名無しさん :04/02/04 02:10
一度にそんなに大量に質問されたら誰も答えないと思うが。
D3DRENDERSTATETYPEとD3DTEXTURESTAGESTATETYPEを調べるだけで解決するし。
シェーダ使った場合なんて聞くまでもないし…

698 名前:デフォルトの名無しさん :04/02/04 09:13
法線テクスチャから基底ベクトルを求める、D3DXComputeTangent関数の
使い方を易しく説明しているHPとかってないですか?

699 名前:デフォルトの名無しさん :04/02/04 09:26
D:\DX90SDK\Samples\C++\Direct3D\BumpMapping\BumpSelfShadow\bumpselfshadow.cpp
D:\DX90SDK\Samples\C++\Direct3D\EffectEdit\RenderView.cpp

サンプルくらい嫁

700 名前:デフォルトの名無しさん :04/02/04 10:08
>>697
>シェーダ使った場合なんて聞くまでもないし…
どうやるの?

701 名前:デフォルトの名無しさん :04/02/04 14:05
聞く前に調べろ

702 名前:デフォルトの名無しさん :04/02/04 14:36
>>701
知らないくせにうるさい。

703 名前:デフォルトの名無しさん :04/02/04 18:58
教えて君っているよな。本や検索してすれば解る事を一々質問してくる奴

704 名前:698 :04/02/04 19:07
>>699 ありがトン。 任意のXファイルを読み込んで、バンプとスペキュラー
をシェーダでつけられるように一応なりますた。
うーん、やはりモデル表面に凹凸がつくとリアリティが違いますな。

705 名前:デフォルトの名無しさん :04/02/04 20:45
>>700
とりあえず俺が調べた感じだと日本の資料は無いね。
みつからなかっただけかもしれんけど。

HLSLのpsだと出力のwの値に入れた値でαがかかる。
もちろんαはSetValueなどの関数でプログラムから渡してやる必要がある。
このときテクスチャのαが使いたいときはサンプラからもってこないと駄目。
テクスチャを作るときにすでにαを入れておいたときはtex2Dから取得するときにwにα値が入ってる。
プログラムからもってきたαとテクスチャのαを両方使いたいときは掛けて使えばいい。
α値がどういうふうに計算されるかはいつも通りSetRenderStateまかせになる。

調べりゃわかるというがこれがわかるまで結構苦労したぞ。
つってもこれしか方法ないからどっかに書いてあるかもしれんけどね。

706 名前:デフォルトの名無しさん :04/02/05 01:24
フレームアニメーションとボーンアニメーションの違いは
フレーム・・・ロボットのようなアニメーション
ボーン・・・人間のように皮膚が伸びるように変形するアニメーション
こういう解釈でいいのでしょうか?

707 名前:706 :04/02/05 01:27
訂正→ボーンアニメーションじゃなくスキンアニメーションでした。

708 名前:デフォルトの名無しさん :04/02/05 04:12
DirectX9 で、 FSAAを有効にしたいのですが、今はこんな感じで
やっています。

m_pD3D->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, m_D3DPP.BackBufferFormat, TRUE, D3DMULTISAMPLE_2_SAMPLES, &dwQ));
m_D3DPP.MultiSampleType = D3DMULTISAMPLE_2_SAMPLES;
m_D3DPP.MultiSampleQuality = dwQ - 1;
m_pD3DDevice->Reset(&m_D3DPP);

とりあえずこれでエラーにならずに動いているようなのですが、
nVIDIAの設定メニューから選べる "6xS" や "8x" に相当するものが
うまくできません。

根本的に方法が違うのでしょうか?

どなたかご教授お願いいたします。

709 名前:デフォルトの名無しさん :04/02/05 05:09
>>706-707

スキンアニメーションのほうは正解。
フレームアニメーションつったら普通は2Dの絵のパラパラ漫画を想像する。

710 名前:708 :04/02/05 05:23
補足です。

D3DMULTISAMPLE_2_SAMPLES や
D3DMULTISAMPLE_4_SAMPLES は有効になりますが、
D3DMULTISAMPLE_6_SAMPLESと
D3DMULTISAMPLE_8_SAMPLES が駄目なのです。

カラーバッファやZバッファの設定によるのかな?と思い、
デバッガでどういったデバイスが作成されているか、
ディスプレイ設定の強制的に 8xモードにさせる場合と
アプリケーションにゆだねる場合とで
比較してみましたが、変わりはありませんでした。



711 名前:706 :04/02/05 11:24
>>709
ロボットのような皮膚が伸びないアニメーションはなんというのでしょうか?
検索してみたいので・・。

712 名前:デフォルトの名無しさん :04/02/05 12:40
フレームアニメーションだろ
モーションを数パターンに分けてパラパラ表示
たとえば歩く動作を4枚でやるのか16枚でやるのか。
とうぜん16枚の方が滑らか
スキンアニメーションの皮膚が伸びる動作を
フレームアニメーションで再現するには、数枚〜数十枚の絵を用意してパラパラと表示
どっちが大変かはわかるよな?


713 名前:デフォルトの名無しさん :04/02/05 12:47
3Dモーションにおけるフレームの意味が分かっていない重傷者が一名釣れた模様。

714 名前:デフォルトの名無しさん :04/02/05 13:53
フレームというのはな


こっから             ここまで



動かすという命令のことなんだよ
わかったかこのボケ 泣かすぞゴルア
死ね!

715 名前:ネタですよ? :04/02/05 14:15
>>714
スコア:-1, フレームのもと

716 名前:デフォルトの名無しさん :04/02/05 14:36
フレームはローカル座標で構成されるデータの単位。
時間軸に伸びるキーフレームとは別物。

717 名前:709 :04/02/05 14:44
>>711
>ロボットのような皮膚が伸びないアニメーションはなんというのでしょうか?

間接部分のジオメトリ(スキン)がスムージングされなければいいんだろ。
スケルトン+スキンでやるのか、それともスケルトン無しで親子関連付けのみでやるのか。

前者の場合、ウエイトマップの中の値が1.0と0.0のみの状態のこと。バインドの方法というか、ウエイト付けの話。
後者の場合、ウエイトという概念が無い。だからスムージングは無い。

で、どっちの話?


718 名前:709 :04/02/05 14:46
後者の場合ってのは、ツールでいえば親子付けとかペアレントの話ね。

719 名前:709 :04/02/05 14:52
>>716

あーなるほど。そっちのフレームの話だったのか。>>717-718でいえば後者の話ね。


720 名前:706 :04/02/05 15:14
>>709
スケルトン=ボーンっていうことでいいんでしょうか?
ボーン無しで、生の状態のオブジェクトを親子関連付けでやろうと思っています。
その場合は、読み込むデータ(Xファイル)をパーツ分けしたほうがいいんでしょうか?

ほんとはMIKOTOでボーンを付けたいんですけどね(泣)。


721 名前:デフォルトの名無しさん :04/02/05 15:22
ボーンを使っても、結局はボーン自体がフレームの階層構造を持つことに変わらないのだが、
何故ボーンなしの場合だけ、パーツ分けをしようとするのか、その理由を明確に述べよ。

722 名前:709 :04/02/05 15:23
ボーン(骨)の組み合わせでスケルトン(骨格)が出来るってことね。
けっこう普通に「ボーンを入れる」「骨を入れる」とか言うし、同じような意味合いで使われてるかもね。

723 名前:706 :04/02/05 15:43
>>709
ボーン=階層構造情報を持つ物(骨)
スケルトン=ボーンが集まったもの(骨格)
この認識でよろしいのでしょうか?

>>721
誤認してました。>>709の言うとおりボーン=スケルトンではないのですね。

パーツ分けの理由として、
@スケルトン(ボーン)を入れるツールを持っていない。
A1つのXファイルでロボットを構成させていたが、ボーンが入っていないため
 階層構造を付けることが困難。というか、読み込んだたくさんのメッシュが
 どのパーツのメッシュか見分けることができない(2ヶ月ほど悩んでいます)。
Bよって、1つのファイルからどのパーツかわからないので、単体で読み込んだ方がいいと思いました。

意味を取り違えていましたら、指摘の方お願いします。

724 名前:デフォルトの名無しさん :04/02/05 15:51
    ☆結論☆

まともなモデリングソフトを買え

725 名前:709 :04/02/05 16:20
>>723
>この認識でよろしいのでしょうか?

いいんでねいの。

>どのパーツのメッシュか見分けることができない

それは命名規則の問題とか、管理がずぼらとか、そういう話ではないか。

えーと、ちなみにMikotoのことはよく知らないです。メタセコとの組み合わせがマンセーらしいね。
googleってみたら、ちゃんと出来るみたいな事書いてるtipsがゴロゴロ出てくるぞ。
オブジェクト名「bone:●●●●」とかすればアンカー付けずに親子関連付けできるとかさ。これじゃダメか。
オブジェクト単位で別ファイルにする必要もないみたいだぞ。(こんなんで解決するレベルの話だったらぬっ頃す)



726 名前:デフォルトの名無しさん :04/02/05 16:23
乳首が見えそうで見えない

727 名前:706 :04/02/05 16:50
>>709
私のPCではMIKOTOが動かないんです><。
なので、プログラム内部で親子関連させないとダメなのです。

>>それは命名規則の問題とか、管理がずぼらとか、そういう話ではないか
ということは、管理さえしっかりやれば、可能ということでしょうか?
せめて、どこにそれぞれのメッシュ名が格納されているかわかれば・・・><。


728 名前:709 :04/02/05 17:10
これ嫁
http://msdn.microsoft.com/library/en-us/directx9_c/directx/graphics/reference/fileformat/xfileformat.asp

729 名前:706 :04/02/05 19:09
>>709
ありがとうございます。
2時間かけてヘルプを見ました。見ました。見ましたけど・・・・。

ラストチャンスでラストアドバイスをお願いしますm(_ _)m。

730 名前:デフォルトの名無しさん :04/02/05 20:31
XFileってテンプレート名の後に識別名が付いてるんじゃないの?

template Frame 識別名
{
     :
}

template Mesh 識別名
{
     :
}

731 名前:デフォルトの名無しさん :04/02/05 20:40
サンプルとか一切見る気ないんだろうなぁ。
正直これだけ教える気が萎える教えて君は初めてだ。

732 名前:デフォルトの名無しさん :04/02/05 22:52
なんだ、みんな会社でやってるんから
そんなにいろいろ知ってるんだ
仕事でこんなことやってる人いたんだ
へーへーへー

733 名前:709 :04/02/05 23:40
リアル工房ですが何か。

734 名前:デフォルトの名無しさん :04/02/06 02:22
こんなん今時リア厨でもやるぞ
漏れは厨1のときからだがな。今工2



てゆーか会社でもやるんだ。こんなん遊びで使うものかとおもってたよ

735 名前:デフォルトの名無しさん :04/02/06 02:29
>>734
へえー、リア厨も進化してんなー。

736 名前:デフォルトの名無しさん :04/02/06 02:29
CG関連やゲームの会社ならやるだろ。

737 名前:age :04/02/06 03:42
嫉妬に狂った734が拝めるスレはここですか?

738 名前:デフォルトの名無しさん :04/02/06 04:03
最近の高校生は早熟だからね。性交経験率見て鬱になったよ。

739 名前:デフォルトの名無しさん :04/02/06 11:17
漏れの初体験は小5の頃妹とだけどな

740 名前:デフォルトの名無しさん :04/02/06 11:32
Σ( ゚Д゚)

741 名前:デフォルトの名無しさん :04/02/06 15:17
アルファテストってどっちのやり方がいいんですか?

これ↓と
device->SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
device->SetRenderState(D3DRS_ALPHAREF,(DWORD)0x00000001);
device->SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATEREQUAL);

これ↓なんですけど
device->SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
device->SetRenderState(D3DRS_ALPHAREF,0);
device->SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATER);

742 名前:デフォルトの名無しさん :04/02/06 15:23
741と同じような質問、前にあったような気が・・・。


743 名前:デフォルトの名無しさん :04/02/06 15:34
どっちにしても16bitカラーモードで不具合が出る。
アルファチャンネルの精度を理解しないで使うからそういうことをするんだろうな。

744 名前:デフォルトの名無しさん :04/02/06 15:47
>>743
いやこれMSのヘルプに載ってたやり方なんですよ。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/DirectX/graphics/programmingguide/GettingStarted/States/renderstates/alphatestingstate.asp

745 名前:デフォルトの名無しさん :04/02/06 18:14
ビルボードのサンプルを見てDrawPrimitiveは3D座標が使える
のは分かったのですが、DrawPrimitiveUPって3D座標で描画
出来ないんですか?

746 名前:デフォルトの名無しさん :04/02/06 18:24
言ってる意味がよくわからん

747 名前:デフォルトの名無しさん :04/02/06 18:35
>>745はPGに向いてない希ガス

748 名前:デフォルトの名無しさん :04/02/06 18:42
>746-747
DrawPrimitiveUPでD3DFVF_XYZが使える
かどうかってことよ。

749 名前:デフォルトの名無しさん :04/02/06 19:51
DrawPrimitiveが3D表示用
ならDrawPrimitiveUPは2D用?3D用?

みたいなアホな質問だと思われる

750 名前:デフォルトの名無しさん :04/02/06 20:07
>>745 マジレスすっと、UPがつくのは、頂点(バーテックス)を直接指定している。
ちょっとした図形を表示するなら、こっちが楽。
UPがつかないのは、頂点を番号(インデックス)で指定している。
同じ頂点を参照するポリゴンがたくさんあるとか、複雑なモデルならこっちの方が効率がいい。


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