トップページgamedev
987コメント302KB

DirectX総合スレ (Part9)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/02/11(水) 05:00:58ID:viN0kzG2
言語はC++

■過去スレ

DirectX総合スレ
Part 8: http://pc11.2ch.net/test/read.cgi/gamedev/1205306118/
Part 7: http://pc11.2ch.net/test/read.cgi/gamedev/1179516297/
Part 6: http://pc11.2ch.net/test/read.cgi/gamedev/1163691532/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
06466402009/08/16(日) 02:52:33ID:jZle4683
>>645
多数のキャラに使うので出来るだけテクスチャデータはそのままにしたくてつい。
その手も要所要所考えて使うようにしますね。
0647名前は開発中のものです。2009/08/16(日) 05:45:45ID:mPskDLhG
テクスチャーを操作しない前提で人型モデルを作るとして
例えばシェーダーで特定のテクスチャーカラーを任意の色に置き換えるとかも出来るわけでしょ
肌色箇所を抽出してユーザー設定の肌色に置き換え
髪色を抽出してユーザー設定の髪の色に置き換え
ってやっていくとか
これらにしたってグラデーション付けること考えると一工夫必要だけど
絶対にこうってやり方は無い気がする
どういう方法とってもモデルやテクスチャーの作り方に工夫が必要になると思う
0648名前は開発中のものです。2009/08/16(日) 10:06:05ID:x4vwWfc/
で、例えば3Dモデルのスライムとスライムベスを表現するなら
どういう技術が一般的なの?

@テクスチャ取替え(塗り替え)
Aパレット変更

ほかなんかある?
0649名前は開発中のものです。2009/08/16(日) 10:23:54ID:mPskDLhG
>>648
シェーダー
0650名前は開発中のものです。2009/08/16(日) 10:26:16ID:dscceYaE
別々のモデルを用意しておく。

   終了
0651名前は開発中のものです。2009/08/16(日) 10:50:59ID:x4vwWfc/
>>649
シェーダで何をどうするんだよ
それを聞いているだよバカ

>>650
モデルって何だよ
D3Dにモデルというリソースはねえぞノータリン
0652名前は開発中のものです。2009/08/16(日) 10:55:45ID:mPskDLhG
>>651
>>647に書いただろハゲ
0653名前は開発中のものです。2009/08/16(日) 11:18:33ID:4sFhpOh7
夏か・・・orz
0654名前は開発中のものです。2009/08/16(日) 12:33:22ID:4e0B6aFr
>>651
俺はお前みたいな奴好きだぜ
0655名前は開発中のものです。2009/08/16(日) 22:57:31ID:QVMxTMsz
バーチャファイターの1のイメージ?
0656名前は開発中のものです。2009/08/20(木) 19:30:43ID:rN0vwUH9
directXで表示されてる3Dモデリングのデータを抜き出すことができるツールがあるらしいんですが
何て名称かわかる人いませんか?
0657名前は開発中のものです。2009/08/20(木) 21:03:10ID:LJPa56Cu
スレ違いどころか板違い
0658名前は開発中のものです。2009/08/21(金) 16:26:35ID:NIDvhpCP
Pix for windowsの事を知らない男の人って…
0659名前は開発中のものです。2009/08/22(土) 14:49:30ID:qDjMgetj
すみません
3Dソフト(xsi)で出力したモーション付きXファイルを
DirectX Viewerで見ると形状が破綻して見えるのですが、

Viewer上で壊れて見えてもプログラム上では正しく表示される事って
有るでしょうか?
Viewer上で壊れていれば絶対そのまま表示されると思うべきなのでしょうか?
0660名前は開発中のものです。2009/08/22(土) 18:18:58ID:DxEzBRM+
プログラムは自分で作るんだから自分次第。
06616592009/08/22(土) 21:14:19ID:qDjMgetj
>>660
なるほど。絶対ではないのですね。ありがとうございました。
0662名前は開発中のものです。2009/08/26(水) 04:13:11ID:Tspzk4Z1
カメラのズームイン/アウト、キャラを中心とした上下左右の回転移動を作りたいのですが、
正しい計算式がわからず変な挙動をしてしまい困っています。
D3DXMatrixLookAtLHを使っているのですが、妥当な計算式の乗っているサイトや書籍を
となたかご存知ではないでしょうか?
0663名前は開発中のものです。2009/08/26(水) 04:21:23ID:Tspzk4Z1
下げ忘れすいません;
0664名前は開発中のものです。2009/08/26(水) 07:17:31ID:Qs0NWeEt
大前提としてsin、cosの使い方は理解しているのか?
06656622009/08/26(水) 14:58:06ID:o676OPLC
>>664
すみません、サンプルコードを漁り回っていたら計算式を見つける事が出来、解決できました。
Math.hからsin() cos()はちゃんと使っていたのですが、数学的な理解をしてない所為で変な回転を続けていました;

ありがとうございました orz
06666622009/08/26(水) 16:05:54ID:o676OPLC
また下げ忘れ; 度々すいません;
0667名前は開発中のものです。2009/09/02(水) 22:00:28ID:RtR61rHB
迷いまくった挙句、解決策が見つからずここにたどり着いてしまった。。

あのですね。DirectMusicってマトモに使ったことある方、
今使っている方、いらっしゃいますか?
DirectMusicを使って作ったゲームって普通に動きますか?

というのは、今新しいDierctXでは既にDirectSoundと一緒に
XAudioなるものに統廃合されたと言うではありませんか。

そんなのつゆ知らず(アホかと)DirectMusicの機能を多用したゲームを
作ってたんですが、VC++上ではデバッグできるんですがexeファイルを起動すると
DirectMusic関連のものがまったく初期化されず動かせないんです。

ちなみに当方Windows7使ってますが、XP入れてるノートに移しても
起動できませんでしたが原因は違うかもしれません。
どちらにせよこれから作っていくゲームなんでvista,7で動いてもらわないと
困るという事です。

まだ説明不足な所が多くありますが、何かヒントになるような
経験だけでもよいのでお聞かせいただけると幸いです。
0668名前は開発中のものです。2009/09/02(水) 22:33:03ID:TVVEdJHk
大昔にDirectSound使ったでけで、今は全く違うところ書いてるからノーチェックだったw
今ググッた。
ttp://mainori-se.sakura.ne.jp/slimdxwiki/wiki.cgi?page=DirectSound+%A4%C8+XAudio+%A4%CE%B0%E3%A4%A4
7はしょうがないとして、
XPのノートはHALが使えないからかねぇ?
想像だけどww

で、大昔の経験で言うと、Vistaどころかオンボードグラフィックまで動作対象外にしてる。

そのうち、Windows7について聞かれたら、当然動作対象外に追加するだろう。
って言っても、大して機能を使いこなしていないので、
開発環境が整えば乗り換えなり対応する可能性は否定しないけど。
0669名前は開発中のものです。2009/09/02(水) 22:47:10ID:KMVfriqU
昔XAudio2が実装されたときに、これは使い勝手良い最高だ
とか思って組み込んでみたんだが、そのときエンドユーザーライブラリの方には含まれてないので
使えなかったんだけど、これはいつになれば使えるようになるんですかね?
0670名前は開発中のものです。2009/09/02(水) 23:02:27ID:k0T54E11
PS3薄型と旧型の違い

旧型PS3:
Linuxインストール機能内蔵でPS3をPCとして使うことができる。
PPC Linux用の無料のソフトがいっぱい動く。
また、Cellの開発ツールも無料で入手できるので自分でCellのプログラムを作って実行させることができる。
ドルビーTrueHD、DTS-HDMAはリニアPCM変換で対応。
HDD〜80G。実勢価格30000円程度

薄型PS3:
Linuxインストール機能は除去された。
ブラビアリンク機能でブラビアと連動した電源のON OFFができる。
ドルビーTrueHD、DTS-HDMAのビットストリーム出力対応。
HDD120G。低騒音・発熱・消費電力。実勢価格29980円
0671名前は開発中のものです。2009/09/02(水) 23:22:25ID:TVVEdJHk
そういえばそんなハードもあったっけ?
公式覗いてみたら読みにくい色彩&必要な情報に辿り着けない構成等、
色々逝かれてるw
0672名前は開発中のものです。2009/09/02(水) 23:28:59ID:kz+foxpq
Windows7使ってるというが・・・
DirectMusicは64Bit環境サポートしてないがそれじゃないかね?

所詮は見捨てられた技術だよ。
0673名前は開発中のものです。2009/09/03(木) 01:28:24ID:H7ahptUL
>>669
いつの話してんのか知らんがとっくに使えんぞ
0674名前は開発中のものです。2009/09/03(木) 14:42:21ID:19jN2Lgf
>>673
SDK2008MarchについてるXAudio2系サンプルをSDK入ってない環境だと実行できないのですが、
これってまだエンドユーザーライブラリ側は対応してないってことでは無いのでしょうか?
0675名前は開発中のものです。2009/09/03(木) 16:11:06ID:qXOSpEld
対応デバイスが無いだけじゃないの?
0676名前は開発中のものです。2009/09/03(木) 17:05:37ID:H7ahptUL
>>674
DirectXランタイムちゃんと入れてる? COM登録必要だから
d3dx9_xx.dllみたいに実行ファイルの隣に置いておくだけじゃなくて(どのみちやっちゃ駄目だが)
インストーラーもしくはDirectSetup使わんと駄目だぞ
0677名前は開発中のものです。2009/09/03(木) 17:16:17ID:19jN2Lgf
サンプルが古かったようです、SDK無い環境でも再生できました
お手数かけて申し訳ないです
0678名前は開発中のものです。2009/09/09(水) 10:48:25ID:v7IiPmTs
DirectMusicはバリバリ使ってる
もし、初期化できなかったらDirectShowかmciで再生すればいいだけだし
それぐらいはプログラムで自動切り替えしなよ
0679名前は開発中のものです。2009/09/09(水) 13:36:10ID:GBpQxbjt
>>678
短調を長調に切り替えるとか、シーンに合わせて動的に音楽を変調している場合
mciでそれをやるのは大変じゃないの。てかそれなら全部mciでやればいいんじゃ……

0680名前は開発中のものです。2009/09/10(木) 07:26:11ID:Ui0pocdX
Download details: DirectX SDK - (August 2009)
http://www.microsoft.com/downloads/details.aspx?FamilyID=b66e14b8-8505-4b17-bf80-edb2df5abad4&DisplayLang=en
Download details: DirectX Redist (August 2009)
http://www.microsoft.com/downloads/details.aspx?FamilyID=04ac064b-00d1-474e-b7b1-442d8712d553&DisplayLang=en
0681名前は開発中のものです。2009/09/13(日) 02:08:23ID:jPLwTUqF
げえっ、新バージョン!
0682名前は開発中のものです。2009/09/13(日) 07:31:11ID:lU9yP7G9
ひいい。
0683名前は開発中のものです。2009/09/13(日) 13:38:09ID:gcZTroRJ
うぇ
0684名前は開発中のものです。2009/09/13(日) 16:10:48ID:uy2iXAkI
PCリカバリ後(XPsp3)DirectX更新で
DirectX SDK Update 2006で止まってエラーになる

正常にインストール出来ませんでしたと出る
0685名前は開発中のものです。2009/09/13(日) 16:15:40ID:uy2iXAkI
ここでダウンロードしてインストールするとエラーになる OSクリーンインストでXPSP3
http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=ja

DirectX SDK Update 2006 はってき覚えてないけどここから進まなくて止まったまま1分ほどでエラー画面正常に
インストール出来ませんでしたと出る

PC2台で確認
0686名前は開発中のものです。2009/09/14(月) 12:39:55ID:dhFuSjOF
DirectXの描画処理をウィンドウプロシージャのWM_PAINTのところに書くのってダメなのかな
真っ白になって何も描画されなくなった上にボタンとかの子ウィンドウも表示がおかしくなった
0687名前は開発中のものです。2009/09/14(月) 16:51:40ID:PPxuWEf+
描画メッセージで無限ループにハマることがある、らしい
詳しくはググれ
0688名前は開発中のものです。2009/09/14(月) 20:31:09ID:dhFuSjOF
ググってみた
DirectXで描画しても無効領域のままだからハマッてたんだね
描画処理の後でValidateRectを呼んだらすんなり動いたよ
0689名前は開発中のものです。2009/09/17(木) 20:24:38ID:4awen6sw
D3DXSpriteのアルファブレンドの挙動について質問です。
DrawメソッドのColor引数に半透明(0x33FFFFFFなど)を指定すると
それより奥に描画されるテクスチャ(不透明)まで半透明に表示されてしまいます。
これは意図された挙動なのでしょうか。
奥に描画されるテクスチャは不透明のまま表示させたい場合、どのような方法があるでしょうか。
環境はWinXPHome SP3/SDK Nov2008です。
06906892009/09/17(木) 20:42:50ID:4awen6sw
追記です。
ID3DXSpriteのインスタンスは複数のテクスチャで同じものを共有して、
Begin, EndメソッドはそれぞれDrawを複数回呼ぶ部分の最初と最後のみ呼んでいます。
0691名前は開発中のものです。2009/09/17(木) 21:44:54ID:Cm0Wo+Cv
画像ウプれよ。わかんねーよ。
06926892009/09/17(木) 22:16:54ID:4awen6sw
画像です。 ttp://dl6.getuploader.com/g/1|toollove/301/WS000000.JPG

わかりにくくてすみません。
描画順は、奥から [キャラクター画像]->[カットイン背景(黒一色)]->[もや画像]->[カットイン画像]

[もや画像]のみ半透明(0xC0FFFFFF)にしていますが、
(不透明なはずの)奥の[カットイン背景]や[キャラクター画像]まで半透明になっているせいで
背景(街)が透けて見えています。
(背景のみID3DXSpriteによる描画とは別になっています)

※エンジンが吉里吉里ですが描画はDirectXに丸投げしているので問題とは無関係です。
0693名前は開発中のものです。2009/09/17(木) 22:46:12ID:Cm0Wo+Cv
g_lpd3dSprite->SetWorldViewRH(NULL,NULL);
g_lpd3dSprite->Begin(D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_DEPTH_FRONTTOBACK);

フラグの詳細はいま分からないけど、これは入れてある?
06946892009/09/17(木) 23:06:24ID:4awen6sw
>>693
ソートのフラグのほうは設定していなかったので追加してみましたが、結果は変化なしでした。

試しにDrawごとにBegin, Endを呼ぶようにしてみても変化なし。
0695名前は開発中のものです。2009/09/17(木) 23:21:48ID:COE3+ZrI
最初から半透明(0xC0FFFFFF)を使わなきゃどうなる?
何かしら不透明で表示されるか?
0696名前は開発中のものです。2009/09/17(木) 23:34:04ID:Cm0Wo+Cv
>>ID3DXSpriteのインスタンスは複数のテクスチャで同じものを共有して
ここがあやしい。スプライトのドローは実際、その時点で描画はしなくて、
g_lpd3dSprite->End();

g_lpd3dDevice->EndScene();
}

g_lpd3dDevice->Present( NULL, NULL, NULL, NULL );
まできて、ここで描画されるから、インスタンスが共有してるのがくさい。
0697名前は開発中のものです。2009/09/17(木) 23:49:33ID:COE3+ZrI
俺はテクスチャ自体のアルファチャネルを疑ってるよ。
使ったことがないので、確証はないが
元のアルファが半透明だと、問答無用で半透明描画されるように見える。
0698名前は開発中のものです。2009/09/17(木) 23:54:43ID:DMWsPm3W
テクスチャ画像うpはできない?
全体うpがあれならデータの一部だけでも
0699名前は開発中のものです。2009/09/17(木) 23:58:55ID:4awen6sw
>>695
不透明(0xFFFFFFFF)の場合 ttp://dl5.getuploader.com/g/1|toollove/302/WS000001.JPG
正しく不透明で表示される。

透明(0x00FFFFFF)の場合 ttp://dl5.getuploader.com/g/1|toollove/303/WS000002.JPG
正しく表示される(カットイン背景の黒も意図通り不透明で表示)。
(アルファ値が0x00のときは最初から描画しない仕様になっているのか?)

>>696
処理の流れを書き出してみました。どこか問題点があるでしょうか?
レンダーターゲットをサーフェスに設定してるのでPresent は呼んでいません。

device_->SetRenderTarget(0, surface_);
device_->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0x00, 0x00, 0x00, 0x00), 0, 0);
device_->BeginScene();
sprite_->SetWorldViewRH(NULL, NULL);
sprite_->Begin(D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_DEPTH_FRONTTOBACK);
//ここでまとめてDraw
BOOST_FOREACH(value_type const& drawer, container_) {
drawer->draw(sprite_); //内部で sprite->SetTransform(...) と sprite_->Draw(...) を呼んでいる。
}
sprite_->End();
device_->EndScene();
//この後、GetRenderTargetData してCPUに転送
07006892009/09/18(金) 00:15:40ID:sY/rjaFg
>>698
うpしてみました。 ttp://www.dotup.org/uploda/www.dotup.org152838.zip

>>697
半透明アルファ(抜き用)を持ったテクスチャは
上記のうち Cutin-fg-Char.png(キャラクター画像) と Char.png(カットイン画像) の二つです。
なぜか一緒に半透明で表示されるカットイン背景などは、もともと完全に不透明です。
07016892009/09/18(金) 00:18:26ID:sY/rjaFg
誤記失礼。
× Cutin-fg-Char.png(キャラクター画像) と Char.png(カットイン画像) の二つ
○ Cutin-fg-Char.png(カットイン画像) と Char.png(キャラクター画像) の二つ

なんか長々とすみません。
0702名前は開発中のものです。2009/09/18(金) 00:38:40ID:svVZT8ru
>>device_->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0x00, 0x00, 0x00, 0x00), 0, 0);
ここだな。
->Clear( 0, NULL, D3DCLEAR_TARGET && D3DCLEAR_ZBUFFER && D3DCLEAR_STENCIL, D3DCOLOR_ARGB(0xFF,0x00,0x00,0x00), 1.0f, 0 );
で、ステンシルは無視してくれ。俺はこれで半透明の表示で問題は出てないな。
0703名前は開発中のものです。2009/09/18(金) 00:41:43ID:NpRsNZ/U
フラグのBit指定なのに&&はおかしいだろ
0704名前は開発中のものです。2009/09/18(金) 01:04:28ID:svVZT8ru
そうなんだ。勉強になりました。ども。
->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER | D3DCLEAR_STENCIL, D3DCOLOR_ARGB(0xFF,0x00,0x00,0x00), 1.0f, 0 );
これでいいよな。
0705名前は開発中のものです。2009/09/18(金) 01:07:47ID:NpRsNZ/U
指定の仕方はあってるけどステンシルバッファと
Zバッファ作ってセットしてないとエラーで乙るぞソレ。
0706名前は開発中のものです。2009/09/18(金) 01:21:18ID:svVZT8ru
ステンシルはいらねぇな。
->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER , D3DCOLOR_ARGB(0xFF,0x00,0x00,0x00), 1.0f, 0 );
これで、>>689も解決だ!直ったか?
0707名前は開発中のものです。2009/09/18(金) 09:05:05ID:NpRsNZ/U
つかー画面のクリアとポリゴン描画の半透明はまったく関係ねぇとおもうぞ
0708名前は開発中のものです。2009/09/18(金) 23:14:54ID:svVZT8ru
そうか。最初から考えよう。

アルファ値付きPNGとアルファ値なしの画像という点で考えると、
最初の意図した描画を実現するには、
もや画像だけアルファ値付きのPNGにする。
他は通常のPNGにする。
ドローでのカラー指定はすべて、D3DCOLOR_ARGB(0xFF,0xFF,0xFF,0xFF)にする。
こうすれば、意図通りになるはず。
抜き色は普通、(0,0,0)だよな。キャラクター矩形で透明にしたいところはこれで塗りつぶしておけばいいんだよね。
07096892009/09/19(土) 00:06:43ID:u6/AjfDD
昨日はありがとうございました。
あれからいろいろ試した結果、
・アルファチャネルのブレンディングを有効にし、
・不透明度が大きい方を結果のアルファ値とする
このように設定すると期待通りの動作になりました。
device_->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, TRUE);
device_->SetRenderState(D3DRS_BLENDOPALPHA, D3DBLENDOP_MAX);

ttp://dl6.getuploader.com/g/1|toollove/308/WS000003.JPG
例のごとくわかりづらいですが、
「不透明なカットイン背景が半透明になって、全体背景の街が透けて見える」
という現象が無くなりました。
0710名前は開発中のものです。2009/09/19(土) 00:50:01ID:FpikGG53
>>709
なんか、もやの白が強くなって不透明に見えてるだけだね。>>692の画像と
表示のされ方は変化してないように見える。

07116892009/09/19(土) 01:29:44ID:u6/AjfDD
ではものすごくわかりやすい例を。
旧 ttp://dl3.getuploader.com/g/1|toollove/310/WS000005.JPG
新 ttp://dl3.getuploader.com/g/1|toollove/309/WS000004.JPG

どちらもR50%, G50%, B50% の3つのテクスチャ(不透明)をこの順に
color = D3DCOLOR_ARGB(0xFF, 0xFF, 0xFF, 0xFF);
color = D3DCOLOR_ARGB(0xC0, 0xFF, 0xFF, 0xFF);
color = D3DCOLOR_ARGB(0x80, 0xFF, 0xFF, 0xFF);
でそれぞれ重ねたものです。
ソースはSetRenderStateの部分以外差異なしです。

新版では不透明(0xFF)で描画したR50%のテクスチャが
正しく不透明で表示されてるのがわかると思います。
0712名前は開発中のものです。2009/09/19(土) 01:39:52ID:ujIvvLBv
つーか単にステート関連の設定をちゃんと理解してなかっただけじゃねえの
0713名前は開発中のものです。2009/09/19(土) 08:02:04ID:k3VoAMfC
ちゃんと理解してたら質問にこないわな
お前本当にコミュニケ−ションとか理解できないじゃねえの
0714名前は開発中のものです。2009/09/19(土) 08:29:04ID:FpikGG53
>>711
分かった。意図どおりになってよかったね。謎は残されたままだが。
旧タイプは重ねるごとに透明になってるのか、不思議だね。先に
不透明で描いてるのに後から重ねると透明になっていくという謎。
最終的に合成段階でピクセルの色が決められるから、そういうことも
できるのかね。加算合成?減算合成?
g_lpd3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
g_lpd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
こうやって普通の半透明じゃ、旧タイプみたいに不思議状態にはならないよな。
謎だ。
0715名前は開発中のものです。2009/09/19(土) 08:45:39ID:T/T+IHq2
っていうか、ID3DXSpriteの描画の為に
レンダーステートをいぢるっておかしくねーか?
何だかなー
0716名前は開発中のものです。2009/09/19(土) 08:49:26ID:Wmk2Wipy
素直にD3DXSpriteを捨てるとか
0717名前は開発中のものです。2009/09/19(土) 10:14:11ID:hPS4eY5I
D3DXSpriteなんて使ったこと無い。
あれ、いらないと思う。
0718名前は開発中のものです。2009/09/19(土) 10:45:14ID:wVuVk5OI
すみません。
画像保管専用用のテクスチャから、表示用のテクスチャに一部画像を送りたくて
双方をLockRect()→FillMemory()→1ピクセルずつ転送
としようとしているのですが上手く行きません。

もしかして両方LockRect()する必要なんて無かったりしますか?
BMP→テクスチャなら正しく書き込めるんですが、テクスチャ同士の書き込みは初めてなもので・・ orz
0719名前は開発中のものです。2009/09/19(土) 10:49:27ID:ujIvvLBv
なんでFillMemory?
システムのサーフェイスからVRAMサーフェイスへDMA転送するメソッドあるだろ。
0720名前は開発中のものです。2009/09/19(土) 11:09:55ID:wVuVk5OI
FillMemory・・pBits Pitchの準備でもする関数と思い込んでた。全域書き込みだったのか・・。(´・ω・`)
DMA転送の意味はググっておおよそわかったけど
システムのサーフェイス VRAMサーフェイス・・色々理解してない事が多い悪寒。
DirectX勉強続けるならこれくらい読んでおけ 的なWebや書籍あったら何か教えて下さい(・ω・`)
0721名前は開発中のものです。2009/09/19(土) 11:09:57ID:8SLts9QF
「ウマクイカナイ」という奴は、その言葉を発することで、
どれだけ解決を先送りにしているか理解していないんだろうな。

「ウマクイカナイ」と言えば、どうなってほしいのかという希望と、
現状が具体的にどうなっているのかということを説明した気になっているんだから。
0722名前は開発中のものです。2009/09/19(土) 11:33:38ID:T/T+IHq2
Direct3D9は、日本語ヘルプだけ読んでればいいよ。
D3Dのみならず、3Dグラの基本を学ぶにはとても良い資料なんで。

まずはここを全ページ読む
http://msdn.microsoft.com/ja-jp/library/bb173466(VS.85).aspx
0723名前は開発中のものです。2009/09/19(土) 11:46:24ID:wVuVk5OI
>>722
ありがとうございます。早速読み始めました。
書籍でも一応学んだ部分も有るので、知らないワードはググりながら読み進めて行こうと思います(`・ω・´)
0724名前は開発中のものです。2009/09/19(土) 14:50:51ID:8FaGBwcO
ヘルプは細かい事を調べるにはいいけど、
一連の流れをつかみにくいから
DirectX実践プログラミング読みなよ。
事実上、これから始めるのがスタンダードだと思うんだけど。
0725名前は開発中のものです。2009/09/19(土) 17:22:47ID:AvRxeaE8
helpが教科書
googleが先生
0726名前は開発中のものです。2009/09/20(日) 10:01:57ID:3Ar764Br
Googleは実際はただの仲介業者で、Google含めたWeb全体が先生
0727名前は開発中のものです。2009/09/20(日) 17:22:38ID:ZCm9dBJK
>>726
検索ヒットの末尾の方とか読まんだろ?
0728名前は開発中のものです。2009/09/20(日) 19:11:34ID:X77D+Jte
いやいや、実際の学校の先生も仲介役だろう
先生を含めた世の中全体が先生って解釈もあるが
0729名前は開発中のものです。2009/09/20(日) 21:48:19ID:c7TwYnTe
http://ranobe.com/up/src/up397377.jpg
http://ranobe.com/up/src/up397378.jpg

DirectInputの勉強をしています。一応、入力した値の取得は出来たのですが、
「アナログ→デジタル」に切り替えると、なぜか「-8」が入力され続けてしまいます。
これはどうしてでしょうか?
0730名前は開発中のものです。2009/09/20(日) 23:27:42ID:r4ZVigLq
>>729
アナログは細かい誤差が出るのである程度遊びをもって入力処理するのが基本。
0731名前は開発中のものです。2009/09/21(月) 00:39:52ID:4AGk9N1+
>>730
そうなんですね、ありがとうございます
0732名前は開発中のものです。2009/09/23(水) 12:50:50ID:V8wqdYIK
すみませんテクスチャまわりについて2点の質問なのですが、

SetTexture関数を多用すると処理がどんどん重くなると聞き、
「連続して使う256x256のテクスチャ9枚」を切り替えまわるより
「連続ならば768x768(3個x3個)のテクスチャ1枚にした方が早い」という意味だと思うのですが
テクスチャのサイズが上がると切り替えの負担は増えるのでしょうか?
(例えば途中で1/9枚だけアクセスしたくて切り替えると無駄に重い など)

あと、水面を表現する時は「フレーム毎に別のテクスチャ」を使って表現しようと思っているのですが、
滝など流動的なものを表現する場合、テクスチャは1枚のままで
「UV座標を操作する事で表現する」なんて出来れば負荷も下がり滑らかなアニメーションが出来るかも
と思うのですが、UV座標の操作(というか抜き取りと再設定)は非現実的だったりしますでしょうか?
0733名前は開発中のものです。2009/09/23(水) 15:25:12ID:3gqevorR
やってみて遅かったら考えろ
0734名前は開発中のものです。2009/09/23(水) 15:45:24ID:nTo6CkVE
ハード次第なとこもあるから全て実測って訳にもいかないのがあれだけどな
0735名前は開発中のものです。2009/09/23(水) 16:11:35ID:m/YblDRh
昔のイメージだと256x256に出来るだけ収めて
それの切り替え回数を出来るだけ少ないようにするってのが速かったと思うんだが
今でも底辺に合わせるならそれなんじゃねーのかな

256x256にして切り替え回数をまったく減らせないのであれば大きい方1枚がいいんじゃね?
0736名前は開発中のものです。2009/09/23(水) 18:37:56ID:6iJxx7kT
キャッシュに入っちゃったときとキャッシュで出し入れしてるかでも違うだろ
単純に切り替えて「ああ、そうか」とか結論を出すのも駄目
つまり、シーン毎にやってみるしかない
0737名前は開発中のものです。2009/09/25(金) 15:12:54ID:jyLx60BE
>>733-736
色々と知らなかった事情も知れて勉強になりました。
テクスチャを展開する場所も重要な訳ですね。
ありがとうございます。
0738名前は開発中のものです。2009/09/25(金) 21:50:39ID:CaKKOxxc
展開する場所?
0739名前は開発中のものです。2009/09/26(土) 18:16:15ID:aslwUzky
>>732
UVを変化させて水流などを表現する方法は、昔から標準的に使われていますよ。
(UVスクロールなどと呼ばれています。)
単純な技法ゆえに、一枚板ポリゴン上でおこなった場合は見た目があまり面白くありません。
しかし、グラフィックデザイナーの手によるポリゴンの繋ぎ合わせ・重ね合わせの妙のおかげで、
かなり見映えのする川や炎の表現になります。
0740名前は開発中のものです。2009/09/27(日) 01:34:23ID:V6ttYBA5
少し疑問があったので質問を。初心者ですいません。
皆さんテクスチャの画像形式は何を使っていますか?
今のところ最初読んだ本に従ってbmpを毎回dds形式に統一して読み込んでいるのですが、容量ばかり多くてメモリを喰うもので。。
ついでにddsファイルの利点も教えていただけるとありがたいです。
0741名前は開発中のものです。2009/09/27(日) 03:23:24ID:gpJIcbqR
多少色の再現度が落ちてもいいテクスチャーはJPGにしてる。
0742名前は開発中のものです。2009/09/27(日) 04:12:58ID:jhWyqA9G
ファイル形式変わっても、メモリを食う量は一緒じゃないの?
テクスチャ圧縮とか使うならともかく。
0743名前は開発中のものです。2009/09/27(日) 05:12:13ID:+LiXIQ5c
しかも読み込みの時間も延びる(ほんのわずかだけど)
0744名前は開発中のものです。2009/09/27(日) 10:38:58ID:syUY7XWv
DXT、ミップマップ、キューブマップ、アルファチャンネル
このへんの機能を使うならDDSオンリーになるとおもうんだけど。
0745名前は開発中のものです。2009/09/27(日) 12:25:33ID:ErInkGhk
>740
今のところddsで問題無いからddsでやってる。
まあ、テクスチャ合計で10MBくらいだから大丈夫なんだけど。
でも、圧縮かけてメモリ上に置いておくと、描画の度に展開すると速度が
犠牲になりそう。
シーンごとに必要なテクスチャを分けておいて、シーソ移動ごとに必要なものだけ
展開してメモリに置いとくとかすれば良さそう。面倒になるけど。
■ このスレッドは過去ログ倉庫に格納されています