[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 13:22 / Filesize : 268 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DirectX総合スレ



1 名前:名前は開発中のものです。 [04/05/05 12:33 ID:dP7V/vQq]
DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。


418 名前:416 mailto:sage [04/08/04 19:48 ID:WFS4G4PK]
違った。
正解はこれみたい。

D3DXMatrixMultiplyTranspose( &mBasis1, D3DXMatrixTranspose( &D3DXMATRIX(), &mBasis ), &mRotation );

行列は頭がこんがらがるなぁ。

419 名前:名前は開発中のものです。 mailto:sage [04/08/04 20:00 ID:hSk7Y9/8]
DirectDrawSurfaceで教えてくらはい
16bppのSurfaceのピクセルフォーマットは555と565以外の物って存在するんすかね?
あと、16bppでPrimarySurface作った後でSYSTEMMEMORY上に16bppオフスクリーンSurface作った時、
ピクセルフォーマットは同じである保証はあるのでしょうか?
(Primaryが565でOffScreenが555だったりしたらイヤン)

420 名前:名前は開発中のものです。 mailto:sage [04/08/04 21:21 ID:uI3nmk7+]
>>419
この世に生き残っているのは555と565だけ。
プライマリとオフスクリーンのフォーマットは同じ。

421 名前:名前は開発中のものです。 mailto:sage [04/08/04 21:27 ID:4TyN42HM]
RGB5A3だな

422 名前:419 mailto:sage [04/08/04 21:49 ID:hKOnHnTA]
マリガトン
いらん心配だったみたいね

423 名前:名前は開発中のものです。 mailto:sage [04/08/09 15:31 ID:YK+Ecc2p]
NVIDIA、デスクトップ用チップ不振で大幅減益
www.itmedia.co.jp/news/articles/0408/07/news010.html?nc30
>「市場で異例の出来事がいくつか重なった結果

いや、自業自得だろ。

424 名前:名前は開発中のものです。 mailto:sage [04/08/10 14:09 ID:x3RQWXF2]
>>419
明示的に指定すればプライマリと違うフォーマットでも作れるぞ。
何も指定してなければプライマリと一緒。

というわけで、保証されてはいないが、特に指定した覚えがなければ
気にする必要はない。

425 名前:名前は開発中のものです。 [04/08/10 16:50 ID:s68euKkc]
アニメーションっていうのかな?
3Dの人などのモデルを歩かせたいんだけど間接とかで動かしたいん
だけどどうすればいいのかわかりません。
どなたか助けて

426 名前:名前は開発中のものです。 mailto:sage [04/08/10 16:52 ID:ci9GUBOp]
>>425
ワンスキン・スキニング・ボーンなどなど。
SDKサンプルに入っているのを見ようとは思わない?



427 名前:名前は開発中のものです。 mailto:sage [04/08/10 19:40 ID:wVs3skAG]
スキンメッシュ使ってんなら、
自分で指定した行列をセットすればできるよ。

428 名前:名前は開発中のものです。 [04/08/10 22:12 ID:OALsNdeP]
DirectX9cを使ってる人はどれくらいいんの?

429 名前:名前は開発中のものです。 mailto:sage [04/08/10 23:54 ID:FRiHxzCj]
838861人くらいかな

430 名前:名前は開発中のものです。 mailto:sage [04/08/12 03:57 ID:fg6dyKsT]
BBXでカキコしたけど相手にされなくて
こっちに来て助けを求めている羊が何名かいるようだな。

431 名前:名前は開発中のものです。 mailto:sage [04/08/12 05:02 ID:ouic0Ye9]
【ふたほう】厨房王国BBX【効率を削減ライブラリ】
【ホーマット】厨房王国BBX【重いどうり】


432 名前:名前は開発中のものです。 [04/08/12 12:08 ID:Pu8PGMOq]
【MMO】みんなでネトゲ作ろうぜ【RPG】スレ
ttp://etc3.2ch.net/test/read.cgi/entrance/1092231466/
↑のスレのスレ主です、まだぜんぜん白紙なのですが
いまはまだ白紙の状態なのですがいま他のスタッフとスレの人とでアイディアを出し合っています
お願いします俺はこのプロジェクトに賭けているんです。
どうか、どうか協力してください。゚(゚´Д`゚)゚。


433 名前:名前は開発中のものです。 mailto:sage [04/08/12 15:07 ID:Ervrl36o]
いきなりMMOにチャレンジする初心者の多いこと…
まずは一人で遊べる「インベーダーゲーム」とかでも作ってみたらどうよ?
そんでもって、インベーダーと砲台をMMO化しると。

434 名前:名前は開発中のものです。 mailto:sage [04/08/13 02:02 ID:KHJl2h+v]
作りたいゲームと作れるゲームには大抵ひらきがあるからな。

435 名前:名前は開発中のものです。 mailto:sage [04/08/13 02:48 ID:PB6WbjSS]
MMO企画厨は、技術検証もせずに
たいていシナリオ先行型w

436 名前:名前は開発中のものです。 mailto:sage [04/08/13 18:39 ID:GTonJWbj]
MMO厨でシナリオ先行って聞いたことないなw

大抵スキルとか生産とかで大妄想して
ネットワークコードも書かずに終わる



437 名前:名前は開発中のものです。 [04/08/13 20:31 ID:eFu2IU8S]
Xファイル出力でキャラを表示させたのですが、アニメーションの最前線では
どういった形で動いてるの?
Xファイル(頭、手、体、足)みたいに分けてそれを行列を使ってとかですかね?
それともXファイルをいくつも用意してそれを変えてく?
さあ、どっち!!

438 名前:名前は開発中のものです。 mailto:sage [04/08/13 20:41 ID:cquwXCm5]
> アニメーションの最前線

分野が広すぎて、どの分野のことを言っているのか分からず意味不明。
とりあえずXファイルじゃないことは確か。

439 名前:名前は開発中のものです。 mailto:sage [04/08/13 21:01 ID:bns5xtH0]
>>438
ワカンネーのなら答えんな!消えな糞!

440 名前:名前は開発中のものです。 [04/08/13 22:50 ID:2yEX/S7c]
>>437
「どっち!!」じゃねぇよ馬鹿。
ボーンもしらねぇ糞餓鬼は糞して寝ろ

441 名前:名前は開発中のものです。 mailto:sage [04/08/13 23:19 ID:JwSIe6qm]
アニメーションの最前線では、
動作部分のセル画を一枚一枚書いているのですよ。
ボーンもスキンもましてや行列なんて関係ありません。

442 名前:名前は開発中のものです。 mailto:sage [04/08/13 23:37 ID:nPJIRCin]

おばあちゃんだめ。

ここにはお父さんもお母さんもいないもん。

443 名前:名前は開発中のものです。 mailto:sage [04/08/14 15:50 ID:Tqhot9Gc]
DirectX8.1を利用してゲームを作ろうと思っているのですが、
DirectX9の参考書は沢山あっても、DirectX8で良いのがありません。
DirectX9の参考書で勉強しても支障はないでしょうか?

444 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:10 ID:1SQO+BjR]
>>443
DirectX9はdirectdrawとdirect3Dが一つに合体してるよ

445 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:20 ID:NkoqHJ4d]
>>443
DirectX Graphics以外は、普通に使う分には全く(ほぼ)同じ。
DirectX Graphicsでの目立った違いは、
プレゼンテーション周り、シェーダ・エフェクト周り、SetVertexShader→SetFVF。
ほかの資料などを参照してそこらへんを読み替えられるのであれば、
全く問題ない。

446 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:21 ID:/Kf97LYg]
合体ではなく廃止。
ついでに言えばその状況はDirectX8からなんだが、何が言いたいんだ?



447 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:58 ID:1SQO+BjR]
廃止されたらサーフェイスの初期化ができなくなる
よって合体なり

448 名前:名前は開発中のものです。 mailto:sage [04/08/14 20:51 ID:XRLALKIN]
>443
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=09343a34-6d91-4708-a2da-7e98cf7ec872&DisplayLang=ja

449 名前:名前は開発中のものです。 mailto:sage [04/08/14 20:58 ID:/Kf97LYg]
>>447
Direct3Dからは合体ではなく完全に廃止。
サーフェイスとDrawはイコールではない。

後は3Dデバイスからは隔離された形で、DirectShowとC#用に残っているだけ。

450 名前:名前は開発中のものです。 mailto:sage [04/08/14 21:28 ID:VJLygUuK]
7までは確か
DirectDrawの初期化 Surfeceの作成

上のを使ってDirect3Dの初期化

となってたから、合体でも別にいいんじゃないか。


というか、合体だろうが廃止だろうが、そんなこたーどうでもいいじゃないか。

451 名前:名前は開発中のものです。 [04/08/15 15:50 ID:tEZqQFNr]
2003summerSDKでDirectPlayを試してみてるんですが、
HRESULT hr;
と定義すると
「'hr' : 識別名を宣言するのに、型が指定されていません。」
とエラーが出てコンパイルできません。
こんなところでエラーが出てさっぱり意味がわからないのですが、
これは何なんでしょうか。ご存知の方がいたら教えてください。お願いします。

452 名前:451 mailto:sage [04/08/15 16:19 ID:tEZqQFNr]
板間違えました。他いってきます。すいません。

453 名前:名前は開発中のものです。 mailto:sage [04/08/15 16:30 ID:c1nmB8Qn]
#if !defined()
ってどういうことですか?
#ifndef
とちがうのですか?
directxのサンプルでは同じように使っているような気がするのですが・・・。
初心者です。お願いします・・・。

454 名前:名前は開発中のものです。 mailto:sage [04/08/15 20:56 ID:IeQNR+c5]
>>453
ヘルプに書いてあるけど、同じ意味を持つよ。

455 名前:名前は開発中のものです。 mailto:sage [04/08/16 07:14 ID:WPAsl4c1]
>>454
サンクス!

456 名前:443 mailto:sage [04/08/16 08:54 ID:0pYdmfWN]
みなさん、とても参考になりました。
8より9の参考書を買った方が使えそうなので、ネットと併用して勉強しようと思います。
ありがとうございました!



457 名前:名前は開発中のものです。 [04/08/18 06:12 ID:aECUphq4]
自HP(ライフ)の状態によって、文字の色を変えたく思っています。
文字自体は一枚のテクスチャ(グレースケールの.bmp)に全て描いてあります。

色ごとにテクスチャを用意するのは辛いので、
頂点カラーとブレンドして表示したいのですがどうにも上手くいきません。

.bmpの情報をアルファ、頂点カラーを色とするには
どういう手順でやれば良いのでしょうか…。DirectX9です。

458 名前:名前は開発中のものです。 [04/08/18 08:52 ID:gKvCATyJ]
>>457
頂点カラーでは効率が悪いので定数色にすればいい。

d3dDevice->SetTextureStageState( 0, D3DTSS_CONSTANT, 文字の色 );

d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );

d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );

459 名前:458 [04/08/18 09:00 ID:gKvCATyJ]
間違った!これね。

d3dDevice->SetTextureStageState( 1, D3DTSS_CONSTANT, 文字の色 );

d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );

d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );

よくわからんがtextureFactorの方がよさそうか。

d3dDevice-SetRenderState( D3DRS_TEXTUREFACTOR, 文字の色 );

d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_TFACTOR );

d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );

460 名前:458 mailto:sage [04/08/18 09:04 ID:gKvCATyJ]
ぎゃーまた間違った!鬱だ氏のう
慣れないことはしないもんだ。。

d3dDevice->SetTextureStageState( 0, D3DTSS_CONSTANT, 文字の色 );

d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CONSTANT );

d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );


461 名前:457 mailto:sage [04/08/18 09:29 ID:aECUphq4]
試してみたのですが出来ず、
調べてみたら、うちのビデオカードはD3DPMISCCAPS_PERSTAGECONSTANTの
フラグが立ちませんでした…_CONSTANT使えないみたいです。

折角書いてもらったのに申し訳ないです(´・ω・`)

462 名前:名前は開発中のものです。 mailto:sage [04/08/18 12:00 ID:Gn12Xz81]
頂点バッファの頂点に対応した画面上の座標の取得方法はどうやるのですか?
DirectX 8.1のVCです。

463 名前:名前は開発中のものです。 mailto:sage [04/08/18 12:08 ID:I8z10sIf]
頂点バッファと実際の座標は対応していません。
よって取得する方法など存在しません。

464 名前:名前は開発中のものです。 mailto:sage [04/08/18 13:22 ID:a9mH/iKH]
>457
とりあえずおまえの設定した
SetTextureStageState
SetRenderState
を書け。

465 名前:名前は開発中のものです。 mailto:sage [04/08/18 13:30 ID:gKvCATyJ]
>>461
ではtextureFactorはどうか。
どっちにしても肝はalphaの方なんで
rgbはマテリアルだろうがなんだろうが
どれでもいい。
ちなみに>>460も間違ってるのでよろしく。

>>462
頂点バッファの出力 oPos
ビューポートの行列 mViewport (www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/programmingguide/fixedfunction/viewportsclipping/viewportscaling.asp)

float4 pos = float4( oPos.xyz / oPos.w, oPos.w );
pos = pos * mViewport;






466 名前:名前は開発中のものです。 mailto:sage [04/08/18 17:53 ID:mLZSwSlt]
>>457
単純に頂点カラーに色入れて
COLOROPをMODURATEにすれば動きますよ。
α成分も変更したけりゃALPHAOPもMODURATEにする。

あと、文字以外の周辺の部分は透明にするんじゃないの?
それならbmpにグレースケールじゃなくて、真っ白なtgaのα成分に文字書かないと。

この方法は頂点カラー設定がめんどくさいとか、
真っ白なテクスチャで無駄が多いとかはあるけど
一番単純だし、ほぼすべてのビデオカードでサポートされるから
とりあえず最初はこの方法でやるのがよいと思われ。




467 名前:名前は開発中のものです。 [04/08/18 17:58 ID:4mdm1QSQ]
>>461
シェーダーかけりゃめちゃ簡単なんだけどね。
で、頂点カラー使う必要ないでしょ。カラー取得をマテリアルにして、
 SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_COLOR1 );
マテリアルのディフューズカラーに使いたい色をセットして、マテリアルをセットし、
テクスチャ(文字色は白ね)とセットしたディフューズカラーを掛け算。
 SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
 SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
以上


468 名前:名前は開発中のものです。 mailto:sage [04/08/18 18:01 ID:GFEQHMlA]
専門用語ばっかりでよく分かりません
専門用語を使わないで教えてください

469 名前:467 [04/08/18 18:03 ID:4mdm1QSQ]
俺も間違えちゃった。一番上のやつ↓ね。COLOR1じゃなくってMATERIALだから。
 SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL);

>>468
無理。

470 名前:名前は開発中のものです。 mailto:sage [04/08/18 18:18 ID:K9yJrd29]
>>468 その前に聞け

471 名前:467 [04/08/18 18:43 ID:4mdm1QSQ]
そういうことか。ぜんぜん質問読んでなかった。そんだったら、
ビットマップの方でα値を各ピクセルにセットしておく。
マテリアルのディフューズカラーのα値は最大(1.0fか、255)にしといて、任意のカラーをRGBをセット。
マテリアルをセット。
したら、アルファブレンドの設定をして,
 SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE);
 SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
 SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );←もしくは、D3DBLEND_ONE
あとはさっき書いたとおり、
 SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL);
 SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
 SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
 SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
でテクスチャをサンプラー0にセットしてフォントを描画。


472 名前:457 mailto:sage [04/08/18 21:21 ID:aECUphq4]
帰ってきたら更に沢山のレスが(n‘∀‘)η シアワセー

全て試してみましたが、見事に文字色が変わっております。
どうして上手くいくのかまだ良く分からないので、これから
じっくりヘルプとにらめっこしてきます。

皆さんレスありがとうございました。

473 名前:名前は開発中のものです。 [04/08/18 22:52 ID:PhkND6gf]
ソースコード載せて話すると余計わけわからなくならねぇか?

ようはα情報だけ生かして、文字を描画したいって話だろ?

色をテクスチャからとってこないで、自分で付けて、
αだけテクスチャからとってくる。

実現方法は好きにしろ。って話じゃないの?

474 名前:名前は開発中のものです。 mailto:sage [04/08/19 00:22 ID:YunhQ2VJ]
SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL );
↑これってライティングがONでないと効果ないみたいね。

475 名前:名前は開発中のものです。 mailto:sage [04/08/19 00:34 ID:0V0sHZVM]
>>474
早くHLSLに変えろ、
頭悪くなるぞ。(マジで)

DirectXのこの辺は最悪だと思うよ。(俺は)

476 名前:名前は開発中のものです。 mailto:sage [04/08/19 08:15 ID:Bswuyzyx]
「この辺」が何を指すのかわかりません



477 名前:名前は開発中のものです。 [04/08/19 15:12 ID:DiZ9VDt0]
この辺と言えばその辺しかないだろ!!
ちなみにPS1.3も同じくらい最悪。
nVidiaもなんでこんなもん作ったんだか

478 名前:名前は開発中のものです。 mailto:sage [04/08/19 15:33 ID:ohk01tV7]
これ
それ

479 名前:名前は開発中のものです。 mailto:sage [04/08/19 16:01 ID:k5TKiz0U]
まあ愚痴は無能の典型って事で。

480 名前:名前は開発中のものです。 mailto:sage [04/08/19 16:06 ID:z/O2jqMO]
バカでも分かるようにもっと簡単な仕様にして欲しいよ>DirectX
ゲームアルゴリズムの方に注力したいのに
DirectX周りの事に振り回されるのは勘弁

481 名前:名前は開発中のものです。 mailto:sage [04/08/19 16:09 ID:IqodorHI]
ダイレクトXが何でもやってくれるから人間は何もやらなくなるんだよな

482 名前:名前は開発中のものです。 mailto:sage [04/08/19 16:56 ID:OUH4KSQg]
>>481
DirectXではなく、M$です。

483 名前:名前は開発中のものです。 mailto:sage [04/08/19 17:29 ID:DNQdp83T]
もっと何でもやってくれ

484 名前:名前は開発中のものです。 mailto:sage [04/08/19 17:59 ID:wxxL2nxj]
私の代わりに仕事してください

485 名前:名前は開発中のものです。 [04/08/19 21:09 ID:4Ari2O79]
>>480
「つくーる」使えよ。


486 名前:名前は開発中のものです。 [04/08/19 21:13 ID:4Ari2O79]
>>477
「この辺」って固定パイプラインの暗黙の仕様のことだろ?
たしかにそういう面はある。
原因がまったく不明のバグがそれだったりする。




487 名前:名前は開発中のものです。 mailto:sage [04/08/19 21:33 ID:mwTy6RZE]
>>480
ノ ttp://pc5.2ch.net/test/read.cgi/gamedev/1008220559/

488 名前:名前は開発中のものです。 mailto:sage [04/08/19 23:31 ID:DoxkasxA]
ジャ ・ ジャ ・ ジャ ・ ジャンクロード

バ ・ バ ・ バ ・ バ バ ン ・ バンダム

WOW!

489 名前:名前は開発中のものです。 mailto:sage [04/08/20 02:08 ID:NSwcxKVN]
ttp://monsho.hp.infoseek.co.jp/dx/dx28.html
ここのサンプルを参考にしながら、ジオメトリブレンディングを
やってみたんですが、エラーは出ないものの、
グラフィックが全く表示されないんです・・・。
もし誰か時間のある方がいましたら、下の私のソースを見てもらえないでしょうか?
原因が全く分からないんすよ・・。

ttp://www.h3.dion.ne.jp/~rank/main.zip

490 名前:名前は開発中のものです。 mailto:sage [04/08/20 02:59 ID:/Ulut1Sl]
>>489
draw.cpp:72 の
,&D3DXVECTOR3(0.0f, 0.0f, 0.0f));// 上の向き

,&D3DXVECTOR3(0.0f, 1.0f, 0.0f));// 上の向き
にしたら見えたぞ

491 名前:名前は開発中のものです。 mailto:sage [04/08/20 09:34 ID:NSEkMdfG]
暇なんでDX9cのHLSLの最適化について最近わかったことを書いてやろう。

・structはuniform引数に使ってはならない。
実際には使わないメンバがあったとしてもそのまま残ってしまう。
同様に、例えば、uniform引数としてfloat変数を4つ定義していた場合
最適化によってこれがfloat4にまとめられるといったことはない。
あらかじめ意識してベクトルにまとめられるものは自分でまとめておく必要がある。

・preshaderは、式の並びに影響される。例えば、
auto変数 = uniform変数 * uniform変数 * auto変数
は正しく最適化され、uniform変数が1つ減らされるのに対し
auto変数 = auto変数 * uniform変数 * uniform変数
はなったりならなかったり挙動不審になる。

・pixel shader v1.3 以下は最適化度が低い。
なって当然の最適化がされないケースが多い。

492 名前:489 mailto:sage [04/08/20 10:15 ID:ovGi7XBj]
>>490
マジサンクス!
盲点だった・・・。てっきりそこはできていると勘違いしていた。
本当にありがとうございました。助かりました。

493 名前:名前は開発中のものです。 mailto:sage [04/08/21 00:44 ID:eREZOx5x]
【トーリス】厨房王国BBX【ガリー】
             \   ∩─ー、    
               \/ ● 、_ `ヽ   
               / \( ●  ● |つ
               |   X_入__ノ   ミ    
                、 (_/   ノ /⌒l
                /\___ノ゙_/  /  =====
                〈         __ノ  ====
                \ \_    \
                 \___)     \   ======   (´⌒
                    \   ___ \__  (´⌒;;(´⌒;;
                      \___)___)(´;;⌒  (´⌒;;  ズザザザ
                               (´⌒; (´⌒;;;


494 名前:名前は開発中のものです。 mailto:sage [04/08/21 06:04 ID:TCC4rTsV]
ID3DXSprite使って描画する場合Shader使えねーの?


495 名前:名前は開発中のものです。 [04/08/21 15:11 ID:4tMYKEeH]
>>491
ところで、HLSLコンパイラーの吐いたコードどうやって読んでいるの?
バイナリを直接? それとも逆アセする方法がある?


496 名前:名前は開発中のものです。 [04/08/21 18:31 ID:/l6AyBmh]
>>495
2004夏に、D3DXDisassembleEffectという
逆アセンブラが追加されてる。



497 名前:名前は開発中のものです。 mailto:sage [04/08/22 00:45 ID:pjZbrb1x]
インデックス値やブレンド値について全然理解できないんですけど、
これについて勉強できる本とかお勧めありませんか?
よろしくお願いします。

498 名前:名前は開発中のものです。 [04/08/22 00:50 ID:P2Ty49Qy]
>>497
やっぱ数学の教科書じゃねぇ?

499 名前:名前は開発中のものです。 mailto:sage [04/08/22 01:44 ID:9ScR6g1n]
インデックスが全然理解できないなら
今のうちにあきらめるってのもありだと思う。

500 名前:名前は開発中のものです。 [04/08/22 02:39 ID:sxzctg75]
>>496
おーー!ありがとう!


501 名前:名前は開発中のものです。 [04/08/22 02:47 ID:sxzctg75]
>>497
バーテックス・ブレンドでもαブレンドでもいいけど基本は、
B = ブレンド値の値域は0.0〜1.0とし,X1, X2 を任意の実数とすると,
X1とX2をブレンド値Bでブレンドした値Xは,
X = BX1 + (1.0 - B)X2

ってだけの話。


502 名前:名前は開発中のものです。 mailto:sage [04/08/22 12:49 ID:gJQRB25Q]
任意の実数は何の数字ですか?

503 名前:名前は開発中のものです。 mailto:sage [04/08/22 14:10 ID:bukVXTsc]
>>502
別に実数でなくても、ベクトルだって行列だってテンソルだって調味料だってなんだっていい。

混ぜ合わせたい物同士を好きな割合で混ぜようね、ってだけの話。

504 名前:名前は開発中のものです。 mailto:sage [04/08/22 14:25 ID:QGnhciD/]
例えば3と10を0.4でブレンドすると
0.4*3+(1.0-0.4)10=7.2
の7,2は何を表すのですか?

505 名前:名前は開発中のものです。 [04/08/22 15:00 ID:P2Ty49Qy]
>>504
そうやって考えるからわからねぇんだろ。
わかりやすい例でいうとだな。

例:白(白100%)に黒(黒100%)を30%でブレンドします。
(結果は白に近い灰色(白70%)ってわかるよね?)

白(255,255,255)
黒(0,0,0)

30%だから0.3

(0,0,0)*0.3 + (255,255,255)(1.0-0.3) = (255,255,255)*0.7

0.7だから70%。これがブレンド。
用語として覚えておくといい言葉がソースとディスティネーション
プログラムのソースコードではよくsrcとdestって略して使う人が多い。
この例の場合だと黒がsrcで白がdestってなる。

506 名前:名前は開発中のものです。 [04/08/22 21:03 ID:XlCpKW53]
DirectX9についてるサンプルのStencilShadowVolumeについて質問

エフェクト中のVSでシャドウボリュームをファークリップ面まで引き伸ばしてるのはわかるんですが
投入されたすべての頂点がこのシェーダによってファークリップ面に投影されるだけに見えます。
ですが実際は元の頂点とファークリップ面に投影された頂点を繋ぐfaceがレンダリングされています。

GenerateShadowMesh中のdegenerate quadのあたりが肝なのかもと考えたんですが、うまく解釈できません。

これはどのようなカラクリで元の頂点と投影された頂点を選別しているのでしょうか?
ご存知の方がいたらご教授ください。



507 名前:名前は開発中のものです。 mailto:sage [04/08/22 21:31 ID:Bbo1HlWE]
カ ラ ク リ ロ ボ

508 名前:名前は開発中のものです。 mailto:sage [04/08/22 23:45 ID:mRDiSQCY]
>>505
俺は>>504じゃないけど、分かり易い!
なるほどそういう意味だったか。
インデックス値の付け方についても分かりやすく教えて欲しい・・・。

509 名前:506 [04/08/23 01:02 ID:mRY69xBL]
ウホッ

うたたねしてから酸素エアチャージャーでリフレッシュしたらピキューンと来たよ。
というよりFXファイルに露骨に書いてあった。よく見ろ俺。

510 名前:506 mailto:sage [04/08/23 01:02 ID:mRY69xBL]
sageわすれた。orz

511 名前:名前は開発中のものです。 mailto:sage [04/08/23 04:27 ID:jJ0sQphW]
508 名前:名前は開発中のものです。 投稿日:04/08/22 23:45 mRDiSQCY
>>505
俺は>>504じゃないけど、分かり易い!
なるほどそういう意味だったか。
インデックス値の付け方についても分かりやすく教えて欲しい・・・。


509 名前:506 本日のレス 投稿日:04/08/23 01:02 mRY69xBL
ウホッ

うたたねしてから酸素エアチャージャーでリフレッシュしたらピキューンと来たよ。
というよりFXファイルに露骨に書いてあった。よく見ろ俺。


510 名前:506 本日のレス 投稿日:04/08/23 01:02 mRY69xBL
sageわすれた。orz

512 名前:名前は開発中のものです。 mailto:sage [04/08/23 13:05 ID:tN3llfcH]
>>511
大丈夫?

513 名前:名前は開発中のものです。 mailto:sage [04/08/23 13:08 ID:DSpaAwyx]
>>512
だいじょうぶ

514 名前:名前は開発中のものです。 [04/08/23 13:16 ID:beHyX9iL]
テクスチャブレンディングでD3DTOP_MULTIPLYADDを用いた結果
リファレンスだと正常に描画出来るのですがHALだと駄目です。
capsはD3DTEXOPCAPS_MULTIPLYADDは立ってます。
デバッグモードでも特にコメントはありませんでした。
何が駄目なんでしょう?
原因を特定出来る良い方法はないでしょうか?

515 名前:名前は開発中のものです。 mailto:sage [04/08/23 13:18 ID:wxYezUtT]
>>514
HALはその機能は使えない

516 名前:名前は開発中のものです。 [04/08/23 14:42 ID:beHyX9iL]
>>515
マジですか?
IDirect3DDevice9::ValidateDeviceもS_OKで特に問題ないのに・・。
でも、IDirect3DDevice9::ValidateDeviceのヘルプをみると
固定機能パイプラインって異常に制限多いんですね、、
ちょっとぐらい出力がおかしくても、仕方ないかって気分になります、、



517 名前:名前は開発中のものです。 mailto:sage [04/08/23 16:58 ID:upIE7jtz]
固定機能パイプライン(゚听)イラネ

518 名前:名前は開発中のものです。 mailto:sage [04/08/23 19:47 ID:+kLiNW6H]
東京湾アクアラインも(゚听)







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef