トップページ⇒tech
982コメント305KB

鬱だ氏のう DirectX (Part 16)

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/11/26(土) 21:10:02
DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。


■過去スレ
DirectX総合スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
DirectX総合スレ (Part2)
http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/

■関連スレ
【C++】 DirectX初心者質問スレ Part7 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1132216611/

■関連サイト
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx

- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/
0153デフォルトの名無しさん2006/03/21(火) 21:17:10
もはや3Dですら同人ソフト程度なら大富豪プログラミングが可能。
いい世の中になったものだな。
0154デフォルトの名無しさん2006/03/21(火) 23:49:59
>>149
規模によると思うんだが、、、

嗚呼、、、叩かれそうな悪寒
0155デフォルトの名無しさん2006/03/21(火) 23:54:37
>>154
ん?規模によらないでしょ?
そもそも物理メモリってのはすでに俺等には触れない領域でな(以下略
01561542006/03/22(水) 01:04:28
いや例えばFF11はメモリ管理とか自前で色々やってそうでさ。。。

長時間安定動作を求められるものでも、
コンパクションをOSに任せっきりなのかなぁ。。。なんて。
0157デフォルトの名無しさん2006/03/22(水) 03:26:14
( ゚д゚)ポカーン
0158デフォルトの名無しさん2006/03/22(水) 04:54:41
floatは遅いから16.16固定少数をメインに使うってポリシーでDirect3Dのゲームを作ってる人も
各都道府県に1人くらいはいるかもしれない。
0159デフォルトの名無しさん2006/03/22(水) 09:19:10
>>158は過去からの旅人
0160デフォルトの名無しさん2006/03/22(水) 10:14:24
>>158
千葉県は俺だ。

固定小数点用のクラステンプレート作ったから
16.16 / 24.8 等もサクっと計算できるし、
キャスト用関数も用意したから、浮動小数点型へも簡単に変換可能だ。


まぁなんだ。


すまん。
0161デフォルトの名無しさん2006/03/22(水) 10:37:28
えーマジ固定小数! 固定小数が許されるのは小学生までよねーキャハハハ

最近まったく使ってないことに気づいた。
携帯Javaも浮動小数サポートしたしな。
0162デフォルトの名無しさん2006/03/22(水) 10:51:23
つい3年前まで固定少数ベースで組んでた
2D物しかやってなかったんでそれで十分だったのもある
D3Dに移行し時、3Dではそういう最適化は無意味だと気付いた
0163デフォルトの名無しさん2006/03/22(水) 10:56:33
>>152
結構当たってるんではないかと…
DirectXの実装自体が「ソフト屋の考え方」が根底にあるよな。
0164デフォルトの名無しさん2006/03/22(水) 12:01:58
もうインラインアセンブラでヘコヘコする時代は終わり?
0165デフォルトの名無しさん2006/03/22(水) 12:29:43
昔インラインアセンブラ使ってDirectDraw上で
MMXαブレンディングしたことあるが、
その時すでにDirectX7が登場してたからただの徒労だった
0166デフォルトの名無しさん2006/03/22(水) 12:37:44
石にはかなわん
0167デフォルトの名無しさん2006/03/22(水) 12:59:55
256*256なんて、アセンブリャー世代にはいかにも速そうに見えるサイズだろう。
でも今のボトルネックはメモリの帯域だしな。
01681542006/03/22(水) 13:57:33
すいません。
なんか自分自身、良く理解できてない気がする。。。
OSがコンパクションやるはずもなく。
言いたかったのはフラグメント対策です。

長時間安定動作を求められるものでも、
フラグメント対策をOSに任せっきりなのかなぁ。。。なんて。

なんか勘違い入ってる?俺。
0169デフォルトの名無しさん2006/03/22(水) 14:59:17
Javaで24時間稼動してるウェブサービスとかゴロゴロあるわけですが。
01701542006/03/22(水) 15:05:37
System.gc() を毎回呼んだ方が良いとか聞いた事があるんですが。。。
0171デフォルトの名無しさん2006/03/22(水) 17:14:07
ソースは何処だ?


…というか、スレ違いの話題だと思うんだな。
0172デフォルトの名無しさん2006/03/22(水) 17:31:40
・今のPCでは、断片化など気にせずガンガンnew/deleteしても24時間365日動きますし、
 パフォーマンス上の不利もありません。本当に気にしなきゃいけないのは日本全国で5人くらいじゃね?
 他はみんな自己満足野郎(言ってやった言ってやった

・ゲーム機のやや狭いメモリだと、PCよりも断片化による問題が起こりやすくなりますが、
 大抵は、一部の大きなリソースだけを固定したり、シーンごとにすべて強制解放してやれば解決します。

・それよりも、みみっちく手動でメモリ管理することによる開発効率の低下のほうが問題です。
 C++のメリットの大半を捨てることになるし、ライブラリも大部分が使えなくなるはずだけど、いいの?

・面倒なメモリ管理なぞランタイムやVMに委ねてしまって、何かあったらそのときに対処。
 実際にはまず問題など起こりません。この大雑把さが今流。富豪的プログラミング。

・どう見てもスレ違いです。本当にありがとうございました。
01731542006/03/22(水) 17:38:08
某ゲーム会社のサーバー周りを担当した会社のソースのコメントアウト
「毎フレームガベコレした方が良いのか!?」
って書いてあって驚いたw
01741542006/03/22(水) 17:42:28
ああ。。。やっぱり叩かれてしまった。

本当にありがとうございました。
0175デフォルトの名無しさん2006/03/22(水) 18:43:56
XNAダウンロードはじまたwktk
0176デフォルトの名無しさん2006/03/22(水) 19:09:12
172なら嬉しいが、なんらソースが無いからなぁ…
0177デフォルトの名無しさん2006/03/22(水) 19:14:21
154もどうかとは思うが172も楽天的過ぎ

>・今のPCでは、断片化など気にせずガンガンnew/deleteしても24時間365日動きますし、

昔と違って単にメモリ搭載量が増えたから問題が露見しにくくなっただけ
自力で再配置する必要は無いが、取得・開放の順ぐらいは気にしとけ
0178デフォルトの名無しさん2006/03/22(水) 20:55:00
>>172
パーティクルの粒一つ一つをnew/deleteした俺に謝れ
0179デフォルトの名無しさん2006/03/22(水) 21:33:14
ハード的にはMMU マッピングでメモリ断片化は
原理的に無くせるんじゃなかったっけ
0180デフォルトの名無しさん2006/03/22(水) 21:58:30
>>154
っていうかさ、OSがどうやってメモリを管理しているのか知らずに
必死で物理メモリいじってる気になってて馬鹿みたい。
あんた管理できないでしょ?
OS通すしかないのわからないの?
OSがどうやってメモリ管理してるか知らないで馬鹿みたいなことしないでくれない。
01811542006/03/22(水) 22:09:40
あー。。。まー確かに。。。
0182デフォルトの名無しさん2006/03/22(水) 22:25:23
>>178
つ メモリプール
0183デフォルトの名無しさん2006/03/22(水) 23:13:45
>>177
> 昔と違って単にメモリ搭載量が増えたから問題が露見しにくくなっただけ

メモリ容量が増えて十分に露見しなくなったら、問題は解決していると思うのだが。
ひとつのアプリを動かしつづけている限りは、ある程度断片化は起こしても
メモリ消費はそれなりのところで収束しないか?

てか、実際、問題が起こったことないしな。
よく考えてみれば俺Windowsのmallocの実装知らねーや。気にしたことないから。
68/98時代は自前のヒープ管理コード書いてたのだが、すっかりぬるぽか。
0184デフォルトの名無しさん2006/03/23(木) 06:49:15
ここは化石人類の宝庫ですか?
0185デフォルトの名無しさん2006/03/23(木) 12:48:38
MZ-2000使ってましたが何か質問ある?
0186デフォルトの名無しさん2006/03/23(木) 13:41:36
どんなテープだとエラーが出にくいですか?
0187デフォルトの名無しさん2006/03/23(木) 13:56:05
>>183
Windows の malloc とか Linux の malloc とかいうのは無いよ。
bcc の malloc とか vc の malloc とか glib の malloc とかがあるだけ。
0188デフォルトの名無しさん2006/03/23(木) 17:34:51
>>185
俺はMZ-80Bだったんだけど、80Bと2000って何が違うんだっけ?
0189デフォルトの名無しさん2006/03/23(木) 20:29:17
------ ビルド開始: プロジェクト: dx0, 構成: Debug Win32 ------
リンクしています...
d3dx9.lib(d3dx9dbg.obj) : error LNK2019: 未解決の外部シンボル __imp__RegCloseKey@4 が関数 "int __stdcall GetD3DRegValue(unsigned long,char *,void *,unsigned long)" (?GetD3DRegValue@@YGHKPADPAXK@Z) で参照されました。
d3dx9.lib(cpudetect.obj) : error LNK2001: 外部シンボル "__imp__RegCloseKey@4" は未解決です。
d3dx9.lib(d3dx9dbg.obj) : error LNK2019: 未解決の外部シンボル __imp__RegQueryValueExA@24 が関数 "int __stdcall GetD3DRegValue(unsigned long,char *,void *,unsigned long)" (?GetD3DRegValue@@YGHKPADPAXK@Z) で参照されました。
d3dx9.lib(cpudetect.obj) : error LNK2001: 外部シンボル "__imp__RegQueryValueExA@24" は未解決です。
d3dx9.lib(d3dx9dbg.obj) : error LNK2019: 未解決の外部シンボル __imp__RegOpenKeyA@12 が関数 "int __stdcall GetD3DRegValue(unsigned long,char *,void *,unsigned long)" (?GetD3DRegValue@@YGHKPADPAXK@Z) で参照されました。
d3dx9.lib(cpudetect.obj) : error LNK2001: 外部シンボル "__imp__RegOpenKeyA@12" は未解決です。
D:\c\vc2005\dx0\Debug\dx0.exe : fatal error LNK1120: 外部参照 3 が未解決です。
ビルドログは "file://d:\c\vc2005\dx0\dx0\Debug\BuildLog.htm" に保存されました。
dx0 - エラー 7、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
0190デフォルトの名無しさん2006/03/23(木) 20:34:35
事故解決
0191デフォルトの名無しさん2006/03/23(木) 21:34:51
struct VERTEX2D
{
float x,y,z,w;
float tu,tv;

// 頂点FVF
enum { FVF = D3DFVF_TEX1|D3DFVF_XYZRHW};
};

入れる順番変えたら動かない
順番は 座標、UVって決まってるの?
0192デフォルトの名無しさん2006/03/23(木) 21:36:40
FVFは当然入れ替えても問題ない、ただの数値だからな。
ただFVFに対しての頂点データの順番は固定。
無論シェーダーで処理する場合は全て自分で定義できるので自由。

つまりドキュメントくらい見ろってこった。
0193デフォルトの名無しさん2006/03/23(木) 22:20:47
つーかいきなりレベルが...
いや何でもない
0194デフォルトの名無しさん2006/03/23(木) 23:37:47
ちょま!
俺の為に時よ止まれ!

>>145
ソースいただけないでしょうか?
0195デフォルトの名無しさん2006/03/24(金) 02:16:49
ここはDirectX初心者質問スレ【狼】だからな
0196デフォルトの名無しさん2006/03/24(金) 12:14:24
そもそもある程度のレベルに達した奴が2chなんかに質問しにくるんだろうか
0197デフォルトの名無しさん2006/03/24(金) 12:49:59
DirectXとは直接関係ないけどQuakeとかのBSPファイルに対応した
FPS作成可能な日本のライブラリって見かけないけどやっぱり国柄の問題?
0198デフォルトの名無しさん2006/03/24(金) 14:16:41
あっちはFPSのおかげで3Dとネットワークが飛躍的に発展したね
2Dの基本がシューティングゲームなら3Dとネットワークの基本はFPS
それすっ飛ばしてMMORPGばかり作るから技術が伸びない
0199デフォルトの名無しさん2006/03/24(金) 14:42:54
winnyのために回線速度は飛躍的に上がりましたってのはだめ?
0200デフォルトの名無しさん2006/03/24(金) 15:50:13
てことは、そのへんをDXライブラリやLunaあたりがサポートしてくれれば
フリーや同人あたりで出回ってきたりするのかもしれないね。

どっちも一人で作ってるみたいだから望み薄かもしれないけど。
0201デフォルトの名無しさん2006/03/24(金) 17:13:34
>>187
DirectXスレだからVCに決まってるじゃないか。
0202デフォルトの名無しさん2006/03/24(金) 17:21:51
餌がよくない
0203デフォルトの名無しさん2006/03/24(金) 19:23:58
>>200
敷居が下がっても増えるのは(ry
0204デフォルトの名無しさん2006/03/24(金) 19:35:09
大きなピラミッドを作るには下敷きになる人々がたくさん必要
0205デフォルトの名無しさん2006/03/24(金) 19:51:24
下敷きでもなれるならよいがな
0206デフォルトの名無しさん2006/03/24(金) 20:15:33
>>197
日本ではFPSは人気ないし、あまり需要がないだろう。
BSPやPVSは屋内のようにマップの大半が不可視の場合に
効率的だが、三人称視点はそういう地形に向いてない。

もっとも、一番のネックはプログラミング技術的なことよりも
レベルエディットだと思うけどね。
0207デフォルトの名無しさん2006/03/24(金) 23:02:28
PGでもなんでもない場違いな人なのですが・・・
漏れのPCで3Dmark05のデモを動かすと、D3DERR_DEVICELOST って言われて
しまうのですよ。

それでその言葉ググったらここのスレのpart8ってのが出てきて、分からないなりにザット
読んでみたのですが・・・

要するに、これ言われちゃう時はデバイスリセットするようにコード書かなきゃだめってことで、
バグって言っちゃっていいってことなのかしら?
漏れのハードがしょばいからって訳じゃなくて
0208デフォルトの名無しさん2006/03/24(金) 23:10:38
つまり本題は、このスレの住人のエスパーぶりを試すため、
そのしょっぱいハードウエア構成を当てろという挑戦状だな。
0209デフォルトの名無しさん2006/03/25(土) 00:32:37
日本は同人弾幕STGのおかげでパッド普及率が飛躍的に発展したね
それしか作られないから、3Dもネットも、ありとあらゆる方面で技術が伸びない
0210デフォルトの名無しさん2006/03/25(土) 01:25:05
3Dかぁ・・・
すげー作りたいんだけどデータの用意がしんどいんだよね。

今参加させてもらってる同人サークルでは進言して
3Dでって話を進めてるけどモデルデータに関しては
四苦八苦してる感じ。

DirectX用の最適なモデル作成ってのもまた面倒だしね。

ネットワークは必要とあれば対応ってそんな難しい気がしないけど。
サーバークライアント型しか作ったことないからP2Pだとまた難しいのかもしれないな。
0211デフォルトの名無しさん2006/03/25(土) 06:14:19
初学者が気軽に使える3Dモデラーがないよね
日本でモデラーといえばメッシュ作成までで、動きをつけられないのが当たり前
0212デフォルトの名無しさん2006/03/25(土) 06:31:36
>>211
そもそもキャラクターの動きそのものをどうやってつけるか?
って部分がテンプレ化してないから、よしんば、アニメーション+スキニング(スキミングではないw)ができたとしても
ぶつ切りアニメができるだけだしねぇ。

モーションA
モーションB
まではできるだろうよ。
でも、それにともなって必要になる
アクションA
アクションB
アクションA->B
までをやるのは至難の技だろうな。

それと最近の六角大王を使えばとりあえずアニメーション+スキニングまではつくぞ。
旧タイプのファイルで吐き出して、どっかのサイトに落ちてるフリーの変換ソフトでスキニングのXファイルが作れるんだ。
知らなかっただろ?

とりあえずできる環境はある。
でも、3Dゲーム作るならそんなところには拘らないで、とりあえずアニメーション無しの物体でも出して
3Dゲーム作ってみればいいとおもうんだけどなぁ・・・
0213デフォルトの名無しさん2006/03/25(土) 09:23:21
モーションなしでも見栄え的に問題ない
レイストームみたいなSTGとかですら作る人が滅多にいないのが現状・・・ってとこだね。

エロゲーの極限まで低スペックまで動作サポートは当たり前みたいな
風潮も足をひっぱってるのかもしれないね。

PS2からの移植(3Dあり)のサンプル作成時に
上司からMatrixG400&DirectX5&Pen2の200くらいで動くようにしろ
って言われたときは撃ち殺そうかと思った・・・。
0214デフォルトの名無しさん2006/03/25(土) 09:25:42
モーションを繋げるのは、モーションブレンドをかけるだけだから、
別に至難の業でも何でもないが。
不自然に繋がるなら基本姿勢を用意すればいいだけだし。
0215デフォルトの名無しさん2006/03/25(土) 09:37:22
モーションブレンドだとDirectX8で追加された新しいモーションタイプが癌になるでしょ。
全キーフレーム分のデータをマトリックスで持ってる形式のやつ。

計算を早くするための導入されたんだろうけど、
計算後のマトリックスしかないとブレンドは至難の技じゃない?
0216デフォルトの名無しさん2006/03/25(土) 09:45:23
>>215
別にゲーム作るのにXファイル完全対応する必要はないので、
自分のゲームでマトリクスキーは使わなければいいだけ
0217デフォルトの名無しさん2006/03/25(土) 12:44:41
そらそうか、、、普段ライブラリ作ってると全機能対応しなきゃならんとか思ってしまう・・・
0218デフォルトの名無しさん2006/03/25(土) 16:29:40
てか、マトリクスキーだって使いようでしょ?
回転とかで半回転とか1回転とかさせるデータを作らないで30度ぐらいで刻んでキーを打つようにしていけば
特に問題なく動くんじゃない?
って別に使わなきゃいけないって決まりも無いけどw
まあ、それでも動かすことはできるということで。
0219デフォルトの名無しさん2006/03/25(土) 21:53:16
だから問題点はスケールが掛かってると簡単には補間できないってことでしょ
0220デフォルトの名無しさん2006/03/25(土) 22:17:49
>>219
マトリックスの各要素をそのまま補間するだけでそれっぽくなると思うけど?
0221デフォルトの名無しさん2006/03/25(土) 22:52:40
じゃあ、任意のスケールと回転を合成済みの3x3行列が A、Bのふたつあるとして
それをxの割合で、そのまま補完する方法を教えてください

0222デフォルトの名無しさん2006/03/25(土) 23:58:15
なんだか急にレベルが・・・
0223デフォルトの名無しさん2006/03/26(日) 00:13:06
それって出来ないんじゃ無いっけ?
0224デフォルトの名無しさん2006/03/26(日) 00:30:15
答えられる人はここにいない
0225デフォルトの名無しさん2006/03/26(日) 00:34:41
回転の順番が固定されてる時のみ分解できるじゃないっけ?
回転の順番が固定されていなくて、さらにスケールまではいってるものを
分解なんてどう考えても無理な希ガス。
0226デフォルトの名無しさん2006/03/26(日) 03:54:11
>>221
普通にそれぞれの値を線形補間するしかないんじゃね?
分解はもう不可能だし。
それは回転や平行移動に関しても似たようなもんじゃね?
例えば、1回転な。もうこんなの確かにマトリクスじゃ無理っしょ。

だけど、あってるあってないはともかくとして状態Aのマトリクスと
状態Bのマトリクスを線形補間するんだから、あくまで「近似」だったらできると思わない?
それで十分な値の作り方もあるっしょ?
0227デフォルトの名無しさん2006/03/26(日) 09:06:14
2つの回転行列が合成された行列は分解不可能
1つの回転行列と1つの拡大行列なら分解できる
0228デフォルトの名無しさん2006/03/26(日) 10:52:05
その通り。
0229デフォルトの名無しさん2006/03/26(日) 10:56:58
まぁDirectX8で追加されたマトリックスキーはゴミってこったな。
面倒なことにSDK付属のプラグインで3DSMaxで出力したXファイルは
マトリックスキーしか吐き出さない。
0230デフォルトの名無しさん2006/03/26(日) 11:48:14
ごもっとも。
0231デフォルトの名無しさん2006/03/26(日) 18:21:37
>>229
だから、要は使いようだって、キーを小刻みに打てば一応使えるでしょ。
0232デフォルトの名無しさん2006/03/26(日) 18:30:34
いぁいぁ、、、モーションブレンドのときどうすんのよ?
って話さねぇ
0233デフォルトの名無しさん2006/03/26(日) 18:38:06
>>231
ブレンド相手のモーションとのスケールや角度の差が大きければ、
ねじ曲がったり潰れたりする。
中間姿勢まで大量に作るつもりなのか?

そんな無駄な苦労をするくらいなら、最初から行列で吐かなければいいだけ。
何故固執するのか分からん。
0234デフォルトの名無しさん2006/03/26(日) 19:20:39
頭が固いんだろ
0235デフォルトの名無しさん2006/03/26(日) 20:01:51
フォーマットくらいマトモなのが標準になってほしいもんだ。
COLLADAとかどうなるんだろ
0236デフォルトの名無しさん2006/03/27(月) 01:45:24
>>233
>何故固執するのか分からん
そういう方法があってもいいじゃん。
気に入らないならサポートしなければいいだけで。
ルーチン自体は至って単純だし、Tinyのサンプルもサンプルとして十分な動きで動いてるじゃん。
良い悪いは別として「使える」ってところは大きいと思うけどね。

この方法の方が都合いいことってのもなんかあるかもしれないわけだし。
DirectXの開発者がヘルプを変更してまで追加してみたフォーマットなんだからなんかいいことあんじゃないの?

俺がいいたいのは「あってもいいでしょ?」ってこと。
0237デフォルトの名無しさん2006/03/27(月) 02:21:19
否、都合良いことはないね。

可能性だのなんだの、お花畑PTAや厨房アニメの奇麗事みたいなこと言ってんな。
ないの。いいところは全く。

↓そうじゃないってんなら、思いつくのを書いてみろ
0238デフォルトの名無しさん2006/03/27(月) 02:38:26
Tiny女史は単純に大量のキーを吐いてるだけという
なんとも香ばしい状態でして、あれを実用するとなるとちょっと・・・
0239デフォルトの名無しさん2006/03/27(月) 02:44:39
ちょっと・・・?
ちょっと、何だよ?
言いたいことがあるならはっきり言ってみろってんだ。
0240デフォルトの名無しさん2006/03/27(月) 02:44:46
Tiny女史の4モーション入ってる奴は2.5MBあるしな・・・
そもそもMaxで出力された奴は時間の概念がおかしいからうっとうしい・・・

マトリックスキーで最大の欠点は任意のスピードの再生が出来ないことだな。
スローモーションとか補間できないからカクカクになる。
高速再生も整数倍でしかできないし。
0241デフォルトの名無しさん2006/03/27(月) 07:03:33
>>237
そんなのDirectXの開発者に聞けよ。
逆に聞くけど、Tinyのサンプルで何かまずいことあるの?
サンプルならあれで十分じゃないの?
0242デフォルトの名無しさん2006/03/27(月) 08:28:25
行列でしか吐けないMAXのプラグインを書いた奴が無能だっただけの話。
0243デフォルトの名無しさん2006/03/27(月) 11:44:07
>>237
お前もアニメの悪役みたいな台詞で必死になるなって
モーションブレンドが必要ない状況ならあれが高速で使いやすい。
問題はモーションブレンドが必要な時が多いのに行列キーしかサポートしてないって点だろ
0244デフォルトの名無しさん2006/03/27(月) 15:55:22
そういや大分昔の話だけど
ID3DXAnimationControllerだっけ?
あれがなかったころのskinnedmesh.cppの実装は
行列キーのは線形補完じゃなくて本当にコマ送り処理だったな
0245デフォルトの名無しさん2006/03/28(火) 12:51:46
ttp://www.4gamer.net/news/history/2006.03/20060327230253detail.html

各種ゲームスレで「XPなんですけどこれ動きますか?」が何回書き込まれるんだろう
0246デフォルトの名無しさん2006/03/28(火) 13:11:25
またライブラリ作るのかと思うとそれはそれでしんどいが、
なんだかんだで楽しそうでもあるな。
0247デフォルトの名無しさん2006/03/30(木) 15:11:43
D3DXMATRIXA16 matW;
D3DXMatrixIdentity(&matW);
static float g_rotY =0,x=0,z=0,big=1;
g_rotY +=0.1f;
D3DXMatrixRotationYawPitchRoll( &matW, g_rotY, 0,0 );

D3DXMATRIX matrix;
D3DXMatrixTranslation(&matrix,x,0,z);
x+=0.01;
//z+=0.5;
matW*=matrix;
D3DXMATRIX ScaleMat;
D3DXMatrixScaling(&ScaleMat,big,big,big);
matW*=ScaleMat;
big+=0.009;


ど〜ん^^
0248デフォルトの名無しさん2006/03/30(木) 15:22:25
すげー!!!
マジ感動した!!
0249デフォルトの名無しさん2006/03/30(木) 18:01:50
?、自演?
0250デフォルトの名無しさん2006/03/30(木) 20:30:33
みんな寄ってたかってマトリクスキー悪い子にしてるけど
これは元々ブレンドとか補間とかが必要でない状況に用意されてる物であって
その他の状況で使う物ではないのと思うのですよ.
例えばいわゆるポリゴンムービーとか決まり切ったモーションを
フレームベースで処理するときなどに使用するのではないかと.
ブレンドも補間も必要ないから他のキーでは無駄でしょ?そんな時に応えてくれるのがマトリクスキーです.
ブレンド云々言っている方は道具の使い方間違ってるだけでマトリクスキーを責めるのはお門違いだと思う.

まあマトリクスキーしか出力出来ないソフトはポリゴンムービーしか
想定してないということではないでしょうか...
0251デフォルトの名無しさん2006/03/30(木) 20:50:13
データ量が無駄に増えるけどね。
ムービー用途で長時間動かしたら、行列の束だけでバイナリでもMB単位。
0252デフォルトの名無しさん2006/03/31(金) 01:12:12
回転移動拡大縮小だけでキーフレーム式なら
数フレーム毎に9x4BYTEで済むが、

マトリックスキーは毎フレーム16x4BYTE必要。

メモリ気にしないでいいPCだからこその手法ってとこだな。
■ このスレッドは過去ログ倉庫に格納されています