07/09/28 09:15:46
UDXライブラリって何だよ
ライブラリならここじゃなくサポート掲示板なりで質問するべきでは?
437:デフォルトの名無しさん
07/09/28 09:19:12
>>436
UDXライブラリは2002年ころにfinal版が出て更新されていません ほかに聞けるところがないです
438:デフォルトの名無しさん
07/09/28 09:50:00
>>436
他のライブラリをいくつか調べたのですがUDXがもっとも手軽だと思います
これだけのソースでXファイルが表示できます
参考サイト
URLリンク(f42.aaa.livedoor.jp)
URLリンク(www.geocities.co.jp)
#include"udx.h"
CMesh m;
void StartUp(){
SetVPos(VEC3(0, 0, -10));
m.Load("test.x"); }
void MainLoop(){
BeginScene();
m.Render(&MTX_FRONT);
ShowCameraInfo(0,0);
EndScene();
MouseLook(0.5);}
void CleanUp(){}
439:デフォルトの名無しさん
07/09/28 09:59:07
先日近所のスーパーでアニメのような3D表示するカードゲームをみました。
どうやらカートゥーンシェードというものらしいです。
DirectXでこのカートゥーンシェードを表示する勉強をしてみたいので、
仕組みの解説やライブラリを、Googleでカートゥーンシェードや、CartoonShadeを検索しても
それらしい情報が見つからないです。
みなさん、どこから情報を集めておられますか。先輩方、教えてください。
440:デフォルトの名無しさん
07/09/28 10:03:41
>>435
2002年に更新停止してるとかそんなマイナーなライブラリをなんの断りもなく持ち出すな
俺らにそのなんちゃらライブラリを使って試せと?
441:デフォルトの名無しさん
07/09/28 10:08:01
>>439
URLリンク(www.google.com)
442:デフォルトの名無しさん
07/09/28 10:10:32
>>440
使っている人がいたら動作環境を教えてもらいたいです
ライブラリ付属の線や四角は表示できるんですけど・・Xファイルが見えないです
あと、UDXに興味があったら使って動くか試してもらいたいです
443:デフォルトの名無しさん
07/09/28 11:33:43
>>442
ライブラリっていうかXファイルの問題じゃね?
そのライブラリはほんとに
すべてのXファイルの読み込みに対応してるのか?
Xファイルはテンプレート定義だから
よっぽど丁寧につくってないとXファイルによって読めないとかざらにある
メッシュのみOK、アニメーション付きは×とかな
人に試せというまえに
表示までの流れのどこでコケてるのかくらい調べてこいよ
444:デフォルトの名無しさん
07/09/28 11:44:23
>>443
ライブラリ付属のXファイルとソースでコンパイルまでは行くのですが画面に出ません
445:430
07/09/28 11:45:50
そうか、ライブラリに頼ってもこういう結果になる世界だったか……。
認識がチクロやサッカリンより甘かったわ。
昔のSDKでは動くのかな。動くならでそれで我慢するなり、
そうでなければ別のに乗り換えるしかないんじゃね。
446:デフォルトの名無しさん
07/09/28 12:12:34
>>442ですが
WindowsのバージョンはXP SP1
DirectXのバージョンは最新版(2007/7くらいのやつ)
DirectX SDKは8.1です UDX最終バージョンに合わせました
画面が全く出ないわけではなく、文字や線とかはかけます
もしかしたら、SDKも最新したらいいんですかね
447:デフォルトの名無しさん
07/09/28 12:15:21
だから、一言で表示されないといわれても
色々あるわけで・・・
・そもそもファイルが読み込めてない
・読み込めてるが座標変換がされてない
・座標変換されてるがカメラの範囲内にない
・カメラの範囲内にあるがでか過ぎて(小さすぎて)みえない
・あるべき場所にはあるが光源が無い
・透明になってる
・カリングの設定が間違ってる,etc,etc
どこで失敗しているのかくらいデバックできるだろ?
それがわからなければ直しようが無い
これは環境云々の問題じゃないぞ
448:デフォルトの名無しさん
07/09/28 12:22:50
>>447
サンプルをそのまま使っているんですよ 見えないサンプルって無いと思います
449:デフォルトの名無しさん
07/09/28 12:29:13
>>448
あのなぁ
あんたがどういう環境でやってるのか知らんが
たとえば使ってる文字セット
がユニコードなのかマルチバイトなのかが違うだけで
Xファイル内のテクスチャファイル名が読めなかったりするんだぞ?
ライブラリに合わせて環境をかえるんじゃなくて
環境にあわせてライブラリを変えることを考えろよ
450:デフォルトの名無しさん
07/09/28 12:36:22
馬鹿はほっとこうぜ
451:デフォルトの名無しさん
07/09/28 12:54:42
ありがとうございました
UDX動きました
実行ファイルの生成される位置にXファイルがないだけでした
452:デフォルトの名無しさん
07/09/28 13:54:46
ださすぎw
453:デフォルトの名無しさん
07/09/28 15:00:47
URLリンク(www.rupan.net)
UDXで人物を表示したんですけどメタセコでみるのより画像が悪すぎです
どうしてですか?
454:453
07/09/28 15:01:47
パスは 0 です
455:デフォルトの名無しさん
07/09/28 15:15:25
光源を設定してないとかじゃネーノ ( ´_ゝ`)
456:デフォルトの名無しさん
07/09/28 15:16:17
>>453
D3DX8BOR.DLLが見つからなかったため、このアプリケーションが開始できませんでした
お前もう、いい加減にしとけよ
457:デフォルトの名無しさん
07/09/28 15:25:49
>>456
URLリンク(www.rupan.net)
PASS 0
これでみれますか?
>>455
光源はいってるかよくわかりません サンプル書き換えただけなので 入れてみます
458:デフォルトの名無しさん
07/09/28 15:54:11
>>457
フルスクリーンはマジ簡便
見た限り光源計算がされてない
Xファイル自体に法線情報がはいってないので
ライブラリー内で
法線データがないときに自前で生成しているのか?とか
しているとして
ライトの設定がちゃんとしてあるか確認だな
459:デフォルトの名無しさん
07/09/28 16:32:12
ぜんぜん簡単に使えてないところがミソ
SDKのチュートリアルから地道にやったほうがよっぽど近道なのに、
そうやって手を抜こうとするから基本的なことすら理解できずに余計な苦労をする。
460:デフォルトの名無しさん
07/09/28 16:56:11
DirectXを一から勉強する方法教えてくれ!!
俺は燃えているぞおおおお!!
461:デフォルトの名無しさん
07/09/28 17:00:53
>>460
これを最初から最後まで読むといいよ
URLリンク(msdn.microsoft.com)
462:デフォルトの名無しさん
07/09/28 17:12:01
マウスとカーソルで動かせます これだけのことを生DirectXでやったら大変でしょ?コードは↓これだけ
URLリンク(www.rupan.net)
#include"udx.h"
CMesh m;CObject o;
void StartUp(){
SetVPos(VEC3(0, 1.5, -5));
m.Load("0.x");
o.SetMesh(&m,VEC3(0,0,5));}
void MainLoop(){
MouseLook(0.2f);
BeginScene();
ON_HOLD(DIK_LEFT) o.RotY(0.05f);
ON_HOLD(DIK_RIGHT) o.RotY(-0.05f);
ON_HOLD(DIK_UP) o.RotZ(-0.05f);
ON_HOLD(DIK_DOWN) o.RotZ(0.05f);
o.Render();
devSetLighting(FALSE);DrawAxis();
devSetLighting(TRUE);
BeginFont();
ShowCameraInfo(0,0);
EndFont();EndScene();}
void CleanUp(){}
463:デフォルトの名無しさん
07/09/28 17:14:05
>>458
なんかテクスチャーがあると絵が変になるみたいです
462はテクスチャー無しです メタセコが変なXファイルを生成しているのかUDX側なのか不明です
464:デフォルトの名無しさん
07/09/28 17:20:51
ここはDirectXの質問スレであって
ライブラリの使い方の質問スレじゃないんだか
そんなの、ライブラリ製作者に聞けよ
465:デフォルトの名無しさん
07/09/28 17:25:37
>>463
もうこれで最後な
メタセコでXファイル出力するときに
法線(スムージング)とUVマップの
チェック項目にチェックをいれろ
これでだめなら
お前のライブラリの使い方が悪い
基本を理解してないのに使おうとしても
応用が利かないってことがもうわかっただろ?
466:デフォルトの名無しさん
07/09/28 17:28:29
できましたサンクス
467:デフォルトの名無しさん
07/09/28 17:29:33
マイクロソフトによる講演「Windows Vista ゲーム開発」、数多くの国内PCゲームが躓いたIME問題は、SDKサンプルのささいなバグだった!?
URLリンク(www.watch.impress.co.jp)
468:デフォルトの名無しさん
07/09/28 17:44:41
>>441
ありがとうごぢゃいます。勉強させていただきます。
>>467
DXUTでIMEエディットボックスが利用できなかったのでおれの環境おかしいのかなぁとおもってましたが、
よくわかりました。教えてくれてありがとうございます。
469:デフォルトの名無しさん
07/09/28 18:19:19
Xファイルが大量にUPされてるサイトとかない?
モデル作れないorz
470:デフォルトの名無しさん
07/09/28 20:19:45
お金くれれば作ってあげる。
キャラ一体30万でいいよ。
471:デフォルトの名無しさん
07/09/28 20:42:45
30万とかぼったくりだろ。
俺だったら1ポリ1000円でいいよ。
472:デフォルトの名無しさん
07/09/28 21:07:18
な、なら俺は1頂点500円だ
473:デフォルトの名無しさん
07/09/29 01:25:24
ここ2,3日の質問レスはどれも死ねと回答したくなるような代物だった。
俺は何を思って初心者スレにいたのだろう。
たぶん俺はここにいるべきではないのだ。
自分のゲームを作る仕事に戻ったほうがいい.....
474:デフォルトの名無しさん
07/09/29 02:59:38
そうだ帰れ帰れ
475:デフォルトの名無しさん
07/09/29 06:23:48
>>473
そう思っただけでまったく回答なんてしてなかったんだろ?
ここにいるべきではないな
476:デフォルトの名無しさん
07/09/29 07:58:53
>>473はスカトロの話題で進んでほしかったらしいよ
477:431
07/09/29 11:36:28
>>434
あ・・・なるほど(汗)
おかげさまでできました!
ありがとうございました!
478:デフォルトの名無しさん
07/09/29 12:44:30
>>475
そのとき回答していない=ここにいるべきではない
とはならないだろ。回答できるだけの知識があって、回答できる質問がないかここに見に来たけどむかつく質問しかない、って言ってるんだから、それが理由で去るなら、このスレは回答者を一人失っただけ。回答者は答えなくても何も困らない。
技術的に初心者なのはぜんぜん構わないが、質問者として初心者なやつには答える気は全く起こらない。
479:デフォルトの名無しさん
07/09/29 17:31:23
DirectSoundでサウンドボードに入力される音声を再生したいです。
キャプチャバッファを作りWAVファイルに録音する方法は分かったのですが、
リアルタイムに再生する方法が分かりません。
おそらくセカンダリバッファに入力音声を入れて
(バッファのポインタ)->Play();
とすれば良いと思うのですが、キャプチャデバイスからの音声をセカンダリバッファに
放り込むやり方が分かりません。
ググっても、キャプチャデバイスを使うものは再生無しで録音するものばかりです・・・。
ご助言、よろしくお願いいたしますm(_ _)m
480:デフォルトの名無しさん
07/09/29 17:51:38
ストリーミング再生の事?
URLリンク(www2.muroran-it.ac.jp)
481:479
07/09/29 18:23:16
>>480
ストリーミング再生です。
そのページは読んでみたのですが、音楽CDの読み込みに特化しているようで
参考になりませんでした。
482:デフォルトの名無しさん
07/09/29 19:19:57
結局のところ、録音バッファと再生バッファの両方をロックしてmemcpyで終わりだろ。
何を悩んでいるんだ?
483:toshi
07/09/30 00:30:09
自分の理解の為に、3D知識についてwikiやhtmlページにまとめようと思っています。
(^o^;
本やWEBを参考に下記ページのようにまとめてみました。ぶしつけですが、
もし宜しかったら、皆様に間違いや補足知識の指摘を頂けないでしょうか?
URLリンク(toshi104.odap.jp)
辛口で構わないのですが、始めて3日足らずの初心者なので、間違いや不備は
沢山あると思います。どうぞ宜しくお願い致します。
(※リンクはしばらく残しておきます。)(※掲示板も設置しました)
(※宣伝ではないですよ。趣味です。ゲーム好きです。)
484:デフォルトの名無しさん
07/09/30 00:46:18
一番辛口に言うと
「チラシの裏にかいとけ」
一応斜め読んで気になったのは
FVFっていずれ使われなく(使えなく)なるんじゃね?とか
射影座標とスクリーン座標がごっちゃになってそうとか
485:toshi
07/09/30 01:35:47
レス感謝です。
>「チラシの裏にかいとけ」
あはは、そうですね。でもレス感謝です。
>FVFっていずれ使われなく(使えなく)なるんじゃね?
そうなんですか?頂点フォーマットですよね?他にどんなのがあるのでしょう?
一応DirectX9.0関連の本やWEBで一般に使われていたので・・・。
差し支えなければ、教えて下さい。
>射影座標とスクリーン座標がごっちゃになってそうとか
なるほどー、射影座標っていうのがあるんですね。勉強になります。
本に書いてありませんでした。でも、遠近法等を表現する「平行投影」「透視投影」
のハナシはありました。つまり、スクリーン座標前の変換である「プロジェクション変換」に含んでしまっているみたいですね。
どもです。
486:デフォルトの名無しさん
07/09/30 03:42:38
>>478
ごちゃごちゃいいわけウザイw
例え自分の正義に基づいてどうであっても
他人がお前をウザイと思えばお前の中でどうであってもウザイことに変わりはない
お前が知らないから答えられなくても、
お前が知っていて答えなくても質問者にとってはどうでもいいことだ
それにお前の望む質問者なんてもんは多分ほとんどいないといいきれるほど稀な存在だろう
初心者なんてのは色々ひっくるめて初心者なんであって
技術の部分「だけ」が足りない奴なんてのはほとんどいないといっていいだろう
そういう奴等をあらかた無視して色々お膳立てしてあって
「ハイ、後は、この部分の回答だけ貰えばOKなんです」
なんて状態になるわけない
こんなのいたら質問スレになんてくるわけない
多くの初心者は総合的に初心者であることがほとんど
要は俺がいいたいことは
現実にない状況(理想)を勝手に望んでそれを当然のこととするのはウザイ
ってことだ
まあ、ウザイだけで、正しいとか正しくないとかは問題じゃないからねw
好きにやりなよw
487:デフォルトの名無しさん
07/09/30 03:43:29
とりあえず寝ればいいんじゃね
488:デフォルトの名無しさん
07/09/30 10:28:26
>>485
プロジェクション変換は
スクリーン座標に変換するものではなく
ビュー変換から射影座標に変換するためのもの
そこからさらにVierport変換をかけて
ようやくスクリーン座標になる
Direct3Dの場合は
Viewport変換はViewpotの設定にしたがって
デバイスが勝手にやってくれるので忘れられがちだけど
でも、こんなのをまとめたところで
「で?」っていう感じがしないでもないんだが・・・
489:デフォルトの名無しさん
07/09/30 14:11:12
自分の知識を整理するって意味では有用じゃないの
他人からしたらあまり意味ないけど
490:デフォルトの名無しさん
07/09/30 14:17:52
そんな時のためにチラシの裏があるんだよ
491:デフォルトの名無しさん
07/09/30 14:27:51
ダイレクトX死ね
492:デフォルトの名無しさん
07/09/30 15:12:53
>>486
ごちゃごちゃ言いわけしてるのは君w
まあどうでもいいけど
493:デフォルトの名無しさん
07/09/30 18:40:21
XFileフォーマットに関して質問です。
現在D3DXを使わずにXファイルの書き出しをしています。
しかし、圧縮バイナリ"xof 0302bzip0032"の後の8バイトが何を指しているのか
分からずつまずいています。
前4バイトはおそらく解凍後のバイナリサイズだと思うのですが
残りの4バイトが分からないのです。
ご存知の方いらっしゃいましたらご教示お願いします。
494:479
07/09/30 18:54:05
>>482
おかげさまでできました。
ありがとうございましたm(_ _)m
495:デフォルトの名無しさん
07/09/30 22:08:33
新ねエーきょうみねええーあひゃひゃひゃ
今からここは初心者の性根を叩き
なおすつういみのしょしんしゃすれになるぜーーー
496:デフォルトの名無しさん
07/09/30 22:12:46
新ねえー興味ねええあひゃひゃひゃふあ
つうかいまからここは初心者の性根を叩きなおす
といういみでのしょしんしゃすれになったから
497:デフォルトの名無しさん
07/10/01 00:15:27
>>446
>>451
>>453
>>454
>>457
>>462
>>463
割れOS使ってんなよ
498:デフォルトの名無しさん
07/10/01 00:39:14
最近のSDKはダウンロード時にチェックされんのか
あんま意識してなかったけどそういやそうだった
だから古いのを使いたがるのね
499:デフォルトの名無しさん
07/10/01 07:31:45
古いSDKを使いたがる奴=割れ厨ってことだな
500:デフォルトの名無しさん
07/10/01 11:59:59
XP SP1で止まってる奴は十中八九割れ
501:デフォルトの名無しさん
07/10/01 15:19:08
テクスチャって2の累乗の正方形じゃないとダメみたいなことを
聞いたことがあったようななかったような気がするんですが、
そんな仕様ってありましたっけ?
CreateTextureFromFileとかで普通に読み込んで表示できてるんですが・・・
502:デフォルトの名無しさん
07/10/01 15:37:21
>>501
かつて、そういうGPUがあった。
503:デフォルトの名無しさん
07/10/01 15:57:57
>>501
TextureCaps の D3DPTEXTURECAPS_POW2 フラグと
D3DPTEXTURECAPS_SQUAREONLY フラグが立っているときがそれ。
504:デフォルトの名無しさん
07/10/01 16:34:19
>>503
全然気にせず作っていた、、、どの世代のGPUってそんな制限あったんだろう?
そのCAPってDX9だけどDX10にはCAPがないからその制限ないのかな?
505:デフォルトの名無しさん
07/10/01 18:15:20
>>504
2の累乗制限に関しては
・条件付きnon-pow-2サポート
・無条件non-pow-2サポート
の2種類がある。
URLリンク(msdn2.microsoft.com)
[条件付きnon-pow-2サポート]
D3DPTEXTURECAPS_POW2==TRUE && D3DPTEXTURECAPS_NONPOW2CONDITIONAL==TRUEのとき
[無条件non-pow-2サポート]
D3DPTEXTURECAPS_POW2==FALSE && D3DPTEXTURECAPS_NONPOW2CONDITIONAL==FALSEのとき
これとは別に、テクスチャの縦横サイズをそろえる必要があるかどうかの
D3DPTEXTURECAPS_SQUAREONLYフラグがある。
PixelShader 3.0への対応条件に
・D3DPTEXTURECAPS_SQUAREONLYがFALSEなこと
・条件付きまたは無条件のnon-pow-2テクスチャをサポートすること
が含まれているので、PixelShader 3.0対応ハードなら基本的に問題ない。
URLリンク(msdn2.microsoft.com)
C:\Program Files\Microsoft DirectX SDK (August 2007)\Samples\C++\Direct3D\ConfigSystem\CardCaps.pdf
にCAPS一覧がある。
>そのCAPってDX9だけどDX10にはCAPがないからその制限ないのかな?
ない。
またIDirect3DDevice9ExはPixel Shader 3.0対応は必須ではないが、
条件付きまたは無条件のnon-pow-2テクスチャをサポートすることは必須になっている。
Aeroが使える環境では必ず何らかのnon-pow-2テクスチャサポートがある。
506:デフォルトの名無しさん
07/10/01 18:38:22
この制限があった有名なビデオカードは3dfx社のVoodooだよね。
もう10年近く前のカード。DX9では本来対応すべきなんだろうけど
今ならフラグをチェックして制限があれば「対応外」としてもかまわない気がする。
507:デフォルトの名無しさん
07/10/01 18:52:17
そしてVoodoo以外はその制限があるカードが確認できない、都市伝説と化している。
あると主張する人が具体的な製品名を挙げることが出来た例は皆無。
508:デフォルトの名無しさん
07/10/01 18:58:52
C:\Program Files\Microsoft DirectX SDK (August 2007)\Samples\C++\Direct3D\ConfigSystem\CardCaps.xls
から調べてみた。
April 2006時点のものらしいので、ドライバのアップデートで変わってるかもしれないことに注意。
[D3DPTEXTURECAPS_SQUAREONLY]
そんなカードは無い。
[pow2のみ]
Pixomatic, Permedia 3, Wildcat VP870, ViperII Z200, 315, Xabre, TNT 2
[conditional non-pow2]
Millennium G450, DeltaChrome, Volari Family, 865G, 945G, RADEON 7000, RADEON 7200, MOBILITY M9,
RADEON 8500, RADEON 9000, RADEON 9100 IGP, RADEON 9200, MOBILITY FIRE GL, RADEON 9600,
RADEON 9700 , RADEON 9800, X300, X700, X800 , X850, X1800, GeForce 2, GeForce4 MX, GeForce3 Ti500,
GeForce4 Ti4200, GeForce FX 5200, GeForce FX 5900
[unconditional non-pow2]
Parhelia, GeForce 6200, GeForce 6800, GeForce 7800, Quadro FX 4400
>507
[pow2のみ]に挙げた7つは制限を持つらしい。
まあいまさら考慮する必要がないと思うけど。
509:デフォルトの名無しさん
07/10/01 18:59:16
二乗制限はまだ結構あるっぽい
正方形制限は今時ほぼなし
って事で大丈夫?
510:デフォルトの名無しさん
07/10/01 19:07:25
>>509
pow2 textureのみサポートはほぼ無くなったけど
条件付きnon-pow2テクスチャサポートの「条件」の部分を忘れやすいので注意という感じ。
A device that exposes this capability can use such a texture if all of the following requirements are met.
・The texture addressing mode for the texture stage is set to D3DTADDRESS_CLAMP.
・Texture wrapping for the texture stage is disabled (D3DRS_WRAP n set to 0).
・Mipmapping is not in use (use magnification filter only).
・Texture formats must not be D3DFMT_DXT1 through D3DFMT_DXT5.
ある程度大規模になってくるとDXTはどうしても使いたくなるので
商用ゲームなんかでは2の累乗を前提としたライブラリにしてると思う。
個人とかデモ用途なら、上の条件を踏まなければたいてい大丈夫。
511:510
07/10/01 19:19:11
まあ大規模って言っても色々あるか。
とにかく条件付きnon-pow2テクスチャサポートのカードは去年の段階でも結構残ってる。
圧縮テクスチャとかミップマップを必須と思うなら
ライブラリレベルで2の累乗化を考慮しておいた方が良いよという感じ。
あと背景のテクスチャとかでテクスチャアドレッシングモードやラッピングモードを弄りたいという場合も
2の累乗化しておいた方が良い。
まあドキュメントにはダメって書いてあっても実際には動いちゃうケースもありそうな気はするけど。
そんな機能は使わんというのなら多分気にする必要はない。
512:デフォルトの名無しさん
07/10/01 20:29:03
でもどうせなら2の累乗にしておくのが速度的には無駄がない悪寒。
# いや、DirectXは詳しくはないんですがGPUのアーキテクチャ的にね
513:デフォルトの名無しさん
07/10/01 20:39:35
>>512
確かにテクスチャキャッシュは2の累乗を前提としている可能性はあるかもね。
とはいえいつも「気楽にやりたい派」と「厳格に行きたい派」の対立なので
必要な情報だけしめして後は各自に任せるでいいんじゃないかと。
ミップマップや圧縮テクスチャを使ったことないって人もいるだろうし。
514:デフォルトの名無しさん
07/10/01 21:23:07
そんなこと言っても、自作ゲームの一枚絵を256x256で分割してる人今でもいるんじゃね?
手挙げてみ。
515:デフォルトの名無しさん
07/10/01 21:48:13
まぁでも普通はきりのいい2の累乗で描くだろうからな。
で、正方形でなくてもいいってなら
とくに制限は無いようなもんか。
516:デフォルトの名無しさん
07/10/02 00:27:31
Error: 外部シンボル 'DirectDrawCreateEx' が未解決
と、メイク時表示されます。
window.hとddraw.hをインクルードしているんですが何が不備なんでしょうか?
BCC devで、Borlandコンパイラ使っています。
517:デフォルトの名無しさん
07/10/02 00:34:52
>>516
どうみてもリンク時のエラーです。本当にあ(ry
リンカにddraw.libを参照させろ。あとdxguid.libも必要になりそうな予感。
BCCなんぞしらんから、方法は自分で調べれ。
518:デフォルトの名無しさん
07/10/02 07:24:21
最近
DirectX以前の問題の質問が多いな
519:デフォルトの名無しさん
07/10/02 08:29:34
bcc32用DirectX SDK
URLリンク(www.clootie.ru)
520:デフォルトの名無しさん
07/10/02 08:32:15
インポートライブラリだけならimplibで生成できるけどD3DXとかのスタティックライブラリは上の使わないとbcc単独では無理
(VC++とBCBにobjの互換性がない)
521:デフォルトの名無しさん
07/10/02 09:25:52
>>519
上のやつ以外にdirectX SDKも必要
522:デフォルトの名無しさん
07/10/02 09:56:15
ゲーム画面のジャギーを消したいんで、CreateDeviceのとき
D3DPRESENT_PARAMETERDの”MultiSampleType”に
D3DMULTISAMPLE_2_SAMPLESを設定してるんですが、
UI用に2Dの変換済みポリを描画するときにはアンチがかかってほしくないです。
こういうときはどうしたらいいでしょうか?
523:デフォルトの名無しさん
07/10/02 19:07:22
MultiSampleTypeは随時切り替えられるようなメソッドってないですよね?
524:デフォルトの名無しさん
07/10/02 19:24:55
D3DRS_MULTISAMPLEANTIALIAS
525:デフォルトの名無しさん
07/10/02 22:47:17
C++でdirectx9を使っている素人です。
1 バックバッファクリア
2 予めファイルから読み込んでいた小さな正方形テクスチャをバックバッファに並べてマップを作る
3 予めファイルから読み込んでいたプレイヤー用のテクスチャをマップ上に描画
4 バックバッファをサーフェイスに転送し表示
1~4を繰り返す中で3の表示位置をずらすことで移動を表現しているのですが、
2を毎回行うためやたら処理が遅くなります。
そこで予め大きなテクスチャに小さなテクスチャを並べてマップを作っておいてそれを2で
バックバッファに貼り付けようと思うのですが方法が見つからず困ってます。
D3DXCreateTextureで作成したテクスチャにD3DXCreateTextureFromFileで読み込んだ
テクスチャを並べるにはどうすればよいのでしょうか?
LockRectして描画は思っているのとは違う気がします・・・
526:デフォルトの名無しさん
07/10/02 22:55:32
>>525
なんでわざわざロード時に作る必要あんの?
HDDなんて広大なんだから、あらかじめフォトショップでくっつけておけよ
527:525
07/10/02 23:07:38
>>526
ランダム要素を取り入れるため動的に生成できたらなと^^;
でかいマップを作って部分ずつ表示したほうが楽でしょうか
528:デフォルトの名無しさん
07/10/02 23:09:14
>>525
つーか、それってなんかおかしくね?
どんだけマップ並べたらパフォーマンスが落ちるんだよw
テクスチャを1枚描画するたびに
BeginSceneとEndSeneを毎回読んでるとか
座標を更新するのに
毎回ロックして直接書き込んでるとか
そういうアホな落ちじゃねぇの?
529:デフォルトの名無しさん
07/10/02 23:20:38
つーか525ってRPGでマップ描画するときの定石じゃね?
530:デフォルトの名無しさん
07/10/02 23:26:09
>>525
いまどき何も考えずベタにチップ描画しても、たいして負荷があるとは思えないけど。
2をどうやってるのか描くんだ。たぶん犯人はそこだ
531:525
07/10/02 23:36:20
g_d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 0.0, 0);
g_d3ddev->BeginScene();
if(!g_d3dsp)
{
D3DXCreateSprite(g_d3ddev, &g_d3dsp);
}
g_d3dsp->Begin(NULL);
// ここでマップを描いてる(つもり)
for(int y = 0 ; y < SCREEN_GRID_Y_MAX ; y++) {
for(int x = 0 ; x < SCREEN_GRID_X_MAX ; x++) {
RECT rc = {0, 0, 32, 32};
D3DXVECTOR3 center(0, 0, 0);
D3DXVECTOR3 pos((float)(x * GRID_WIDTH), (float)(y * GRID_HEIGHT), 0);
g_d3dsp->Draw(g_map_texture, &rc, ¢er, &pos, 0xFFFFFFFF);
}
}
// ここでプレイヤーを描いてる(少しずつ動かす)
RECT rc = {0, 0, 32, 32};
D3DXVECTOR3 center(0, 0, 0);
D3DXVECTOR3 pos(hoge_x, hoge_y, 0);
g_d3dsp->Draw(g_player_texture, &rc, ¢er, &pos, 0xFFFFFFFF);
g_d3dsp->End();
g_d3ddev->EndScene();
g_d3ddev->Present(NULL, NULL, NULL, NULL);
>>529ですです。win32apiでHDCとかでガリガリ書いたことがあるのですがDirectXならもっと簡単にできるのではと。
晒すけど怒らないでね♥
532:デフォルトの名無しさん
07/10/02 23:40:47
なんで毎回D3DXCreateSpriteしてるん?
533:デフォルトの名無しさん
07/10/02 23:41:20
テクスチャ座標を適切に設定した頂点リストを作れば一発で描画できるだろ。
534:デフォルトの名無しさん
07/10/02 23:42:44
さげ
535:デフォルトの名無しさん
07/10/02 23:45:38
チュートリアルをすっ飛ばしてID3DXSpriteなんか使うから余計なところで苦労することになる。
536:デフォルトの名無しさん
07/10/02 23:51:03
>>532毎回じゃないっす。ウィンドウ最小化して戻したときにResetした時ぐらいです。
見よう見まねでよくわかってないです・・・わかるように教えれ・・・。
537:デフォルトの名無しさん
07/10/03 00:01:39
>>536
5行目!おまえは自分のソースもよめねーのか
538:デフォルトの名無しさん
07/10/03 00:25:19
ポインタがnullだったらになっているから毎回やっているわけではないだろう。
とりあえずはID3DXSpriteを使うのをやめれば解決するだけの話。
539:デフォルトの名無しさん
07/10/03 00:43:55
>>531
これ、解像度1024x768?
だったら
1024/32で32
768/32で24
32x24で768回DrawPrimitive呼んでるからこれやると遅くなるよ
あらかじめフォトショップでチップを配置してマップにしろ
それかロード時にチップからチップEX(極小チップを
もうちょっとまとめた単位、理解できる?分子→原子→中性子みたいな関係だw)
テクスチャを作成(これはできるよな?)
仕組みがゲームの仕様に食い込んでるから
もし仕事でやってるなら企画とデザイナに相談しないと駄目だな
速度に問題がでなくてかつ汎用性を維持した程度にチップをある程度まとめなきゃ駄目だろ
極小単位のチップって絵的な問題だろ?でもマップの汎用性の単位のチップはもっとでかいだろ?
そこの仕様をカッキリきらんとどうにも身動きとれないね
難しいのはプログラムじゃなくて仕様がふにゃふにゃだからだな
540:525
07/10/03 01:01:27
>>539
画面いっぱい使っているわけではないので400回くらいです。
個人的に製作してるので仕事ではないです。
今までずっと変態御用達エディタでガリガリC書いてコマンドラインでコンパイルしてたんですが、
VisualC++とDirectXでゲームでも作って見ようかと思ったのがきっかけです。
CとWin32APIでガリガリするよりはよほど建設的だと感じますが、わけわからんw
頂点とかで混乱してたところにspriteなんて便利そうななもの見つけたばっかりにとんだ・・・
現在spriteを使わないように書き換えています。
なかなかエラーが取れない;
541:デフォルトの名無しさん
07/10/03 01:03:48
DirectSoundでの効果音の管理など、いろいろな場所で読み込みや
再生の関数を使う必要がある場合、クラスにまとめず、ばらばらの関数として
使用できる設計にするべきなのでしょうか?何かいい方法があれば教えてください
542:デフォルトの名無しさん
07/10/03 01:23:10
Visual C++2005で
URLリンク(www.h2.dion.ne.jp)
のコードをコンパイルしたらエラーがいっぱいでてくるんですが・・・
最初に #include "stdafx.h" を、ソースに追加しましたか?とでて
そのとおりにしたら
識別子が足りないとか、型指定がありませんとか
どうすればいいのでしょうか?
543:デフォルトの名無しさん
07/10/03 01:35:35
古い情報を参照するのをやめるか、エラー事に自分で一つ一つ対処するか。
544:デフォルトの名無しさん
07/10/03 04:39:41
->Releaseで落ちちゃうってことはつまりどういうことですかね?
545:デフォルトの名無しさん
07/10/03 07:03:09
インタフェースがすでに存在していないとか
546:デフォルトの名無しさん
07/10/03 07:25:06
インタフェースがまだ存在していないとか
547:デフォルトの名無しさん
07/10/03 07:41:23
デバッグで見てみたらIUnknownの中の
__vfptrの中が(エラーです:式を評価できません)ってなってました
これはつまり・・・>>545か>>546ということでしょうか?
548:デフォルトの名無しさん
07/10/03 07:51:24
つーか、
なにが、いつ、どうやって落ちるのか
書いてもらわんとわかんね
549:デフォルトの名無しさん
07/10/03 09:09:45
LPDIRECTSOUNDBUFFER8のリリース時になります
ちゃんとこれで音も鳴らせるんですが、終了時にまとめて解放するところで引っかかります
エラーメッセージはこんなんです↓
(実行ファイル名) の 0x0....... でハンドルされていない例外が発生しました:
0x0.......: 場所 0x0....... を読み込み中にアクセス違反が発生しました
550:デフォルトの名無しさん
07/10/03 12:21:15
デバッカが使えるなら
いつまでそのポインタが有効で
いつからそのポインタが無効になってるかわかるんじゃねえの?
551:デフォルトの名無しさん
07/10/03 12:36:51
「どこで」解放しようとしてるかも重要かもね
クラスのデストラクタとか
コールバックとか別スレッドで解放しようとすると
設計が悪いと無効なポインタ場合もあるし
552:525
07/10/03 14:06:36
あれからspriteを使うのをやめて
SetFVF SetTexture DrawPrimitiveUp
を使って表示してみましたが描画は遅いままでした。
一枚絵にしても遅い。
んで、VMwareから出して実行したところ早い早いw
原因はVMwareです。
どうもお騒がせしました_| ̄|○
553:デフォルトの名無しさん
07/10/03 14:35:39
>>552
氏ね
554:デフォルトの名無しさん
07/10/03 17:06:35
あらかじめ書いとく
>>552の人気に嫉妬
555:デフォルトの名無しさん
07/10/03 18:52:21
誰か、D3DXMatrixTranslationとSetTransformをわかりやすくオレに教えてーー!!。
556:デフォルトの名無しさん
07/10/03 19:11:00
>>555
俺が教えて欲しいよ!!ばーか!!!
557:デフォルトの名無しさん
07/10/03 19:12:09
っ 線形代数の教科書
558:デフォルトの名無しさん
07/10/03 21:24:02
>>555
平行移動用の4x4行列を作るのにD3DXMatrixTranslationなんて要らない。
シェーダで組むからSetTransformも要らない。
559:デフォルトの名無しさん
07/10/03 21:29:30
初心者が自分の覚えたところまでの復習のついでに立ち上げたような
糞みたいな入門サイトでも読んでるのか
560:デフォルトの名無しさん
07/10/04 00:43:33
いままで頑張ってきたけどもう無理
ごめんみんな、俺ライブラリ使います
561:デフォルトの名無しさん
07/10/04 06:14:18
>>559
それ俺のサイトw
562:デフォルトの名無しさん
07/10/04 21:24:23
ピクセルの輝度値をもとに処理をかけたいのですが、この場合、各ピクセルに対し
RGB→YUV変換(Yのみ)の計算を施さないといけないのでしょうか?
それとも、もっと高速に変換してくれるDirectXのAPIがあったりするんでしょうか?
よろしくお願いします。
563:デフォルトの名無しさん
07/10/05 01:00:34
>>562
DirectXそのものにはYUVはサーフェイスの確保とか簡単なことしかサポートしてないし、現状だとDX9だけしかサポートしてない。
VistaならDXVA2とDX9を組み合わせると良いかもね。
564:デフォルトの名無しさん
07/10/05 11:06:31
HLSLでnoise関数が使えませんというか使うとコンパイルが通りません。
こちらのページでは普通に使えそうに書かれているのですが、
URLリンク(msdn2.microsoft.com)
こちらのページではnot yet implimentedとなっています。
URLリンク(msdn2.microsoft.com)
やっぱり使えないのでしょうか。同等の事を行う一番手っ取り早い方法はないでしょうか。
565:デフォルトの名無しさん
07/10/05 17:51:16
DirectShowで再生してる動画の上にテキストを置きたいんですけど(ニコニコ動画みたいな感じに)
普通に再生している動画をSetWindowPositionでウィンドウに表示させて、そのウィンドウの子ウィンドウとして
スタティックコントロールを動画の上に置こうとすると、動画の下に隠れてしまいます。
WS_EX_TOPMOSTを指定しても隠れてしまいました。
そこで、SetWindowPositionでウィンドウに動画を表示させるのをやめて
グラバフィルタでフレームを取得して、フレームを取得するごとに呼ばれる
コールバック関数内で取得したフレームをウィンドウに再描画するという形にしたところ
スタティックコントロールが上手く見えるようになりました。
しかし、今度は動画の再生が進むうちに動作が重くなってしまい、コマ飛びが起きるようになってしまいました。
コマ飛びが起きないような方法はないでしょうか。
566:デフォルトの名無しさん
07/10/05 18:50:01
DirectShowからイメージデータだけDIBで受け取って、後から合成すればいい。
567:デフォルトの名無しさん
07/10/06 20:44:59
Xファイルから読み込んだメッシュを徐々に透明にしていくにはどうしたらいいですか?
568:デフォルトの名無しさん
07/10/06 20:50:14
モルダーあなた疲れてるのよ
569:デフォルトの名無しさん
07/10/06 21:29:02
人体消失現象は絵空事ではない。
570:デフォルトの名無しさん
07/10/06 21:32:36
徐々だったら、アクトン・ベイビーのスタンド能力の発現でいける
571:デフォルトの名無しさん
07/10/07 00:14:41
おまえらちゃんとおもしろいこと言えんじゃん
572:toshi(485)
07/10/07 00:37:07
>>488
レス感謝。・・・回答頂いたのにレス遅くなりました。
2ちゃんアクセス規制に巻き込まれた・・・。
>プロジェクション変換はスクリーン座標に変換するものではなくビュー変換から射影座標に変換するためのもの
なるほど。スクリーン座標前の変換である「プロジェクション変換」って記述はNGですね。本では、射影座標とプロジェクション変換が一緒になっていた(^^;)。WEB見たら理解出来ました。
勉強になります。ありがとうございました。m(_ _)m
ちなみにhtmlの方も修正しました。なかなか勉強になっています。皆様に感謝です。
URLリンク(toshi104.odap.jp)
573:565
07/10/07 16:59:46
>>566
ありがとうございます。
後から合成すれば確かに負荷とかの問題はクリア出来そうなんですけど
最終的にはストリーミング動画再生を行いたいので、イメージデータを受け取って
すぐに再生したいんです…。
何か他に方法はないでしょうか・・・。
574:デフォルトの名無しさん
07/10/07 17:16:48
だからリアルタイムにイメージデータを取得して、合成したのをその場で再生すればいいだろ。
いったい何を言ってるんだ?
575:565
07/10/07 17:33:16
そうすると565で書いたグラバフィルタでフレームを取得して再生っていうのと変わらなくないですか?
合成っていう部分がよく分かっていないのでしょうか。
576:デフォルトの名無しさん
07/10/07 17:35:24
だから一度DIBに落として、DIB側で合成を終わらせた後にそれを描画するだけ。
余計なコントロールを使う必用は微塵もない。
577:565
07/10/07 18:06:41
度々申し訳ありません。
/*コールバックしてもらうための自前のクラス*/
class mySampleGrabber: public ISampleGrabberCB
{
public:
/*コンストラクタ*/
mySampleGrabber(){}
/*目的の関数*/
HRESULT STDMETHODCALLTYPE BufferCB(double SampleTime, BYTE *pBuffer, long BufferLen){
g_pImageBuffer = (long *)pBuffer; //画像データを受け取るバッファのポインタ
g_BufferSize = BufferLen; //画像データを受け取るバッファのサイズ
InvalidateRect(hWnd, NULL, FALSE) //メインウィンドウの再描画;
return S_OK;
}
/*使わないので実装なし*/
HRESULT STDMETHODCALLTYPE SampleCB(double SampleTime, IMediaSample *pSample){
return S_OK;
}
/*ここは本当は実装するべき?*/
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject){
return S_OK;
}
STDMETHODIMP_(ULONG) AddRef(){
return S_OK;
}
STDMETHODIMP_(ULONG) Release(){
return S_OK;
}
}
このクラスのBufferCBメソッドをコールバック関数としてイメージを取得する度に呼び出しているんですけど
これだとDIBに落として合成を終わらせた後に描画するだけという処理にはならないのでしょうか。;
578:565
07/10/07 18:09:09
すみません、インデントがずれてしまいました。
/*コールバックしてもらうための自前のクラス*/
class mySampleGrabber: public ISampleGrabberCB
{
public:
/*コンストラクタ*/
mySampleGrabber(){}
/*目的の関数*/
HRESULT STDMETHODCALLTYPE BufferCB(double SampleTime, BYTE *pBuffer, long BufferLen){
g_pImageBuffer = (long *)pBuffer; //画像データを受け取るバッファのポインタ
g_BufferSize = BufferLen; //画像データを受け取るバッファのサイズ
InvalidateRect(hWnd, NULL, FALSE) //メインウィンドウの再描画;
return S_OK;
}
/*使わないので実装なし*/
HRESULT STDMETHODCALLTYPE SampleCB(double SampleTime, IMediaSample *pSample){
return S_OK;
}
/*ここは本当は実装するべき?*/
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject){
return S_OK;
}
STDMETHODIMP_(ULONG) AddRef(){
return S_OK;
}
STDMETHODIMP_(ULONG) Release(){
return S_OK;
}
}
579:デフォルトの名無しさん
07/10/07 18:19:37
こっちで聞いた方がいいんじゃないかしら。
DirectShowと戦うスレ Part 2
スレリンク(tech板)
580:デフォルトの名無しさん
07/10/07 18:28:53
データを受け取るだけで何もしないのに表示されたらそれは魔法だ。
581:562
07/10/07 20:28:05
>>563
なるほど。
ありがとうございました。
582:デフォルトの名無しさん
07/10/10 13:24:52
すみません。質問です。
DirectX 9.0をインストール仕様と努めましたがインストールできません。
どうすれば宜しいでしょうか?教えてください。
583:デフォルトの名無しさん
07/10/10 13:59:57
>>582
ランタイムの話ならすれ違い
あとOSくらいちゃんと正規品買おうな
584:デフォルトの名無しさん
07/10/10 14:57:30
>>582
DLページで「続行」か「Continue」って書いてあるボタン押せ。エラー出たら正規のWindows買え。
585:デフォルトの名無しさん
07/10/10 17:52:04
いや、いまなんだか知らんけどダウンロードセンターつながらないのよ
詳細が出てるかと俺もここに来た訳だがしばらく待ってみるか
586:デフォルトの名無しさん
07/10/10 19:22:57
割れ厨は消えればいいと思うよ
587:デフォルトの名無しさん
07/10/10 21:28:04
OS割れるとか愚かすぎる
588:デフォルトの名無しさん
07/10/10 22:19:37
?
589:デフォルトの名無しさん
07/10/10 22:38:17
URLリンク(aol.okwave.jp)
これか?
590:デフォルトの名無しさん
07/10/12 01:47:53
DirectXのサンプルをいろいろ見てると、メッシュを表示するときに
自前でDrawIndexedPrimitveとかを呼んでるのと
DrawSubsetを呼んでるのがあるんですけど、
この二つで出来ることに違いってあるんでしょうか?
(ボーンブレンディングはDrawSubsetじゃ出来ない、とか)
591:デフォルトの名無しさん
07/10/12 08:14:47
たとえばモーフィングとかシャドウマップ用の
頂点のストリームを複数持って必要な部分だけ切り替えるとか
592:デフォルトの名無しさん
07/10/12 11:49:55
DrawSubsetも最終的にはDrawIndexedPrimitive呼んでるんじゃないの?
593:デフォルトの名無しさん
07/10/14 23:24:39
爆発や水面の波などの表現方法を紹介した書籍やサイトはありませんでしょうか。
自分で練ったところで内部的には大して変わらなかったり
いわゆるHow to本だと1通りだけしか書かれてないなど、
エフェクト周りの知識が深まらないという状態になっています。
594:デフォルトの名無しさん
07/10/14 23:30:29
>>593
sample見れ
595:デフォルトの名無しさん
07/10/15 00:01:09
ゲームの体験版やってみる
たまにテクスチャやシェーダが読めるものもあるし。
596:デフォルトの名無しさん
07/10/15 00:05:07
誰が勉強や研究やるっつったよ
良いパクリ元教えろっての
597:デフォルトの名無しさん
07/10/15 01:12:32
RenderMonkeyとか、nVidiaのそれとか
良いパクリ元になるよ
598:デフォルトの名無しさん
07/10/15 01:32:00
>>596
馬鹿かお前、
どのゲームもエフェクトなんて上からムービーかアニメーションモデル被せて終了なんじゃボケ
アルファなんて重ねたらトータルコスト跳ね上がるんじゃボケ
PC移植したときにアルファ処理弱いんじゃボケ
パクリも糞もどこも横一線でムービー被せて終了なんじゃボケ
爆発だって、水面だって、木漏れ日だって、よくみりゃムービーなんじゃボケ
カメラ固定しろボケ
一番軽いのがそれなんじゃボケ
デザイナにすべてまかせたほうが効率いいんじゃボケ
いまどきプログラムでメガデモ気取りでそんなもん作ってるアフォチョーキモイんじゃボケ
汎用性ちょっとつけりゃムービーもテクスチャなんじゃボケ
つまり
モデルロード→アニメーション
で終了
プログラマの介入一切無し、完
599:デフォルトの名無しさん
07/10/15 12:22:30
時代はラスタスクロール
600:デフォルトの名無しさん
07/10/15 13:32:47
>>598
ス☆テ☆キ☆
601:デフォルトの名無しさん
07/10/15 21:29:26
なるほど、欧米に技術が追いつかないわけだ
602:デフォルトの名無しさん
07/10/15 23:26:05
普通に考えたらGemsじゃね?
パクリ云々いってるやつに理解できるかどうかは分からんが
603:デフォルトの名無しさん
07/10/16 02:16:58
でもムービーにもZとか入れられるからほとんどプログラマが手を入れる必要ってないよね
604:デフォルトの名無しさん
07/10/16 17:12:31
VisualC++とDirectX9.0SDKでHLSLで頂点シェーダとか書いてみてるんですけど、
.fxファイルをvisualStudioのエディタ上でシンタックスハイライト表示する方法
(プラグインみたいのとか)ってありませんか?
黒一色だと見づらくてはかどらんのです
605:デフォルトの名無しさん
07/10/16 18:58:18
>>604
こんなんはどーよ
URLリンク(www.shuta.net)
606:デフォルトの名無しさん
07/10/16 20:09:36
リファレンスデバイス上でピクセルシェーダーって動くのでしょうか?
もし動くのなら、どのように実現しているのでしょうか?
607:デフォルトの名無しさん
07/10/16 20:31:22
どなたか
>>493お分かりになる方いらっしゃいませんか?
608:デフォルトの名無しさん
07/10/16 21:12:01
これ?
URLリンク(sora.cc.nagoya-u.ac.jp)
609:デフォルトの名無しさん
07/10/16 21:37:04
圧縮format非対応 これで実用上十分に解決
まあSDKに圧縮フォーマットのも入ってるが、あれはそれ以前にsdkmeshとか当たり前に使われてるしな。
610:デフォルトの名無しさん
07/10/16 21:50:01
Xファイルなんて使ってるのは雑誌かネット上のエフェクトサンプルと同人ソフトくらいだ
611:デフォルトの名無しさん
07/10/16 23:45:38
結局XFileのバイナリフォーマットは公開されてないんだろ?
そんなのわかる訳ないよ
612:デフォルトの名無しさん
07/10/17 00:01:24
>>611
え、ヘルプに書いてなかったっけ?テキストもバイナリも。
かなり前に読んだ覚えがあるんだが・・・
613:デフォルトの名無しさん
07/10/17 00:27:24
圧縮形式がアンドキュメンテッド
614:デフォルトの名無しさん
07/10/17 00:42:07
バイナリをzlibってるだけじゃないの?
615:デフォルトの名無しさん
07/10/17 00:48:47
いいから仕様書か検証結果を張れよ。
俺は調べたことないから知らないがな
616:デフォルトの名無しさん
07/10/17 00:54:49
なんで俺が検証せにゃならんのだ
Xファイルなんか興味ねーし使ってもねーよ
617:仙人
07/10/17 02:51:28
DirectX ゲームグラフィックスプログラミング Ver.2.1 Vista
\2800 SoftBank Creative
第6章 スペシャルエフェクト(頂点系)波のシミュレーション
<求めよ!さらば与えられん 片っ端から漁れ>
<情報は'∞' 奢るなかれ '0'から初めよ>
<た易いNETに頼るな 100万払って1を知れ>
618:デフォルトの名無しさん
07/10/17 05:14:37
た易い.NETに頼るな 100万払ってCOMを知れ
619:デフォルトの名無しさん
07/10/17 08:04:44
>>617
これの2.0持ってるけど、新しく章が増えたのね。
620:デフォルトの名無しさん
07/10/17 18:34:49
USBカメラからの画像をキャプチャして、jpg形式などで保存できるようなプログラム
を作成したいのですが、お勧めの書籍などありましたらご教授願えないでしょうか。
directxには触れたこともない初心者なのですが、これは無謀というものでしょうか?
621:デフォルトの名無しさん
07/10/17 18:35:42
>>620
できんことはないと思うが、それはDirectXと関係ない気がするなあ。
622:デフォルトの名無しさん
07/10/17 18:49:33
>>621
googleなどでキャプチャについて調べているとdirectshowを使えばよいと書いて
あったので、こちらに質問をさせてもらったのですが…。
623:デフォルトの名無しさん
07/10/17 19:01:08
DirectShowはDirectXからは除外されました。
624:デフォルトの名無しさん
07/10/17 19:02:08
>>622
調べたのならなら分かっていてもおかしくはないと思うが、現在
DirectShowはDirectXの一部としては扱われていない
DirectShowスレで質問しましょう
625:デフォルトの名無しさん
07/10/17 19:04:31
>>623
>>624
申し訳ありません、そうさせていただきます。
ご迷惑をおかけしました。
626:デフォルトの名無しさん
07/10/17 19:09:34
いいじゃねーか。馬鹿じゃねーの?>>623-624
たとえば年寄りに大宮市のこと聞かれて「今は大宮市は存在しませんのでわかりません( ̄へ ̄)」とか答える馬鹿をみたらどうおもう?
ちっちぇーよちっちぇーよなあ、おまえら。
627:デフォルトの名無しさん
07/10/17 19:12:43
>>625
「directshow sample」でぐぐると、参考になるかもな。がんばれよ
628:デフォルトの名無しさん
07/10/17 19:42:27
>>626
DirectShowスレも見てれば分かると思うが、
あっちの方が質の高い回答が返ってくるくる可能性が高い。
普通に誘導しただけでなぜ馬鹿呼ばわりされにゃならんのか
629:デフォルトの名無しさん
07/10/17 19:50:26
>>628
ごめんなさい
630:デフォルトの名無しさん
07/10/17 20:17:24
いまのDirectShowはDirectXより敷居が高いからなぁ
Video for Windowsを使うのも一つの手かもね
参考サイト
URLリンク(www1.bbiq.jp)
631:デフォルトの名無しさん
07/10/17 23:43:10
数年前、DirectShowは大量の分け分からんクラスと用語でやる気なくしたトラウマがあるんだ
632:607
07/10/18 22:49:24
>>608
すみません、違います。
>>609
やっぱりそれが現実的ですね、ありがとうございます。
>>611
ググればすぐに出てきますよ。
633:デフォルトの名無しさん
07/10/19 07:55:49
>>611
たしかに見つかりにくいので今回は貼ってやろう
URLリンク(msdn.microsoft.com)
634:デフォルトの名無しさん
07/10/19 07:58:58
>>493
>Microsoft DirectX 9.0ヘッダー
>注 圧縮データ ストリームは現在サポートされていないので、ここでは詳しく示さない
ワロスw
635:デフォルトの名無しさん
07/10/19 22:51:29
ファイルの読み込み速度で言えば
バイナリフォーマット>>>>>>>>>>>>>>>>>テキストフォーマット。
でバイナリ形式が文字通り桁違いに早い。
手元のデータいくつかで試したけど圧縮バイナリはテキストに比べれば早いってレベル。
ファイルサイズに神経質にならない限り、圧縮形式のメリットってあんまりないな。
636:デフォルトの名無しさん
07/10/20 09:00:29
そりゃ、データストレージのバスボトルネックが極端に大きく無い限り
データ展開のアルゴリズムが動く分、バイナリより遅くなるわな。
637:デフォルトの名無しさん
07/10/20 09:40:16
なんでそんな難しく言うねん
638:デフォルトの名無しさん
07/10/20 12:05:37
そこでわかりやすく>>637が解説
639:デフォルトの名無しさん
07/10/20 12:11:21
難しくて理解できんから言うとんねん
640:デフォルトの名無しさん
07/10/20 12:30:58
例えるなら
高速道路でETCを使用しない場合、
料金所が極端に多くない限りETCより時間がかかるって事?
641:デフォルトの名無しさん
07/10/20 12:51:07
スーパーで買い物をして帰ってくるのに、
自転車と乗用車どちらの方が短時間で済むかというのを考えろ。
どこに負荷がかかるのか状況を分析して、最適解を求めるというだけの話。
642:デフォルトの名無しさん
07/10/20 13:01:57
その例だと圧縮が圧倒的優勢や
643:デフォルトの名無しさん
07/10/20 13:12:11
aho
644:デフォルトの名無しさん
07/10/20 14:13:00
スーパーとどれだけ距離があるのか、出発時間はいつでその時に道は混んでいるのか、
駐車場はすぐ止められるのか、駐車場から店舗までの距離はどのくらいか、
考えることはいくらでもある。
元データの容量や圧縮率、ストレージの速度、デコードに使うCPU周りの速度、
条件が異なればどこの処理のプライオリティが高くなるのか変わってくる。
要するに、きちんと条件を整理して総合的にものを考えろということ。
645:デフォルトの名無しさん
07/10/20 14:46:17
簡単に言えばバイナリフォーマットには最初から「数値」が入ってる。
テキストフォーマットには「文字列」が入ってる。
3Dフォーマットだと、その山ほどある文字列を数値に変換する必要があるわけで
それだけでも結構なボトルネックになる。
646:デフォルトの名無しさん
07/10/20 15:02:32
ぇ、テキストフォーマット?
生バイナリと圧縮バイナリの話じゃなかった?
ちなみに全ドライブ圧縮ONの俺は、圧縮フォーマットなんてNTFSの圧縮機能と二重になって無駄なだけだと思う
647:デフォルトの名無しさん
07/10/20 15:06:02
テキストとバイナリの話だと思った。すまんかった。
648:デフォルトの名無しさん
07/10/20 15:08:34
>>646
圧縮方法が違えばさらに小さくなる可能性はあるし、
それに常に圧縮ONのドライブであるならともかく、ソフトを公開すればほとんどがOFFだから、検討する価値はあると思う。
それはともかく、ドライブの圧縮ONにしてる人間を初めて知った。
649:デフォルトの名無しさん
07/10/20 15:58:03
ノ
俺も使っているが、MSのファイルクラッシャーパッチ食らってからは
ソースとかライブラリ等大事なファイルの置いてあるところにはかけないようにしている。
物によってはかなり縮むから重宝していたのだけどね^^;
スレチすまん。
650:デフォルトの名無しさん
07/10/20 22:12:08
分からんからガソリンスタンドと車で例えてくれよ。
651:デフォルトの名無しさん
07/10/20 22:28:35
Xファイルって実は結構使えるよな。
652:デフォルトの名無しさん
07/10/20 22:29:49
>>651
モルダー、あなた疲れてるのよ
653:デフォルトの名無しさん
07/10/20 22:31:07
>>651
は?
654:デフォルトの名無しさん
07/10/20 22:39:31
いや、テンプレート好きに拡張出来るのは便利くない?
655:デフォルトの名無しさん
07/10/20 23:11:33
>>654
は?
656:デフォルトの名無しさん
07/10/20 23:17:07
テンプレート型のフォーマットだからXファイルにテクスチャデータを
放り込んだり、当たり判定用のローポリデータ追加したりするの楽じゃん?
素のXファイルが使えないって言ってる?
それなら同意。
657:デフォルトの名無しさん
07/10/20 23:19:39
カスタムテンプレートは自己満足
658:デフォルトの名無しさん
07/10/20 23:22:09
「どんどん拡張してどんなデータも対応可能!!」は
ライブラリ製作マニアの陥りがちな野放図な夢想
659:デフォルトの名無しさん
07/10/20 23:24:19
>>656
は?
660:デフォルトの名無しさん
07/10/20 23:28:44
現状、モデリングソフトのプラグインから出力する以外なにやっても無駄
661:デフォルトの名無しさん
07/10/20 23:29:20
>>658
いや、だから必要に応じて追加出来るのが便利って言ってんの。
662:デフォルトの名無しさん
07/10/20 23:33:19
>>661
そんなの自作フォーマットで十分じゃんw
ID+SIZE+XXX
って形にしておけばいくらでも追加できるぜw
なにが便利だって?え?w
663:デフォルトの名無しさん
07/10/20 23:35:30
別に何使ってもいいだろ・・・
ほっといたれよ
XFileの話しになると必ずでてくるよな
664:デフォルトの名無しさん
07/10/20 23:38:10
独自のテンプレートをXFileにわざわざ追加してなんだってのかマジでわからん
665:デフォルトの名無しさん
07/10/20 23:52:13
好きなもん使えばいいだけ。
666:デフォルトの名無しさん
07/10/21 14:12:10
2の乗数の画像じゃないと、自動的に「画像サイズより大きい2の乗数の大きさのテクスチャ」
に変えられて表示されてしまうのですが、これは仕様でしょうか?
ちなみにテクスチャは「4点の座標を入力して作る」方式のほうです。
治せるのなら治したいのですが、治せないのならこれを計算に入れたプログラムを打ちたいと思っているのですが…。
667:デフォルトの名無しさん
07/10/21 15:06:13
>>666
そのはず。
668:デフォルトの名無しさん
07/10/21 15:54:16
>>666
BBXでもこんな質問あったな。
URLリンク(bbx.hp.infoseek.co.jp)
669:デフォルトの名無しさん
07/10/21 16:16:00
667さん、668さん
回答ありがとうございました。
668さんのURLの所にもあったのですが
テクスチャはD3DXCreateTextureFromFileExで作り、
D3DX_FILTER_NONEを指定しています。
int t_x;
int t_y;
D3DSURFACE_DESC t_data; //D3DSURFACE_DESCとはテクスチャの情報を格納するための関数
texture->GetLevelDesc(0, &t_data); //textureの情報をt_dataに格納
t_x = t_data.Width;
t_y = t_data.Height;
で正確な画像のサイズが取得できると思ったのですが、
やはり101*101の画像なのにサイズは128*128だと言われてしまっていました。
DirectX側では、正確な画像の大きさは取得出来ないし、
正確な画像の大きさのテクスチャは作れないみたいでした。
670:デフォルトの名無しさん
07/10/21 16:20:17
D3DXIMAGE_INFO imageInfo;
hr = D3DXGetImageInfoFromFile( filename, &imageInfo );
imageInfo.Width
imageInfo.Height
671:668
07/10/21 16:34:57
まったく試していないが適当に回答
D3DX_DEFAULT_NONPOW2とか?
672:デフォルトの名無しさん
07/10/21 17:46:33
>>669
読み込まれた後のテクスチャのサイズを取得しても無駄。
読み込むときの引数を良く確認してみろ、注意力が足りなすぎる。
673:デフォルトの名無しさん
07/10/21 18:47:11
670さん、671さん、672さん
回答、誠にありがとうございました。
672さんの言うとおりに取得の時を見て
671さんの言うとおりに治してみたら、値の取得が出来ました。
よく読みもせず、思いつきで質問してしまい申し訳ありませんでした。
670さんのものも試してみたいと思います。
それでは、改めてありがとうございました。
674:デフォルトの名無しさん
07/10/21 23:50:01
頂点バッファって使いまわしても問題ないですよね・・・
HOGEVERTEX vertex[4];
set_hoge_vertex(vertex, x1, y1, x2, y2);
dev->SetTexture(0, t);
dev->SetFVF(D3DFVF_HOGEVERTEX);
dev->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, &vertex, sizeof(HOGEVERTEX));
set_hoge_vertex(vertex, xx1, yy1, xx2, yy2);
dev->SetTexture(0, tt);
dev->SetFVF(D3DFVF_HOGEVERTEX);
dev->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, &vertex, sizeof(HOGEVERTEX));
set_hoge_vertex(vertex, xxx1, yyy1, xxx2, yyy2);
・
・
・
675:デフォルトの名無しさん
07/10/22 00:05:20
>>674の例ならば問題ないが、その例は
ローカル変数の配列を使いまわしてるだけで、
頂点バッファを使いまわして問題ないケースと問題あるケースの
どちらについても語っていないがな。
676:674
07/10/22 00:27:09
>>675
マルチスレッドでなければ大丈夫ということでしょうか?
677:デフォルトの名無しさん
07/10/22 00:32:50
>>674のプログラムって頂点バッファなんて使ってるか?
俺には頂点バッファのインターフェースが見えないんだけっちょ
678:デフォルトの名無しさん
07/10/22 00:50:26
マルチスレッドの排他制御以前に、ローカル変数ってどんなものかを知った方がいい
679:674
07/10/22 01:02:35
DrawPrimitiveUP()してしまえばそれに使った頂点情報はいらなくなると思うのですが・・・
EndScene()やPresent()まで保持しとかないとだめですか?
680:デフォルトの名無しさん
07/10/22 01:31:26
>>679
頂点バッファを作らないってことは
毎回グラボにデータを送信するってことじゃん
大量な頂点データが必要になるとこれが問題になるんかどうかは知らんけど
無駄なんでグラボにとっておきましょうってのが頂点バッファなんで
四角形描画するだけのお前には頂点バッファはいらないじゃん
って話
681:デフォルトの名無しさん
07/10/22 05:40:15
>>679
その必要はないが、普通Direct3Dで「頂点バッファ」と言ったら
VertexBufferのことを指す。
682:デフォルトの名無しさん
07/10/22 09:18:38
>>674は頂点を格納した配列のことを言ってたのか。
それは頂点バッファとは普通言わないぞ。
683:674
07/10/22 11:33:30
用語とか定石とか触ったとこ以外わかってません。
どうやら大丈夫そうですね^^;
ありがとうございました。
684:デフォルトの名無しさん
07/10/22 11:47:41
テクスチャはどうなんだろう。DrawPrimitiveで指定した後Presentの前に
Releaseしても良いのかな。
685:デフォルトの名無しさん
07/10/22 11:54:51
頂点バッファが大丈夫かどうか考えればおのずと答えが出るだろう。
ちなみに上のは頂点バッファの話じゃないからな。
686:デフォルトの名無しさん
07/10/22 21:52:12
そしてLostするバッファ達
687:デフォルトの名無しさん
07/10/22 22:28:53
FVFでTANGENTやBINORMALを扱うことはできないのでしょうか?
もし扱う場合はD3DDECLUSAGEを使わなければいけないのでしょうか?
688:デフォルトの名無しさん
07/10/23 04:05:30
そうした方が普通で簡潔で分かりやすくなると思うのだが。なにか問題でも?
689:デフォルトの名無しさん
07/10/23 18:24:01
シェーダーを使うときに出てくる
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
このTEXCOORDというものなんですが
テクスチャ座標を指す、というのはわかったのですが
テクスチャ0は何もしないで送ったテクスチャだとわかるのですが
テクスチャ1はナニを指すのかわかりません。
また
uniform sampler2D texture, //texture0のを送る
uniform sampler1D TransferFunction, //texture1のを送る
としたときに、はじめのuv0はtextureを指すのか、それとも別のものを指すのか
シェーダーの解説本を読んでゴチャゴチャになってしまいました。
すみません、わかりやすく教えていただけませんか
690:デフォルトの名無しさん
07/10/23 18:41:11
>>688
今までFVFでやってきたもので・・・
これを機会に移行します
691:デフォルトの名無しさん
07/10/24 21:17:52
メモリ上のWavファイルをDirectAudioで読み込もうとした場合不具合がでてしまい、解決策を模索しています。
・Wavをメモリー上にロード
・そのアドレスとサイズを指定して、DirectAudioでロード
・Wavをメモリー上からアンロード
・次のWavをメモリー上にロード
・そのアドレスと…
とやると、たまたま「Wavをロードしたアドレスが、以前とかぶった時」に、DirectAudioが
「以前のファイルと同じだなこれ」と勘違いするのか、以前の音をロードしてしまうのです。
ここの
URLリンク(toruweb.web.fc2.com)
DirectMusic / 読み込み
と同じにWavを読み込むようにしているのですが、特にこのサイトでは「同アドレス問題」については対策していないようです。
どのような対策をすればよいのでしょうか?
692:デフォルトの名無しさん
07/10/24 23:01:59
超うろ覚えだがDirectMusicローダのキャッシュをいちいち開放しないと
そんな感じになったような気がしないでもないような。
てか、メモリからWAVE再生すんならDirectSoundかOpenALでええやん。
圧縮WAVEをそのまま再生できるくらいでしょ、この場合のDirectMusicのメリットって。
693:デフォルトの名無しさん
07/10/25 00:29:28
ありがとうございます。
キャッシュをキーワードに探し回っていたら
URLリンク(www.sun-inet.or.jp)
こういう記事を発見しました。
DirectMusicのバグのようですね…。
ついでに「メモリーからのロードは、実行ファイル内のリソースを再生したい時以外は使わないように」という注意書きも発見しました。
うーん、単に暗号化してあるファイルを複合化して読ませたい(複合化したものをTempファイルとして吐き出したくない)だけなのに、厄介ですね
694:デフォルトの名無しさん
07/10/25 01:30:08
初心者ってやたら何でも隠蔽したがるよね
そこに時間かけるくらいなら
他にやることいくらでもあるだろうに
695:デフォルトの名無しさん
07/10/25 01:59:26
本来何も無い所に自ら巨大な壁を作り上げて
疲労していくのはよくあること
696:デフォルトの名無しさん
07/10/25 12:04:45
CYGWINのVISTAでのインストール&実装について質問です。
インストールは完了してデスクトップにも通常通りアイコンが作成されました。そこから起動させてみます。そうすると、
bash3.2/$
と表示され、pwdと打ち込むと
/usr/bin
と表示されます。
最終目標はxtermを起動させプログラミングをすることです。
XPでは緑色の文字がホームディレクトリと共に表示され、xstart と入力したら起動しました。
しかし、VISTAでこの状態で xstart と入力してもコマンドが認識されません。
なにより緑色の文字がホームディレクトリと共に表示されません。
何かのエラーではなく、まだ足りない設定等があるのでしょうか?
御教授お願いします。
環境は VISTA Ultimate 32ビット Core 2 です。
何か足らない情報があれば教えて下さい、補足させて頂きます。
697:デフォルトの名無しさん
07/10/25 12:17:06
足りないのは注意力だと思うよ
698:デフォルトの名無しさん
07/10/25 12:33:53
たしかに強烈に注意力が足りないな。
699:デフォルトの名無しさん
07/10/25 18:24:53
Xファイルの容量を軽くする方法、またはソフトなどありますか?
700:デフォルトの名無しさん
07/10/25 18:28:15
バイナリ、頂点減らし、無駄な項目を消す
701:デフォルトの名無しさん
07/10/25 22:55:03
>>699
圧縮かける
702:デフォルトの名無しさん
07/10/26 00:56:32
またそれかよ
買い物とか駐車場とかネギとかもうやめてくれよ
703:デフォルトの名無しさん
07/10/26 08:15:14
SDK付属のDirectXViewerで、DX10にしてXファイルを開いたら、むちゃくちゃ遅くなった。
DX9で60以上出てたのが、10以下になった感じ。
グラボはgeforce7xxxだし、DX10に対応してるはずなんだけど、なんで?
704:デフォルトの名無しさん
07/10/26 08:38:10
>>703
どーでもいいがGeForce7シリーズは普通、DX10対応とは言わない。
ShaderModelも3.0止まりだし。
お前さんの速度低下の原因が何なのかは別として。
705:デフォルトの名無しさん
07/10/26 08:41:22
いつGeForce7が10対応になったんだよ
706:デフォルトの名無しさん
07/10/26 13:01:34
なんかうっかりさんが多いな
707:703
07/10/26 17:34:23
すいません、てっきりフルサポートしてるもんだと思ってました。
708:デフォルトの名無しさん
07/10/26 20:01:17
DirectX10でポリゴンを画面の座標で表示する方法がわかりません。
チュートリアルのコードは、画面の中心が(0, 0)となっているのですが、単位や基準の位置を設定することはできるのでしょうか?
やりたいことは、自前でスプライトを実装することです。
教えてください。
709:デフォルトの名無しさん
07/10/26 20:29:24
頂点シェーダで座標変換?
710:デフォルトの名無しさん
07/10/27 19:52:43
>>708
君があまりに知識が無さ過ぎるので、どこからどこまで解説したものか途方に暮れ
誰も君の期待に答えることができない。
本屋行って何か本でも買って読んでみれば?
711:デフォルトの名無しさん
07/10/27 21:01:05
DX9までなら扱える。DX10構造がだいぶかわってわからないのさ。
DX9なら、初期化を完了した素の状態からVertexで直に画面の座標で指定できたよね。
それがDX10だと同じようにコーディングできないから、どうしたらいいかわからない。
あんまりDX10やってる人いない?
712:デフォルトの名無しさん
07/10/28 01:54:46
DX10とかどうこういう問題じゃなくてシェーダと座標系の問題なんじゃないの
713:デフォルトの名無しさん
07/10/28 02:05:18
DX9とDX10の問題じゃないだろ。
714:デフォルトの名無しさん
07/10/28 02:13:02
Vertex Bufferに(0,0,0) (0,100,0) (100,0,0) なかんじで設定して描画できる?
可能なら必要な処理を教えて。
715:デフォルトの名無しさん
07/10/28 02:13:38
↑のは座標は画面のピクセル単位ね。
716:デフォルトの名無しさん
07/10/28 10:13:55
CDXUTDialog::OnRender10でも見てくれ。
そこに答えがある。
717:デフォルトの名無しさん
07/10/28 17:39:18
見た。DX10は画面の座標でVertexを直接指定できないでおk?
わからないのですが、これはシェーダーの仕様制限なのかな?
718:デフォルトの名無しさん
07/10/28 19:02:14
>>717
元々頂点シェーダ使用時はそういうもんだった気がする。
頂点シェーダ強制になった副作用と思えばいいんじゃね?
719:デフォルトの名無しさん
07/10/28 21:58:58
ジオメトリシェーダ
720:デフォルトの名無しさん
07/10/29 06:19:37
>>711
おまえDX9扱えるなんて言ってんじゃねーよ
721:デフォルトの名無しさん
07/10/29 07:01:15
ごめん。もうDX10まで扱えるようになった。
722:デフォルトの名無しさん
07/10/29 08:09:17
扱えるってのはポリゴン一枚出すサンプルが作れれば言える
723:デフォルトの名無しさん
07/10/29 14:44:22
シェーダーのPOSITIONセマンテックが何をさしてるのかわかりません
vertex fragmentでのPOSITIONの意味教えください
724:デフォルトの名無しさん
07/10/29 15:34:48
正直セマンテック
725:デフォルトの名無しさん
07/10/29 15:53:42
意味だというのはわかるのですが
vertexが(0,0,0) (-10,0,0) (10,0,0)
とあったときにそれをvertexシェーダに送ると
pos : POSITION
としたときのposは具体的にどんな値が入っているのか。
そしてfragmentシェーダに
OUT.HPosition = mul( float4(IN.Pos.xyz , 1.0) , matWVP);
たとえばこうして送ったときには、fragmentシェーダで扱っているHPositionは
スクリーン上のどの値なのか
どうもイメージできてなくて
726:デフォルトの名無しさん
07/10/29 22:15:00
どうせ2Dシューティング作るんだろ
matWVPに単位行列入れればいいのに
727:デフォルトの名無しさん
07/10/29 23:00:40
2Dシューティングだったら、楽しんで作るんですが。
どなたか725の回答お願いします
728:デフォルトの名無しさん
07/10/29 23:20:22
うん、良かったね。
729:デフォルトの名無しさん
07/10/29 23:37:45
>>725
CPU→VertexShader→FragmentShaderという流れでは
・VertexShaderのPosition値は基本的にCPUで設定した頂点バッファの頂点そのままの値です
・VertexShaderからFragmentShaderに送るPosition値は射影空間の値を入れます。
具体的には(-1,-1,0)-(1,1,1)です
・スクリーンへは射影空間(-1,-1)-(1,1)が引き伸ばされて
(0,0)-(ViewportSize.X,ViewportSize.Y)に表示されると思ってください
以上を踏まえて
>pos : POSITION
>としたときのposは具体的にどんな値が入っているのか。
そのまま(0,0,0) (-10,0,0) (10,0,0)が入ってきます
>そしてfragmentシェーダに
>OUT.HPosition = mul( float4(IN.Pos.xyz , 1.0) , matWVP);
>たとえばこうして送ったときには、fragmentシェーダで扱っているHPositionは
>スクリーン上のどの値なのか
頂点がカメラのフラスタムの中に入っていれば、
射影空間(-1,-1,0)-(1,1,1)の中に頂点が変換されます
その先のスクリーン座標への変換はDirectXが勝手にやります
射影空間とはなんぞやって話なら
SDKの「射影変換とは」って項目でも読んでください
730:デフォルトの名無しさん
07/10/31 21:55:28
>>729
遅くなりましたがありがとうございます
ようやくイメージできました
731:デフォルトの名無しさん
07/11/01 06:12:57
HLSLでピクセルシェーダを書き始めたのですが、
BeginPass()~EndPass()の間でマテリアルごとにDrawSubsetを実行する流れになると思うんですけど、
特定のマテリアルではピクセルシェーダを変えたいというとき、
・特定マテリアルのときフラグ定数を転送してやってピクセルシェーダ内で分岐して処理を変える
・Pass0で特定マテリアル以外を描いて、Pass1で特定マテリアルだけを描く
どっちがベターでしょうか?
もしくは他に「こうやるもんだ」ってのがあれば教えていただきたいです。
732:デフォルトの名無しさん
07/11/01 08:40:16
厳密にはケースバイケースに計測しないと分からないので
一般には「楽なほう」が選ばれるんじゃね
733:デフォルトの名無しさん
07/11/01 14:41:49
発想を逆にして、マテリアルごとにBeginPass()~EndPass()というのも。
734:デフォルトの名無しさん
07/11/01 23:01:47
>>731
マテリアルとシェーダって一対一になると考えるのが普通じゃね?
つまりシェーダが違うんであれば、それはマテリアルが違う。
データの段階でどういうマテリアルにするかを指定しておくべきじゃないかね
735:デフォルトの名無しさん
07/11/01 23:53:10
technique T
{
pass P0{ ... }
pass P1{ ... }
pass P2{ ... }
}
ApplyEffect( func )
{
SetTechnique( "T" );
Begin()
BeginPass( func );
Draw();
EndPass();
End();
}
これはよくやる、っていうかこれしかやらない。
passをループでぐるぐる回すってのは、
むしろあんまり使いどころがない気がする。
736:731
07/11/02 02:56:59
>>732-735
レスサンクス!参考になりました。
とりあえず自分が組みやすい奴でやってみることにします。
737:デフォルトの名無しさん
07/11/02 18:51:21
DirectX10で、MultiSamplingのバックバッファから2Dテクスチャにコピーする方法がわかりません。
つまりバックバッファからイメージを取得したいのですが。
アドバイスをください。
738:デフォルトの名無しさん
07/11/02 21:37:09
>>737
レンダリングターゲットを変えろ。
739:デフォルトの名無しさん
07/11/03 02:40:06
条件を全否定するのではなく、目的の方法を求みます。
740:デフォルトの名無しさん
07/11/03 02:53:28
>求みます。
求みる?
741:デフォルトの名無しさん
07/11/03 03:04:51
揚げ足とるなカス
742:デフォルトの名無しさん
07/11/03 03:06:30
俺も知りたい
743:デフォルトの名無しさん
07/11/03 03:07:35
俺も俺も!
744:デフォルトの名無しさん
07/11/03 03:09:45
あちきも!
745:デフォルトの名無しさん
07/11/03 03:11:40
求みます、ってのは日本語を学ぶ中国人がよく犯す間違い
746:デフォルトの名無しさん
07/11/03 04:45:04
謝罪しる思い出した
747:デフォルトの名無しさん
07/11/03 17:21:38
事故レス
ID3D10Device::ResolveSubresource を使用することで目的が達成できました。
748:デフォルトの名無しさん
07/11/03 17:42:30
>>746
反省しるだろ
749:デフォルトの名無しさん
07/11/03 19:28:39
URLリンク(www.watch.impress.co.jp)
この問題がよくわかんないんですけど
間違ったサンプルコードをコピペしていたのが原因らしいけど、
その詳細が知りたいです
750:デフォルトの名無しさん
07/11/03 19:34:13
>>749
スライドに載ってるソース見てMSDNライブラリで調べればいいだろ。
751:デフォルトの名無しさん
07/11/03 19:35:54
詳細ってこれなんじゃないの?
URLリンク(www.watch.impress.co.jp)
752:デフォルトの名無しさん
07/11/03 19:37:50
>>749
お前なんも記事を読んでないな?
本文に書いてあるだろ、スライドのSS見ろ。
753:749
07/11/03 19:54:12
えーと、IMEの描画をさせないために
WM_IME_SETCONTEXTが来た時にlParamからISC_SHOWUIALLフラグを取り除くのが正解だけど、
サンプルは自動変数に0を入れてるから意味ナス
って理解でいいですかね
754:デフォルトの名無しさん
07/11/03 19:58:51
>>753
肝心なところが足りない。
lParamからISC_SHOWUIALLのビットを下げてDefWindowProcに渡す、で正解。
755:749
07/11/03 20:00:43
そういえば解決策をかいてなかった
>>754
了解です。理解しました
756:デフォルトの名無しさん
07/11/03 20:46:36
海外デベロッパはIMEの動作しない環境で作ってテストしない&修正しないもんだから、Vistaでもう致命的におかしくなった話。
Vistaなプログラミングしていれば周知の事実だぜ。
757:デフォルトの名無しさん
07/11/03 23:46:05
海外全部じゃなくて、欧米だな
758:デフォルトの名無しさん
07/11/05 13:34:46
欧米か・・・
759:デフォルトの名無しさん
07/11/05 21:15:11
米だけじゃね
760:デフォルトの名無しさん
07/11/05 22:07:11
漢字圏以外だと思うが
761:デフォルトの名無しさん
07/11/06 01:51:12
欧とか印のデベロッパの傾向とかはっきり言って知らない
762:デフォルトの名無しさん
07/11/06 07:55:30
インド製の有名なゲームの体験版とかあったら教えてくれ。それで判断する
763:デフォルトの名無しさん
07/11/06 08:10:28
英語のヘルプはほとんどインド製。
ゲームじゃないが。
764:デフォルトの名無しさん
07/11/06 16:08:50
インドの標準語は英語
765:デフォルトの名無しさん
07/11/06 16:56:17
違いますよ
766:デフォルトの名無しさん
07/11/06 21:43:13
インド人の微妙に高いカーストのイケメンのアニオタプログラマガ
半裸で作ったゲームないの
767:デフォルトの名無しさん
07/11/06 23:14:09
カーストなんて言葉聞いたの小学校の社会の時間以来だ。
768:デフォルトの名無しさん
07/11/07 12:41:13
DirectX10で書いた場合、vista専用になってしまいますか?
769:デフォルトの名無しさん
07/11/07 14:50:57
DirectX10専用
770:デフォルトの名無しさん
07/11/08 04:48:53
インドのゲームってやっぱり敵と踊ったりするの
771:デフォルトの名無しさん
07/11/08 10:49:42
DirectXを初めて学ぶのにお薦めの本を教えてください
772:デフォルトの名無しさん
07/11/08 11:58:38
猫でもわかるDirectX ~ 3Dグラフィックス基礎編(1)
URLリンク(www.amazon.co.jp)
773:デフォルトの名無しさん
07/11/08 13:12:06
本読んだことないけど、使えている俺が居る。
774:デフォルトの名無しさん
07/11/08 13:25:18
勘と試行錯誤って大事だよ
775:デフォルトの名無しさん
07/11/08 18:32:19
>>772
リンク先間違ってない?
776:デフォルトの名無しさん
07/11/09 06:35:15
ネタだろ
777:デフォルトの名無しさん
07/11/09 21:16:44
DirectX & C++ & Windowsでシェーダプログラムを組んでいます。
処理が複雑になりすぎて、レジスタ数が足りないというエラーを返される
ようになってしまいました。
この場合1パスで行っていた描画を2パスにすれば解決するのでしょうか?
また、その場合どのようにシェーダの記述を行えばよいのでしょうか?
778:777
07/11/09 22:06:21
やっぱり分からないので再度書き込みをさせて頂きます。
1パス目で行った描画ピクセルに2パス目で色相変換の処理を組み込みたいのです
しかしながら1パス目の描画結果を取得する方法が分かりません。
下のように2パス目のピクセルシェーダを記述しています。
PS_OUTPUT PS_HueShader( PS_OUTPUT In ){//TESTとして1パス目の記述結果をそのまま出力する
return In;
}
このように記述すれば引数Inには1パス目のピクセルシェーダ描画結果が入っていると
思ってたのですが実際には1パス目の頂点シェーダのDiffuseの値が入ってます。
どのようにしたら1パス目ピクセルシェーダ終了時のピクセルの値を操作できる
のでしょうか?
779:デフォルトの名無しさん
07/11/10 01:20:03
1パス目でレンダーターゲットにしたテクスチャに描画して
2パス目でそいつをピクセルシェーダの入力にする
ってのが基本
780:デフォルトの名無しさん
07/11/10 01:34:03
ていうかレジスタが足りないなんてエラー初めて聞いた。
プログラムコードがでかすぎるってのならともかく…
781:777
07/11/10 01:42:28
>779
分かりやすい解説ありがとうございます。
2パスだと描画用のテクスチャを別に用意する必要があるので、処理が重そうですね。
今回は色相変換を諦めようと思います。アドバイスありがとうございました。
>>780
色相彩度変換はレジスタ数を大量に必要とするのでシェーダのバージョンが
低いとすぐにレジスタが足りないというエラーが起きてしまいます…
782:デフォルトの名無しさん
07/11/10 01:43:46
色相彩度変換て具体的にどういうのか知らないんだけど、そんなに消費するのか。
セピア変換とかなら単に行列かけるだけだと思ってたけど
話にならないくらい複雑なことするのかな
783:デフォルトの名無しさん
07/11/10 02:18:16
RGB情報を一度HSV(色相・彩度・明度)の情報に変換して、各値を
操作してRGB値に戻す…というやり方でやってますんで、処理としては
結構複雑です・・・。検索するとシェーダサンプルが見つかると思います。
784:デフォルトの名無しさん
07/11/10 09:18:39
HSVとRGBの変換が大変そうだね…
てか、ソース見て俺も1回やったこと思い出した。CPUでだけど。
785:デフォルトの名無しさん
07/11/10 09:32:46
別にマルチパスレンダは重くないと思うぞ。
重くなる要素が見当たらないし。
VRAMがオーバーフローするなら別だが。
786:デフォルトの名無しさん
07/11/10 11:09:51
シェーダでHSV変換なんてただのエフェクトサンプル以外の使い道あるの?
実用しないなら遅くていいじゃん。
787:デフォルトの名無しさん
07/11/10 17:01:29
シェーダをある程度理解されている方に質問です。
頂点シェーダに1回に送られてくる頂点情報は、基本的に1つですよね。
私は頂点同士の計算がしたいのですが、その為には複数の頂点が必要になります。
(例)
vertex1 と vertex2 でなんらかの計算
vertex1 と vertex3 でなんらかの計算
というように、送られてきた頂点と、他の頂点を使って計算をしたいのです。
こういうことはシェーダでは可能なのでしょうか?
ちなみにHLSLを使っています。
どうぞ宜しくお願いします。
788:デフォルトの名無しさん
07/11/10 17:30:57
シェーダが走る前の特定の頂点情報が必要なら、レンダリング前に定数レジスタに
値を入れてからシェーダを走らせる。
あとは、頂点フォーマットを拡張して、レンダリングを開始する前に、
必要な他の頂点の情報を自分の頂点情報に入れておけば、シェーダで利用できる。
DirectX9までは、基本的にシェーダが走ってる最中の別の頂点の情報が必要な場合、
取得は不可能なはず。(上のような、小細工が必要)
DirectX10のシェーダは、その辺が可能って聞いてるけど、詳しい人ヨロシク。
789:デフォルトの名無しさん
07/11/10 17:49:52
>>788
ご回答していただきありがとうございます。
もう少し具体的に教えてもらいたいのですが、
・レンダリング前に定数レジスタに値をいれる
・必要な他の頂点の情報を自分の頂点情報に入れておく
とは具体的にどうすれば良いでしょうか。
いろいろ本やサイトで調べたのですが、
これに関して掲載されていなかったので投稿させていただきました。
初心者で申し訳ありません。
790:デフォルトの名無しさん
07/11/10 17:53:02
>>787
DirectX10のジオメトリシェーダなら
入ってきた三角形に対して新しい頂点を生成したりすることができるよ
でも、やる内容によるんじゃないかなぁ
DirectX9世代ではピクセルシェーダで頑張ってやってた処理が多い
791:デフォルトの名無しさん
07/11/10 17:54:41
>>789
>・レンダリング前に定数レジスタに値をいれる
こっちは多分、君の言う目的を達成できない方法だよ
プリミティブを描画している間、どの頂点にも同じ情報を送ることができる
まぁ、普通のレジスタの使い方
>・必要な他の頂点の情報を自分の頂点情報に入れておく
これは頂点に他の頂点のコピーを複製していれておく方法。
例えば
struct VERTEX
{
792:デフォルトの名無しさん
07/11/10 17:57:05
SHIFT+Enterで書き込んでしまった
struct VERTEX
{
float4 Position : POSITION;
float4 Texcoord : TEXCOORD;
};
って頂点だったら
struct VERTEX
{
float4 Position0 : POSITION0;
float4 Texcoord0 : TEXCOORD0;
float4 Position1 : POSITION1;
float4 Texcoord1 : TEXCOORD1;
float4 Position2 : POSITION2;
float4 Texcoord2 : TEXCOORD2;
};
みたいにしておいて、他の頂点に触れるようにしておく。
かなり強引な方法(単純に考えてデータ量3倍)
793:787
07/11/10 18:01:40
皆様、早速のご回答ありがとうございます。
ある本を読んでみると、頂点情報をテクスチャに保存して
それをピクセルシェーダで使用すると書いてあるのですが、
具体的にどうすればいいのか分かりません。
複数の頂点情報をテクスチャに保存することってできるのでしょうか?
794:デフォルトの名無しさん
07/11/10 18:08:06
>>793
そりゃ例えばARGB32Fのフォーマットなら、
1ピクセルにfloat4の情報を書き込めるってだけだよ
そもそも具体的に何をしたいのかが分からないから何とも言えない…
795:787
07/11/10 18:18:37
私が具体的に行いことを述べます。
例えば、頂点数が「5」のオブジェクトがあります。
1つの頂点に対して、他の全ての頂点と計算がしたいので
v1-v2 v1-v3 v1-v4 v1-v5
v2-----------同じ------------
v3-----------同じ------------
v4-----------同じ------------
v5-----------同じ------------
※ -← は計算するということ
と計算がしたいので、4×5 = 20回分計算が必要になるわけです。
こういう処理をGPU上で計算したいと思っています。
何か良い方法がありますでしょうか。
796:デフォルトの名無しさん
07/11/10 18:20:26
シェーダーで計算したいってことなのかな・・・
797:デフォルトの名無しさん
07/11/10 18:27:57
>>795
いや、それって方法論でしょ?
何を表現したいかってことだよ
それによってはそもそもその手法が正しいのか、って話になるから
まあ、よほど重い処理でない限り、頂点シェーダで強引に計算してしまえばいい
大抵はピクセル処理でボトルネックになってしまうので、どうでもいいんで
798:デフォルトの名無しさん
07/11/10 20:08:54
>>795
だから、>>788で書いたとおり、DirectX9では無理。DirectX10のジオメトリシェーダでは可能。
無理だから、事前に「自分で」必要な頂点の情報を、対応する頂点に「仕込む」等の処理が必要になる。
ある頂点で参照可能な別頂点の数は、入力となるvレジスタの数で決まるから、「あるプリミティブ全体を
対象とする任意の頂点を相互参照」するなんてDirectXでは完全に無理。
このヒントを聞いて、「頂点に他の頂点を仕込む方法が具体的にわからない」なら、
シェーダの理解が足りて無いってことだから、
URLリンク(marupeke296.com)
この辺の一番上の図を見て、頂点シェーダの演算部が参照可能なデータについて、もう一度整理する事を
お勧めする。
>>797もいってる通り、実現方法を変更する方が現実的なんじゃないかな?
799:デフォルトの名無しさん
07/11/10 21:17:22
便乗して質問
>>792のようにPosition0~2まで3つ設定すると
そこに何入ってるの?
たとえば {1 1 0} {0 0 0} {-1 1 0} の三角形があったらどうなるの?
800:デフォルトの名無しさん
07/11/10 21:28:57
何が入ってるかじゃなくて
何を入れるかを自分で決めるんだ
801:デフォルトの名無しさん
07/11/10 21:33:10
ごめん、Cgだから
何を入れるというと uniform型を宣言すると思ってしまって。
Cgでも未だに
struct IN{
float4 position1 : POSITION
float4 color : COLOR
}
に何が入ってるのかわかってなくて。
uniform型なら、明示的にブチ込んでるからわかるんだけども
802:デフォルトの名無しさん
07/11/10 21:48:57
実際のところ、頂点シェーダの
入力パラメータが何であるかなんで
どうでもいいことだし、何を渡してもかまわない。
ただ最低限、同次頂点座標を1つ出力しなければならないってだけだ。
803:デフォルトの名無しさん
07/11/10 21:49:30
>何が入ってるのかわかってなくて
工工工工工工エエエエエエ(´д`)エエエエエエ工工工工工工
804:デフォルトの名無しさん
07/11/10 21:53:48
>>802
何が入ってるのかわからないままだと、結局何もわかってないままで
>>803みたいなこと言われるので・・・
805:デフォルトの名無しさん
07/11/11 15:53:09
質問です。
DirectX SDKのサンプルって、みんな「コード生成」->「ランタイムライブラリ」の設定が「マルチスレッド デバッグ」になってるじゃないですか。
これを、「マルチスレッド デバッグ DLL」にしてビルド通して実行しようとすると「MSVCR80.dllが見つかりませんでした」とか「MSVCR80D.dllが見つかりませんでした」
と言われて実行に失敗してしまいます。
これ、対処法ってないんでしょうか。
というのも、自前で作ったライブラリとSDKサンプルを組み合わせて使いたいんですが、ライブラリが「マルチスレッド (デバッグ) DLL」の設定でビルドしてあるものだから、
合わせたいんです。
806:デフォルトの名無しさん
07/11/11 16:26:41
見つかる場所 (PATHの通ってる場所とか) にDLLを置いとけばいいんじゃないの
807:デフォルトの名無しさん
07/11/11 17:35:07
最近ワイドモニターのノートPCを使い始めたのですが、
フルスクリーンのゲームなどをするときに横に伸びてしまいます。
そこで、特定のサイズでフルスクリーンにするとき、自動的に左右をパディングして真ん中だけを使って写すようにしたいのですが、
そのようなソフトウェアを作ることは可能でしょうか?
808:デフォルトの名無しさん
07/11/11 17:40:26
はい。
809:デフォルトの名無しさん
07/11/11 17:45:25
ちなみに、そのようなハードウェアを作ることも可能ですよ。
810:デフォルトの名無しさん
07/11/11 18:12:02
でもそこらの同人ゲームはフルスクリーンで特に何もやってないのがほとんどじゃん。
811:デフォルトの名無しさん
07/11/11 18:36:58
>>810
TL頂点使ってると比率が変わるだけで表示しているものの位置が変わるからね。
812:デフォルトの名無しさん
07/11/11 22:07:15
ドラクエ7の戦闘開始時に画面がばらばらに落ちる処理
をdirectxでやるのに参考になるサイトがあれば
教えてください。
813:デフォルトの名無しさん
07/11/11 22:33:27
URLリンク(www.nicovideo.jp)
ニコニコだけど、これ自作描画エンジンらしい。
エンジンどーこーわからんが、すげぇや
814:デフォルトの名無しさん
07/11/11 22:38:25
DirectXなの?
815:デフォルトの名無しさん
07/11/11 22:39:27
>>813
どーゆーレベルのエンジンかわからんが
それでもスゴイ!と言わざるを得ないw
俺なんて、DirectXのサンプルブラウザーのチュートリアル4を
ウンコをつんつんするような感じで弄ってるところだぞ
816:デフォルトの名無しさん
07/11/11 22:46:48
>>813
開発者のHP見てきた
3Dアクションゲーム作っちゃうレベルの人なので、
素人から見るとすごいが、この人のレベル的にはそんなに凄くないw
817:デフォルトの名無しさん
07/11/11 22:53:59
確かにすごい
トゥーンレンダリングエンジンの開発
キャラのモデリング作成
キャラのテクスチャ作成
モーション付け
アニメーション付け
考えただけで気が遠くなる
818:デフォルトの名無しさん
07/11/11 22:59:16
しかし、SIが正規版なのが気になってしまうw
819:デフォルトの名無しさん
07/11/11 23:03:30
元プログラマー、現在NEET、てw
にしてはいいソフト揃えてんなあ
モデルはちょっとクセがあるけど丁寧だし動きもなかなか自然だねえ
820:デフォルトの名無しさん
07/11/11 23:09:51
URLリンク(www.amazon.co.jp)
この人が見てるらしいこの本、ちょっと欲しいな!
821:デフォルトの名無しさん
07/11/11 23:18:55
XSI
100万とかテラスゴス!
と思ったら、XSI 6 Foundation だと七万八千円なのね
822:デフォルトの名無しさん
07/11/11 23:32:49
一番面倒なのは、モーションを入れる作業だね。
地道に振り付けと、表情のUV切り替え。
データさえ作ってしまえばエンジンの仕事なんてたかが知れている。
823:デフォルトの名無しさん
07/11/11 23:50:43
>データさえ作ってしまえばエンジンの仕事なんてたかが知れている。
どういうこっちゃ?
つーか、プログラマにモデリングが不慣れだというのに
ニコニコではモデリングばっか言われてるのな。
エンジンなんて作れねぇ。つーか無理
824:デフォルトの名無しさん
07/11/12 00:01:35
>>823
プログラマが個人でやる場合だと、データ作る方が大変な気がするw
両方やってるのがすごいなぁと思うよ
825:デフォルトの名無しさん
07/11/12 00:02:54
モデルデータを読み込んで再生するだけなら、普通のプログラマなら全然難しくないんだよ。
モーションデータの生成部分までエンジン側でやっているなら凄いプログラムだが、それはまずあり得ない。
826:デフォルトの名無しさん
07/11/12 00:17:03
そりゃ、モデルデータ読み込んで、toonシェーダかけて再生ってそりゃやるけど。
エンジンってそういうことなん?
あと、全然難しくない、とか言うのやめたほうがいいよ。
つーかライティングやらシェーディング、加えてそれがリアルタイムってあたりで
組むのうんざりだ。
827:デフォルトの名無しさん
07/11/12 00:25:20
データ作るほうがコーディングより作業が大変だろ
828:デフォルトの名無しさん
07/11/12 00:28:54
ビューアは作ったからモデルデータとモーションを作れと言われるのと、
モデルデータは作ったからビューアを作れと言われるとがどちらが良いかと言われたら、
迷わず後者を選ぶ。
労力が全然違う。
829:デフォルトの名無しさん
07/11/12 00:33:44
いつのまに
プログラマーとモデラー・アニメーターの比較になってるんだ?
プログラムの話をしようぜ。
リアルタイムラジオシティtoonレンダでも組んでくれ。
830:デフォルトの名無しさん
07/11/12 00:44:50
光源が固定のラジオシティをリアルタイムといってしまっていいものかどうか。
831:デフォルトの名無しさん
07/11/12 00:52:55
????
なんでラジオシティに光源の位置が、固定か可変か関係あるの?
832:デフォルトの名無しさん
07/11/12 01:08:03
は?全ては光源に依存してるんだから、光源が固定か可変かは大問題だろう。
CG屋さんか?
833:デフォルトの名無しさん
07/11/12 01:13:33
リアルタイムに光源を変化させるのってそんなに難しいの?
まだ、チュートリアル弄ってる段階なんでさっぱりさ!
834:デフォルトの名無しさん
07/11/12 01:17:05
????
そりゃ光源に依存してるけど、普通はレンダリング時に光源の位置を決めて
そこからラジオシティ入るだろ?
つまりはアレか?人がグリグリ動いてる中で、光源(例えば太陽+複数のスポットライト)も
グリグリ動いて、間接光だのをリアルタイムで時間積分して解いてるのか?
つーか、リアルタイムの光源固定ラジオシティでさえまともに実装されてないのに。
光源がグリグリ動くラジオシティがあるっていうのか。ぜひ教えて欲しいわ。