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


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

【C++】 DirectX初心者質問スレ Part17 【C】



1 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:55:56 ]
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

【C++】 DirectX初心者質問スレ Part16 【C】
pc11.2ch.net/test/read.cgi/tech/1202634347/

2 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:08:16 ]
【関連サイト】

MSDN DirectX
www.microsoft.com/japan/msdn/directx/default.aspx

DirectX Home Page
www.microsoft.com/japan/windows/directx/default.mspx

BBX (掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/

DXライブラリ置き場
ttp://homepage2.nifty.com/natupaji/DxLib/

Lamp:ゲーム開発とその学習をサポートするミドルウェア
ttp://lamp.sourceforge.jp/

TWINTAIL LOVERS.
ttp://www.twin-tail.jp/

[t-pot] PROGRAMMING
ttp://www.t-pot.com/program/

GamDevPukiWiki - DirectX総合スレ (過去ログ等)
gamdev.org/w/?%5B%5BDirectX%C1%ED%B9%E7%A5%B9%A5%EC%5D%5D

GamDevPukiWiki - 3DCG製作ソフト (過去ログ等)
gamdev.org/w/?%5B%5B3DCG%C0%BD%BA%EE%A5%BD%A5%D5%A5%C8%5D%5D

ゲームを作るための素材を集めよう まとめサイト
paw.my-sv.net/index.html

3 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:29:51 ]
>2
一番下のサイト消えてるみたい

4 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:18:25 ]
マルペケつくろーどっとコム
ttp://marupeke296.com/

↑これも入れてもいいんじゃね?
てかここ読めば大抵わかるのと、超初心者ターゲットのしつこいくらいの説明がいい

5 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:32:13 ]
>>2
スレ立てたのはいいが点プレ反の忘れてたぜ!

6 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:23:42 ]
シェーダーファイル(テキスト形式)をコンパイル(バイナリ化)して
ロードする方法ってD3DX〜とかにありますか?

7 名前:デフォルトの名無しさん [2008/04/09(水) 22:00:08 ]
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。

8 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:32:35 ]
>>6
標準添付のfxc.exeとか?

9 名前:デフォルトの名無しさん [2008/04/10(木) 23:30:40 ]
LPD3DXFONTは描画が遅いから使うなと言われましたが
これより早い文字描画をする手段はあるのでしょうか?

10 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 23:33:21 ]
>>9
必要な文字だけテクスチャとして用意して使う。
コンシューマ機では一般的な方法だけど、速度よりも使用料を削減するためにだったりもするけどね。




11 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 00:50:24 ]
DrawIndexedPrimitiveUPで四角いテクスチャ3つ表示したいのですが、
何も表示できません。教えてください。
struct CUSTOMVERTEX{
float x,y,z; float rhw; DWORD c; float u,v;
};
IDirect3DIndexBuffer9* pIndex;
g_pD3DDev->CreateIndexBuffer(sizeof (USHORT) * 18,
 D3DUSAGE_WRITEONLY , D3DFMT_INDEX16 , D3DPOOL_MANAGED , &pIndex,NULL);
USHORT index[18] = {
 0,1,2,3,2,1,// 1枚目
 4,5,6,7,6,5,// 2枚目
 8,9,10,11,10,9// 3枚目
};
void *bBuf;
pIndex->Lock(0 , sizeof(USHORT)*12 , (void**)&bBuf , 0);
memcpy(bBuf , index , sizeof (USHORT) * 18);
pIndex->Unlock();
CUSTOMVERTEX v[12]=
{
 { x + width/2, y - height/2, 0.0f, 1.0f,0xffffffff, 1.0f, 0.0f},
 { x + width/2, y + height/2, 0.0f, 1.0f,0xffffffff, 1.0f, 1.0f},
 { x - width/2, y - height/2, 0.0f, 1.0f,0xffffffff, 0.0f, 0.0f},
 { x - width/2, y + height/2, 0.0f, 1.0f,0xffffffff, 0.0f, 1.0f},
 ...(あと8つほど略)
};

g_pD3DDev->SetTexture(0, pTexture);
g_pD3DDev->SetIndices(pIndex);
g_pD3DDev->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1);
g_pD3DDev->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST ,0,
 12,6 , pIndex ,D3DFMT_INDEX16, v , sizeof(CUSTOMVERTEX));

12 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 01:07:07 ]
>11
モニタの電源が入ってないんじゃねーの?

と俺のESPが発動したぜ

13 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 01:28:47 ]
UPを使いたいのかバッファを使いたいのか、どっちかにしろ。危ないぞ

14 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 07:25:31 ]
ライトの設定がONになってるとOFFで表示したいもんが表示されないとかなかったか?

15 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 07:55:53 ]
3つで表示できないなら1つ表示の最小限のプログラムをテストすればいいよ。
問題点を絞っていかないといつまでも解決しない。

16 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 08:32:30 ]
いつまでも目に頼ってるからそういうことになる

17 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 09:37:15 ]
心眼か

18 名前:デフォルトの名無しさん [2008/04/11(金) 18:33:59 ]
WinXpのSp2についてくるDirectX(9.0c)があれば
ラインタイムのインストールとかしなくても動くEXEが作りたいんだが
SDKはどれを使えばいいですか?

19 名前:11 mailto:sage [2008/04/11(金) 18:35:21 ]
どうも。DrawIndexedPrimitiveの方だと上手く動いたんですけどね。
UP系はいいサンプルが見つからなくてよく分からないです。

>>13
どういうことですか?
msdn見る限りUP系もバッファを使うようですが……。

20 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 18:52:24 ]
>>19
DrawIndexedPrimitiveUPの第・・・いくつめだか引数に指定するのは、
インデックスバッファじゃなくてインデックスデータそのものだと思ふ
>>11でいうところのpIndexじゃなくてindex



21 名前:11 mailto:sage [2008/04/11(金) 19:06:18 ]
>>20
本当だ。インデックスデータにしたら描画されました。
ありがとうございます。

一件落着!

22 名前:デフォルトの名無しさん [2008/04/11(金) 20:25:40 ]
>>18
October 2004

23 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:34:00 ]
>>21
ろくに調べてないから頓珍漢なこと言ってるかも知れんが、それってIndexBuffer作る意味あんの?

24 名前:デフォルトの名無しさん [2008/04/11(金) 20:50:02 ]
>>22
トンクス

みんなSDKは最新の使ってるのかの〜?

25 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:56:23 ]
>>24
使ってない。
・VS6.0を使ってるから
・DLL無いというエラーに素人がちゃんと対応できず、サポートがたるい
・古くても特に不便がない

26 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:09:11 ]
DLL位動的に読み込めよ・・・

27 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:34:25 ]
>>26
頼むから知ったかやめようよ、初心者質問スレでさ・・・

28 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:37:11 ]
PC内に存在しないDLLをどう動的に読み込むんだろう

29 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:43:19 ]
書き方が悪かったな
「DLLを動的に読み込もうとがんばって、読み込めない時は
ユーザに適切なDLLをインスコする様にメッセージを出すアプリの少ないことよ」
こうですか

30 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:46:19 ]
えー?なにこれ、これなんかエラーでた
俺ちゃんとDirectX9.0cとかいうの入ってんぜ?
何この不良品なめてんの
サポートに文句つけてやる「なんか起動しないんすけど責任とれ金払ったんだぞこっちはボケ」



31 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:56:43 ]
しかしd3dx9_xx.dll同梱して配布するとライセンス違反となる罠

32 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:19:32 ]
だから古いSDK使うわけで

33 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:29:32 ]
/*チラ裏
どうせ無償配布してんだから、つべこべ言わずに配布させろよ・・・*/

34 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:41:02 ]
www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3
テキトーにリンク貼って逃げればいいんじゃね?

35 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:59:11 ]
プログラマが「これくらいやってくれるだろ…JK…」と思うことは、大抵のライトユーザーにとって垣根が高い

36 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 01:02:51 ]
同人ゲーなんかは無断で添付してるのも多いけどねぇ

>>34
インストーラのリンク張るくらいなら、最小構成のセットアップファイルをつけて
起動を促す方が良いと思う。
個人的統計によれば素人にゃこっちの方が行動を起こしてくれる傾向がある、気がする。

37 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 02:52:45 ]

//素人もやる気ないし
//マイクロソフトもやる気ないし
//苦労するのはいつも作る側
//それでもC++で作るならまだいいほう
//XNAとかラインタイムを3も入れなきゃならない
//もうあほかと
//ランタイム地獄に愛想つかしてVC++勉強したが
//今となってはよかったと思う

38 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:08:43 ]
>>36何それ?どうやんの

39 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 13:03:56 ]
>>38
単純にdllをプライベート配置するのはライセンス違反だが、
アプリに添付するランタイム用インストーラの容量はある程度減らせるってだけの話。

msdn2.microsoft.com/en-us/library/bb174600.aspx

40 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 13:51:50 ]
うわー、同人ゲームのくせにランタイムインストールとか何様だよ
めんどくせーなー
俺様のPCでもちゃんと動くようにするのがプログラマ奴隷の役目だろが
わざわざNYでDLしてやったってのに糞が



41 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:24:39 ]
>>39
インストーラは配布していいのね。
>>40
これだからなかなか金は取れないんだよな・・・俺無責任だしw

42 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:04:26 ]
よし、D3DX使うのやめよう!

43 名前:デフォルトの名無しさん [2008/04/12(土) 19:51:21 ]
HLSLでのキューブマップの扱いについて質問です、
tpot.jpn.ph/t-pot/program/66_cube_normal/index.html
ここにある内容をHLSLでやろうとしたのですが、
期待する値が取れてません。

解説と同じようにD3DXCreateCubeTextureでテクスチャを作って、
同じように中身を埋めました。
で、pEffect->SetTextureで渡してます。
HLSL側では、
textureCUBE CubemapNormal;
samplerCUBE CubemapSampler_forNormal = sampler_state {
texture = <CubemapNormal>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;
AddressU = Clamp;
AddressV = Clamp;
};
でピクセルシェーダの部分で
N = texCUBE(CubemapSampler_forNormal, In.N).xyz * 2.0f - float3(1.0f, 1.0f, 1.0f);
とやっています。
何かおかしい部分ありますでしょうか?

44 名前:43 mailto:sage [2008/04/12(土) 20:56:51 ]
すみません、解決しました。
D3DPOOL_MANAGEDで作ったらダメなんですねorz
RENDERTARGETにしてるからMANAGEDだと失敗するのかな。

45 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 22:10:55 ]
RENDERTARGETは、DEFAULTじゃないとダメだよ。

46 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 00:01:59 ]
D3DXVec2Rotateってないですよね?
D3DXVec2Transformを使えばいいのですが、MATRIXを生成するのがバカらしい…

47 名前:デフォルトの名無しさん [2008/04/13(日) 13:18:15 ]
2Dの画像の描画をしたいんだけど、どうしたらいい?

48 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:22:00 ]
>>47
つ MSDN
つ google

49 名前:デフォルトの名無しさん [2008/04/13(日) 13:47:59 ]
>>48
探すの面倒だから代わりに探してきてよ

50 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 14:47:21 ]
>>49
お前、実際もの作るとかなったらそんな程度面倒がってたらなんも作れねーぞ
俺はDrawPrimitiveを薦めるけどね



51 名前:デフォルトの名無しさん [2008/04/13(日) 16:05:07 ]
>>50
やさしいね。大好きだよ。

52 名前:デフォルトの名無しさん [2008/04/13(日) 20:00:01 ]
HLSLのtex1Dってやつを使ってみようと思うのですが、
これはC++側では普通にCreateTextureでいいのでしょうか?
2次元のテクスチャでいいとすれば、どのように参照されるのかとか、
よろしければ教えてください。

53 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:23:08 ]
>>46
自前でやればいいと思うけど。
XYの2次元ベクトルの回転なら(XcosΘ+YsinΘ, -XsinΘ+YcosΘ)

54 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:39:14 ]
>>53
さすがに2次元ベクトルの回転は高校で習ったからわかりますが、お気遣いどうもw
いやー、ライブラリにあるなら独自作らないほうがいいと思ったもんで。ありがとう

55 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:46:27 ]
>>54
荒らし?w
純粋にライブラリにあるかどうかが知りたかっただけなら
コンパイル通るか試すだけで済むだろ。Vec3Vec4の関数名は統一されてんだし。
それかヘッダ見るかすればいいのに。

56 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 22:14:54 ]
Presentの引数を全てNULLにした際に描画される領域を取得することは出来ませんでしょうか。
DXが描画しているウィンドウ内に可動ツールバーがあり、
クライアント座標を取得する関数ではそのツールバーの領域も含めてしまうため求めたい値が取れません。
C++で取得できればこしたことは無いのですが、せめてDXで取得出来る形にさえなっていれば・・・

57 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:04:12 ]
>>40
ネタのつもりでやってるんだろうが実際はこういう奴ばっかりなんだよ
で、ランタイム配布めんどくさいよねっていうと
そんなの気にならないくらい楽しいゲーム作ればいいとか
本題からズレたことを言っていい気になるやつが出てくる
DirectX8以前縛りで作るとそこら辺気にしなくてよくてラク

58 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:06:25 ]
アホをイラつかせられるだけでも、DX9とかにする価値があるわけだ。

59 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:28:51 ]
XNAなら

DirectX
.NETFW
XNAFW

の3つのラインタイムでイライラMAXだな

60 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 02:37:33 ]
アレはユーザもイライラ
開発者もイライラ



61 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 13:33:16 ]
>>55
あるものを発見するのは楽だが、無いものを無いと確信するのは難しい
また、ライブラリにあるものを自前で再実装するのは大抵の場合悪

62 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:19:04 ]
そんなメタ正論持ち出さんでも
ドキュメントのD3DX項目眺めるだけじゃんこの場合・・・

63 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:47:03 ]
46がどれくらい調べたのかはわからんが、言葉どおり
D3DXVec2Rotate
という関数があるのかを聞いたわけじゃないだろ?
D3DXVec2Rotate 相当の関数があるかってことだろうから、俺でも「多分無い」としか言えん
D3DXVec2Transformは知ってたわけだから、それなりにサイトを見たんじゃなかろうか。


…MSDNもVer古い関数載せてたりするからあんまり信用できないんだよなw
特にI3DXAnimationControllerあたり

64 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:51:55 ]
ID3DXEffect で

シェーダー側の
float2 形式で渡したいんですけどできないんでしょうか?

ID3DXEffect::SetVectorは、D3DXVECTOR4 だし

65 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:55:39 ]
SetFloatを2回やるのじゃダメなんか?

66 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 15:09:36 ]
>>64
俺もそれ思ったけど多分GPUの仕組みからして
SetVector(float4)かSetFloatだけしか用意してないんだとオモタので気にしてない。
詳しくは知らないけど、GPUの定数レジスタって全部float4じゃなかったっけ?
(floatもあるのかもしれないけど。)
floatを2つにして渡すか、float4のうち2つを使うかは自分の設計や効率と相談ってことで。

67 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:16:48 ]
IDirect3DDevice9::SetPixelShaderConstantFは
float4の配列を引数に受け取る訳で
こいつに合わせるのがベターだろう

68 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 11:31:58 ]
ID3DXAnimationControllerで質問です。
現在アニメーショントラック合成をやっているのですが…

Aのとあるポーズ(とある時間で停止)から、Bの歩きアニメ(再生)へ、1秒かけて変移。
とやる場合、以下のようにやって実現しました。

・トラック0にAをセット
・しばらく後「歩くボタン」を押した
・トラック0のデータをトラック1に移行
・(DESCを初期化した上で)トラック0にBをセット
・トラック0の時間のみSetTrackAnimationTimeで進め、行列更新のためにAdvanceTime(0.0f,NULL);を呼び出す
・1秒かけてTrackWeightを変移させていく

ですが、AからBに変移している途中の状態から、Cアニメへ移行したい。という場合に困っています。
もちろんトラックをまた1つずつずらして、0:C 1:B 2:A にし、Weightをきちんとやれば実現は可能です。
ですがこの方法だと、さらに途中でDアニメ…Eアニメと(そんな多重になるようにすんなとは思いますが)移行させようとした場合、トラックがいくつあっても足りません。

「現在のポーズ」をアニメーションセットとして認識させる方法はないでしょうか?

69 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:57:19 ]
MSが提供しているのは便利機能であってそれ以上を求めたいなら自前でやれと。


70 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:22:06 ]
DX関数群は使用しないでください
頭が腐ります



71 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:19:51 ]
D3DXのアニメーションコントローラとか使ってないからわからんけど
Weightをきちんと、って頂点に含まれるウエイト値をいじるってこと?
そんなことしたらデメリット多いし俺も自前でやった方がいいとオモ

72 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:35:21 ]
アニメーションコントローラは、アニメAとアニメBに重みをつけられるんだよ
アニメAで設定されてるを8割採用し、アニメBで設定されてる角度を2割採用。みたいな感じ。
それをウエイトって言うのよ

73 名前:71 mailto:sage [2008/04/15(火) 20:47:50 ]
なるほど、D3DXでもモーションブレンドとかできるのかぁ。
「現在のポーズ」の状態を擬似的に以降のフレームに入れて騙したりは出来ないのかな。
あるいはアニメーション時間を騙すとか。役に立てずスマンコ

74 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:51:25 ]
70はネタだよね?
なかったら脂肪決定な漏れ

75 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 21:36:59 ]
わかりにくかったらごめんなさい。

画面に四角形を描画した後、その四角形の一つの頂点の座標だけを動かして
四角形を歪んだような形にすることってできますか?

76 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 21:49:24 ]
>>75
意味がわからんが、3Dでポリゴン描画のことを言っているならばできる
BitBltなどの2D描画のことをいっているならできない(自作すべし)

77 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 21:52:28 ]
描画してからとなると描画したバッファ自体をテクスチャとして使用すれば変形も可能。
>>76
TL頂点でも出来る。

78 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:12:33 ]
DirectInput8でジョイパットの状態を

pJoyDevice->GetDeviceState(sizeof(DIJOYSTATE2), &js);

で取得すると

js.lX と js.lY が十字キー押してないのに-1になるんだが
うちのジョイパットがおかしいんだろうか?
押してるときは 6とか-6とかになるのに
押してないときは 0でなく-1って一体

79 名前:78 mailto:sage [2008/04/16(水) 00:13:20 ]
事故解決
無効ゾーンを設定して小さすぎる値を無視することでようやく解決

80 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:19:04 ]
それ十字キーとはいってもアナログなんじゃない?
アナログだと、何も入力してないつもりでも大抵入ってる
だからその解決法が正しいね



81 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:28:56 ]
>>80
サイバーガジェットのPSのコントローラーつなげられる
USB接続のジョイパット変換機なんだがアナコンのほうは認識しない古いやつ
で、十時キーがいつもマイナス方向に微妙に入ってるってことになってるみたい
アナログじゃないのにアナログ扱いされることもあるのね
勉強になりました


82 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:34:51 ]
>>81
俺もDirectInputでは悩んだんだけど、アナログでなくとも
XYZの軸入力は指定した範囲で送られてくる(指定した最大値・最小値で)から
同じように扱うしかなかった。んで、-1000〜1000の範囲にして
-100〜100は無視するとかしたと思う。
友人のPS2コントローラの変換機もうまく動かないやつがあって、
ボタンの状態が、普段がONで押すとOFFになるんだったかなぁ。
コントローラの送ってくる情報は基本的に信頼しない方がいいかもしれない。
色んなメーカーが気軽に作ってるようだから。

83 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 06:37:08 ]
>>76,77
ありがとうございます。
いろいろと試してみます。


84 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:00:51 ]
背景を透明にすることってできますか?


85 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:12:11 ]
何の背景よ?
ウィンドウを透過させてデスクトップの壁紙が見えるようにしたい?

86 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:15:41 ]
>>85
説明不足ですいません。
そのとおりです。描画してあるものはそのままに
ウィンドウを透過させて壁紙が見えるようにしたいんです。


87 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 17:22:27 ]
レイヤードウィンドウでぐぐるといい。DirectXとは無関係だよ。

88 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 17:31:04 ]
デスクトップアクセサリーみたいなのだとリージョンとかもあり
ま、結局はDirectXと無関係

89 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:02:09 ]
DrawTextメソッドのRectangleが値渡しなのでCalcRectが機能しません。

って英語でどう書くの?

90 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:10:59 ]
Fuckin' DrawText Method Rectangle!!
Goddamn CalcRect Don't WORK!!
Sun of a bitch!!



91 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:16:32 ]
>>89
DT_CALCRECT becomes Font.MeasureString in managed code.

92 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:58:30 ]
解決しますた。

93 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:28:34 ]
XAudio 2 にCPUのSSEサポートが必要ってどこかに書かれてますか?
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=572be8a6-263a-4424-a7fe-69cff1a5b180&displaylang=en#Requirements
にはないようなんですが、こんな書き込みを見ました
ttp://pc11.2ch.net/test/read.cgi/win/1206653607/981


94 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 02:03:03 ]
msdn2.microsoft.com/en-us/library/cc308006(VS.85).aspx

ドキュメントには明記されてるね。

95 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 02:17:53 ]
>>94
ありがとうございます、やはり必要なんですね

96 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 07:54:08 ]
問題は見つかりませんでした。
DirectDraw テスト結果 : テストはすべて成功しました。
Direct3D 7 テスト結果 : エラー - ステップ 8 (3D デバイスを作成中): HRESULT = 0x80004005 (一般エラー)
Direct3D 8 テスト結果 : エラー - ステップ 8 (3D デバイスを作成中): HRESULT = 0x8876086c (エラー コード)
Direct3D 9 テスト結果 : エラー - ステップ 8 (3D デバイスを作成中): HRESULT = 0x8876086c (エラー コード)

すみませんこのエラーコードってなんですか?

97 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:43:37 ]
なんのツール上で吐かれたエラーなのかすら説明なく?

98 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:44:46 ]
ヘッダから漁ってみそ

99 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 16:14:21 ]
なんか、シェーダー側のグローバル変数に
データが届きません><。

.cpp側
m_hMapWidth = m_pEffect->GetParameterByName( 0 , "MAP_WIDTH" );
m_hMapHeight= m_pEffect->GetParameterByName( 0 , "MAP_HEIGHT" );

hr = m_pEffect->SetFloat( m_hMapWidth , 490.0f );
hr = m_pEffect->SetFloat( m_hMapHeight, 472.0f );

.fx側
float MAP_WIDTH;
float MAP_HEIGHT;

と書いても、MAP_WIDTHには、数値が入ってないみたいです。
シェーダー側で、MAP_WIDTH=490.0fすれば、ちゃんと動きます。

SetFloatの前にやっている
SetFloatArrayは、ちゃんと数値届いてるのに><。

なんか、SetFloatの制限とかあるんですか?
ハンドル利用してないバージョンでも試しました。
やっぱだめです。



100 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 16:20:27 ]
intに変えて、SetIntにしてみたらいけました。
Floatって400とか行くと駄目なん?



101 名前:100 mailto:sage [2008/04/18(金) 16:21:53 ]
嘘です。やっぱいけてませんでした><。

102 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:02:51 ]
400程度でケタ落ちとかは無いよ。
GetParameterByNameで得たハンドルがNULLでないか、
hrがE_FAILになってないか、そのへん見てみたら?
あとはエフェクト側の定数が多すぎて定数レジスタ食い尽くしてないか。
(頂点シェーダ3_xまでは定数レジスタはfloat4×256個しかない)






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

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

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