【C++】 DirectX初心者質問スレ Part31 【C】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/09/30(木) 21:45:21これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前スレ
【C++】 DirectX初心者質問スレ Part30 【C】
http://hibari.2ch.net/test/read.cgi/tech/1278214135/
0098デフォルトの名無しさん
2010/10/02(土) 07:10:580099デフォルトの名無しさん
2010/10/02(土) 07:33:09WARPが分かっていなくてソフトウェアエミュレーションとぼかして言ったり、
Direct3D11エミュレーション機能が無いことが分かっていなかったりで、
あるようなニュアンスで答えるような>>91って何なの?
ちなみにWARPはVistaでも使えるし、機能レベルはDirect3D10まで。
0100デフォルトの名無しさん
2010/10/02(土) 08:30:02シェーダーがおかしいとか
αテストの閾値が64以上になってるととか
0101デフォルトの名無しさん
2010/10/02(土) 08:40:35煽るだけの馬鹿はいい加減消えてください
0102デフォルトの名無しさん
2010/10/02(土) 09:20:55よくそんな姿勢で技術者やってられるなと思う
すぐに仕事なくなっちゃうし
職場でも浮いちゃうと辞めるしかなくなっちゃうぞと思う
0103デフォルトの名無しさん
2010/10/02(土) 09:23:22エフェクトを難しく考えすぎなんじゃないか?
一見して派手に見えるエフェクトはもうほとんど絵の問題でプログラムどうこうってのは少ない
エフェクト専門にやってるデザイナさんにツールみせてもらったけどあれは素人がなんとかできるもんじゃない
基本上がってきたエフェクトアニメーションを再生してるだけってのが実態だと思うぞ
あえて、アニメーション無しの
透明度変化、回転のみでやってみたけど
いかんせん絵の専門家じゃないのでしょぼさが隠しきれない
これも絵次第でなんとかなるんじゃないかなぁと思うんだが…
http://www5b.biglobe.ne.jp/~mya_a/dx/effect.html
0104デフォルトの名無しさん
2010/10/02(土) 09:24:18天使ちゃんマジ天使
0105デフォルトの名無しさん
2010/10/02(土) 10:21:590106デフォルトの名無しさん
2010/10/02(土) 10:40:240107デフォルトの名無しさん
2010/10/02(土) 10:44:12モデルにする意味がわからない
0108デフォルトの名無しさん
2010/10/02(土) 10:50:11単純に職場のデザイナさんがアニメーション形式で作ってきてくれるってだけ
俺は画面に出すだけw
0109デフォルトの名無しさん
2010/10/02(土) 11:06:04十分よくできてると思うよ。
筋の方のテクスチャの半透明の部分をもっと増やして太くすると
ライトブルームっぽくなるかも。
0110デフォルトの名無しさん
2010/10/02(土) 11:11:23本屋に雷や炎、水しぶき、雲、煙、岩のテクスチャの描き方的な本ってあるんだぜ
俺がもってる本(photoshop デザインコレクション)が絶版状態だから似たような本を探してくればいいんじゃね?
デザイナさんもそーゆーの見て描いてたしw
0111デフォルトの名無しさん
2010/10/02(土) 13:15:48これで俺も3Dゲームプログラマーの仲間入りだおwwwwwwwwwwwwwww
0112デフォルトの名無しさん
2010/10/02(土) 13:31:22スキニングできましたか?
スキニングできましたか?
0113デフォルトの名無しさん
2010/10/02(土) 13:40:10なんで2回言うんですか…
0114デフォルトの名無しさん
2010/10/02(土) 13:42:05大事なことなので2回言いました
0115デフォルトの名無しさん
2010/10/02(土) 15:22:52いまやってる方法だとどうも描写順に表示してしまってるようで不便でして
0116115
2010/10/02(土) 15:33:570117デフォルトの名無しさん
2010/10/02(土) 17:28:090118デフォルトの名無しさん
2010/10/02(土) 19:16:340119デフォルトの名無しさん
2010/10/02(土) 19:33:250120デフォルトの名無しさん
2010/10/02(土) 19:38:05効率の面でintrusive_ptr、CComPtrをつかえってことですよね?
0121デフォルトの名無しさん
2010/10/02(土) 19:40:240122デフォルトの名無しさん
2010/10/02(土) 22:11:09余計な処理のないCComPtr一択っしょ
0123デフォルトの名無しさん
2010/10/02(土) 22:24:370124デフォルトの名無しさん
2010/10/03(日) 02:44:110125デフォルトの名無しさん
2010/10/03(日) 03:34:030126デフォルトの名無しさん
2010/10/03(日) 03:45:03そういうのを描く用のブラシとテクニックがあってだな
0127デフォルトの名無しさん
2010/10/03(日) 03:47:020128デフォルトの名無しさん
2010/10/03(日) 05:42:54Device->SetTexture(ステージの番号,ポインタ)
とする時のステージを指定するのって
Effect->SetTexture("識別子",ポインタ)でする時はどうすれば良いのでしょうか?
0129デフォルトの名無しさん
2010/10/03(日) 06:03:56pEffect->SetTexture("シェーダーのテクスチャ変数orセマンティクス", テクスチャオブジェクトへのポインタ);
0130デフォルトの名無しさん
2010/10/03(日) 06:04:18シェーダー側のテクスチャ変数を増やせば良いだけじゃ
0131デフォルトの名無しさん
2010/10/03(日) 06:06:46フォトショ
http://macototo.cool.ne.jp/junics/book.html
0132デフォルトの名無しさん
2010/10/03(日) 06:11:45>>130
ありがとうございます
ずっとググってるのですが全然理解できません
ステージの番号iはfxファイルの中のTexiと繋がっているのでしょうか?
0133デフォルトの名無しさん
2010/10/03(日) 06:26:15指定するのはステージ番号じゃないよ。リファレンスにはステージ番号なんて書いてないだろ。
SetTexture(D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 pTexture);
IDirect3DDeviceのSetTextureとID3DXEffectのSetTextureは違うモノだ。
0134デフォルトの名無しさん
2010/10/03(日) 06:34:10http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=33&vew=408
0135デフォルトの名無しさん
2010/10/03(日) 06:37:20char number[] = {"01234567"};
for(int i=0;i<8;i++){
//テクスチャの取得
LPDIRECT3DBASETEXTURE9 temp_tex = NULL;
aDevice->GetTexture(i,&temp_tex);
//テクスチャがなければ終わる
if(!temp_tex)break;
//テクスチャの設定
string out = "texture";
out.push_back(number[i]);
effect->SetTexture(out.c_str(),temp_tex);
temp_tex->Release();
}
0136デフォルトの名無しさん
2010/10/03(日) 06:49:24>>133
だろ。に笑ってしまったのですがw
>>134
>>135
よくわかりません…具体的にはマルチレンダリングターゲットをしてて0と1とあるのですが
サンプルだとdevice->SetTexture(1or0,ptex)で指定してるのでわかりやすいのですが
>>135だと全くeffect->を使ってないのですが自分は殆どeffect->SetTexture("g_texture",ptex)を使ってるのでどうすれば良いのかわからないのです
effectでやりたいのですがこういう時どうすれば良いのでしょうか?
0137デフォルトの名無しさん
2010/10/03(日) 06:51:08目が腐ってました
0138デフォルトの名無しさん
2010/10/03(日) 06:54:550139デフォルトの名無しさん
2010/10/03(日) 06:55:30黙れよカス
0140デフォルトの名無しさん
2010/10/03(日) 06:56:09SetTexturetとSetRenderTargetを勘違いしてたってオチ?
0141デフォルトの名無しさん
2010/10/03(日) 07:00:19SetTexturetとSetRenderTargetの第一引数って関係無いんですか?
0142デフォルトの名無しさん
2010/10/03(日) 07:01:480143デフォルトの名無しさん
2010/10/03(日) 07:02:100144デフォルトの名無しさん
2010/10/03(日) 07:04:17まったく関係ないっすなぁ
0145デフォルトの名無しさん
2010/10/03(日) 07:06:220146デフォルトの名無しさん
2010/10/03(日) 10:04:44>>135もなんかずれてるし
エフェクトファイル側を出さないで何を伝えるつもりなの?
0147デフォルトの名無しさん
2010/10/03(日) 10:32:43ユーティリティーにPIXは入ってたのですがシェーダデバッガーらしきものは入ってませんでした
MSDNにもここからダウンロード的な誘導も付いてませんし、VisualStudio.Netが必要だというページもあるのですが自分はExpressEditionです
どうすれば入手できますか?
0148デフォルトの名無しさん
2010/10/03(日) 11:52:26もうシェーダ無理マジで
なんでエフェクトファイルだけCと違うんだよ
既存の↓に適当に入れただけでエラーってどういうこと?
struct VS_OUTPUT
{
float4 Pos : POSITION;
float4 Diffuse : COLOR0;
float4 Diffuse : COLOR1;←加えた
float2 Tex0 : TEXCOORD0;
};
typedef struct VS_OUTPUT{も無理だし
0149デフォルトの名無しさん
2010/10/03(日) 12:02:49変数名が同じだからでは?
fxcでコンパイルしてエラーメッセージをチェックするといいかも。
0150デフォルトの名無しさん
2010/10/03(日) 12:09:10サンクス
普通にVS_OUTPUTの前にsとかつけたら通った
なんでこんな簡単なことが気付かなかったんだろうか
2ちゃんに文句書き込んだ瞬間解決するんだよないつも
0151デフォルトの名無しさん
2010/10/03(日) 12:11:030152デフォルトの名無しさん
2010/10/03(日) 12:27:23コンパイルエラーを表示できるようにしといたほうがいいよ
OutputDebugStringAを使えばデバッグウィンドウからエラー箇所まで飛べる
hoge.fx(38,9): error X3003: redefinition of 'VS_OUTPUT::Diffuse'
0153デフォルトの名無しさん
2010/10/03(日) 12:45:52出力のところ見たら普通に載ってたな
特殊形式っぽいしツール無いと無理だと思って探しまくってるうちに洗脳されてた
0154デフォルトの名無しさん
2010/10/03(日) 13:12:37一気にトトリっぽくなったしもうあとリソース作るだけだわ
ktkr
0155デフォルトの名無しさん
2010/10/03(日) 13:27:43>>134のリンク先でその仕組みが分かって
SetTextureで設定しておいたものをシェーダ用として使うコードが>>135のつもりで貼った
まあ、でもよく考えるとすでに動くHLSLのサンプルがSDKのサンプルにあるのに
こんなことで迷ってるなんて相手にしないほうがいい人だったねw
0156デフォルトの名無しさん
2010/10/03(日) 13:33:560157デフォルトの名無しさん
2010/10/03(日) 13:35:58今回に関して言えばテクスチャが貼られてるサンプルならなんでもよかったよね?
0158デフォルトの名無しさん
2010/10/03(日) 13:44:32__、
,r´⌒ヽ,⌒ヽ,ヽ
(⌒)、 .人 λ\、 ._____
\. \ 、 ヽ./ ー ー\
|\ \ ヽ./ ( ●) ( ●)
| \ \ / (__人__) \ はいはい、どーもすみませんでした
|. \ | ` ⌒´ |
. |. |.\_ノ\ /
. |. | | \______/
. | ) .| . . ̄ ̄
. | | .|
| |.| .|
. | | .| .|
/ / / ヽ,
(__ノ ヽ、__つ
0159デフォルトの名無しさん
2010/10/03(日) 13:45:56すっごい馬鹿だったよねw
見てて惨めなくらい間抜けだよね?
SDKに載ってることを馬鹿みたいにわかんないわかんないってw
PG向いてないんと違う?大丈夫?
0160デフォルトの名無しさん
2010/10/03(日) 13:48:47だまれ死ね
0161デフォルトの名無しさん
2010/10/03(日) 13:50:52__、
,r´⌒ヽ,⌒ヽ,ヽ
(⌒)、 .人 λ\、 ._____
\. \ 、 ヽ./ ー ー\
|\ \ ヽ./ ( ●) ( ●)
| \ \ / (__人__) \ はいはい、どーもすみませんでした
|. \ | ` ⌒´ |
0162デフォルトの名無しさん
2010/10/03(日) 14:00:52質問するとき判別できるようにコテハン付けてくれ
そして質問に関係すること以外はチラシの裏にでも書いといてくれ
0163デフォルトの名無しさん
2010/10/03(日) 15:00:17もう8年になるかというのに、いまだ手を出す奴が絶えないもんな
といいつつ俺も9で完全に止まってる化石だが
0164デフォルトの名無しさん
2010/10/03(日) 15:08:37DX10.1もNVIDIAがついてこずこれも黒歴史化
Win7とDX11が普及しきる迄はまだまだDX9の天下
0165デフォルトの名無しさん
2010/10/03(日) 15:16:427以前のハードの進化とのイタチごっこが終わったからだな
今後はSMのバージョンアップ=DXのバージョンアップになっていくんだろう
0166デフォルトの名無しさん
2010/10/03(日) 16:00:14D3Dの時代は終わるかも
まあLarrabeeやCellがずっこけてるし、まだまだ先かもしれんけど
D3D9はその時でも依然現役だろうな
0167デフォルトの名無しさん
2010/10/03(日) 16:04:070168デフォルトの名無しさん
2010/10/03(日) 17:33:53ここがDirectX11をまともに動かせるようになるまでは駄目だ
0169デフォルトの名無しさん
2010/10/03(日) 18:04:35とりあえずVS2012くらいでXPのサポート打ち切って
じょじょにDXSDKのVS2010以前のサポートを打ち切ってくるだろう
世間ではまだ9が全盛でも9で開発したかったら古い環境でやってね、となるに違いない
0170デフォルトの名無しさん
2010/10/04(月) 00:32:47こんなのでた、本当にどうしよう
0171デフォルトの名無しさん
2010/10/04(月) 00:41:130172デフォルトの名無しさん
2010/10/04(月) 00:41:34どうせ「かまってトゥーン君」なんだろうが…
0173デフォルトの名無しさん
2010/10/04(月) 00:50:570174デフォルトの名無しさん
2010/10/04(月) 00:56:35弄る前の状態にしてもエラーでるしワケ分からん
0175デフォルトの名無しさん
2010/10/04(月) 01:04:58VCみたいだからF5でデバック実行する
エラーがでて止まったら呼び出し履歴をみて最後に呼ばれた関数に飛ぶ
その中に適当にブレークポイントを打って止まる原因になってる行を突き止める
まぁ、たぶんNULLインターフェースのメンバを呼んでるとか
new してないインスタンスのメンバを呼んでるとかそんな感じだと思われ
0176デフォルトの名無しさん
2010/10/04(月) 01:06:190177デフォルトの名無しさん
2010/10/04(月) 01:06:47なるほど
ありがとう
0178デフォルトの名無しさん
2010/10/04(月) 14:11:12それに使うIDirect3DSurfaceはどこから取得するのが最適でしょうか?
0179デフォルトの名無しさん
2010/10/04(月) 14:35:000180デフォルトの名無しさん
2010/10/04(月) 20:07:15October2004をインストールしているのですが、最近のバージョンの
SDKと共存させることはできるでしょうか?
インストール先を別々にするだけで良いとかだとうれしいです。
0181デフォルトの名無しさん
2010/10/04(月) 20:11:28でも、環境変数とか同名の名前の衝突とかで食い合う気がするのでその辺の調整はいるかも。
0182デフォルトの名無しさん
2010/10/04(月) 20:12:07XPからにしとけwww
どうせ貧乏人をサポートしてもそいつらコピーでしかあそばねえからwww
0183デフォルトの名無しさん
2010/10/04(月) 20:19:46インストール先を別にして
環境設定のインクルードディレクトリとライブラリディレクトリの優先順位を2004Octの方を上にしとけば基本そっちから使ってくれる
ただMSもあまりそれは推奨してないようなので不具合がでても自己責任
0184デフォルトの名無しさん
2010/10/04(月) 20:24:47個々のプロジェクトごとに設定できるようになったから良いね
その分ちょっと煩雑にはなったけど
0185デフォルトの名無しさん
2010/10/04(月) 20:29:56インストールパスが違う他環境だとそのままじゃビルド不能になるし。
0186デフォルトの名無しさん
2010/10/04(月) 20:29:59ありがとうございます、一応できるんですね
環境変数も注意して見ることにします
0187デフォルトの名無しさん
2010/10/04(月) 20:35:32フルパスを書き込まなければ良い
0188デフォルトの名無しさん
2010/10/04(月) 20:37:18結局環境依存じゃねーか
0189デフォルトの名無しさん
2010/10/04(月) 20:38:15$(WindowsSDK)
0190デフォルトの名無しさん
2010/10/04(月) 20:40:070191デフォルトの名無しさん
2010/10/04(月) 20:45:070192デフォルトの名無しさん
2010/10/04(月) 20:45:21自分で環境変数を増やせばいいじゃない
別に一個じゃなきゃいけない理由も無いんだし
0193デフォルトの名無しさん
2010/10/04(月) 21:54:52SetRenderStateで設定してるものは全て無効になるんですよね?
すべてシェーダー側で設定しろってことですか?
カリングモードの設定もですか?
よろしくお願いします。
0194デフォルトの名無しさん
2010/10/04(月) 22:07:24そうでないと話にならない。
0195デフォルトの名無しさん
2010/10/04(月) 22:13:35試しました。たぶんそうなんですが、念のための確認です。
スパルタ教育は好きです。
0196デフォルトの名無しさん
2010/10/04(月) 22:15:570197デフォルトの名無しさん
2010/10/04(月) 22:19:34やり直して確信に変わりました。ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています