【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/
005654
2010/10/01(金) 12:16:07テクスチャに動画なんて貼れません。
DirectXの知識自体はあるのです。
エフェクトを表現するスキルが不足しているんです。
よろしくお願いします。
0057デフォルトの名無しさん
2010/10/01(金) 12:30:00動画から画像を取りだして、更新が必要なフレームでテクスチャを書き換えればいいだけだよ。
005854
2010/10/01(金) 12:34:15ああいうエフェクトは最初から、一つの画像を色々プログラムで駆使して表現しているのではなく、
何枚もの画像を使って、切り換えているだけなんでしょうか?
0059デフォルトの名無しさん
2010/10/01(金) 12:43:06なんでレベル低いくせに背伸びするんだw
http://www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow001.htm
動画にZ値をもたせておけば前後関係もちゃんと表現できるぞ
α情報をもたせておけば透過もできる
0060デフォルトの名無しさん
2010/10/01(金) 12:50:50α値含むエフェクト画像を加算合成
全体の透明度を0.0→1.0→0.0の変化と
αテストの閾値を0→255の変化を同時進行させているように見える
0061デフォルトの名無しさん
2010/10/01(金) 12:50:54そうです
フォトショでまず自動選択ツールとか消しゴムで切り抜いて、白紙を背景にして保存して、2階調補正して透過のために白黒ファイルを作って、ツールで重ねました
jpgの時の散らばりが無くなったので結構満足してたのですがどうやるのが正解なのでしょうか?
>>52
自分の作ったPNGと違いがわかんねえ…あんまり変わらないような
それと、グラボ買ってきたから今から取り付ける
これからはトゥーンレンダリングしまくってやんよ
0062デフォルトの名無しさん
2010/10/01(金) 12:55:480063デフォルトの名無しさん
2010/10/01(金) 12:56:58透明な線ポリや板ポリを発光させたり、
板ポリ+アルファ付テクスチャを発光 & フェードイン/アウトさせたりするんじゃないの?
負荷は増えるだろうけどパーティクル使っても可能だろう。
何にせよ応用思考の全く出来ない人っぽいので、ググるか大き目の本屋に行ってみる事をお勧めする。
タイトルは忘れたが、その手のエフェクトについて解説した本がある。
シェーダー関係だったかな?
0064デフォルトの名無しさん
2010/10/01(金) 12:59:18あいつはテクスチャアニメーションの代わりに使おうとしてたクズだろ
あんなのといっしょにするな
0065デフォルトの名無しさん
2010/10/01(金) 13:06:38006654
2010/10/01(金) 13:09:06DirectShowを使えば可能なんですね。まったく知りませんでした。
私の知識不足です。
>>60
なるほど。参考になります。ありがとうございます。
>>63
ありがとうございます。
シェーダーもそこそこ扱えるので、
本の名前思い出したら、また書き込んでいただけると助かります。
0067デフォルトの名無しさん
2010/10/01(金) 13:09:180068デフォルトの名無しさん
2010/10/01(金) 13:10:42で体験版を落として30日使い込んで、必要最低限の知識を学べ。
いきなり0からやろうとするから、右も左も分からないんだよ。
0069デフォルトの名無しさん
2010/10/01(金) 13:16:26台所で料理してるオカンの手元が光りまくってるのを想像してしまった。
っていうか、質問するほどのネタでもないような。
放射状に筋を描いて、ポストエフェクトでライトブルームを加えてるだけじゃない?
中心部分には円形の光を加えていそうだが。
007054
2010/10/01(金) 13:19:58ありがとうございます。ダウンロードしてやってみます。
>>69
言い方おかしかったですねw。すみません。
なるほど。ありがとうございます。
0071デフォルトの名無しさん
2010/10/01(金) 13:21:500072デフォルトの名無しさん
2010/10/01(金) 13:48:02どうやったらDirectXマスターできるんだよ
0073デフォルトの名無しさん
2010/10/01(金) 14:17:50仮になるにしてもとりあえずサンプル全部作れるようになってからそんなこと言ってるのか?
0074デフォルトの名無しさん
2010/10/01(金) 14:18:320075デフォルトの名無しさん
2010/10/01(金) 14:28:38いいと思う。
0076デフォルトの名無しさん
2010/10/01(金) 14:33:420077デフォルトの名無しさん
2010/10/01(金) 14:35:59先にOpenGLでもやれ
0078デフォルトの名無しさん
2010/10/01(金) 14:38:490079デフォルトの名無しさん
2010/10/01(金) 14:39:360080デフォルトの名無しさん
2010/10/01(金) 15:17:04DirectXのチュートリアルからはじめたらどうか?
虎表示するのあったじゃん
あれやるとモデルの表示がわかるからその後
固定モデル→アニメーションモデル→スキンメッシュモデル→各種シェーダ
って自分ライブラリ作っていったほうがランクアップしやすいぞ
DXライブラリの中身とかなにやってるのか読まなきゃいけないとか結構きついんじゃね?
(いや、ソースついてるのかどうかから俺は詳細知らないんだが・・・)
他の人の作ったもんだし
0081デフォルトの名無しさん
2010/10/01(金) 20:24:590082デフォルトの名無しさん
2010/10/01(金) 20:53:330083デフォルトの名無しさん
2010/10/01(金) 20:56:190084デフォルトの名無しさん
2010/10/01(金) 20:59:00気に入らないなら「DirectX上級者質問スレ」でも作りたまへ
0085デフォルトの名無しさん
2010/10/01(金) 21:01:020086デフォルトの名無しさん
2010/10/01(金) 21:14:330087デフォルトの名無しさん
2010/10/01(金) 22:09:520088デフォルトの名無しさん
2010/10/01(金) 22:25:56調度このスレに来てる層だろ
0089デフォルトの名無しさん
2010/10/01(金) 22:34:380090デフォルトの名無しさん
2010/10/02(土) 00:21:36グラボはオンボで、グラボのサイトを見てるとDirectX10.1対応(キッ
とか書いてあるのですがこれはどういうことなのでしょうか?
0091デフォルトの名無しさん
2010/10/02(土) 00:23:140092デフォルトの名無しさん
2010/10/02(土) 00:25:06当然か
0093デフォルトの名無しさん
2010/10/02(土) 00:28:030094デフォルトの名無しさん
2010/10/02(土) 00:37:01知らんがな
dxdiagじゃなくてSDKインストールフォルダの\Utilities\binフォルダにあるDXCapsViewer.exeを実行して
メニューからprint whole tree to fileを選ぶ
exeと同じフォルダにdxview.logというファイルができるのでそれを晒したら話が早いと思うよ
0095デフォルトの名無しさん
2010/10/02(土) 00:46:460096デフォルトの名無しさん
2010/10/02(土) 01:42:15はやくねー
0097デフォルトの名無しさん
2010/10/02(土) 07:07:35なにかいかんのかね
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
■ このスレッドは過去ログ倉庫に格納されています