鬱だ氏のう DirectX (Part 8)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
03/03/03 16:25ID:bb2JYtGF初心者用相談室では扱わないような少し高度な話題も受け持つ。
■ 過去スレ
Part 1 http://piza.2ch.net/tech/kako/966/966655286.html (プログラム板)
Part 2 http://pc3.2ch.net/test/read.cgi/tech/997101556/ (プログラム板)
Part 3 http://game.2ch.net/gamedev/kako/1005/10051/1005119775.html
Part 4 http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html
Part 5 http://game.2ch.net/test/read.cgi/gamedev/1027351925/
Part 6 http://game.2ch.net/test/read.cgi/gamedev/1033920036/
Part 7 http://pc2.2ch.net/test/read.cgi/gamedev/1039509250/
0241名前は開発中のものです。
03/03/23 09:26ID:lA19ERQJもうそろそろノートPCにも現世代のビデオチップが載りはじめるよ。
ATIもNVIDIAもようやく本腰入れてきたから。
http://pc.watch.impress.co.jp/docs/2003/0317/cebit08.htm
http://pc.watch.impress.co.jp/docs/2003/0319/nvidia.htm
0242あぼーん
NGNG0243名前は開発中のものです。
03/03/23 14:40ID:CQpRIuegスレと直接関係のない質問で恐縮ですが、98SEでSSEの命令を使った
プログラムが動くかどうか、ご存知の方がいらしたら教えてください。
何故、こんなことを聞いているかと言うと、私の作ったプログラム
(VC6+SP4+プロセッサパック) が、SSE命令を使った時に2000だと動き、
98SEだと動かないからです(SSE使用部分を外すと動きます)。
デバッグ出力に
D3DX: (INFO) Using SSE Instructions
の記述があるので、多分98SEでもOKなのでしょうが、念のために聞いて
おきたいと思いまして。
0244名前は開発中のものです。
03/03/23 16:11ID:b/1zdTweWin98からは、SSE サポートしてるはず。
動的メモリ割り当てしたオブジェクトのアライメントとかじゃねーんかな?
Win2k では、運良く16バイトアライメントされた所に確保してくれたとか。
というか、聞くスレを間違ってるかもしれん。
↓この辺か
アセンブラヽ(`Д´)ノモルァ
http://pc2.2ch.net/test/read.cgi/tech/1040297337/l50
0245名前は開発中のものです。
03/03/23 16:24ID:1J/iDgWnSSE命令ってOSじゃなくてCPUによるんじゃないの?
最近はCeleronでもSSEだけじゃなくてSSE2もサポートしてる
ちなみに私のノートPC 2001年5月もので
CPU Celeron700MHzでMMX, SSEをサポートしてる(SSE2は駄目
cpuid命令使ってCPUがMMX, SSE, SSE2をサポートしてるかどうか分かるよ
0246名前は開発中のものです。
03/03/23 16:26ID:1J/iDgWnこのあたり参考になるかも
ttp://blackphase.hp.infoseek.co.jp/BPProgram/SSE.htm
0247名前は開発中のものです。
03/03/23 17:40ID:ZmvH3kEVマルチタスク環境下では
レジスタやモードの切り替え処理がいるのでOSの対応も必要
0248名前は開発中のものです。
03/03/23 17:44ID:Y8YRCUVC0249名前は開発中のものです。
03/03/23 17:49ID:ZmvH3kEVカリングを無効にするだけでは駄目なのか?
0250名前は開発中のものです。
03/03/23 18:05ID:Y8YRCUVC0251名前は開発中のものです。
03/03/23 18:12ID:WvjtL6/50252名前は開発中のものです。
03/03/23 18:13ID:ZmvH3kEVそういえば放線の問題があったか
ということはもう一個作らないと無理
0253名前は開発中のものです。
03/03/23 18:23ID:Y8YRCUVC何か間違ったこと言ってますかね?
>>251
やっぱりそうですか。
OpenGLは両面ライティングやってくれるんですがねえ。
0254名前は開発中のものです。
03/03/23 19:01ID:WJQLPb2zお前ちょっともちつけ!
両方とも251へのレスになってる。
0255243
03/03/23 20:24ID:CQpRIuegスレ違いは分かっていたのですが、244が紹介してくださったようなスレは
知らなかったし、一応プログラム自体はDirectXのものなので(まあ言い訳に
過ぎませんが)良識的な人の多い、このスレで質問させていただきました。
ご迷惑でしたら、ごめんなさい。
で、結果なのですが
#defineALIGNE_SIZE16
#define ALIGNED__declspec(align(ALIGNE_SIZE))
ALIGNED D3DXVECTOR4配列
この配列のアドレスの下一桁が0になっていないのが原因でした。2000だと
0なんですけど、やり方が間違ってるのか、98seだと下一桁が0じゃないものが
出来てしまいました。
しょうがないので
movaps //アラインメントが必要菜mov
を
movups //アラインメントが不要なmov
に置換することで解決となりました。パフォーマンスは少し落ちたのかも
しれませんが、計測できるほどではないようなので。
もし、正しいアラインメントのやり方をご存知の方がいらしたら、
アドバイスしてくださると助かります。それともスレ違いの話題なので、
244さんの紹介してくださったスレに行った方が良いでしょうか。
0256243
03/03/23 20:26ID:CQpRIueg#define ALIGNE_SIZE 16
#define ALIGNED __declspec(align(ALIGNE_SIZE))
ALIGNED D3DXVECTOR4 配列
です。
0257あぼーん
NGNG0258名前は開発中のものです。
03/03/23 21:22ID:MZF0GWXnピクセルシェーダで、光源との間に他のポリゴンがあれば影がつく、みたいな感じで
計算してみたのですが、遅くて使い物になりませんでした。
こう、ランプを動かすと影が大きく動く、みたいな演出をしたいのですが・・・
0259名前は開発中のものです。
03/03/23 21:54ID:qJiQfefa馬鹿は氏ね
0260名前は開発中のものです。
03/03/23 22:07ID:NJ/JST+zこうやってみると、スクリプト荒らしって罪がないもんだな
0261名前は開発中のものです。
03/03/23 22:53ID:WvjtL6/5ワラタ
0262名前は開発中のものです。
03/03/23 23:49ID:NuCtkpvs0263名前は開発中のものです。
03/03/24 00:18ID:mg4yMaQDDirectX関係のサイトを見て回ると、ステンシルテストが微妙な所は縞々になったりとか
微妙な問題が多いみたいなんですけど、どうやったらいいんでしょうか。
DirectXの影サンプル(飛行機の奴)は問題無いようにみえるんですけど、これってその
まま使っても大丈夫なんでしょうか。教えてください
0264244
03/03/24 01:22ID:2/FCNweI文法はあってると思うので、やっぱり動的メモリ割り当てしたオブジェクトが問題なんじゃないかと。
次のようなコードがあるとアウト。
ALIGNED D3DXVECTOR4* pV4 = new D3DXVECTOR4;
この場合 new したオブジェクトが アライメントしてくれる保証は無い (はず) なので
代わりに _aligned_malloc( ) を使って、アライメント済みのメモリを確保すると良い。
ただ、
ALIGNED D3DXVECTOR4 V4;
と、自動変数でアライメントが狂うとなると、ちとわからん。
私もそんなに asm を使いこなしているわけではないので、
アセンブラスレで聞いたほうが、正確な情報が聞きだせると思う。
Dxの話題でもなくなってきてるし。
0265名前は開発中のものです。
03/03/24 01:24ID:l1Ng8fS8とか、よくしらないのにいってみるテスト。
0266名前は開発中のものです。
03/03/24 01:28ID:ICdF9SLs0267あぼーん
NGNG0268名前は開発中のものです。
03/03/24 02:20ID:FvGoC6eMSDKのサンプルも縞々してるぞ
0269あぼーん
NGNG0270名前は開発中のものです。
03/03/24 06:45ID:mg4yMaQDナイスなサンプルはどっかにないでしょうか。DOOMとかキレイですけどどうやってるんでしょうか
0271あぼーん
NGNG0272243=255=256
03/03/24 08:29ID:KE3EBdJ/やはりスレ違いですよね。失礼しました。もう少しチェックして
分からなかったらアセンブラスレのほうに行ってみたいと思います。
0273名前は開発中のものです。
03/03/24 19:41ID:QS00uNc2//D3DXMATRIX matWorld //ワールド座標に変換する行列が設定されている
void CGraphics::_DrawImage(CTexture* img,FRECT src){
CUSTOMVERTEX* cv1;
m_pVB->Lock( 0, 4*sizeof(CUSTOMVERTEX), (void**)&cv1, 0 ) ;
cv1[2].x=0.0f;
cv1[2].y=0.0f;
cv1[3].x=src.right - src.left;
cv1[3].y=0;
cv1[1].x=src.right - src.left;
cv1[1].y=src.bottom - src.top;
cv1[0].x=0.0f;
cv1[0].y=src.bottom - src.top;
//img->Width・・・読み込み後のテクスチャの横幅//img->Width・・・読み込み後のテクスチャの縦幅
cv1[0].tu = src.left / img->Width ;
cv1[0].tv = src.top / img->Height ;
cv1[1].tu = src.right / img->Width;
cv1[1].tv = src.top / img->Height ;
cv1[3].tu = src.right / img->Width ;
cv1[3].tv =src.bottom / img->Height;
cv1[2].tu = src.left / img->Width ;
cv1[2].tv =src.bottom / img->Height ;
m_pVB->Unlock();
m_pd3dDevice->SetStreamSource( 0, m_pVB, 0, sizeof(CUSTOMVERTEX) );
m_pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
m_pd3dDevice->SetVertexShader(NULL);
m_pd3dDevice->SetTexture(0,*img->GetPicture());
m_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld);
m_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2 );}
0274名前は開発中のものです。
03/03/24 19:41ID:QS00uNc2四角形ポリゴンにテクスチャを張ってイメージを描画しようとしたのですが
視点を変えていくとある程度離れたらテクスチャ座標が変な座標になってしまいます。
ある距離に達するまではイメージの指定した範囲が描画されるのですが、それ以後は一部分が極端に拡大されて描画されます。そして離れるほどにどんどん描画される部分が変わっていきます。
何か変なことをやったのでしょうか。教えてください。
0275名前は開発中のものです。
03/03/24 19:53ID:Iua7lzGb0276名前は開発中のものです。
03/03/24 19:58ID:QS00uNc2struct CUSTOMVERTEX
{ FLOAT x, y, z;
DWORD color;
FLOAT tu, tv;
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1)
こうなっています。
0277名前は開発中のものです。
03/03/24 20:32ID:Iua7lzGb0278名前は開発中のものです。
03/03/24 20:36ID:QS00uNc2m_pd3dDevice->CreateVertexBuffer(4*sizeof(CUSTOMVERTEX),
D3DUSAGE_WRITEONLY,D3DFVF_CUSTOMVERTEX ,
D3DPOOL_MANAGED, &m_pVB, NULL );
CUSTOMVERTEX* v;
m_pVB->Lock( 0, 0, (void**)&v, 0 );
v[0].z=0;
v[0].color=0xffffffff;
v[1].z=0;
v[1].color=0xffffffff;
v[2].z=10;
v[2].color=0xffffffff;
v[3].z=0;
v[3].color=0xffffffff;
m_pVB->Unlock();
このように初期化しています。
0279278
03/03/24 20:39ID:CCQez5lK0280あぼーん
NGNG0281名前は開発中のものです。
03/03/24 23:09ID:FvGoC6eMとりあえずSDKのサンプルを実装してみろ
DOOMVの方法は、^c氏
http://www.radiumsoftware.com/
のちょっと前の日記を読むといいんじゃないか
0282名前は開発中のものです。
03/03/24 23:25ID:mg4yMaQD情報どうもです。SDKの解析からやりたいと思います。
0283名前は開発中のものです。
03/03/24 23:54ID:jv9g5fuNこれではだめ?テクスチャ座標の指定を間違えてると思ったんだけど。
cv1[0].tu = 0.0f;
cv1[0].tv = 0.0f;
cv1[1].tu = (src.right-src.left)/ img->Width;
cv1[1].tv = 0.0f/ img->Height ;
cv1[3].tu = (src.right-src.left)/ img->Width ;
cv1[3].tv = (src.bottom-src.top)/ img->Height;
cv1[2].tu = 0.0f;
cv1[2].tv = (src.bottom-src.top)/ img->Height ;
0284名前は開発中のものです。
03/03/25 00:23ID:OH59+Xxkオプションでスキニングメソッドをいろいろ選べるようになってるんですが、
これってどれを使うのがいいんですか?
それぞれ長所短所とかあれば教えてください誰か
0285名前は開発中のものです。
03/03/25 02:20ID:I69aqFveDirectX7ハードを基準に頑張んなきゃならない哀れな人以外は頂点シェーダ。
0286名前は開発中のものです。
03/03/25 02:27ID:OH59+Xxkレスどうもです!
ついでに教えて欲しいんですが・・・
D3D Indexed(VS)とHLSL Indexed(VS)は何が違うんでしょうかか?
あと、頂点シェーダを使った場合、GeForce2MXとかで動かなくなっちゃいますか?
0287名前は開発中のものです。
03/03/25 02:40ID:csMMviHw要するに頂点全部に対して処理をするだけ。
ハードにやらせるかソフトでやるかが違う。
0288あぼーん
NGNG0289名前は開発中のものです。
03/03/25 02:46ID:I69aqFveソフトウェア頂点シェーダで最低限遊べる程度に動かすことは可能。
まあハードウェア頂点シェーダ前提で作るなら当然取るべき安全策。
HLSLは、まあ自分で調べてみてくれ。それを使うことによって
開発効率が上がると思うならならいいかもな。
0290名前は開発中のものです。
03/03/25 07:37ID:O3JDezbeGeForce2MXで動かなくなります。
かなり普及してるビデオカードなので対策はしといた方が良です。
0291名前は開発中のものです。
03/03/25 07:50ID:JEbuRyBg動いてるよ。
GeForce2MX
おまいの作ったもんだけだろ?
0292名前は開発中のものです。
03/03/25 07:52ID:zlUqGGxa0293あぼーん
NGNG0294278
03/03/25 12:58ID:NIBqNt/Z解決しました。原因は
SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_POINT )
でした。
どうもありがとうございました。
0295あぼーん
NGNG0296名前は開発中のものです。
03/03/25 17:04ID:PU/p1Hnkオフスクリーン専用のレンダラを作りたいのだ
0297名前は開発中のものです。
03/03/25 17:17ID:LewSLoG3http://pcweb.mycom.co.jp/news/2003/03/25/11.html
0298名前は開発中のものです。
03/03/25 17:39ID:j2FktYH0FF対応版か?
いずれにせよ、これでようやく人様に
ランタイムのインストールを堂々と奨められるよ。
0299名前は開発中のものです。
03/03/25 18:55ID:GuJgoDva残念だがそれはできないのだよ。
というわけで、不可視のウィンドウでも作ってくれたまえ。
0300あぼーん
NGNG0301名前は開発中のものです。
03/03/25 19:56ID:AW42iDBpウィンドウからフォーカスが外れたら止める仕様のためってことは
理解できるんだが、コンソールアプリからみると不必要な手間がかかって
面倒な仕様だと思うよ…。
0302名前は開発中のものです。
03/03/25 21:58ID:OH59+Xxkレスどうもです。
D3D Indexed(VS)って奴を使って実装しようと思います。
ありがとうございますた。、
0303名前は開発中のものです。
03/03/25 22:48ID:h5WzMRTp日本語サイトにも有ったよ。
WDMドライバのサウンドで信長の野望が動くようになった。
0304あぼーん
NGNG0305303
03/03/25 23:30ID:8/f6gOHz0306あぼーん
NGNG0307名前は開発中のものです。
03/03/26 12:08ID:WMInLSinほかにそういう奴いる?
ここで聞くのも微妙だけど、まぁここならこのコンポーネント使ってる奴が
少なからずいるだろうからさ。
0308あぼーん
NGNG0309名前は開発中のものです。
03/03/28 23:01ID:I7s/Dcp00310名前は開発中のものです。
03/03/28 23:12ID:XCHEo1nL君の心の中、さ。
0311あぼーん
NGNG0312名前は開発中のものです。
03/03/29 00:01ID:tQjOgWEyすげー、すごすぎるよ。
もう何十回も繰り返しみてるけど全く飽きないよ。
0313あぼーん
NGNG0314名前は開発中のものです。
03/03/29 01:11ID:oYi2z4jiこういうの見ると「はー、凄いこと考えてる人が居るもんだ」と思うけど、実際これをどっかで使えと
言われると困る。重すぎる。
0315名前は開発中のものです。
03/03/29 01:14ID:RfC7i1Eqフェードアウト組にならないように一緒に頑張ろうぜ。
0316名前は開発中のものです。
03/03/29 01:27ID:oYi2z4ji0317名前は開発中のものです。
03/03/29 02:22ID:h/rwCS8u□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0318名前は開発中のものです。
03/03/29 11:26ID:cgBq3s3f見てきた
実写かと思った。
0319名前は開発中のものです。
03/03/29 12:02ID:PAq8hLEy0320名前は開発中のものです。
03/03/29 13:03ID:QJ+rfiPx/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モララーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
0321名前は開発中のものです。
03/03/29 14:56ID:D/Rf2VCXスクリプト荒らしを仕掛けたまま、自宅で服毒自殺して未だ発見されていないという説がいまのところ有力。
0322名前は開発中のものです。
03/03/29 15:10ID:GaodZphT/ / /ヽ、/ __/
`y' /ヽ、 |
∠_、 / ヽ |
| `ヽ、 |
,/ | ヽ |
| `ヽ、 、|
0323名前は開発中のものです。
03/03/29 17:03ID:XKhIJRpSもしそうならアドレス変えれば荒氏なくなるよね?
俺はなくならんと思うけど
なんで管理人さんは対応しないんだろう?
ゲハ板のアホーBBはしっかり奇声したのに
0324名前は開発中のものです。
03/03/29 17:33ID:glX12Lqa0325名前は開発中のものです。
03/03/29 17:52ID:74RYOWpgつか、俺にとってもどうでもいい。
0326名前は開発中のものです。
03/03/29 18:43ID:AUJ/HUPJそんなことよりデモ、出先のマシンだとロードすら終わらない_| ̄|○
0327あぼーん
NGNG0328名前は開発中のものです。
03/03/29 20:13ID:D/Rf2VCX同じく。directX8のデモはできたんだが、9のほうは始まらない。
Athlon2200XP + GFti4200 なんだが、待つ時間が足りないのか?
0329あぼーん
NGNG0330名前は開発中のものです。
03/03/29 21:02ID:px1G2Tpfチン マチクタビレタ〜 チン ♪
♪
♪ ☆チン .☆ ジャーン! マチクタビレタ〜!
☆ チン 〃 ∧_∧ ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(・∀・ ) /\_/ < DirectX9.0a SDKまだぁ〜
チン \_/⊂ つ ‖ \__________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/| ‖ マチクタビレタ〜!
|  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :| /|\
| 愛媛みかん |/
0331名前は開発中のものです。
03/03/29 21:10ID:yDbcTpUDDirectX 8世代のビデオカードだからちゃうのん。
0332名前は開発中のものです。
03/03/29 21:37ID:glX12Lqa実行部分の修正だけみたいだからいらないのでは?
問題はデバッグ版が使えないくらい
0333名前は開発中のものです。
03/03/30 00:19ID:XhpKuPq4こっちのが好みだ。
● < モウタ゛メホ゜
_■\
0334名前は開発中のものです。
03/03/30 00:22ID:y4JFYKhm普通警告かなんかするだろ。ソフトウェア処理しますとか。しないのかな。
通常のビデオカードではハードのところをTi4200はソフトウェア処理になるから激遅なのかな。
0335あぼーん
NGNG0336名前は開発中のものです。
03/03/30 13:49ID:o75hZtkF> A video card that supports Vertex Shader 2.0 and Pixel Shader 2.0
だから、対応ハードは
RADEON 9500/9700, 9600/9800
GeForce FX 5200/5600/5800
だけかと。(他にもあったっけ?)
0337名前は開発中のものです。
03/03/30 14:23ID:MuHLcmdZ飲んだくれオヤジと低学歴DQNが見るスポーツじゃねえか(w
卓 球 最 強
おまえらいい加減気づけよ(藁
0338名前は開発中のものです。
03/03/30 15:12ID:yMvYLYXHGeForceFXでCapsViewerをチェックしてみ?笑うぜ?
0339あぼーん
NGNG0340名前は開発中のものです。
03/03/30 21:40ID:yoxMlTF3■ このスレッドは過去ログ倉庫に格納されています