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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
回答する人も、質問する人も必ず読んでください

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

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

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

現在の最新バージョンはDirectX 11です。

前スレ
【C++】 DirectX初心者質問スレ Part35 【C】
http://hibari.2ch.net/test/read.cgi/tech/1305885376/
2デフォルトの名無しさん:2011/10/19(水) 22:55:30.98
スレ立て感謝です。

現在D3D11とDirect2DとDirectWriteを同時使用するためDXGIって何ぞや・・と勉強中。
DirectWriteサンプルのGabriolaフォントかっこよすぎワロタ。
実際の処理内容以上にすごいことをやっているように見えるw
3デフォルトの名無しさん:2011/10/21(金) 18:51:17.67
DirectX-ゲームグラフィックス-プログラミング-NextCreator-CREATOR
マスタリングDirectXプログラミング

入門者向けだとどっちがいい本?
4デフォルトの名無しさん:2011/10/21(金) 20:21:04.76
>>3
大きい本屋での立ち読みと、
アマゾンレビューを参考に選ぶべき
5クリエイト:2011/10/22(土) 12:00:25.85
DirectX9で2Dのシューティングを作っていて、自機の表示をrhwで行っていますが、
位置を変える度にバーテックスバッファをロックして座標の変更を行うのは非効率だと思い、
違う方法を考えています。DrawPrimitiveUPを使えばロックせずに済みますが、勉強のためと速度のために
DrawPrimitiveを使った方法にしたいと思っています。

ワールド変換などの行列を使うのかと思いましたが、座標変換済み頂点なので出来ないと思いました。
どういった方法がありますか。
6デフォルトの名無しさん:2011/10/22(土) 12:08:45.68
>>5
数回のDrawPrimitiveで一括描画できれば、upでもそうでなくても
2Dシューティングごときパフォーマンス足りなくなることはないだろう
7クリエイト:2011/10/22(土) 12:13:57.97
パフォーマンスに問題は無いだろうと思いますが、
ビデオカードの扱いに慣れたいのでDrawPrimitiveを使いたいです。
8デフォルトの名無しさん:2011/10/22(土) 19:29:38.75
>>4
大きい書店を回ってみましたがどこにもおいてませんでした(T_T)
9デフォルトの名無しさん:2011/10/22(土) 19:51:22.63
>>7
座標変換済みでも、正射影描画でも
一括ロック&書き変え→一気にDrawPrimitiveすればよろし
ちまちまロックは効率よくないが
10デフォルトの名無しさん:2011/10/22(土) 19:59:44.31
>>8
その大きな書店にある分かりやすそうなのを選ぶのはだめなん?

ここで質問するよりアマゾンレビューの方が参考になるとおもうなぁ
11デフォルトの名無しさん:2011/10/22(土) 20:08:48.57
>>10
情報資格試験や読み物や言語の本ばかりでDirectXの本が全然置いてないんです(;_;)
12デフォルトの名無しさん:2011/10/22(土) 20:48:35.08
三角形ストリップ1つに対してロック1回が最小?
幾つかのストリップをまとめて1回のロックでという訳にはいかないのかな?
13クリエイト:2011/10/22(土) 21:18:12.24
>>12,>>9
いくつかのストリップをうまくまとめて一回のバーテックスバッファの書き換えで済ます方法を思いつきました。ありがとうございました。
それでも毎フレーム一回はロックする必要がありそうです。
14デフォルトの名無しさん:2011/10/23(日) 00:40:38.81
>>11
図書館に取り寄せてもらうか、自分に合わないのを覚悟して買って勉強する。
15デフォルトの名無しさん:2011/10/23(日) 12:38:55.64
まずDirectXでなにをやりたいかによるんじゃないか?
タイトルだけみただけだが
上はグラフィックに重点を置いていて
下は全般的なDirectXくさそう。

個人的にはDirectXの入門書だったら
DirectX9 実践プログラミング( 2.0か1.0でいいとおもう )
11とかやるなら話は別だが入門なら9から初めていいとおもうし

その後Direct3D等々の専門書買うのがベストかと
16デフォルトの名無しさん:2011/10/23(日) 12:54:00.03
DirectX臭そう、まで読んだ
17デフォルトの名無しさん:2011/10/23(日) 14:24:41.53
読力なさ杉ワロタ
18デフォルトの名無しさん:2011/10/23(日) 14:25:52.30
DirectX臭そう、だけ読んだ
19デフォルトの名無しさん:2011/10/23(日) 14:58:43.45
だけ読んだ だけ読んだ。
20デフォルトの名無しさん:2011/10/23(日) 15:01:50.85
だけ読んだ だけ読んだ だけは読んだけど結局どこだけ読めばいいんだっけ?
21デフォルトの名無しさん:2011/10/23(日) 15:18:33.22
DirectX臭そう
22デフォルトの名無しさん:2011/10/23(日) 16:09:44.41
てめぇらツボりすぎだろ
23デフォルトの名無しさん:2011/10/23(日) 17:41:36.66
BAKA BAKKARI
24デフォルトの名無しさん:2011/10/29(土) 14:35:11.37
だな
25デフォルトの名無しさん:2011/10/29(土) 15:30:24.64
ふーん
26デフォルトの名無しさん:2011/10/30(日) 05:36:35.31
Direct3DDeviceって何を表してるの?どの単位で作るものなの?
描画先毎?VRAM毎?GPU毎?
27デフォルトの名無しさん:2011/10/30(日) 06:57:36.71
>26
頂点毎
28クリエイト:2011/10/30(日) 18:57:41.55
テクスチャードクアッドをDrawPrimitive()で2D描画しようと考えていますが、
下記のコードで描画されません。ライティングとマテリアルの設定を変えてみても駄目で、頂点情報の指定で根本的に誤解があるのかもしれないので指摘お願いします。
ちなみに、サンプルからのコピペでXファイルを表示させることはできているので、初期化部分は合っていると思います。

STANDARD_VERTEX lm[4];
LPDIRECT3DVERTEXBUFFER9 vb;
LPDIRECT3DTEXTURE9 pTexture;

STANDARD_VERTEX newVERTEX[]={
{-1.f,0.f,0.f,0,0,-1.f,0xffffffff,0.f,0.f},
{1.f,0.f,0.f,0,0,-1.f,0x55ffffff,1.f,0.f},
{-1.f,1.f,0.f,0,0,-1.f,0x55ff44ff,0.f,1.f},
{1.f,1.f,0.f,0,0,-1.f,0xffffffff,1.f,1.f}
};
memcpy(lm,newVERTEX,sizeof(newVERTEX));
MY_VERTEX_RHW *v;
STANDARD_VERTEX *vv;

pDevice->CreateVertexBuffer(sizeof(STANDARD_VERTEX)*4,0,D3DFVF_XYZ| D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1,D3DPOOL_MANAGED,&vb,NULL);
vb->Lock(0,0,(void **)&vv,0);
memcpy(vv,lm,sizeof(STANDARD_VERTEX)*4);
vb->Unlock();

//ワールド、ビュー、プロジェクション変換省略。

pDevice->SetTexture(0,pTexture);
pDevice->SetStreamSource(0,vb,0,sizeof(STANDARD_VERTEX)*4);
pDevice->SetFVF(D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1);
pDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);
29クリエイト:2011/10/30(日) 18:59:41.09
追記です。
DirectX9で
struct STANDARD_VERTEX{
float x,y,z;
float nx,ny,nz;
D3DCOLOR colour;
float tu,tv;
};
です。スレ汚し失礼しました。
30デフォルトの名無しさん:2011/10/30(日) 19:07:12.03
>>28
SetStreamSourceの最後の引数のstrideは1つの頂点のサイズじゃね?
つまり*4がいらねぇんじゃないかな?
しばらくDirectXから離れてたから違ってたらごめん。
31クリエイト:2011/10/30(日) 19:27:46.28
回答ありがとうございます。msdnで確認したところ確かに一つ当たりでしたので、*4を外したんですが、
やはりまだ描画されていません。まだ間違っているところがあるみたいです。
32デフォルトの名無しさん:2011/10/30(日) 19:40:10.21
初期化処理って
パラメータセットの配列にゲームを実行可能なパラメータのすべての組み合わせを性能の良い順に詰めて
初期化が成功するまで配列を走査、全部失敗したらエラー通知
みたいな感じでいいの?
33デフォルトの名無しさん:2011/10/30(日) 20:09:26.80
>>29
CULL_MODEどうしてる? XYZRHWだとY+が下でXYZだとY+が上方向とかになって時計回りが上下反転するとかありそうだけど。
xファイルを原点で表示しながら横にそのソースを埋め込んでみたりは?
ライティングも疑うならNORMAL消してやってみるってのもどうか?
SetTextureStageStateも疑いたいからDirectXSDKのTut05_Texturesあたりに埋め込んでみて出るかどうか試してみるとか。
あんま役に立たなくてごめん。

>>32
いいんじゃね?
動く最低条件から調べて後はあればいいなって機能が使えればそっち優先するようにするのでもいいし
34クリエイト:2011/10/30(日) 20:21:10.04
>>33
カリングNONEにしたら描画されました。感動しました。
仰るとおり、上下逆になったので調整が必要ですが。
本当にありがとうございました。
35デフォルトの名無しさん:2011/10/30(日) 20:56:54.78
>>34
解決してよかった。

XYZRHWでシューティング作ってた人だよね?
XYZになったのならついでにXYZB1とかの行列インデックス使って
行列だけで自機や弾の移動とかやるのも面白いかもよ
STRIPだと縮退させない限りつながっちゃうからTRIANGLE_LISTでDrawIndexedPrimitiveになると思うけど
256個までの弾なら一度に描画できるようになる
(頂点ロックの代わりに行列の転送になる)

さらに自分でシェーダー書くなら4x4のfloatでなく2D平面の場合3〜4個のfloatだけでxyと回転(スケール)ができるよ
36デフォルトの名無しさん:2011/10/31(月) 00:31:05.54
DirectXでオブジェクトを1回送っただけで複数のカメラから見た画像を1度にレンダリングできますか?
37デフォルトの名無しさん:2011/10/31(月) 01:12:19.75
送るのは1回でもいいけど一度にレンダリングは無理だなぁ
VertexBuffer使いまわしで何度かViewMatrixだけ回転とかさせてそのたびにDrawPrimitive系でレンダリングになっちまう
38デフォルトの名無しさん:2011/10/31(月) 13:53:19.93
39デフォルトの名無しさん:2011/10/31(月) 15:03:27.89
>DrawPrimitive系でレンダリング
DrawPrimitiveの時点ではレンダリングなどされないんだが、何の話をしているんだ?
40デフォルトの名無しさん:2011/11/01(火) 00:52:51.15
>>39
発言が下らないよ

どっちにしてもzバッファもめちゃくちゃじゃね
41デフォルトの名無しさん:2011/11/01(火) 09:36:46.12
BackBufferWidth, BackBufferHeight
これはフルスクリーンの時はデバイスがサポートしてる値
ウィンドウなら自由(123などの半端な数でも可)ということでおk?
42デフォルトの名無しさん:2011/11/01(火) 12:29:23.97
イエス
43デフォルトの名無しさん:2011/11/01(火) 12:29:41.16
IDirect3D9に有効なDepthStencilFormatを列挙するメソッドがないとかおかしいだろ
どうやって調べるんだよこれ
44デフォルトの名無しさん:2011/11/01(火) 12:33:05.58
有効なって何よ
IDirect3D9::CheckDepthStencilMatchで駄目なん?
45デフォルトの名無しさん:2011/11/01(火) 12:52:07.46
初歩的な質問かもしれませんがお願いします。
背景に画像を描画する状態で、10〜20ほどの物体を個別に回転させたいのですが、
デバイスやスプライトはその数だけ生成する必要があるのでしょうか。
46デフォルトの名無しさん:2011/11/01(火) 13:07:48.12
>>45
まずはチュートリアルをやれ。
47デフォルトの名無しさん:2011/11/01(火) 13:19:37.00
>>42
あざっす
48デフォルトの名無しさん:2011/11/01(火) 14:45:03.76
>>47
いえいえ
49デフォルトの名無しさん:2011/11/02(水) 17:28:52.48
>>43
documentよめよ
50デフォルトの名無しさん:2011/11/02(水) 17:35:50.23
D3DFMT_D16の決め打ちでおk
だいたいこんな所でコケるしょんぼりシステムで派手なゲームがまともに動くわけない
51デフォルトの名無しさん:2011/11/02(水) 19:50:45.27
さすがにD_16はないわ。
なんもできねー。
52デフォルトの名無しさん:2011/11/02(水) 21:44:38.14
転売用にAmazon自動予約スクリプト使いたいけど、パソコンの台数と、回線の数、どっちが大事?
53デフォルトの名無しさん:2011/11/02(水) 21:45:41.60
>>52
ルールを守るのが大事。
54デフォルトの名無しさん:2011/11/02(水) 23:05:10.63
>>51
でも32だとクソ重くなるな
いまどきのグラボって速いところはクソ速いけど遅いところはちっとも進化してないな
塗りとかいまだにアフォかってほどおもいな
55デフォルトの名無しさん:2011/11/04(金) 00:36:34.09
頂点色じゃなくてマテリアルのディフューズ色を使ってポリゴンを描画させたいのですが
pID3DDevice->SetRenderState(D3DRS_COLORVERTEX, FALSE);
これでは頂点色が使われてしまい
pID3DDevice->SetRenderState(D3DRS_COLORVERTEX, TRUE);
pID3DDevice->SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL);
これでもやはり頂点色が使われ、マテリアルの色は全く反映されません

ヘルプを見るとこれらのレンダーステートを設定すれば良いと思ったんですが
私の解釈が間違っているんでしょうか
56デフォルトの名無しさん:2011/11/04(金) 00:55:19.69
ライティング無効にしてるとかじゃないの?

余計なこと考えずに、SDKチュートリアルを4番から真似てりゃできると思うけどね
57デフォルトの名無しさん:2011/11/04(金) 02:55:50.84
表示キャラクタの移動量(dx, dz)から角度を計算したいんですが同じベクトル
または逆方向のベクトルの時にNaNになってしまいます(dxが0だと時々発生)

float angle;
D3DXVECTOR3 v(dx, 0, dz);

D3DXVec3Normalize(&v, &v);
angel = acosf(D3DXVec3Dot(&D3DXVECTOR3(0.0f, 0.0f, -1.0f), &v));

一応無理やり

if (!(ang < 7.0f)) ang = (va.z < 0.0f) ? 0.0f : D3DX_PI;

みたいにして対応してるんですがもっとスマートな方法はないでしょうか?
移動方向にキャラクタを向けたいんです
5857:2011/11/04(金) 02:57:27.56
if (!(angle < 7.0f)) angle = (v.z < 0.0f) ? 0.0f : D3DX_PI;
でした
59デフォルトの名無しさん:2011/11/04(金) 03:23:37.56
深夜のテンションでレスするとatan2じゃなくてacosfでいいのかな?
60デフォルトの名無しさん:2011/11/04(金) 08:55:06.41
2Dなら単位ベクトルの成分でatan2するだけでおk
6157:2011/11/04(金) 09:48:42.64
>>59-60
余計な処理もなく1行になりましたw
ありがとうございます
62デフォルトの名無しさん:2011/11/04(金) 10:20:35.44
あ、ていうかノーマライズもいらないか
(x,z)==(0,0)の時だけ注意してatan2(x, z)でいい
63デフォルトの名無しさん:2011/11/04(金) 17:21:46.75
自分で作るdirectxのゲームはフルスクリーン時でも簡単にキャプチャ取ったり
デュアルウィンドウの時はカーソルを隣のウィンドウに行き来したりしたいんですけど
ひょっとしてフルスクリーンで行うのは実は無理でウィンドウバーを消した拡大表示をするしかないですか?
64デフォルトの名無しさん:2011/11/05(土) 12:42:42.88
>>63
ん?・・・
65デフォルトの名無しさん:2011/11/05(土) 13:57:20.66
ひょっとしてウィンドウモードの時って1ピクセルでも描画領域のサイズが変化したらリストアするべきなんですか?
66デフォルトの名無しさん:2011/11/05(土) 14:38:37.07
>>65
バックバッファとウィンドウのサイズが常に一致することが望ましいならね

まあ、リサイズ時のデバイスのリセットを回避したいだけなら
デバイス作成時の既定のスワップチェインは無視して
ウィンドウに追加スワップチェインを割り当てると
リサイズ時は追加スワップチェインを作り直すだけで済むよ

ツール上のレンダリングを想定しててXP捨てていいならD3D11にするのがベストだけどね
67デフォルトの名無しさん:2011/11/05(土) 18:10:59.46
へえ
6855:2011/11/05(土) 22:03:11.27
>>56
2D描画なのでライティングは無効にしているんですけど、ライティング無効だと頂点色を使うことしかできないんですか?
頂点色を変えるのにいちいち全ての頂点の色変えるのもなあ、と思い、マテリアルのディフューズ色で出来たらと思ったんですが
できないっぽいですね・・・ 素直に全ての頂点色を変えようと思います
6955:2011/11/05(土) 22:10:09.80
へえ
70デフォルトの名無しさん:2011/11/05(土) 23:01:50.29
>>68
シェーダ使えやハゲ
71デフォルトの名無しさん:2011/11/06(日) 00:09:15.65
>>68
D3DTSS_CONSTANT/D3DTA_CONSTANTあたりで出来るんじゃねえの

使ったこと無いけど
72デフォルトの名無しさん:2011/11/06(日) 10:40:44.70
(´・ω・`)無いけどね
73デフォルトの名無しさん:2011/11/06(日) 16:27:22.43
そんな事するぐらいなら頂点色使うわ
74デフォルトの名無しさん:2011/11/06(日) 19:15:57.63
>>73
頂点色つかうよね
75デフォルトの名無しさん:2011/11/07(月) 06:51:31.13
頂点色を変えるのにいちいち全ての頂点の色変えるのもなあ
って何?
76デフォルトの名無しさん:2011/11/07(月) 06:57:55.89
モデラーに無い機能実装して実機でしか見れない状況作って
仕事増やして自分の居場所を確保するとか涙ぐましいにも程がある
77デフォルトの名無しさん:2011/11/07(月) 07:13:45.05
D3DXCreateTextureで生成したテクスチャに図形ソースのマスク後付けって出来ます?
78デフォルトの名無しさん:2011/11/07(月) 07:30:27.01
ロックしてアルファ値に書き込めばいいじゃねえの
79デフォルトの名無しさん:2011/11/07(月) 11:25:52.54
>>78
なるほど
あざまーす
80デフォルトの名無しさん:2011/11/07(月) 16:12:05.63
遅そうだけど
81デフォルトの名無しさん:2011/11/07(月) 18:23:09.94
>>79
いえいえ
82動け動けウゴウゴ2ちゃんねる :2011/11/08(火) 00:01:13.61
超初心者なんですが、Managedで勉強少ししたんですが、
C++で勉強した方が後々良いのでしょうか。
ちなみに、C#で正四面体を表示しようと
http://sorceryforce.com/manageddirectx/direct3d_box.html
上記のページを参考にコードを書いたのですがうまくいきません
スレ違いはわかってますが、できれば教えていただきたいです。
private byte[] vertexIndices = new byte[] {
0,1,3,
3,2,1,
1,0,3,
3,2,0
};
vertex = new VertexBuffer(typeof(CustomVertex.PositionColored),
4, device, Usage.None, CustomVertex.PositionColored.Format, Pool.Managed);
using (GraphicsStream data = vertex.Lock(0, 0, LockFlags.None))
{
CustomVertex.PositionColored[] vertices = new CustomVertex.PositionColored[4];
vertices[0] = new CustomVertex.PositionColored(1f, 1f, 1f, Color.Red.ToArgb());
vertices[1] = new CustomVertex.PositionColored(1f, -1f, -1f, Color.Green.ToArgb());
vertices[2] = new CustomVertex.PositionColored(-1f, 1f, -1f, Color.Blue.ToArgb());
vertices[3] = new CustomVertex.PositionColored(-1f, -1f, 1f, Color.Yellow.ToArgb());
data.Write(vertices);
vertex.Unlock();
}
indexBuffer = new IndexBuffer(device, 4 * 3 * 1, Usage.WriteOnly,
Pool.Managed, true);
using (GraphicsStream data = indexBuffer.Lock(0, 0, LockFlags.None))
{
data.Write(vertexIndices);

indexBuffer.Unlock();
}
8382:2011/11/08(火) 00:03:36.60
なんか名前欄の名前がどっかでコピーしたものを
そのままペーストしてしまったみたいで、気にしないでください。
84デフォルトの名無しさん:2011/11/08(火) 00:04:55.35
Managed Directxとかオワコン
SlimDXかXNA推奨
85デフォルトの名無しさん:2011/11/08(火) 10:17:20.86
XNAは資料とかあるけど、SlimDXはほとんどないよね
86デフォルトの名無しさん:2011/11/08(火) 11:55:39.41
ただのラッパーに必要な資料とは何ぞや
87デフォルトの名無しさん:2011/11/09(水) 06:53:02.80
>>82
パッと見、vertexIndicesがbyte配列なのがまずいんだと思うよ。
short配列にするかint配列にしてsixteenBitIndicesをfalseにしてやってみ。
88デフォルトの名無しさん:2011/11/11(金) 17:16:53.86
頂点ブレンドに関して、線形でやっていたのですが、つぶれに我慢できずデュアルクォータニオンにしてみました。
しかしねじれに関しては中々なのですが、曲げに関しては膨らんでしまうのがどうも・・・。

知人に、今はデュアルクォータニオンより良いブレンド方法があると聞いたのですが、どういうものなんでしょうか?
89デフォルトの名無しさん:2011/11/11(金) 17:55:05.98
>>88
知人に聞け
9088:2011/11/11(金) 18:16:01.14
知人はモデラーでして、曖昧な上にプログラム的なことはさっぱりなのです
検索しても出てきませんし、知人の勘違いですかねぇ
91デフォルトの名無しさん:2011/11/11(金) 20:16:39.47
>>90
モデリングソフトの話ならメーカー独自のワケわからんのがたくさんある
でも計算式が公開されてるわけではないんだぜ
92デフォルトの名無しさん:2011/11/11(金) 23:34:35.46
曲げに関して膨らんでしまうのはブレンド手法うんぬんよりも
むしろデータの方に問題があるんじゃね。
どんな入力データでも破綻なく描画できる魔法のブレンド手法っつー意味ならないよ。

ところでここは初心者スレな。
93デフォルトの名無しさん:2011/11/12(土) 00:51:55.22
上級者スレなんかあるのか
鬱出し脳スレも昔になりにけり
94デフォルトの名無しさん:2011/11/12(土) 05:54:09.18
C++とDirectxSDKを落として参考書もそろえたのに、1週間経ってもエラーだらけで何も始められていない
何がいけないんだ・・・
95デフォルトの名無しさん:2011/11/12(土) 06:22:18.55
>>94
96デフォルトの名無しさん:2011/11/12(土) 13:58:21.75
誰か上級者スレ立てろよ
俺みたいなスーパーハイレベルプログラマになると
このスレの話題は初歩的すぎて暇つぶしにもならない
97デフォルトの名無しさん:2011/11/12(土) 15:37:25.85
上級車は自己解決できるから、スレなど不要。
98デフォルトの名無しさん:2011/11/12(土) 18:08:57.81
中級者は?
99デフォルトの名無しさん:2011/11/12(土) 19:02:16.49
ハイパーかわいいスーパープログラマなオレも中級以上スレはあればうれしいな
会社でいまだにXP使わされてるやついるから9まででしかプログラムさせてもらえないオレに
テッセレーションとかの話題を見せ付けて癒してくれ
100デフォルトの名無しさん:2011/11/12(土) 19:06:59.99
曲線の話ならもしかしたらいくつかのサンプル点から連立方程式を解けば計算式が出・・・無理無理w
101デフォルトの名無しさん:2011/11/12(土) 21:01:57.59
サンプル点の最小の数としてとりあえず3つのP0、P1、P2があるとして
そこからコントロールポイントを各線に二つ生成して3次ベジェを作るとする
(3次はいろんなお絵かきソフトで使われてて馴染み深いから)

P1の両脇に生やすCPのの傾きは
sv = normalize( P2 - P0 )
もしくは
nv = normalize( P1 - P0 ) + normalize( P1 - P2 )
cv = P2 - P0
sv = cv - nv * dot( cv, nv )
とかやって長さは∠P1の角度をもとに線の長さの1/3〜2/3あたりになるようにし
3次元上に曲線を引いてみたら結構きれいにいったんだけど
それをPathとしてキャラを歩かせたりしたら
当たり前だが速度が一定にならず困ったもんだ。

ニコニコで有名なあのPV作成ツールのように時間軸も曲線で補間するしかないが
あれのパラメータでやると二分探索(Newton法)かBezierClipで求めることになるのかな

とかそういう話題でハイパーかわいいスーパープログラマ、オレを癒してくれ
102デフォルトの名無しさん:2011/11/12(土) 21:10:05.24
3D技術の話はスレチ
ここはDirectXを応用する前段階の人が来るスレです
103デフォルトの名無しさん:2011/11/12(土) 23:08:23.59
>>101
てか、こんな馬鹿な方法で1メーカーの1コンテンツを再現できるわけない
っていう予想も立てられずにやってみてる時点で無駄てか馬鹿
104デフォルトの名無しさん:2011/11/13(日) 11:41:55.56
105デフォルトの名無しさん:2011/11/15(火) 22:05:26.53
モニタの解像度より小さくできないゲーム(アプリでサイズを変更したら右と下が切れる)があるんだけど
これをキャプチャして縮小して再表示して遊ぶ、みたいなことはDirectXでできる?
106デフォルトの名無しさん:2011/11/15(火) 22:08:54.98
常にフルスクリーンなアプリなの?
意味が分からん
107デフォルトの名無しさん:2011/11/15(火) 22:17:49.55
今使ってるモニタよりゲームの要求してる解像度のが大きいということです
ゲームのクライアント領域が1024*768(無理やり小さくすると右と下がはみ出て描画されない)だけどモニタが1024*600しかない、という感じで
108デフォルトの名無しさん:2011/11/15(火) 23:29:19.53
>>107
キャプチャ・縮小再表示まではできる
遊べるかどうかは君のパソコンのスペック次第だろうが・・・無理だろ?
でかいディスプレイ買うべきだと思うけど、きっとネットブックか何かだろ?
109デフォルトの名無しさん:2011/11/16(水) 00:09:47.55
CreateFont関数って実用性ありますか?
ノベルゲームで使えるぐらい文字を表示したら遅かったりしませんかね?
110デフォルトの名無しさん:2011/11/16(水) 00:14:40.17
ID3DXFontですね、すみません
111デフォルトの名無しさん:2011/11/16(水) 08:50:57.20
>>110
bitmap画像用意する方法と比較検討したことがあるけど、速度面で大して有利でもなかった
ノベルゲームで使う分には申し分ないはずだけど、過去の資産があるなら乗り換えるほどじゃないよ
112デフォルトの名無しさん:2011/11/16(水) 17:41:49.71
>>111
なるほどありがとう
113デフォルトの名無しさん:2011/11/17(木) 03:25:08.69
Direct3Dのベクターデータをプリンターに出力することってできますか?
114デフォルトの名無しさん:2011/11/17(木) 08:09:33.43
レンダリング結果じゃなくベクトル?
まわりではポリライン使ってる人が多かったかも、ノーマライズしてるのだけ色分けしたりしてた
115デフォルトの名無しさん:2011/11/17(木) 12:11:55.30
>>114
>レンダリング結果じゃなくベクトル
そうです。ベクトルデータを出力したいです。
四苦八苦しましたが、どうも無理な気がして質問してみました。
ポリラインですか。ちょっと調べてみます!

116デフォルトの名無しさん:2011/11/17(木) 12:24:49.40
どういうふうに出力したいのか不明だし、それが分からない限り無理だろう。
117デフォルトの名無しさん:2011/11/17(木) 12:34:48.53
初心者スレだし、質問者に正確さだとか詳細さを求めてもなあ
118113:2011/11/17(木) 12:40:34.79
>どういうふうに
Direct3Dで描画してるんですが、
デバイス作成(CreateDevice)時にウィンドウのハンドルを渡しますよね。
プリンターの場合はウィンドウハンドルが存在しないのでデバイス作成できずに困っている状態です。。。

119デフォルトの名無しさん:2011/11/17(木) 13:39:36.16
ほら、結局は話を聞かないで余計な気を回すと、こういうくだらない落ちになる。
120デフォルトの名無しさん:2011/11/17(木) 14:49:08.99
>>118
発想の飛躍っぷりがすげー。
プリンタ(プロッター?)をD3Dデバイスとして扱おうってのは完全に用途外だし無理な相談。

そもそもD3Dを使わなきゃいかんほどのリアルタイム性が求められるような話でもないだろうから
それ用に設計された別のライブラリ探すか自力で組むかした方が早いと思うよ。

D3Dは3Dに関することなら何でもやってくれる魔法のライブラリ、ではないので。
121デフォルトの名無しさん:2011/11/17(木) 15:08:43.95
単にサーフェイスへレンダリングした後、それをBltすればいいだけの話。
D3Dは何でもやってくれる訳じゃないが、今回のケースぐらい処理できる。
直前にアホが混ざってるけど。
122デフォルトの名無しさん:2011/11/17(木) 15:28:20.05
デバイスコンテキストハンドルとDirect3Dのデバイスをごっちゃにしてるのかね
秒間60枚印刷するプリンタを想像してワロタ、パラパラ漫画とか作れそうだな
123デフォルトの名無しさん:2011/11/17(木) 15:47:43.50
>>121
>>115見る限りベクター形式の(解像度非依存の)印刷用データを
D3D使って吐きたい、というように読めるんで
そういう方向には対応してませんよという意味での「魔法のライブラリではない」なんだけど。
124デフォルトの名無しさん:2011/11/17(木) 15:48:51.27
物理的に印刷して遊べるゲームか
プリンタ何台必要なんだ
125デフォルトの名無しさん:2011/11/17(木) 18:05:21.70
環境型ゲームで主人公がカメラ持ってて、写真取ると物理的にプリンタから出てくるとか。妄想妄想・・・。
126113:2011/11/17(木) 18:19:10.50
自分の無知と言葉足らずのせいで混乱させてしまったようでスイマセン

「プリンターに出力」というのは紙を印刷するわけではなく
具体的には「仮想プリンタドライバに出力」するのが目的です

>>121
>それをBltすればいいだけ
Bltしちゃうとベクトルデータではなくなってしまいますよね?
D3Dにおけるベクトルデータがどれにあたるのかが分かってないですが。。。

>>120
勝手な推測ですが、あなたは私の目的を過不足なく理解してくれている気がします
>プリンタ(プロッター?)をD3Dデバイスとして扱おうってのは完全に用途外だし無理な相談
このトドメのひとことを言ってもらって諦めがつきました

頂いたレスにあるようにリアルタイム性が求められる部分ではないので
描画方法を変えるしかない、というのを前提に対策を考えようと思います
127デフォルトの名無しさん:2011/11/17(木) 19:16:24.47
ベクトルが何か分からないってのはかなり問題、3Dの基礎から順番に学ぶべきかと
128デフォルトの名無しさん:2011/11/17(木) 19:28:34.98
出力結果をどうしたいのかはっきりしないのに、
プログラムの組みようがないだろう。
129113:2011/11/17(木) 19:57:43.80
>>127
>3Dの基礎から
その通りですね
現状のコードは自分が書いたものでなく、処理の流れを最初から確認していったら
初っ端のCreateDeviceで困ってしまったという情けない状態です。。。
GDIでの処理は経験あるので簡単にできるとナメてました

>>128
出力結果をどうしたいのかはハッキリしているので大丈夫です
ただ、D3Dを使わずに現状の処理を実現できるんだろうか、と途方に暮れています

最悪BMPデータで妥協するしかないかもしれません
130デフォルトの名無しさん:2011/11/17(木) 20:05:55.76
3Dグラフィックスなんかで使う数論的な意味での「ベクトル」と
画像データの格納形式区分としての(ラスターに対する)「ベクター」は
言葉としては同じvectorだが全然別の概念なので注意な。
131デフォルトの名無しさん:2011/11/17(木) 20:08:28.76
>>129
たぶんあなたに必要なのはベクトルや行列を計算するライブラリであってDirectXではない
Direct3Dってのは最終的にラスタライズする使い方がメイン、これに固執してもきっと遠回りになる
132113:2011/11/17(木) 21:21:38.97
>>131
>たぶんあなたに必要なのはベクトルや行列を計算するライブラリであって
いえソッチじゃないです
>画像データの格納形式区分としての「ベクター」
こっちです

GDIでの画像処理の経験はあるのでそのへんの混乱はしてないです
日本語で表記するときベクターって書いたりベクトルって書いたりしちゃいますけど
133デフォルトの名無しさん:2011/11/17(木) 21:27:44.58
まずはプリンタに出力したいものをディスプレイに出せ。
あとはプリンタのDCにBltすれば解決する。
ただそれだけの話だ。
134113:2011/11/17(木) 22:01:11.82
>>133
>プリンタのDCにBltすれば解決する
BltしちゃうとBMPデータになっちゃいますよね?
最悪そうするしかないかと思っているんですが、
自分がやりたいのはベクトルデータの出力なんですよ。

かなり無理のある話だとは思うんですが。。。
135デフォルトの名無しさん:2011/11/17(木) 22:29:55.74
プリンタもディスプレイと同じ、点の集合で紙の上に何かを表示するデバイスだ
抽象的な話をしててもきりがない、具体的にプリンタの機種名出せよ
136デフォルトの名無しさん:2011/11/17(木) 22:32:16.72
2Dのベクタ画像を3D空間中で処理して、その結果をまたベクタ画像として取り出したいの?
だったらビューポート変換までやった後の画面バッファから頂点位置取り出せばいけるんでない?
137デフォルトの名無しさん:2011/11/18(金) 03:37:42.92
>>132
君がご所望のは以下のようなものだと思うのだけど、DXは関係ないと思うナー。
ttp://ja.wikipedia.org/wiki/Windows_Metafile

モデラー作って変換して印刷って感じになるような気がする、気がする。
138113:2011/11/18(金) 12:34:02.44
>>135
>プリンタもディスプレイと同じ、点の集合で紙の上に何かを表示する
いいえ違うと思います
プリンタは処理するときに点の集合でなくベクトルデータとして処理しています
自分は仮想プリンタドライブに出力し、
ベクトル形式の画像ファイルを作るのが目的です(これができれば紙にも印刷できると思いますが)。

>>136
ありがとうございます
調べてみます!

>>137
そうです。MetaFileのようなベクトル形式のデータが欲しいです
そのデータを作るうえでD3Dを利用できないのかなあと暗中模索しているところです

おそらく結論は>>120ってことになる気がしています。。。
139デフォルトの名無しさん:2011/11/18(金) 12:36:47.21
>>138
>プリンタは処理するときに点の集合でなくベクトルデータとして処理しています
それはプロッタじゃ
140デフォルトの名無しさん:2011/11/18(金) 13:09:28.89
>>138
プリンタの実装にもよるけど基本的に現行のプリンタは原理的にラスターではあるよ。
内部的にPostscriptやらHPGLやらのベクターデータを実装してるような機種もあるけど
いわゆるレーザープリンタとかインクジェットプリンタってのは最終的には全部ラスターに変換される。
ペンを使ってドローするタイプであれば確かに原理的にベクターだけど、それは>>139の言う通り、普通はプリンタとは言わずにプロッタと言う。

なんつーか>>135もあなたも自分のフィールドの知識だけで物事を断定するのは止めたほうがいいと思うよ。
っていうかもう結論出てるんだしそろそろスレチ。
141113:2011/11/18(金) 18:22:37.79
>>140
そうですね、「プリンタ」だと間違いですね

140さんの言う通り、話題がプリンタになってしまっているんで、ここらで終了にして下さい
色々と教えて頂きありがとうございました
142デフォルトの名無しさん:2011/11/19(土) 20:07:21.74
どこかにDirectShowのサンプルプログラム置いてるとこ無いですか?
143デフォルトの名無しさん:2011/11/19(土) 22:47:55.58
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow
あたりはどうだ?
144デフォルトの名無しさん:2011/11/19(土) 22:59:37.67
>>143
7.1には入ってるのか。7.0なんだけど入ってなかったわ。
んで、7.1入れようと思うんだけど7.0は消しちゃっていいの?
145デフォルトの名無しさん:2011/11/19(土) 23:15:06.61
D3DXCreateTextureFromFileEx();でWidthとHeightに0を渡すと、
例えば元のファイルが96*48だったときには実際には128*64で読み込まれるではないですか
このとき元の画像は128*64に拡大されるのですか
それとも元の画像はそのまま左上に寄せられて、他の部分は何かで埋められてしまうのですか
146デフォルトの名無しさん:2011/11/19(土) 23:17:08.25
埋立工事されます
147デフォルトの名無しさん:2011/11/19(土) 23:22:37.90
どういった素材で埋め立てられるのですか
148デフォルトの名無しさん:2011/11/19(土) 23:44:55.87
>>144
うちのv7.0には入ってるんだけど 入れるときにケチってカスタムでサンプルのインストール省かなかった?

めんどくさくてv7.0消さずにv7.1入れちゃったけど7.0のほうにあって7.1にないものってなさそうだし消しちゃってもいいんじゃね?
149デフォルトの名無しさん:2011/11/20(日) 00:06:09.59
>>148
ありがとう。
7.0は元から入ってたわ。もしからしたらVC++入れるときに一緒にインスコされたのかな。
7.0は一応そのままにしてインスコしますた。
150デフォルトの名無しさん:2011/11/20(日) 00:53:27.01
>>145
フィルタの設定次第でどれにでもなる
151デフォルトの名無しさん:2011/11/20(日) 01:58:03.34
透過についての質問です。
http://uploader.sakura.ne.jp/src/up68425.png
上のようなエフェクトを実装しようと考えているのですが、
このような透過のポリゴンを描画する場合、お互いに前後干渉してしまってうまく描画されません。
http://uploader.sakura.ne.jp/src/up68426.png
上の図で説明すると、赤の右側を描画する場合、先に奥の黄色がないといけないし、
かといって黄色を先に描画すると左部分で赤が先に描画されていないといけないしでうまくいきません。
どのようにすればこの問題を解決できるでしょうか?
152デフォルトの名無しさん:2011/11/20(日) 02:20:36.83
円じゃなくて半円の画像にすればいいじゃん
153デフォルトの名無しさん:2011/11/20(日) 02:24:20.44
>>152
その方法だと回転しながら描画した場合にやっぱり干渉してしまいますね...。
154デフォルトの名無しさん:2011/11/20(日) 02:27:18.18
画像を表示で前後関係がうまくいかないってことならわかるけど
メッシュだったらなぜそうなるのか分からない
155デフォルトの名無しさん:2011/11/20(日) 02:35:05.96
あんまりいい方法じゃないかもしれんけど、クロスしてるメッシュ2枚をY軸でナイフ入れて4枚に分割するとかはどうだろう。
156デフォルトの名無しさん:2011/11/20(日) 02:38:32.56
加算で描けば?
Zの書き込みはDisableで。
157デフォルトの名無しさん:2011/11/20(日) 03:17:46.77
分割面が常に固定ならクリッピング使って交差面の前と後2パスとかで描けるだろうけど
例示されたエフェクトみたいなのならそんなにコストかけるようなもんでもないし素直に加算使っとけだな。
α付き交差ポリゴンを1パスでお手軽に綺麗に描く方法はいまんとこない。

まさか単純にZWriteとかZCompの使い方がわからんっていう話じゃないよな?
158デフォルトの名無しさん:2011/11/20(日) 16:25:05.98
>>151はエロサイトへの誘導、通報済です。
159デフォルトの名無しさん:2011/11/20(日) 23:06:29.93
http://iup.2ch-library.com/i/i0483091-1321797945.jpg

文字化けするんですが、直せますか?
160デフォルトの名無しさん:2011/11/21(月) 00:59:04.71
>>159
CharSetが0ってAnsiじゃね? そこをSHIFTJIS_CHARSETにして
FaceNameはフォントの名前の設定だと思うから"MS Pゴシック"とかそのへんだろ
161デフォルトの名無しさん:2011/11/21(月) 01:06:12.51
>>160
マジ神
ホントに出来た
162デフォルトの名無しさん:2011/11/21(月) 08:20:20.64
リファレンスよめよ、、、
163デフォルトの名無しさん:2011/11/21(月) 11:41:48.09
マジ神とか回答者をバカにしてるとしか思えんわ。
礼の言葉くらいきちんと言え。
164デフォルトの名無しさん:2011/11/21(月) 12:53:47.66
そんなんでいちいち目くじら立てるなら初心者スレなんて見なけりゃいいだろ…
165デフォルトの名無しさん:2011/11/21(月) 13:32:03.51
ここは紙スレですか?
166デフォルトの名無しさん:2011/11/21(月) 16:18:12.98
IDirect3DDevice9からD3DPRESENT_PARAMETERSを取得する方法はないので自分で保存するしか無いってことでいいんですか?
167デフォルトの名無しさん:2011/11/21(月) 17:11:19.06
スワップチェイン経由で取るがよい
168デフォルトの名無しさん:2011/11/21(月) 22:09:05.19
あのDirectX9で2D描画したいと思っています
DrawPrimitive系の関数って実用的にはどう使われて居るのですか
DrawPrimitiveは遅いので呼び出しは一フレーム一度だけにしろと云われたのですが
そうなると複数テクスチャとか複数ポリゴンを扱うときに一体どうしろと云うのですか
あと3Dゲームでの実用についても知りたいです
169デフォルトの名無しさん:2011/11/21(月) 22:12:49.13
>>167
ども
170デフォルトの名無しさん:2011/11/21(月) 23:14:14.45
>>168
Direct3D9って前提で話をするけど、余程カリカリにチューニングするってんでもなければ
大体「ポリゴン単位で呼び出すな」程度の認識で大丈夫。
1フレーム1回ってのは流石に現代では無理がある。
余程古いハードウェアを前提にするんでもなければ別に数十回DrawPrimitive呼び出ししても60fpsは出るよ。
もちろんまとめられるようなパスは可能な限りまとめるべきだけど。
171デフォルトの名無しさん:2011/11/21(月) 23:18:20.29
一般的に見て一番早い描画法はなんなの?
インデックスバッハとかいうやつですか?
172デフォルトの名無しさん:2011/11/21(月) 23:42:21.22
>>170
ありがとうござます
ポリゴン単位とはつまり長方形の板ポリ一つずつということで合ってますか
それと、まとめるというのは頂点バッファをと云うことですよね
もしそうならテクスチャも纏めなければなりませんか
ユーザ側で元画像を用意してもらい、また任意で板ポリの数を増やして貰おうと思っているのですが、
画像を纏めるのをユーザが負担すると云うのは考えたくないものです
173デフォルトの名無しさん:2011/11/21(月) 23:45:07.19
>>171
一応インデックスバッファありの方が行列演算の絶対数は減るので
GPU的には早いとは言える。
正直それ以外のところで発生するボトルネック要因がいっぱいあるので
速度を理由にインデックスバッファを採用する理由はあんまないが。
174デフォルトの名無しさん:2011/11/22(火) 00:09:12.79
>>172
板ポリ一つずつで合ってるよ。
100スプライトなら4頂点+6インデックス+DrawPrimitive*100ではなくて
400頂点+600インデックス+DrawPrimitive*1する方が良いっちゃ良い。
その場合はもちろんテクスチャも一つにまとめるにこしたことはないけど
パターン数が少ないようならパターン毎にインデックスバッファを用意しておいて
パターン毎にパスを切り替えるやり方でもいいかもね。
175デフォルトの名無しさん:2011/11/22(火) 00:13:33.76
同じテクスチャ同士で頂点つなげてDrawPrimitiveならテクスチャの枚数分のオーバーヘッドで済むからもう十分じゃね?
176デフォルトの名無しさん:2011/11/22(火) 07:43:17.82
>>174-175
本当にありがとうございました
177デフォルトの名無しさん:2011/11/22(火) 12:16:53.30
すみません。.x形式でモデル&モーションを書き出しているのですが、
ツールが右手座標系で、プログラムが左手座標系なので反転させようとしています。
モデルはちゃんと反転できたのですが(x軸を-1倍)
ボーンの座標(中心位置)の反転(x軸を-1倍)が上手く行きません。

SkinWeights 項目のマトリクスの4_1(13番目)
FrameTransformMatrix relative 項目のマトリクスの4_1(13番目)
を-1倍してみたのですが、単純な回転モーションで確認しても変化が有りません。
ボーンの座標ではなくAnimationKeyに座標など全てが収まっているのでしょうか?
178デフォルトの名無しさん:2011/11/22(火) 13:09:25.40
.x形式まともに使ったことないからはっきりは言えないけど
アニメーションキーが存在していてそれを使って再生しているのであれば
普通は非アニメーション状態の変換行列は無視される。
(じゃないと取り回しが色々と不便になるから)
なのでアニメーションキーを変換する必要はあるだろうね。
その場合、おそらくメッシュの法線も反転するけど。
179177:2011/11/22(火) 14:57:57.57
>>178
>普通は非アニメーション状態の変換行列は無視される。
>(じゃないと取り回しが色々と不便になるから)
そうなんですね。その方が計算減りますよね。
ありがとうございました。 もう少し粘ってだめなら逆向きに作るとします。
180デフォルトの名無しさん:2011/11/22(火) 21:51:29.16
すみません、質問です。
新しく接続されたコントローラー(デバイス)を認識して
DIRECTINPUTDEVICE8で取得したいのですが、DIRECTINPUT8::FindDevice()
が"クラスが登録さてません"というエラーを返してうまくいきません。
引数にはDBT_DEVICEARRIVAL→DBT_DEVTYP_DEVICEINTERFACEイベントの
DEV_BROADCAST_DEVICEINTERFACE::dbcc_nameとdbcc_classguidを渡しています。
もしかして使い方が間違ってるでしょうか?分かる方がいらしたら教えてください。
デバイス認識の試験にはコントローラを使用してます。
181デフォルトの名無しさん:2011/11/22(火) 23:45:40.99
void CMain::TP2(int left_in_x,int up_in_y,int right_in_x,int down_in_y,float *left_x,float *up_y,float *right_x,float *down_y){

*left_x=(1/16*(left_in_x-1));
*up_y=(1/16*(up_in_y-1));
*right_x=(1/16*right_in_x);
*down_y=(1/16*down_in_y);
}


float
Tx_Left_X,
Tx_Right_X,
Tx_Up_Y,
Tx_Down_Y;

TP2(1,1,1,1,&Tx_Left_X,&Tx_Up_Y,&Tx_Right_X,&Tx_Down_Y);

うまく数字が変わらないんです
ホントはTP2関数を使ったら
Tx_Left_Xとかの値が変わってるはずなんですが…
182デフォルトの名無しさん:2011/11/23(水) 01:16:16.28
とりあえず
1.0f/16.0f
こんな感じにしてみるとか・・・w
183デフォルトの名無しさん:2011/11/23(水) 02:28:40.61
だね。/も*も左から結合されていくから1/16が整数演算でゼロになっているという話。
184デフォルトの名無しさん:2011/11/23(水) 06:25:21.80
>>180
実行中に接続されたコントローラーを認識したいというのでもなければ
FindDeviceじゃなくてEnumDevices使えば?
185デフォルトの名無しさん:2011/11/23(水) 08:06:35.61
>>182-183
ありがとうございました
レスした後にこれは文法の問題だと気づきました
DirectX関係無いですよね、スレチですすみません
186デフォルトの名無しさん:2011/11/23(水) 16:02:18.48
HRESULT Render() {
if(SUCCEEDED(d3ddev->BeginScene())) {
RenderImpl();
if(SUCCEEDED(d3ddev->EndScene())) { return d3ddev->present(0, 0, 0, 0); }
else { ??? }
}}

EndSceneが失敗したらなにをするべきなんでしょうか
これって失敗したまま放置したら永遠にロックされたままになりますよね?
187デフォルトの名無しさん:2011/11/23(水) 17:52:41.59
>>186
EndScene呼び出し自体は単にデバイスに状態を通知するだけなので
BeginSceneが適切に呼び出されている限り失敗することはまずないよ。
失敗するのはBeginSceneとEndSceneがきちんと組になってない時くらい。

なので、もしも失敗したのなら、やるべき事はコードパスを見直すことだね。
その時は多分ロックとか以前の問題なので。
188デフォルトの名無しさん:2011/11/23(水) 19:16:19.85
>>184
ありがとうございます。
EnumDevicesは初期化時に呼びます。コントロ−ラーがなかった場合や
足りなかった場合に接続されたコントローラーを取得したいので
FindDeviceを使用しようとしてます。

FindDeviceで失敗したコントローラーでもEnumDevicesでなら列挙されることは
確認済みですがEnumDevicesは遅いので出来ればFindDeviceを使用したいと思っています。
原因分かる方いらしたらお願いします。
189デフォルトの名無しさん:2011/11/23(水) 19:41:49.82
>>187
あざっす
安心しました
190デフォルトの名無しさん:2011/11/24(木) 17:00:12.86
D3DXVECTOR3    vFace;
DWORD      dwFaceIndex;
VERTEX      *vertex;// 自分で定義した構造体

D3DXIntersect( BenkiMesh, &vRay, &vRayDir, &bHit, &dwFaceIndex, NULL, NULL, &Dist, NULL, NULL
UnkoMesh->LockVertexBuffer(ほにゃららREADONLY, (void**)&vertex );
vFace = vertex[dwFaceIndex].position;
UnkoMesh->UnlockVertexBuffer();


…みたいにして、D3DXIntersectで当たり判定みたいな事して、
LockVertexBufferしてポリゴンのデータを1つだけ取得して、
値を画面に表示させてみたらところどころに「-1.#R」ってのがあるんよ。

これ、一体どうしたら正しい値が入ってくるますか?
191デフォルトの名無しさん:2011/11/24(木) 18:00:12.28
交差判定はBenkiMesh上でやってるのにLockVertexBufferで参照しようとしているのが
UnkoMeshなんだが、こりゃ同じメッシュを指してるっつーことでいいのかね。
あとそのコードには書いてないがbHitフラグはちゃんと確認してるか?
192デフォルトの名無しさん:2011/11/24(木) 18:29:57.23
あとdwFaceIndexに戻って来るのは頂点インデクスじゃなくて面インデクスなのに
それでVertexBufferを参照しているのもおかしい。
193デフォルトの名無しさん:2011/11/24(木) 18:32:07.44
交差判定もLockVertexBufferもBenkiMeshに対してでした。
LockVertexBufferは、bHitがTRUEを返した場合に行っています。

書き間違えてたよ。ご指摘、ありがとうね。


>>190投下の後でコードを見直してみたら、
BenkiMesh->OptimizeInplace( D3DXMESHOPT_ATTRSORT | D3DXMESHOPT_VERTEXCACHE, &lpdwAdjacency[0], 0, 0, 0 );
という行があったんだけど、(必要があって書いたコードだったはず。結構前だったから忘れちゃった。)
これが悪さしてるのかな?

194デフォルトの名無しさん:2011/11/24(木) 18:36:58.87
>>192
言われてみれば…確かにそうですね。
直してきます。
ありがとうございました。
195デフォルトの名無しさん:2011/11/25(金) 18:24:43.70
プリミティブ描画の時に
196デフォルトの名無しさん:2011/11/25(金) 18:26:03.87
途中送信したすまん
プリミティブ描画の時にTRIANGLESTRIPにしたらカリングモードに関係なく全部描画されるよね?
197デフォルトの名無しさん:2011/11/25(金) 18:58:57.07
全部描画されるの意味が「常にCullMode=None指定するのと同じって事だよね」という意味ならNO。
偶数番目の面のカリング順判定が入れ替わる(CW⇔CCW)だけでカリング自体の適用はLISTの場合と一緒。
198デフォルトの名無しさん:2011/11/25(金) 19:23:10.26
なるほどありがとう
199デフォルトの名無しさん:2011/11/26(土) 01:54:49.23
>>190です。
こんな感じに変更したら、
何か、うまくいっちゃったので晒していきます。。



D3DXIntersect( BenkiMesh, &vRay, &vRayDir, &bHit, &dwFaceIndex, NULL, NULL, &Dist, NULL, NULL );
if( bHit )
{
  BenkiMesh->GetIndexBuffer( &lpIB );
  BenkiMesh->GetVertexBuffer( &lpVB );
  lpIB->Lock( 0, 0, ( void** )&pIndices, D3DLOCK_READONLY );
  lpVB->Lock( 0, 0, ( void** )&pVertices, D3DLOCK_READONLY );
  pfVertices = ( float* )&pVertices[BenkiMesh->GetNumBytesPerVertex() * pIndices[dwFaceIndex * 3]];
  vUnkoPosition[0] = D3DXVECTOR3( pfVertices[0], pfVertices[1], pfVertices[2] );
  pfVertices = ( float* )&pVertices[BenkiMesh->GetNumBytesPerVertex() * pIndices[dwFaceIndex * 3 + 1]];
  vUnkoPosition[1] = D3DXVECTOR3( pfVertices[0], pfVertices[1], pfVertices[2] );
  pfVertices = ( float* )&pVertices[BenkiMesh->GetNumBytesPerVertex() * pIndices[dwFaceIndex * 3 + 2]];
  vUnkoPosition[2] = D3DXVECTOR3( pfVertices[0], pfVertices[1], pfVertices[2] );
  lpVB->Unlock();
  lpIB->Unlock();
  lpIB->Release();
  lpVB->Release();
}
200デフォルトの名無しさん:2011/11/27(日) 21:43:09.71
テクスチャ座標の誤差ってどうにかなりませんか?
201デフォルトの名無しさん:2011/11/27(日) 21:52:07.65
ちゃんと質問しろ
202デフォルトの名無しさん:2011/11/27(日) 22:14:05.37
ごめん

Direct3D9で頂点バッファを使ってテトラゴンを描画するとき、
2048*2048pxのテクスチャのx, y, w, h = 1344, 96, 48, 48の範囲を貼りつけたいのですが

頂点を
{0.0f, 0.0f, 0.0f},
{0.0f, 48.0f, 0.0f},
{48.0f, 0.0f, 0.0f},
{48.0f, 48.0f, 0.0f}
のように定義して、
テクスチャ座標を
{1344.5f / 2048.0f, 144.5f / 2048},
{1344.5f / 2048.0f, 96.5f / 2048},
{1392.5f / 2048.0f, 144.5f / 2048},
{1392.5f / 2048.0f, 96.5f / 2048}
こうすると元の画像と比べて横方向に広がるのです

http://www.dotup.org/uploda/www.dotup.org2316033.png
上半分がDirectXの描画で、下半分が画像をビューワで開いたものです
203デフォルトの名無しさん:2011/11/27(日) 22:25:08.54
テクスチャでマップチップを表現するのが難しいってやつだな
フィルタとかかかったりするとサンプリングするとこがまたおかしくなってとなりの奴まで
描画に使っちゃったりして超うまくいかない

っていうかその画像なら1フレームでチップ全部必要になるわけじゃねぇんだから
あきらめて別のテクスチャにしろよ的な

マップチップで描画したいマップに関しては綺麗に表示させたいなら
テクスチャ1枚でなにやらやろうとするのは鬼門かもしれんな
環境や条件を絞った上でやればなんとかなるかもしれんが・・・
PCの設定によってうまくいったりいかなかったり

ま、ハードウェアの苦手なことはするもんじゃないよ(笑)
204デフォルトの名無しさん:2011/11/27(日) 22:31:47.62
データの方に誤差も考えてマージン持たせるんだよ
205デフォルトの名無しさん:2011/11/27(日) 22:32:53.29
>>202
そのコード片だけじゃ頂点とテクスチャのy座標の対応が逆なってるようにしか見えんけど

それと+0.5テクセルずらすんじゃなくて位置座標から-0.5ピクセルずらした方がいい
理由は忘れた
206202:2011/11/27(日) 22:54:35.44
>>203
とりあえずフィルタはNONEにしてるのですが
つまり48*48の範囲の正確な描画はDirect3Dでは出来ないのですね

>>204
データというのはテクスチャの事ですか
そうなると厳しいですね……

>>205
特にy座標が逆になってるようにはみえませんが
207デフォルトの名無しさん:2011/11/27(日) 22:57:10.93
浮動小数の形式上の誤差はなかなか逃れられんだろう。
208202:2011/11/27(日) 23:05:06.31
なかなかと云うからには逃れる方法はあるのですか
209デフォルトの名無しさん:2011/11/27(日) 23:05:48.95
>>206
>特にy座標が逆になってるようにはみえませんが

ん? Direct3Dのテクスチャ座標って上から下に向かうよ?
まあ読み込み時に逆なってるなら帳尻は合うのかもしらんけど
210デフォルトの名無しさん:2011/11/27(日) 23:15:48.04
>>208
実用に足るかは知らないが、誤差のでない数字っていうのが有るのよ。
具体的には、少数点以下のビットの保持方法を把握しないと難しい。
少数点以下の数字をビットシフトすると、1/(2n)になるのは知ってるよね。
情報の教科書とかにかいてあったと思うけど。
そういう数字はごさがほぼでない。でも実用に足るかはしらない。
211デフォルトの名無しさん:2011/11/27(日) 23:22:38.14
1/(2^n)だな。
212デフォルトの名無しさん:2011/11/27(日) 23:50:24.83
横に広がるならProjectMatrixに入れてるアスペクトの問題じゃね?
ためしにテクスチャ張ってない正方形でも描いてキャプチャしてみて横に広がってたらそれ
213デフォルトの名無しさん:2011/11/28(月) 00:03:06.27
画面作成時にタイトルバーの大きさが考慮されてなくてクライアント領域みてみたら
実は想定していたサイズじゃなかったってオチな
でもそれを解決してもなおこの問題は解決には至っていないと思う
なんか方法変えたほうがいいと思うんだよね
214デフォルトの名無しさん:2011/11/28(月) 00:27:55.52
だよね
215デフォルトの名無しさん:2011/11/28(月) 04:03:59.50
テクセル1.0は実質(テクスチャの軸あたりの総ピクセル数+1ピクセル)目なので
きっちりパーピクセル対応させようと思うと計算が面倒くさいよね。
216デフォルトの名無しさん:2011/11/28(月) 07:44:42.33
>>210
なるほど、少し調べてみますん

>>212
テクスチャを貼らなければきちんとした48*48の正方形が描画されます……と思ってよく見たら横に伸びてますね
クライアント領域が640*480のウィンドウに正射影で
D3DXMatrixOrthoLH(&projection, 640.0f, 480.0f, 0.0f, 100.0f);
とやってますが
これでは問題があるのでしょうか

>>213
そこに関しての調整は既に一度躓いていて修正済みです
217デフォルトの名無しさん:2011/11/28(月) 09:48:26.83
ちゃんとAdjustWindowRect使って領域計算してウィンドウ作ってるかとか
バックバッファとかビューポートのw,hがちゃんとクライアントレクトのw,h(640*480)になってるかどうかとか
218デフォルトの名無しさん:2011/11/28(月) 14:03:11.81
>>216
横はいいけど縦は?
Ortho使ってアスペクト比が狂うってのはバックバッファ→ウィンドウ転送でサイズが合致してないか
どっかで余計な値掛けてるかくらいしかないと思うんだがなあ。
全体的に一様に拡大されてるってんならわかるけども。

Pixで実行時のバックバッファ内容をキャプチャして比較してみた場合だとどうかね。
219202:2011/11/28(月) 16:36:04.73
>>217
GetSystemMetrics()を使ってDLGFRAMEとCAPTIONを適切な分だけ足してウィンドウを作っているのですが
AdjustWindowRect()の方が正確なんですかね

>>218
縦は正しく描画されます
とりあえずPixというものを初めて使ってみます
220202:2011/11/28(月) 21:35:19.29
ああ……
221202:2011/11/28(月) 21:38:59.30
ごめんなさい、こちらの凡ミスでした
どうやら頂点座標の打ち間違えだったようです。質問を認めるときに何故気が付かなかったのか解りませんが……
本当にありがとうございました。お騒がせしました
222デフォルトの名無しさん:2011/11/28(月) 23:07:37.31
(#^ω^)ビキビキ
223202:2011/11/28(月) 23:59:45.24
>>222
バーカ
224デフォルトの名無しさん:2011/11/29(火) 09:32:44.18
>>221
自分の凡ミスだと正直に報告した点については評価しよう。
今度逆ギレする時は名前欄ちゃんと消したかどうかを確認しとけよ。

では次の方どうぞ。
225デフォルトの名無しさん:2011/11/29(火) 21:57:21.45
俺はそうは思ってなくて
実はやり方自体のまずさに気がついてこの方法での実現を断念したんだと思う
226デフォルトの名無しさん:2011/11/30(水) 00:12:13.98
別にどうでもいい
227デフォルトの名無しさん:2011/11/30(水) 06:08:38.25
何気に昔ながらの2Dゲー作るって結構知識いるんだよね
矩形ごとにDrawPrimitiveすると遅くて描画間に合わないし
テクスチャまとめると今度は横のチップの絵が出てきたりするし
フィルタかけるとすごくきったないしフィルタのONOFFはユーザ側の設定依存になるし

まあ、こんな程度だと思うけど
228デフォルトの名無しさん:2011/11/30(水) 08:25:06.74
タイリングパターンとチップからでかいテクスチャを生成するんじゃダメなの?
229デフォルトの名無しさん:2011/11/30(水) 09:15:44.71
メモリが無限にあるならそれでいんじゃね
230デフォルトの名無しさん:2011/11/30(水) 10:50:52.32
ここで思考停止するのが凡人
ここからメガテクスチャを生み出したのが天才
231デフォルトの名無しさん:2011/11/30(水) 12:22:38.90
昔ながらの2Dゲームが作りたいならDirectDrawでも使った方がよっぽどいいと思うが。
232デフォルトの名無しさん:2011/11/30(水) 14:55:32.86
DirectDrawってまだあるの?
233デフォルトの名無しさん:2011/11/30(水) 15:02:23.34
無いけど使える
234デフォルトの名無しさん:2011/11/30(水) 21:08:57.55
>>233
詳しく教えてほしいな!
昔のソース引っ張りだしてきたらビルドエラー起こすもんで
DirectDraw7からDirect3D9へ引っ越し作業してたんだ
過去のコード使えるならその方がありがたい
235デフォルトの名無しさん:2011/11/30(水) 22:36:05.65
GDI+でいいじゃん
236デフォルトの名無しさん:2011/11/30(水) 22:54:59.88
BeginSceneって必ずEndSceneとペアなんですか?
237デフォルトの名無しさん:2011/11/30(水) 23:15:04.43
ペアだと何か困るのですか?
238デフォルトの名無しさん:2011/11/30(水) 23:28:32.09
>>236
どっちか一人にすると悪さをするので必ずペアで呼んであげましょう

>>234
233じゃないが、DXSDK(June 2010)からddraw.libが含まれてないそうなので
それ以前のSDKをどっかから探してインスコしてパス張ってやればいいんじゃないか
以前と挙動が同じかどうかはわからんが
239デフォルトの名無しさん:2011/11/30(水) 23:51:05.40
>>238
ああそういう意味で「ないけど使える」って事か
240デフォルトの名無しさん:2011/12/04(日) 12:22:54.10
ワールド座標をスクリーン座標とZバッファの値に変換する方法を教えてください。
241デフォルトの名無しさん:2011/12/04(日) 12:49:54.34
出来ればこんな感じが良いです。省略した部分をどう書けば良いのかが分からなくって・・・

void Convert(D3DVECTOR3 &vectScreen,D3DXMATRIXA16 mWorld,D3DXMATRIXA16 mView,D3DXMATRIXA16 mProj,D3DVECTOR3 vWorld)
{
/* 省略 */
}
242デフォルトの名無しさん:2011/12/04(日) 12:55:01.75
3Dでボンバーマンのようなものを作ってるんだけど3Dだと透視画法のように奥に行くほど小さく見えるじゃないですか
あれ微妙にプレイしづらいんで正規品の2Dボンバーマンの見た目にマッチするように奥行きと大きさを無関係に表示させたいんですけど
そういう場合はどう設定すればいいんですか?
243デフォルトの名無しさん:2011/12/04(日) 12:58:17.35
>>242
3Dにしない
244デフォルトの名無しさん:2011/12/04(日) 13:06:02.08
正射影
245デフォルトの名無しさん:2011/12/04(日) 14:21:18.44
理屈の上ではカメラから遠く離れた場所にオブジェクトを置き、
それに合わせて前方・後方クリップ面を遠く、視野角を狭くすればそういう効果は得られると思う。
ただZバッファがどうなるかは知らん。
奥行きの影響を限りなくゼロじゃなくてゼロにする必要があるならそういう関数があるのかな?
なければ射影行列を自前で設定することになるかも。
246240=241:2011/12/04(日) 17:47:17.39
色々調べた結果、D3DXVec3Projectという関数がありました。
ちなみに242は私と違います。
247デフォルトの名無しさん:2011/12/04(日) 21:06:28.37
とりあえず音鳴らすときはXAudio2でいいの?
頑張ってDirectMusicで作ったらヘッダがなくなってたし・・・
248デフォルトの名無しさん:2011/12/04(日) 21:09:39.33
もうXPは切り捨てていいの?
249デフォルトの名無しさん:2011/12/04(日) 21:11:52.47
>>248
そ、そんな言い方ってあんまりだよ…
250デフォルトの名無しさん:2011/12/04(日) 22:49:45.48
XPからWindows8にアップデート出来るとかうんたらかんたら
251デフォルトの名無しさん:2011/12/04(日) 23:47:37.72
>>247
おk。ただirrKlang楽だよirrKlang
252デフォルトの名無しさん:2011/12/05(月) 00:09:19.61
ハード的にもXP積んでるやつは結構厳しくなってきたと思うしなぁ・・・
どうしてもやって欲しい人がXP持ちだとか言わないなら、もう切っても良い頃合いだと思う。俺はね
253デフォルトの名無しさん:2011/12/05(月) 04:46:32.28
変える必要性を感じない
254デフォルトの名無しさん:2011/12/05(月) 10:09:53.68
感じないね
255デフォルトの名無しさん:2011/12/05(月) 11:14:26.53
ゲームパッドなんですが読み込んで普通に利用するのはわかるのですけど
逆にこちらから操作(プログラム上から押したことにする)って可能ですか?

パッド二つ接続してる状態でパッド1の操作をパッド2で操作出来るように
出来ないかなと思っています
256デフォルトの名無しさん:2011/12/05(月) 11:24:14.95
生入力をゲームコマンドにマッピングするクラスをちょっと変更するだけでいいよ
257デフォルトの名無しさん:2011/12/05(月) 12:58:42.33
>>256
アクションマッピングを使うってことでしょうか?
まだよくわからないので調べてきます

簡単に言えば、よくあるパッド入力→キー入力変換のソフトみたいな感じで
パッド入力→他のパッドの入力に変換したいのです
そんな簡単なものじゃないのかな…
258デフォルトの名無しさん:2011/12/05(月) 13:09:59.51
パッドに入力があったらSendMessageでキーボードの入力イベントを送ればいいよ
259デフォルトの名無しさん:2011/12/05(月) 14:53:40.25
>>255
関数ポインタで差し替えるとか、そもそもキーコンフィグがどうやって実現してるとか、
そういう話じゃないの?

え?勘違いですか、そうですか・・・・。
260デフォルトの名無しさん:2011/12/05(月) 19:21:36.39
>>258>>259
ちょっと説明が下手で申し訳ないです
「Joy to Key」 じゃなくて 「Joy to Joy」 をやりたいなあと
パッド1のAボタン押したら、パッド2のAボタンが押された事になるみたいな

色々調べてみるとDirectXじゃなくてHIDとかで直接やらんといけないのかな
自分はスキル不足なので難しいのかもしれませんね
261デフォルトの名無しさん:2011/12/05(月) 19:26:15.21
それは、同アプリ内で?別アプリに送る感じで?
SendInputってパッド情報おくれたっけ?
262デフォルトの名無しさん:2011/12/05(月) 21:37:15.79
>>261
別アプリですね
別のアプリで反応出来るようにという感じです
調べてみるとキーとマウスだけという感じですかね
263デフォルトの名無しさん:2011/12/05(月) 21:54:19.72
それはDXの範疇超えてる気がするんだけど。自分はわからん!
264デフォルトの名無しさん:2011/12/05(月) 21:57:47.93
コントローラークラスでプロセス間通信すれば?
265デフォルトの名無しさん:2011/12/05(月) 22:26:02.71
また、botでも作ろうとしてるのか?
いい加減に乞食に餌やるなよお前等
266デフォルトの名無しさん:2011/12/06(火) 02:36:57.21
検索してもあまり出てきませんね
連射を作ってる人が近かったかなという感じです

確かに範疇超えてるみたいです
もう少し調べてみて諦めるか何かしてきます
ありがとうございました

ちなみに、別アプリというと怪しく聞こえるかもしれませんがbotではありません
それならパッドはいらないですから
単純に余ってるパッドをキーやマウスのように、メインのパッドにアサインしたいだけでした
267デフォルトの名無しさん:2011/12/06(火) 09:21:00.38
キーボードで操作できないPCゲーなんて稀なんだから
パッドからキーボードでいいじゃん
268デフォルトの名無しさん:2011/12/06(火) 23:31:35.00
いいじゃんね
269デフォルトの名無しさん:2011/12/07(水) 12:09:43.42
いいじゃんね
270デフォルトの名無しさん:2011/12/07(水) 12:52:04.51
HLSLでif文を使うと遅いらしいから、エフェクトインターフェース側でパスを切り替えて擬似的に実現しようと思うのだけど、
どっちの方が速いんだろう?
271デフォルトの名無しさん:2011/12/07(水) 13:39:16.09
動的分岐じゃないならifでいい
272デフォルトの名無しさん:2011/12/07(水) 14:00:46.54
そうなのかサンクス
273デフォルトの名無しさん:2011/12/07(水) 14:08:32.00
動的分岐 語句がわからなかったからググってみた

http://msdn.microsoft.com/ja-jp/library/cc627119(v=vs.85).aspx
動的分岐は、シェーダーの実行を高速化するのに役立ちます。ジオメトリまたはピクセルが表・・・・

さらにわからなくなった
動的分岐ってなんですか?

答えてくれた方thx
274デフォルトの名無しさん:2011/12/07(水) 14:09:45.15
アセンブラ出力して比べるのが一番確実
275デフォルトの名無しさん:2011/12/07(水) 20:53:41.14
いいんじゃね
276デフォルトの名無しさん:2011/12/09(金) 17:16:40.69
調べても分からない=まだ経験値が足りないんだ

二つめの街にいったところで古代竜と戦おうとしているようなものだ
277デフォルトの名無しさん:2011/12/09(金) 18:28:52.63
ものだね
278デフォルトの名無しさん:2011/12/10(土) 16:14:06.38
的確すぎわろた
279デフォルトの名無しさん:2011/12/11(日) 13:25:45.05
このスレにお世話になり、おかげさまでゲームを公開できる寸前のところまで来ました。
ゲームの「動作推奨環境」のサウンドの表記について質問があります。
ゲームは DirectX 9.0c を使って開発しました。サウンドは DirectSound を使用しています。

DirectX 9.0cを使って開発したので動作推奨環境に『サウンド:DirectSound8.0以上』という
表記は確かに間違ってはいないと思いますが、現在あまり使われていない表記だと思います。

★『A列車で行こう レジェンドパック』仕様・動作スペック
http://www.artdink.co.jp/japanese/title/LEG/ALP/ALP_spec.html
⇒ 対応音源 上記OS及びDirectSound8.0以上に対応したサウンドカード

ちなみに比較的最近のパソコンのゲームは下記の表記になっています。

★STREET FIGHTER IV(PC版)の動作スペック
http://www.capcom.co.jp/sf4/IV/pc.html
⇒ サウンドカード DirectSound対応 DirectX 9.0c以上対応

★FINAL FANTASY XIV(PC版)の動作スペック
http://www.finalfantasyxiv.com/media/recom/jp/pc.html
⇒ サウンドカード DirectSound 互換サウンドカード(DirectX 9.0c以上)

「サウンドカード」という表記は「オンボードのサウンドチップ」が存在するので個人的に
好きではありません。

自分なりに考えたのですが、『サウンド:DirectSound(DirectX 9.0c以上)』という表記が
一番すっきりしていると思っています。

皆様方は、どう思われるか意見を聞かせていただけないでしょうか。
以上、よろしくお願いします。
280デフォルトの名無しさん:2011/12/11(日) 13:55:13.43
好きにしろとしか
>「サウンドカード」という表記は「オンボードのサウンドチップ」が存在するので個人的に
好きではありません。
じゃビデオカードはどう表現してんの
281279:2011/12/11(日) 15:37:46.83
>>280
「ビデオ:DirectX 9.0c以上」です
282デフォルトの名無しさん:2011/12/12(月) 00:27:17.55
うちのビデオはマックロードです
283デフォルトの名無しさん:2011/12/12(月) 03:46:52.63
ビデオカードはDirectX9の全ての機能に対応してなくても
DirectX9対応って書いていいことになってる
だからその表記では不十分だ
普通はVRAM256MB以上とか、SM2.0以上とか
そういうことを書くものだ
284279:2011/12/12(月) 05:03:06.56
レスをしていただけてありがたいのですが、>>280の発言で
サウンドの話題からビデオの話題にすり替わってしまっています。
僕が知りたいのはビデオではなくてサウンドのみについてです。
285デフォルトの名無しさん:2011/12/12(月) 07:33:59.74
>>280の一行目で既に答えは出てるだろ。

グラフィック機能もサウンド機能もマザーボードの機能ではないのだし
歴史的に考えればオンチップであっても「カード」表記で問題ないと思うが
(むしろビデオやサウンドだけのが混乱する)
個人的に好きではないというのなら「そうですか」としか。
286279:2011/12/12(月) 09:43:54.38
僕の望んでいない議論がされています。

>>279にて下記余計な2行を書いたことは謝ります。
>「サウンドカード」という表記は「オンボードのサウンドチップ」が存在するので個人的に
>好きではありません。

質問の核心は DirectX 9.0c の DirectSound 機能を使って作ったゲームの
動作推奨環境に『DirectSound(DirectX 9.0c以上)』という表記が適切で
あるかどうかということです。

よろしくお願いします。
287デフォルトの名無しさん:2011/12/12(月) 14:59:03.00
DirectSoundの表記なんて今じゃ慣例以上の意味なんてねえんだから
その他大勢に従っておけよ
お前の好みなんてユーザーは知ったこっちゃねえんだよ
288デフォルトの名無しさん:2011/12/12(月) 16:56:27.87
>>286
汎用的な記法が欲しいのだろうけど、色々言われてる通り、一通りではないわけだ。
だから、一番大きなパイだと思うものをくいなはれ。それが最適解だから。
289デフォルトの名無しさん:2011/12/12(月) 19:07:52.55
(´・ω・`)
290デフォルトの名無しさん:2011/12/12(月) 19:43:56.68
ゲーム作っているんですがクイックソートって必要ですかね?
必要なら、たとえばどんな時必要ですか?
291デフォルトの名無しさん:2011/12/12(月) 20:00:31.10
>>290
マージソート使いたいけどメモリが無い時かな。
テストで使う分にはバブルソートでも意外といけるからね。
O(N*((N-1)/2))で安定だし、表記も楽だし。
292デフォルトの名無しさん:2011/12/12(月) 20:01:42.50
>>291
何を実装するときソート使うの?
教えろ
293デフォルトの名無しさん:2011/12/12(月) 20:09:50.66
>>292
Zソートとか、プライオリティキュー実装するとか。
噂だと、アルファ付きポリゴン関係とか。
整列が必要なゲームシステムとか。そのチェックコードとか。

例えば何かをチェックするときにソート済みという条件であれば簡単にチェックできるという事があり得る。
294デフォルトの名無しさん:2011/12/12(月) 20:16:11.46
>>293
なるほど。

CGのキャラクターを動かすのにソートとかって必要ですか?
たとえば、キャラクターが前転する時とか。
295デフォルトの名無しさん:2011/12/12(月) 20:41:05.99
DXでは、Zバッファがあるので、基本、3D描画周りでのソートはハードが勝手にやってくれる。
2Dだと、Y軸でソートして描画したほうが奥行きが出て自然になるかも。
3Dのビルボードにしたらハードがやってくれるので関係ないかもだけど。
296デフォルトの名無しさん:2011/12/12(月) 21:05:32.30
>>295は勘違いしてるね
Zバッファはソートはしないよ。
描画の際にピクセルの奥行き値(z)を比較して描画するかどうかを決めるだけ。
だからZバッファ。
ソートとは考え方が異なる。
ハードウェア側でバッファ最適化のためにソートすることはあるかもしらんが。

>>294
メッシュの事前最適化とかアニメーションキーの格納順が最適化されてない時とかには
使うかもだが、リグアニメーション自体にはあんま関係ない。
ていうかもう少し問題のフレームを絞れ
297デフォルトの名無しさん:2011/12/12(月) 22:27:17.73
ID3DXBufferはビデオメモリ内に作られるんでしょうか?
298デフォルトの名無しさん:2011/12/12(月) 22:35:09.47
全部システムメモリだょ
299デフォルトの名無しさん:2011/12/12(月) 22:44:01.90
ありがとうございました
300デフォルトの名無しさん:2011/12/15(木) 00:16:24.90
外部から1ピクセル分ずつ送られてくる情報を1画像分集まったところで画面に表示、ってのをやりたいんだけど、

1画像分集まる→テクスチャ作る→表示する→テクスチャ破棄する→1画像分集まる→テクスチャ作る・・・

ってやるしかない?
もっと高速にやる方法とかあるのかな
301デフォルトの名無しさん:2011/12/15(木) 00:25:47.03
ピクセルより圧縮した画像データを送った方が安定して早い気がする
302300:2011/12/15(木) 00:41:42.01
>>301
レスあり
送る側はとりあえず置いておいて、送られた側の処理時間を短縮したいのだわ
303デフォルトの名無しさん:2011/12/15(木) 01:08:05.20
ちゅーかなんでいちいちテクスチャ破棄すんのよ
UpdateTextureでGPUにアップロードするのが普通だでよ
304デフォルトの名無しさん:2011/12/15(木) 17:32:17.80
DirectShowってオワコンですか?
305デフォルトの名無しさん:2011/12/15(木) 17:35:20.05
WindowsSDKに統合されたんだっけ?
306デフォルトの名無しさん:2011/12/15(木) 18:19:57.70
つまりDirectXももうすぐオワコンに...
307デフォルトの名無しさん:2011/12/15(木) 18:45:17.05
Dx自体はそろそろ11.1が出るんだっけか。Win8でDx12だっけ??
308デフォルトの名無しさん:2011/12/15(木) 19:01:27.42
win8のが11.1で、今後はDXSDKの提供ではなくWindowsSDKに統合らしいよ
309デフォルトの名無しさん:2011/12/15(木) 19:08:57.63
そうなんだ。ほぇ〜。
エアロとかも標準でDx使ってるからそういう扱いになるのかな?ふむふむ。
310デフォルトの名無しさん:2011/12/15(木) 19:24:08.27
月間DirectXじゃなくなったしな
311デフォルトの名無しさん:2011/12/15(木) 20:56:11.96
Vistaでも動くのかな?
312デフォルトの名無しさん:2011/12/16(金) 08:54:19.76
そうなんですか。DirectXって何なんだったんだろう?
313デフォルトの名無しさん:2011/12/16(金) 08:58:05.25
拡張ライブラリだったのが標準に取り込まれたのだろう。
314デフォルトの名無しさん:2011/12/16(金) 10:19:39.72
DirectShowはオワコンぽいですね。
http://ja.wikipedia.org/wiki/DirectShow
315デフォルトの名無しさん:2011/12/16(金) 23:13:15.20
エフェクトインターフェイスのGetFunction()などで取得したハンドルは何に使うんですか?
316デフォルトの名無しさん:2011/12/18(日) 00:58:42.24
すみません。質問です。
DirectX9.0c + VC++2008 を使って作ったプログラムが異常終了して
下記のメッセージが表示されました。

▽▽▽
xxx.exe の 0x00412924 でハンドルされていない例外が発生しました: 0xC0000005:
場所 0x010e0000 に書き込み中にアクセス違反が発生しました。
△△△

0x010e0000 は何か特別な意味のあるアドレスのような気がしますが、
このアドレスの意味を、ご存じのかたがいらっしゃれば教えていただけないでしょうか。
317デフォルトの名無しさん:2011/12/18(日) 01:06:51.10
まるち死ね
318デフォルトの名無しさん:2011/12/18(日) 12:59:16.56
質問失礼します。
DirectX初心者なんですが、当方、Sampleフォルダ等にあるソースコードを見ただけで目眩がするレベルです。
このWinMain関数の処理やDirectInput等を別のソースファイルに追いやって、C言語のmain関数のように簡易に記述することって可能でしょうか?
319デフォルトの名無しさん:2011/12/18(日) 13:31:23.82
自分でラッパーライブラリを書いてそれ経由でDirectXの処理を呼ぶようにすれば自分の好きなようにできるんじゃないかな
320デフォルトの名無しさん:2011/12/18(日) 14:06:34.96
もしこれからもDirectXを使い続けるつもりなら、結局はWinMainでウィンドウプロシージャで
ウィンドウメッセージがうんたらという書き方に慣れるほうが近道だとは思う。
あとDXUTは「地道ではあるが退屈な」処理を肩代わりしてくれる関数群だけど、むしろDXUTが
見通しを悪くしているということであればDXUTを使っていないサンプルから手をつけていくとか。
(Tutorialの最初のほう or DirectX11未満のサンプル or June2010以前のサンプルか忘れたけどどこかにあるはず)

簡易に記述することは可能か?という問いへの直接の回答は>>319さんのそれですね。
それかネットから他の人が作ったそういうのがあれば探してみるとか。俺は知らないけどありそうな気はする。
321デフォルトの名無しさん:2011/12/18(日) 14:16:26.84
今年の10月頃から少しずつ始めました。
初の質問ですがよろしくお願いいたします。
ダイレクト9必携 鎌田茂雄さんの本を読みながら勉強してる初心者なんですが、
ビルボードで2Dアニメーションさせたい場合(例えば炎が燃えてるとか)
Xファイルの側でアニメーションさせたのを読み込むのがいいのでしょうか?
自分まだ計算が苦手でしてビルボードのしている物体の、縦、横の拡大率が出来ていない子なので
あわせて教えていただいたら幸いです。
322デフォルトの名無しさん:2011/12/21(水) 10:55:55.89
驚いたことにテクスチャのある範囲をビューポート指定して、同じテクスチャの別の範囲をUV指定して、
UV指定した箇所をビューポートしていした場所へコピーやエフェクトを掛けることが出来た
が、やっぱGPUが対応してないらしくまた別の範囲で同じことやるとノイズが表示されるようになった。
レンダリングターゲットの変更やテクスチャセットの回数を減らすために同じテクスチャ内でやってみたんだけど
ここらへんのGPUの仕様ってわかんないよね、、だれかこれならうまくいくって方法知ってる?

>>318
DXUTから入るのはちょっときついから、入門書おすすめ

>>321
2Dアニメーションは一枚の画像(bmpで書いといてddsに変換)に1コマずつ書いて、UVを切り替えながら描画すればいいと思う
xファイルは3D専用だから2Dは関係ない、ビルボードはサンプルコードがネット上に結構あるのでそれを参考にすればいいよ。
323デフォルトの名無しさん:2011/12/22(木) 16:14:08.39
rawOvalやDrawBoxで書いた図形を回転させたいのですがどうしたらいいでしょうか?
324デフォルトの名無しさん:2011/12/22(木) 19:21:39.42
>>323
java?
325デフォルトの名無しさん:2011/12/22(木) 19:28:27.31
>>324
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html

このHPの方が作ってくれたライブラリに入っていた関数でした.
これの中に図形の回転というのが無いのでどうしたらいいのかなーと思って質問しました.
326デフォルトの名無しさん:2011/12/22(木) 22:07:42.17
>>325
それならDXライブラリのスレもしくは掲示板にいって聞くが吉
てか三角形もしくは線で書けばいいじゃん
なにいってるの
327デフォルトの名無しさん:2011/12/26(月) 14:12:07.57
>>322
そんなの偶然に動いてるだけで、
イリーガルな操作、ダーティな領域って奴じゃないのか

つまり逆の発想で、本来やってはいけない動作が、
動いてしまうGPUドライバが少し存在する
って感じ

常識で考えて、テクスチャレンダリングの手法が出てきて
更に国外含めて、皆最適化を散々追求してるのに
聞いた事もない手法だろ?
328デフォルトの名無しさん:2011/12/27(火) 13:46:14.92
>>326

>てか三角形もしくは線で書けばいいじゃん

これこそ何言ってるのか、さっぱりわからん。
三角形や線で描いた3次元図形をある軸まわりに回転させたいんだろ?

同時変換形の回転移動行列は自分で用意しなければならないみたいだね。
ここまで用意してくれると便利だけどね。

任意の単位ベクトルnの周りにθだけ回転させたときの回転行列は
コンピュータグラフィックがロボット工学の教科書にのっていると
思う。
329デフォルトの名無しさん:2011/12/31(土) 22:37:19.16
DirectX9.0cのD3Dで質問です。
ワールドマトリックスの変換を自分でやりたいので
Direct3D側を無効化したいのですが
// pD3DDev->SetTransform( D3DTS_WORLD, NULL );
これでいいんでしょうか?
330デフォルトの名無しさん:2011/12/31(土) 23:59:12.60
>>329
NULLじゃなくて単位行列を渡せばいいよ
331デフォルトの名無しさん:2012/01/01(日) 00:05:00.97
自分でやりたい行列渡せばいいのにいったいどうしたことだろうか?
332デフォルトの名無しさん:2012/01/01(日) 00:49:32.49
>>330
目から鱗〜。ただ無効化はできないってことですね。

>>331
レイピックをやりたいのでワールド座標を自分で出すため
D3Dでも変換したら二度手間なのかなーと思い。
333デフォルトの名無しさん:2012/01/01(日) 01:21:00.15
レイピックはレイをモデル座標系に変換するのが普通だぞ。
334デフォルトの名無しさん:2012/01/01(日) 11:32:51.46
モデル座標には板ポリ(トライアングルx2)しかなくて、板ポリが大量にワールド座標に置いてあるんですが、
これでもモデル座標でレイと交差判定したほうがいいんでしょうか。
普通はメッシュに大量のトライアングルがあるのでモデル座標でやらないと
いけないのだと思いますが。
335デフォルトの名無しさん:2012/01/04(水) 03:09:22.13
板ポリが大量にワールド座標と言っているが、
それがローカルなのかワールドなのかを決定するのは自分の処理次第じゃん

その言ってる状態から、更に板ポリ群全体を回転やら移動やらさせるなら
最初に言ってる座標系は、ワールドと数値が重なるけどローカルになるわけじゃん

例えば、モデル座標の板ポリ1枚をワールドに変換してるつもりが
それはモデル形成処理の内&ワールド処理は無いって考える処理の仕方もあると言う事
336デフォルトの名無しさん:2012/01/04(水) 03:13:30.99
つか、シェーダー使えば?
普通にワールド -> ビュウ -> 透視変換のプロジェクションマトリクス渡す事になるから
それにワールドマトリクス単体も渡して頂点シェーダー内で処理すれば良いじゃん
337デフォルトの名無しさん:2012/01/04(水) 03:29:59.16
頂点バッファを頻繁にLOCKする必要がある場合の使用フラグに関する質問です
D3DUSAGE_DYNAMICで作ったバッファをD3DLOCK_DISCARDでLOCKして書き込むのと
D3DUSAGE_WRITEONLYで作ったバッファをフラグ指定なしで書きこむのは
一般的に、どちらが高速ですか?
宜しくお願いします
338デフォルトの名無しさん:2012/01/04(水) 11:53:37.28
>>337
混ぜて使う。
339デフォルトの名無しさん:2012/01/04(水) 19:38:43.98
DDSファイルの画像のプレビューってWindows7では対応していないよな?
DirectX SDKを入れてDxtex.exeをDDSファイルに関連付けしても表示できない。
ただしDxtex.exeを起動してファイルオープンから開くと見える。

一説によると、レジストリをいじくると関連付けでファイルクリックから表示できるようになるらしいな?
普通にDirectX SDKのインストールだけで対応しろよな。
マイクロソフトはアフォですか?
340デフォルトの名無しさん:2012/01/04(水) 19:40:36.04
irfanviewってフリーウエアで見れたと思うよ。
341デフォルトの名無しさん:2012/01/04(水) 19:40:53.88
関連付けするとAPPCRASHが出るんですけどw
何、このOS?
342デフォルトの名無しさん:2012/01/04(水) 19:42:01.83
>>340
うそー?さっき入れて試したらエラーになった。
OSはWindows7の64ビット版だけどね。
343デフォルトの名無しさん:2012/01/04(水) 19:43:24.33
32ビットで関連付けアプリを動かすのってどうするんだっけ?
344デフォルトの名無しさん:2012/01/04(水) 19:46:33.29
いまさら配布版のSDKが2010年版で止まっているからおかしいとは思ったんだけどな。
Microsoft DirectX SDK (June 2010)が最新版だろ?

うざす。
345デフォルトの名無しさん:2012/01/04(水) 19:46:35.32
>>342
自分もwin7home x64
ウルティマオンラインのエンハンスクライアントに入ってるdds読めるんだけど。あるぅえ??
圧縮フォーマットかな??
346デフォルトの名無しさん:2012/01/04(水) 19:50:15.75
単純に関連付けした場合にAPPCRASH。
Dxtex.exeフォームアプリ上のファイルオープンでは開く。
これ、前々からそんな雰囲気だったけどな。

DDSって言ってもDxtex.EXEでPNGから変換したDXT1。
3Dアプリ上ではちゃんと動いてる。
347デフォルトの名無しさん:2012/01/04(水) 19:52:17.43
エラーになるDDSファイルはこれとか。
http://anyhub.net/file/4JCc-ravenstar_mk1_paintkit_top_hull_.dds
348デフォルトの名無しさん:2012/01/04(水) 19:53:17.24
俺の今使っているPC以外では関連付けで開くのかな?
349デフォルトの名無しさん:2012/01/04(水) 19:54:01.79
>>346
なんか怪しいものインストールした記憶はないかい?
関連付けが壊れるときって大体OSがマズくなってる時なんだよなぁ・・・。
350デフォルトの名無しさん:2012/01/04(水) 19:55:53.61
irfanviewで「礼文」と書いてあるのを確認した。
351デフォルトの名無しさん:2012/01/04(水) 19:57:41.60
2048×2048で、2MB固定ってDXT1のテクスチャパターンだな。

APPCRASHさせてデータパクろうってのはマイクロソフトに対するUCLウィルスか米軍ウィルスか、何なんだ?って印象。
352デフォルトの名無しさん:2012/01/04(水) 19:58:13.54
出るじゃん?参ったね。
353デフォルトの名無しさん:2012/01/04(水) 20:01:52.12
しょせんパクって書き換えたテクスチャデータで出元は米軍系なんだけどな。
本当に欲しいのはメッシュデータだろ?
三菱系とか、いくらでもチェックされてそうだよな?
354デフォルトの名無しさん:2012/01/04(水) 20:03:54.60
参考になった。どうもありがとう。
355デフォルトの名無しさん:2012/01/04(水) 20:15:48.77
障害モジュールの名前: MSVCR100.dll
って出てた。パスが通っていないのか?と思ってコピーしたけれどもダメだな。
x64のフォルダのDxTex.exeでもx86のフォルダのDxTex.exeでも一緒みたい。
・・・もしかしてバージョン違い?
356デフォルトの名無しさん:2012/01/04(水) 20:26:58.89
PNGからDxTex.exeに関連付けしても同じエラーが出てるな。
・・・うーむ。
357デフォルトの名無しさん:2012/01/04(水) 20:38:33.87
クソだな
もうDirectXなんて使うのやめよう
俺はunity使うよ
358デフォルトの名無しさん:2012/01/04(水) 20:59:28.83
レジストリエディタregedit上でDxtexで調べたら、全部x86のファイルを参照していた。
エラーが出るので、x64フォルダのDxtex.exeを関連付けしても、レジストリ上に反映されないらしい。
・・・もしかしてx64とx86でレジストリが別なのか?
なぜx64のフォルダ上に実行ファイルがあるのに、x86フォルダ上のものを参照するように指定してあるんだろう?
359デフォルトの名無しさん:2012/01/04(水) 21:05:05.26
MSVCR100.DLLは
今使っているPC上ではファイルバージョンが
10.0.30128.1
のものと
10.0.30319.1
のものがあった。

10.0.30319.1
はVC++2010に添付されていたものだな。
10.0.30128.1
はさっきのテクスチャを利用しているアプリにこっそりと添付されていたものだろうな。
Dxtex.exeがパス指定もなくある特定のバージョンのものを勝手に参照している可能性か?
勝手に総なめしているのか?と思って古いものを消しても、動かなかったようだ。

障害モジュールのバージョン: 10.0.40219.1
って出てる。いったい何を見てんだよ?内蔵して固定にしてしまったのか?
しかし問題点は、関連付けでのエラー問題に過ぎないぞ。
360デフォルトの名無しさん:2012/01/04(水) 21:11:22.76
もしかして、ATIがドライバインストール時におかしな改変を入れているのか?
そうなのか!?ほんとうにそうなのか?
たとえばNVIDIAのVGAボードが特にないのでなんとも言えないが、本当にそうなのか?
しかもCCCインストール時になにかをインストールしているように見えるが、それなのか?
361デフォルトの名無しさん:2012/01/04(水) 22:26:04.24
11.0>11.1に追加されたのってどこみればいいんだい?
362デフォルトの名無しさん:2012/01/05(木) 01:30:52.81
irfanviewでddsは拡張パックを入れないと見れなかったと思う
363デフォルトの名無しさん:2012/01/05(木) 03:15:18.14
ttp://www.nicovideo.jp/watch/sm12402466?via=thumb_watch
これが凄いんだけど、WindowsVistaとかWindows7でだと、
画面に表示する手前にフィルターみたいのを無理やりかけることって出来るのかな?
途中に自作のシェーダーをかませて下さい、みたいな?
3Dだけだから、Aeroに限定することもないのかな。
364デフォルトの名無しさん:2012/01/05(木) 14:48:53.03
こんなの見つけた
ttp://code.google.com/p/dds-wic-codec/
365デフォルトの名無しさん:2012/01/05(木) 19:29:27.33
へえ
366デフォルトの名無しさん:2012/01/07(土) 10:23:05.22
ほう
367デフォルトの名無しさん:2012/01/08(日) 23:52:36.40
DirectXの関数(D3DXも)って、内部でSIMD命令による128bitベクトル演算を行ってるでしょうか?
だとしたら、処理速度、堅牢性から、積極的に使用したいと思っています。
(対するOpenGLも気になります)
368デフォルトの名無しさん:2012/01/09(月) 00:27:27.96
行っている。

D3DXMATRIXA16 time = 0.005056 : Gflops/sec = 2.903717
XMMATRIX time = 0.002452 : Gflops/sec = 5.986870
自作matrix4x4(SSE 32bit) time = 0.003341 : Gflops/sec = 4.393590
自作matrix4x4(FPU 32bit) time = 0.014704 : Gflops/sec = 0.998358
369367:2012/01/09(月) 00:49:45.16
>>368
ありがとうございます!
自作されているとはすごいです。
それを上回るXNAのマトリクスがすごいですが、
D3DXMATRIXA16が遅めなのが気になりますね・・・。
370デフォルトの名無しさん:2012/01/09(月) 17:34:47.11
2012年1月8日にスタートするNHK大河ドラマ『平清盛』は、2005年放送の『義経』以来となる、平安時代を舞台にした物語。
主人公である清盛(松山ケンイチ)の生涯を中心に、平家一族の栄枯盛衰が描かれる。

“松ケン清盛”は、本当の父親が違うという自分の出生の秘密を知り、葛藤する無頼で豪胆なキャラクターとして描かれているが、実際はどうなのか。
今回のドラマの時代考証を務める歴史研究家の本郷和人さんは次のように解説する。

「高下駄を履いて闊歩するような荒くれ者だったという説と、エリート気質の品のある少年だったという両方の説があります」(本郷さん)

「当時の平家の人々は貴族趣味に走り、華美な服装だったと伝えられています。
清盛の自警団と呼ばれる14〜16才の童子も髪を禿(肩までに切りそろえた児童期の髪形)にし、真っ赤な服を着させていたといわれています。
清盛自身もきらびやかな衣装を好んでいたと思われます」

http://zasshi.news.yahoo.co.jp/article?a=20120108-00000006-pseven-soci ※女性セブン2012年1月19・26日号

王家論の立場に立つサヨク学者の言葉
http://twitter.com/#!/MASHzzz/status/147627884922675200

皇室を王家と表記するNHK(8月にもやらかしていた)
http://blog.livedoor.jp/the_radical_right/archives/52759056.html

【大河ドラマ・平清盛】「王家」についてのNHKからの回答[桜H23/9/15]
http://www.nicovideo.jp/watch/so15611305

チャンネル桜 NHK解体デモ 2011年12月31日
http://www.nicovideo.jp/watch/sm16584513

【討論!】フジテレビ・NHK問題、マスメディアの終焉2[桜H23/10/8]
http://www.nicovideo.jp/watch/so15817352

【討論!】フジテレビ・NHK問題、マスメディアの終焉[桜H23/9/17]
http://www.nicovideo.jp/watch/so15620756
371デフォルトの名無しさん:2012/01/09(月) 21:15:39.73
RenderTargetのサーフェスとってきて
それをテクスチャにコピーしてスクリーンショット撮ろうとしてるんだけど

結構うまくいくけどたまにデットロックしてるのか
D3DXLoadSurfaceFromSurface
が終わらないって言う事が起こります

描画関数呼ばれないようにはブロックしてる

画面出力時に飛んでるのか…

別にRenderTarget(画面出力用のサーフェス)のSS取れればOKなのですが…
372371:2012/01/09(月) 22:09:46.15
IDirect3DSurface9* back;
if(FAILED(_device->GetRenderTarget(0, &back)))
//エラー

D3DSURFACE_DESC desc;
back->GetDesc(&desc);

              if(FAILED(handle->GetSurfaceLevel(0,&dest)))
//エラー

D3DSURFACE_DESC destdesc;
dest->GetDesc(&destdesc);

if(destdesc.Format!=desc.Format||destdesc.Pool!=D3DPOOL_SYSTEMMEM)
               //エラー

if(FAILED(_device->GetRenderTargetData(back,dest)))
                   //エラー
          

そのあと
GetRenderTargetDataに変えてみましたら100%失敗するように…
handleはテクスチャのポインタです
これでうまくいかない…

エラー処理は省いてます
GetRenderTargetDataでエラーでてるっぽいです
373デフォルトの名無しさん:2012/01/10(火) 00:26:46.77
エラー内容をちゃんと調べようよ。
374デフォルトの名無しさん:2012/01/10(火) 01:33:15.01
エラーは出なくなりました

ウィンドウサイズが800*600だと表示部分も800*600だと思ってた…

その後取得できたサーフェスを
UpdateSurfaceでテクスチャのサーフェスにコピーする事はできましたが

この取得したサーフェスをReleaseするところで固まりました…
だいたい1/3程度の確率です
375デフォルトの名無しさん:2012/01/10(火) 04:27:15.45
解決しました

デバイス作成の設定が変だったらしいです
376デフォルトの名無しさん:2012/01/10(火) 04:47:42.32
http://headlines.yahoo.co.jp/hl?a=20120110-00000060-yom-soci

大阪の3放送局、看板やガラス壊される被害
読売新聞 1月10日(火)1時34分配信
 大阪市内の3放送局で9日夜、看板などが壊される被害が3件、相次いだ。
 現場にはコンクリート片が落ちており、府警が器物損壊容疑などで関連を調べる。
 9日午後7時25分頃、大阪市福島区福島の朝日放送の警備員から「ガラスが割られた」と110番。福島署によると、
同社1階北西のショーウインドーのガラス1枚(縦3・8メートル、横1・5メートル、厚さ2・2センチ)にヒビが入っていた。
ガラス下にコンクリート片(縦18センチ、横10センチ、厚さ10センチ)1個が落ちており、警備員は通行人から「自転車
に乗った人が、何かを投げていた」と聞いたという。
 また、同日午後8時頃、同市北区茶屋町の毎日放送でも社屋外のプラスチック看板が割られ、近くにコンクリート片
が落ちていた。同11時30分頃には、同市北区扇町の関西テレビの建物でも、ガラスが割られているのを警備員が見
つけた。
最終更新:1月10日(火)1時34分
読売新聞
377デフォルトの名無しさん:2012/01/10(火) 12:38:23.75
板違い荒らしめ・・・
378デフォルトの名無しさん:2012/01/10(火) 12:51:14.69
×荒しコピペ
○啓蒙活動
379デフォルトの名無しさん:2012/01/10(火) 14:14:53.53
D3DXMATRIXとD3DXMATRIXA16ってどっちを使うべき?
380デフォルトの名無しさん:2012/01/10(火) 14:19:50.69
XMMATRIX
381デフォルトの名無しさん:2012/01/10(火) 14:41:58.30
BBC世界27カ国好感度調査 2011年
Positive views of Brazil have sharply improved in the annual BBC World Service Country Rating Poll of 27 countries around the world.
http://news.bbc.co.uk/2/shared/bsp/hi/pdfs/05_03_11_bbcws_country_poll.pdf

好きな国ランキング世界総合 1位 ドイツ 2位 イギリス →3位 日本 4位 EU 5位 カナダ 6位 フランス

嫌いな国ランキング世界総合 1位 イラン 2位 北朝鮮 3位 パキスタン 4位 イスラエル 5位 ロシア →6位 韓国
382デフォルトの名無しさん:2012/01/10(火) 20:51:06.09
>>380
なんでXMMATRIX??
383デフォルトの名無しさん:2012/01/11(水) 08:15:08.93
すみませんが、HSPから卒業しようとおもい
C++とDirectx学ぼうとしているんですが、
最初に参考にするには
ttp://homepage2.nifty.com/natupaji/DxLib/index.html
ここぐらいでよいですかね?
他にもおすすめページがあればお教えください。
384デフォルトの名無しさん:2012/01/11(水) 08:31:57.98
節子、それDirectXやないDXライブラリや!
385デフォルトの名無しさん:2012/01/11(水) 13:54:56.65
>>384
という感じに、これぐらいのレベルですので
初心者でもわかりやすいページを教えていただければ幸いですw
386デフォルトの名無しさん:2012/01/11(水) 14:03:11.81
DXライブラリのスレで聞いてください。
387デフォルトの名無しさん:2012/01/11(水) 15:56:40.64
DirectXの入門向けのWebサイトは内容古いものが多いんじゃないか?
普通に本買えよ
388デフォルトの名無しさん:2012/01/11(水) 18:10:47.41
本を買え
389デフォルトの名無しさん:2012/01/11(水) 18:30:52.55
チュートリアルじゃ不満かね
390383:2012/01/11(水) 22:05:02.65
いや、ちょこっと趣味でプログラムはじめてみようとHSP使ってみたんですが、
ちょこっとマップチップ並べるだけで、滅茶苦茶遅くて・・・
どうも素の状態のHSPはCGの処理と配列の処理が遅いみたいですね
で、プラグインでDirectx仕込むものがあるんですが、
どうせならHSPで覚えるんじゃなくて、Cで覚えて行った方がいいかなと思いまして

で、変に自分だけで探して偏った知識を身につける前に
一般的に広まっている開発環境を聞いておいた方がよいかな?と思いました

のちのち、行き詰まった時に調べやすく、サンプルなども探しやすいものがあれば・・・
色々、ワガママを言ってすみません
391デフォルトの名無しさん:2012/01/11(水) 22:44:18.66
>>390
方向性が見えない
マップチップで常識的な速さ出すには地味な技術が必要だぞ
マップチップが時代にあってないっつーかそんな感じだと思っていい
このまま2Dでいきたいならドカっと絵を貼ってしまったほうが
いくらか見栄えがいいゲーム作れるぞ
っていうかマップチップってメモリ節約技術だろ?
いまはSTGだって背景に動画流してたってまだメモリ余るのに
お前何やりたいわけ?
392デフォルトの名無しさん:2012/01/12(木) 00:09:41.90
>>391
箱庭ゲーみたいなものを作ろうとしおりまして
画面上に自分中心にしてxyz=32:32:16のマップチップを並べて
彷徨きまわる所まではHSPで出来たんですけどね
HD5770のビデオカード、ノーウェイトで実用ギリギリの速度なんですよ
これから先、NPCやらMOBやらオブジェクトなど置いたら恐らく
遊べる速度じゃなくなると思いましたので・・・

しかし、今どきのSTGって背景動画流していたんですね・・・
カルチャーショックうけましたw

393デフォルトの名無しさん:2012/01/12(木) 00:23:49.94
マップチップいいんじゃないの?
800×600 の画面として、縦横10画面分のフィールドを作るのに 8000×6000 分の画像を作れと?
店を5件建てるのに、5つも店の絵を描くのも面倒だし、全く同じ絵をコピペするのも格好悪いし、1回描いたら変更面倒だし、
マップチップ並べた方がまだ見栄えがいいかもよ。素材を作る人が別にいるのならいいけど。
地味な技術が必要なのは同意。
394デフォルトの名無しさん:2012/01/12(木) 06:04:43.98
チップじゃなくても2D横スクアクションの同じ木が一定間隔で並んでる・・・みたいなのでもいいんだろ?
そんな概念で作ったらいいじゃん
395デフォルトの名無しさん:2012/01/13(金) 13:19:48.80
質問いい?w

どうにかアニメーションや当たり判定は出来て、箱庭アクションゲーは作れました。
で、起伏のある地形を高さの値をとってキャラを動かすことはできたのですが、
どうしてものめり込んでしまうんです。あとアニメーションが合わない。
物体であれば誤魔化せるんですが、キャラだとやはり不自然です。

IK法とか「斜面、ボーン、directx」とかのクエリで検索してみても、情報はほとんどない。
これは俺の考え違いで、もっと簡単な方法があるものなんでしょうか?
それともプロのゲーム屋は、商用ライブラリを使っていて、個人規模のゲームプログラミングでこのあたりまでやるのは無謀なんでしょうか?

道筋や大体の方向性だけでも分かる人がいたら教えてください。


396デフォルトの名無しさん:2012/01/13(金) 14:48:00.18
「ゲーム IK」とかでググったらそれっぽい情報が出てくるけど少ないか
本格的にやるなら本を買うのが楽じゃないかな?高いけど
397デフォルトの名無しさん:2012/01/13(金) 16:47:57.74
WinGDIのSetPixelみたいに、テクスチャの色を直接書き換えたいんですが、どうすればいいですか?
D3DLOCKED_RECTを使ってD3DLOCKED_RECT::pBitsの値を書き換えたら一応色は変わるんですが、
テクスチャの画像自体を書き換えてるわけじゃなく、あくまで色が変わってるだけみたいで、やりたいこととは違いました

よければ、画像から読み込んだ場合の画像のデータ自体はどこに格納されているのかを教えてもらえると助かります
398デフォルトの名無しさん:2012/01/13(金) 16:56:23.20
>>397
そのpBitsに格納されてるけど…

テクスチャの色が変わるって画像書き換えとどう違うの?
399デフォルトの名無しさん:2012/01/13(金) 17:20:47.35
>>398
例えば画像全体を赤色に書き換えたつもりでも、元の画像に赤を加算合成したような画像にしかならないんです
調べてもイマイチ参考になるページがなくて、試行錯誤で無理やりやってたからデータ型を間違っていたのかも…?
現在はロックしたあと以下のように書き換えてます

unsigned short *p = (unsigned short*)lRect->pBits;
p[y * (lRect->Pitch / 2) + x * sizeof(unsigned short)] = unsigned short(D3DCOLOR_XRGB(r, g, b));
400デフォルトの名無しさん:2012/01/13(金) 18:53:00.88
>>396
本って何がありますかね。
401デフォルトの名無しさん:2012/01/13(金) 19:30:19.85
>>400
でかい本屋行って立ち読みで探せ

あとはこういうスレに頼るとか
推薦図書/必読書のためのスレッド 65
http://toro.2ch.net/test/read.cgi/tech/1321768941/
402デフォルトの名無しさん:2012/01/14(土) 14:29:23.11
スレ違いかも知れないが
ソーシャルゲームって殆ど2Dだと思うんだけど
どうやって効率よく描画しているんだろう
403デフォルトの名無しさん:2012/01/14(土) 20:17:42.75
そもそもソーシャルゲーに効率のよい描画なんて必要ないんじゃね
404デフォルトの名無しさん:2012/01/14(土) 23:08:40.75
っていうか
リアルタイムで動かしちゃダメだよね
405デフォルトの名無しさん:2012/01/15(日) 01:30:13.35
結構リアルタイム性のあるアクションゲームとかあるじゃない
406デフォルトの名無しさん:2012/01/15(日) 17:35:13.54
最新、能力大幅アップの「10式戦車」 陸自、満を持し配備

日本の最先端技術を結集した「10(ひとまる)式戦車」が陸上自衛隊富士学校に配備された。
“鋼鉄の砦”に、国防の主力としての役割が期待されている。
10式は大規模侵攻への対応力も維持しつつ、現代戦の特徴でもある、
ゲリラや特殊部隊との市街地での交戦を想定して作られたという。

基本性能の向上はこれにとどまらず、長時間使用しても車体が熱を帯びるのを防ぎ、赤外線センサーに発見されにくい。
火力については、90式戦車と同じサイズの120ミリ砲だが、ドイツ製品のライセンス生産である90式と異なり、
10式の砲は設計段階から国産で行われている。同校の担当者は「90式戦車を上回る火力が実現されている」と胸を張る。

今年度中に計13両が配備される予定で、平成24年度には16両を予算申請している。
「世界トップクラス」と胸を張る純国産戦車の正式稼働とあって、多様化する戦場に対応する新たな防衛力として期待は日増しに高まっている。

画像
http://rikuzichousadan.web.fc2.com/soubihin/sensya/t-10.jpg
http://www.masdf.com/altimeter/soukaen2010/IMG_9200.jpg
http://eaglet.skr.jp/MILITARY/PICTURE/TK-X_1.jpg
旧モデル(90式)
http://pds.exblog.jp/pds/1/201009%2F03%2F39%2Fd0157139%5F1138194%2Ejpg

エンジン出力1200馬力
油気圧式アクティブサスペンション
複合特殊装甲
最大速度 70km/h
兵装 日本製鋼所製44口径120mm砲×1門 12.7mm重機関銃×1挺 7.62mm機関銃×1挺
重量 約44トン
製作 三菱重工業

http://sankei.jp.msn.com/politics/news/120115/plc12011507010001-n2.htm
407デフォルトの名無しさん:2012/01/16(月) 01:43:53.69
初歩的なことで申し訳ないんですが、現在DirectX9.0cを手に入れたいと思っているのですが、
これは海外の公式サイトから落とせるSDKで構わないのでしょうか?
408デフォルトの名無しさん:2012/01/16(月) 02:39:43.77
最新版を入れても互換性で動くよ。ヘッダさえあればね。
409デフォルトの名無しさん:2012/01/18(水) 08:24:10.43
韓国の原研職員ら 液体ナトリウム研修 福井

韓国原子力研究所の職員ら6人が16日、日本原子力研究開発機構の国際原子力情報・
研修センター(敦賀市)で、液体ナトリウムの取り扱いに関する研修を始めた。20日まで。

韓国は、福島第1原発事故後、原子力政策の積極的な推進を明示。
平成40年に高速炉の原型炉(出力60万キロワット)、52年頃に商業炉(同120万キロワット)の運転開始を予定している。

また、ウラン・プルトニウム混合酸化物(MOX)燃料の装荷と増殖実験は、今後の米韓原子力協定の見直しで決まる。
昨年秋には、ナトリウム試験ループ施設を建設。将来的に世界中から研修生の受け入れを計画しているという。
http://sankei.jp.msn.com/region/news/120117/fki12011702140004-n1.htm
410デフォルトの名無しさん:2012/01/18(水) 08:51:14.62
中韓露が高速増殖炉に手を出しても
なぜか騒がない日本の反原発団体
411デフォルトの名無しさん:2012/01/18(水) 12:46:14.43
原子炉がこのスレに何の関係が?
412デフォルトの名無しさん:2012/01/18(水) 17:44:36.64
ここは日本ですが?
413デフォルトの名無しさん:2012/01/18(水) 18:08:54.81
日本の国民の中には、外国の事情がある程度分かっている人を除けば、
放送内容を信頼している人がまだいることは確かだ。一方で、ネット
住民たちのほぼ全員が、放送番組には政府の意図が色濃く反映されて
いることを知っている。自分の国がどういう国かということが、よく
分かるようになってきているのだ。
414デフォルトの名無しさん:2012/01/18(水) 19:30:58.90
>>412
そりゃ君の住んでる国のことか?
ここのサーバは北米だし、運営者は東南アジアなんだが
415デフォルトの名無しさん:2012/01/18(水) 19:41:24.55
在日が必死すぎてワロタ
416デフォルトの名無しさん:2012/01/18(水) 22:48:28.00
これが世界一の速さだ!スーパーコンピュータ『京』のスゴさを開発現場から徹底解明
http://live.nicovideo.jp/watch/lv77717027

【会場のご案内】
2012/01/19(木) 開場:18:50 開演:19:00

科学技術立国ニッポンが世界に誇る、
“世界最速”スーパーコンピュータ『京』。
一体どんなもので、どういう現場で開発されているのか!?
ニコ生が徹底的にレポート。

理化学研究所と富士通が共同で開発中の『京』は、
しれつな開発競争が続くスーパーコンピュータの
計算速度の世界ランキングで、
2位の中国(毎秒2566兆回)、3位の米国(同1759兆回)を大きく引き離し
2期連続で世界一を獲得。
その計算速度はなんと毎秒1京回(1兆の1万倍)。

スパコン『京』が本格稼働されれば、
幅広い分野で複雑なシミュレーションが短期間で可能になり、
生命科学や医薬、新物質、防災・減災、宇宙などの分野でも期待される。

なぜそんなに『京』は速いのか?
もはや人知をはるかに超えるその速さで『京』はどこに向かうのか?

今回のニコ生では、スパコン『京』の開発現場である、
理化学研究所・計算科学研究機構(所在地:神戸市)にお邪魔して、
『京』の実機と一般人は滅多に踏み入ることができない舞台裏を徹底レポート。


417デフォルトの名無しさん:2012/01/18(水) 22:53:11.34
スレ間違えたかと思った
418デフォルトの名無しさん:2012/01/19(木) 06:30:59.68
419デフォルトの名無しさん:2012/01/19(木) 08:18:34.97
koreahahidoi
420デフォルトの名無しさん:2012/01/19(木) 22:51:18.52
HLSLでTANGENTとBLENDWEIGHTを同時に持つ頂点構造体を設定する
状況というのはありえないでしょうか?
スキニングを行うときはNORMALしいてはTANGENTが変わるわけで
スキニング前のTANGENTを設定しても意味がないと思うのですが。
421デフォルトの名無しさん:2012/01/19(木) 23:44:56.55
MSDNのどっかにバンプマップ+スキンメッシュのコードがどっかにあった気がする
422デフォルトの名無しさん:2012/01/20(金) 00:02:30.02
>>420
tangentもbinormalも一緒に変換しないと法線マップはれねーだろ
423デフォルトの名無しさん:2012/01/20(金) 00:19:32.41
>>421-422
ありがとうございます。

normalが決定すれば、tangentもbinormalも決定すると思っていたのですが、
それは間違いでしょうか?
私は、normal以外は必ずしもいらなくて、tangentなどは変形が必要
ないモデルにおける事前計算値くらいに捉えていました。
424デフォルトの名無しさん:2012/01/20(金) 00:22:16.85
それで、どうせスキニングするなら、
HLSL側でbinomalとtangent計算したほうがいいんじゃないかと、
思って>>420を書いたのです。
425デフォルトの名無しさん:2012/01/20(金) 00:44:53.30
fpsの数値で質問があります。
while( msg.message != WM_QUIT ){
if( PeekMessage() ){
 TranslateMessage();
 DispatchMessage();
} else {
 Clear();
 if( SUCCEEDED( BeginScene() ) ){
  EndScene();
 }
 Present();
}
こんな感じのループを使うとfpsがだいたい60くらいになるのですが、
VisualC++のアプリケーションウィザードを使うとfpsがすごく速い数値(1000くらい)になるのはどうしてですか?
426デフォルトの名無しさん:2012/01/20(金) 00:45:50.26
>>423
>normalが決定すれば、tangentもbinormalも決定すると思っていたのですが、
しねーだろ
tanとbinはuv座標からしか出ないだろ
tangentspaceは法線をテクスチャ上の座標に変換するためのもんだぞ(たしかwハンパな知識ですまんw)
じゃなきゃ凹凸わかんねーじゃん

HLSLは
スキンメッシュで出来た行列をtan、bin、norにそれぞれかけて移動してやるみたいな感じだった気がするぜたしか

嘘いってたらすまんこ
427デフォルトの名無しさん:2012/01/20(金) 01:01:06.44
>>425
どこでフレーム管理してるのこれ?
428デフォルトの名無しさん:2012/01/20(金) 01:02:45.98
>>426
ありがとうございます。私勘違いしてたみたいです…。
一応、検証して頂くために今使ってるtangent binrmalの計算を書きます。
このコード、そもそも間違ってるのでしょうか?
float3 tangent;
float3 binormal;
float3 c1 = cross(input.Normal, float3(0.0, 0.0, 1.0));
float3 c2 = cross(input.Normal, float3(0.0, 1.0, 0.0));
if (length(c1)>length(c2))
{
tangent = c1;
}
else
{
tangent = c2;
}
tangent = normalize(tangent);
binormal = cross(input.Normal, tangent);
binormal = normalize(binormal);
429デフォルトの名無しさん:2012/01/20(金) 01:29:09.72
>>427
フレーム管理をしないで60くらいの数値です。
DirectXは自動で60くらいに合わせてくれるのですか?
もし自動で合わせてくれるとしたら、その機能をなくす方法はありますか?
430デフォルトの名無しさん:2012/01/20(金) 01:38:32.48
ん〜わけわからんくなってきた…。
調べてきたら、やっぱり>>428あってるような気がしてきました。
誰か下の記述の誤り指摘お願いします。

TBN(tan,bin,nor)ってのは俺俺xyz軸。
TBNにUVが必要なのはheightmapからの変換。
それはUV座標間のheightの勾配を取得してnormal計算するため。
normal=Y軸が決定すれば直交するXZ決定する。それが>>428
頂点構造体にTBも含める方法は、VRAM消費増だが、
>>428にかわり、mul(input.binormal, (float3x3)skinning);
mul(input.tangent, (float3x3)skinning); ですむ?

もし>>428の方法が正しいとすると、頂点構造体にTBを含める方法と
>>428ではどちらが重いと考えられるでしょうか?
431デフォルトの名無しさん:2012/01/20(金) 02:04:57.42
>>429
CreateDeviceに渡すD3DPRESENT_PARAMETERSのPresentationIntervalを弄る。
具体的に何を指定するかはドキュメント見れ
432デフォルトの名無しさん:2012/01/20(金) 02:12:47.15
>>430
notmal が決まればXZ平面は決まるが、X軸Z軸は決まらない
433デフォルトの名無しさん:2012/01/20(金) 02:52:34.32
>>432
ありがとうございます、参考になります。
軸一個きまってほかが決まるわけないですね…
ここが勘違いどころでした。自分に3Dの適正なさすぎて泣きそう。
>>428を改めて調べたら、出所は
http://www.ozone3d.net/tutorials/mesh_deformer_p2.php
みたいで、英語なんでよくわかんないけど、「正しく求めるには
TexCoord必要だけど俺たちのシチュだと>>428でも動くよ」かな?
近似式みたいなものだったようです。
これで、normal以外にもtangentが必要なこと、>>420
的外れな質問であることがわかりました。ありがとうございました。
434デフォルトの名無しさん:2012/01/20(金) 08:18:34.38
>>431
ありがとうございます。
一通り指定してみましたが
指定したものによってはエラーが出たり
40くらいに下がりました。
ほかに変更しなければいけないところはありますか?
435デフォルトの名無しさん:2012/01/20(金) 10:08:28.04
D3DPRESENT_INTERVAL_IMMEDIATE 指定すればモニタの周波数がん無視でpresentでのウェイトは無くなるんだっけ?
436デフォルトの名無しさん:2012/01/21(土) 03:59:38.44
ノーマルマップなんてシェーダーが出てきた頃に
見栄えが良い処理の中で、一番簡単に出来る処理だと思ったんだけどな

タンジェントベクトルは、ノーマルマップのU方向と揃える(且つ法線と直角)
そのタンジェントベクトルと法線から外積で従法線を求める
この3ベクトルを基底にした変換を行う(ライト等を接空間へ)

でタンジェントベクトルは、ポリゴンの三頂点座標とUV値から求める
(UVのU方向を求める、詳しくはググッてくれ)
437デフォルトの名無しさん:2012/01/21(土) 04:04:28.47
で高さ(ハイト)マップでなく、ノーマル(法線)マップな
シェーダーでサンプリングして取り出した値は法線が入ってる
(0〜1の値になってるから、2倍して-1をして、-1から1に変換する)

でピクセル毎に、接空間へ変換したライトとノーマルマップの法線で
ライティングをする事を、ノーマルマップシェーダーと言う

もう10年近く昔の技術なんだけどな…
438デフォルトの名無しさん:2012/01/21(土) 04:11:22.12
>>436
>(UVのU方向を求める、詳しくはググッてくれ)
質問者が知りたいのはここだけなんじゃね
439デフォルトの名無しさん:2012/01/21(土) 09:48:12.98
簡単じゃねぇよ
接空間を求めるのがやばいぐらい難しい
ばっちりそのものの回答が載ってるのはあの天才が書いた
3Dグラフィックス数学の本しかみたことない(日本のしか読まないからかも)

ちなみに仕事で組めって言われたときは接空間を求める式は
その本の式をまるパクリしたw

それとそれを扱うのもやたらと面倒臭い
スキンメッシュなんて絡んでくるとわけわかんなくなる
シェーダ何枚書く必要あるんだ?って思った

DirectXの関数にないのかなぁ?とおもったらあったけど
http://msdn.microsoft.com/ja-jp/library/cc372824.aspx
D3DXComputeTangent 関数
使ったことねぇけどずいぶん昔からあるじゃねぇかぶっ潰す

440デフォルトの名無しさん:2012/01/21(土) 16:57:16.75
本を読んで理解出来ず、まるパクリするレベルだと
やばいくらい難しいかもね

式まで載ってる本を読んで、スキンメッシュも理解してるなら
わけわからない事もないだろ

オペレーターちゃんは開発者をきどらない方が良いよw
441デフォルトの名無しさん:2012/01/21(土) 17:01:28.44
>>440
じゃ、パパッとスキンメッシュ+バンプの入ったHLSL書いてみなよ
2chのレスに収まる範囲のはず
442デフォルトの名無しさん:2012/01/21(土) 17:18:40.43
暗記してるのと理解してるのは別だろ
会社行ってソース見れば改造でも説明でもしてやるよw

それからバンプマップとノーマルマップは全然別の技術だからな
その間違いしてる時点で理解してねーの丸出しだよ

あと概要だけ言うと、スキニング時に頂点を動かしたら法線も再計算する
その法線をトランスフォームする行列をタンジェントにもかけるだけ
(うちのシェーダーは法線とタンジェントの頂点情報で、バイノーマルはクロスで出す)
つまり、スキニングが理解出来てれば、ノーマルマップをプラスされた所で全然問題ない技術同士なんだけどなw
443デフォルトの名無しさん:2012/01/21(土) 17:49:17.83
>>442
だからその処理HLSLでここに収まる行数でかけるって
やってみろよ
できねーなら黙ってろよ低脳
444デフォルトの名無しさん:2012/01/21(土) 17:50:04.47
みんな仲良く
445デフォルトの名無しさん:2012/01/21(土) 18:00:15.17
コピペ君は、説明してるのにソースが無いと駄目なんだねw
446デフォルトの名無しさん:2012/01/21(土) 18:03:56.98
まるパクリしてやばいぐらい難しいとかわけわかんなくなるとか言ってる奴は
説明してる人間より低脳なのは間違いないしそちらが黙るべきなのは真実
447デフォルトの名無しさん:2012/01/21(土) 18:05:00.17
みなさん、DirectX11プログラミングにはどのバージョンのVC++を使われていますか?
VC++2010が最適とかありますか?
448デフォルトの名無しさん:2012/01/21(土) 18:12:17.59
スレッドにシェーダー記述が収まる事と、理解して使いこなせてる事は
まったく別の事

それを頓珍漢に要求してる時点で、コーダーレベルの必死君にしか見えない

大方、会社のソースを家に持って帰ってきて
秘守義務違反をなんとも思ってない最下層オペレーターなんだろw
449デフォルトの名無しさん:2012/01/21(土) 18:23:52.03
単にそんな簡単ならHLSL部貼ってみろって言ってるだけで大した要求してないのに
いざ出せっていうとこの騒ぎ

馬鹿だな馬鹿
できねーならレスつけんなよ
お前、邪魔
450デフォルトの名無しさん:2012/01/21(土) 18:29:08.02
>>447
普通に新しいやつ使えばいいと思う
PCスペックが微妙なせいで2010が重くて、
2008を使っている人はいると思う
451デフォルトの名無しさん:2012/01/21(土) 18:32:39.38
理論のすり替えだなw
HLSLをアップする事と理解している事は、まったく別の事

あと文章がおかしい

>単にそんな簡単なら
以前のレスのどこに簡単と記述してある?

>HLSL部貼ってみろ
お前が会社のコードを家に持って帰ってきてるモラルなしだから”貼る”だけなんだろw

>大した要求
モーション情報と頂点フォーマットは会社の独自技術が多い
そんなのをアップ出来るわけねーだろ

>いざ出せっていうと
なんだ?”いざ”ってw
出す前提で顔真っ赤にしてるのはお前だろ

よっぽど”開発者きどり”ってのが頭に来たのか?w
452デフォルトの名無しさん:2012/01/21(土) 18:52:34.85
なんの話をしているのかすら分からないが、451が組めないのだけは分かった
453デフォルトの名無しさん:2012/01/21(土) 19:24:34.58
>>450
了解です!
454デフォルトの名無しさん:2012/01/21(土) 21:14:55.46
Tangentってシェーダーで生成するもんなのか?
シェーダでやるのはmulするだけだろ?
455デフォルトの名無しさん:2012/01/21(土) 21:28:23.83
>>452
絶対組めないよねこいつ(>>451)
そんな長文書く暇があったらシェーダの1つぐらい組んだらいいのにねw
456デフォルトの名無しさん:2012/01/21(土) 21:36:58.39
>>439
楽しく喧嘩してるとこ悪いんだけど、その3Dグラフィックの本ってなんていう本?
457デフォルトの名無しさん:2012/01/21(土) 21:49:41.60
>>456
3Dグラフィックス数学
でググレば出るだろ?
458デフォルトの名無しさん:2012/01/21(土) 22:04:45.07
>>457
ああ、「3Dグラフィック数学」のことか。それなら読んでた
日本人が書いた3Dグラフィック数学の本があるのかと思って。勘違いでした。
459デフォルトの名無しさん:2012/01/21(土) 22:34:51.19
>>458
じゃあ、なんで接空間の出し方わからないの?
460デフォルトの名無しさん:2012/01/21(土) 22:40:32.78
>>458
自分もバンプマップの実装で困ったとき、2ちゃんで教えてもらったその本を参考にさせてもらった。
懐かしい。
461デフォルトの名無しさん:2012/01/21(土) 22:53:43.28
>>459
自分は質問者とは別人です
接空間は随分前に自分で実装したのがあるんだけど、もっといい方法があるかなら調整したいから気になった
軽くググっても他の人どうやってるか見つからなかったので

やってることはこの本と同じ感じなんだけど、みんなこうやってんのかなと。
それにしちゃググってもヒットしなさすぎだし。自分だけ無駄なことやってんじゃないの(不安)みたいな
462デフォルトの名無しさん:2012/01/22(日) 15:52:48.12
【速報】2ch全鯖死亡 (※嫌儲以外) ★2
http://awabi.2ch.net/test/read.cgi/poverty/1327139457/


【速報】韓国からの攻撃だったことが判明!!!!!
http://awabi.2ch.net/test/read.cgi/poverty/1327146261/

★414 名前:ポンギツ★[sage] 投稿日:2012/01/21(土) 20:01:08 ID:????
韓国から過剰のアクセスがあるみたいです。
今。対応中です。
463デフォルトの名無しさん:2012/01/22(日) 16:56:58.84
 710: 動け動けウゴウゴ2ちゃんねる [sage] 2012/01/22(日) 12:09:17.25 ID:T3p7Mnfi
 鯖に繋がるスイッチの故障が公式見解

 http://j.orz.hm/?www.maido3.cc/server/release/2012/201201211444.html> 2012/01/22 09:15 サーバー障害報告
 > 現在ハードウェアエンジニアや上流ISPなどと連携をとりながら復旧作業を行っております。

 http://pele.bbspink.com/test/read.html/erobbs/1299998629/757-759n
 > 759 :jim ◆IamTAAl4HA :2012/01/22(日) 11:22:46.30 ID:EHIJ7KUV
 > >>757
 > There was a switch failure
464デフォルトの名無しさん:2012/01/23(月) 01:06:41.10
図書館の地図の日本海に「東海シール」を貼りつける韓国人

図書館所蔵地図の日本海の上に「東海シール」を貼りつける韓国人たち

画像
http://mamorenihon.files.wordpress.com/2012/01/kankoku2.jpg

January 16, 2012
http://ameblo.jp/asuka-1020-umare/entry-11137288593.html

http://www.youtube.com/watch?feature=player_embedded&v=nmRGjO4Jj0Q

465デフォルトの名無しさん:2012/01/23(月) 19:28:05.27
こんなレベルでゲーム会社入れるの?
466デフォルトの名無しさん:2012/01/24(火) 03:44:29.47
川西さん亡くなっとるやないけ…
467デフォルトの名無しさん:2012/01/24(火) 04:12:34.50
どの川西さん?
468デフォルトの名無しさん:2012/01/24(火) 04:20:21.18
MSの川西裕幸亡くなったのか
しかも事故かよ
ご冥福
469デフォルトの名無しさん:2012/01/24(火) 04:46:25.10
ご冥福で検索してよかった。かもしれない。慣習化してるからいいのかな。
お悔やみ申し上げます
470デフォルトの名無しさん:2012/01/24(火) 05:17:29.40
マジか
お悔やみ申し上げます

直接あったことはないけどね
DirectX使ってると必ず名前目にするよね
471デフォルトの名無しさん:2012/01/24(火) 08:34:34.98
ただでさえ酷かった開発関係の日本語情報の放置プレイが一層酷くなるのか?
日本のプログラマの裾野が無くなっちまうよ
472デフォルトの名無しさん:2012/01/24(火) 08:36:25.99
惜しい人を亡くしてしまった・・・。
なんかすげー悲しい。
473デフォルトの名無しさん:2012/01/24(火) 20:21:34.61
残念だな・・・・

ネット上であまり反応無いのもびっくりだわ
474デフォルトの名無しさん:2012/01/24(火) 23:21:06.61
2D画像を表示する関数を作ったのですが
画像を数千pxに引き延ばして回転させて表示すると
位置がずれてしまいます。
位置がずれる原因が分かる方いたら教えて頂けませんか。
http://codepad.org/hHW7i8Tj
475デフォルトの名無しさん:2012/01/25(水) 02:44:50.46
>>473
Twitterではかなり話題になった
http://togetter.com/li/244775
476デフォルトの名無しさん:2012/01/25(水) 21:00:33.22
すみません。質問です。

WndProc と MsgProc の違いって何ですか?
477デフォルトの名無しさん:2012/01/25(水) 23:19:41.42
Window Message Procedure として動作する関数の名前としてよく使われる。
略し方の差だろ。

これでいいのかな
478デフォルトの名無しさん:2012/01/25(水) 23:56:16.98
Windows7proでDirectX9を使っています
ディスプレイは1920x1200と1280x1024のマルチです
ウィンドウとフルスクリーンの切り替えを行う際
D3DPRESENT_PARAMETERSのWindowedをFALSEにして
ウィンドウ1280x720からフルスクリーン1920x1080に変更してまたウィンドウ表示に戻すと
7の機能であるタイトルバーなどの透過が無効になってしまいます
フルスクリーン時のサイズが1280x720など小さい場合には発生しません
D3DPRESENT_PARAMETERSのWindowedがTRUEの場合にこの現象は発生しません
発生原因、出来れば対処法はないでしょうかよろしくお願いします
479デフォルトの名無しさん:2012/01/26(木) 08:42:08.28
  .ni 7    /        \  ご冥福をお祈りします
l^l | | l ,/) / /・\  /・\ \    .n
', U ! レ' / |    ̄ ̄    ̄ ̄  |  l^l.| | /)
/    〈  |    (_人_)    |  | U レ'//)
     ヽっ     \   |    /   ノ    /
 /´ ̄ ̄ ノ     \_|    \rニ    |
                      `ヽ   l
480474:2012/01/26(木) 21:24:57.09
誰か分かる方いらっしゃらないですか
481デフォルトの名無しさん:2012/01/26(木) 21:32:47.12
>>480
プログラミングの半分は楽しいデバッグ作業。自分でやろう
482デフォルトの名無しさん:2012/01/26(木) 21:47:24.91
わかんねえ
483デフォルトの名無しさん:2012/01/26(木) 22:39:12.00
>>474
D3DCAPS9::GuardBandLeft あたりだったかな…最終的な頂点座標の限界
自信ないや
484デフォルトの名無しさん:2012/01/27(金) 04:26:42.83
【ひこちん】捻じ曲げるマスコミとだまされる俺
http://www.nicovideo.jp/watch/sm16798880

フジ偏向・花王デモ四国 前半
http://www.nicovideo.jp/watch/sm16798520

フジ偏向・花王デモ四国 後半
http://www.nicovideo.jp/watch/sm16799058

フジ偏向・花王デモ四国 街宣
http://www.nicovideo.jp/watch/sm16798788

日本の政治家は日本国民の為にこそ働けよ!
http://www.nicovideo.jp/watch/sm16797505

【今週の御皇室】両陛下の御公務と、天皇陛下の御言葉[桜H24/1/26]
http://www.nicovideo.jp/watch/so16795333

【守るぞ尖閣】国会議員現地視察・中山市長電話インタビュー[桜H24/1/26]
http://www.nicovideo.jp/watch/so16795330

【国民愚弄】野田首相のブーメランと読売新聞の増税扇動[桜H24/1/26]
http://www.nicovideo.jp/watch/so16795315

【被災地の声】碇川町長と菅野村長が安倍元首相と会談[桜H24/1/26]
http://www.nicovideo.jp/watch/so16795309

【柚原正敬】台湾総統選・立法院選から見る日台関係[桜H24/1/25]
http://www.nicovideo.jp/watch/so16793360
485474:2012/01/27(金) 10:42:53.51
>>483
ありがとうございます
調べてみます
486デフォルトの名無しさん:2012/01/27(金) 15:13:37.72
シェーダ言語がデバッグできなくて値がどうなっているのかわかりません。
32bitテクスチャを入力し、{0,0,255,255}のピクセルを指定する時、
int4 pix = tex2D()でpix.aは255、float4 pix =tex2D()ではpix.aは1.0に
なりますか?
また、16bit*2にわけて値を取得したいのですが、
int value1 = pix.rgでvalue1は0、int value2 = pix.baでvalue2は65535
になりますか?
487デフォルトの名無しさん:2012/01/27(金) 16:30:25.19
というか結局やりたいことは
32bitのfloatを、テクスチャのrbのみの16ビットに劣化保存させ、
それを16bit相当のfloatに復元する、ということなのですが、
それを教えて頂けないでしょうか。
整数型であれば、R = depth;B 256.0 * depth;をして R + G / 256.0で
復元できるようなのですが。
488デフォルトの名無しさん:2012/01/28(土) 11:29:26.65
なんでXファイルのサポートやめちゃったんですか??
489デフォルトの名無しさん:2012/01/28(土) 15:29:27.57
方言が多いからなんじゃないかな
490デフォルトの名無しさん:2012/01/28(土) 22:09:39.96
【中国BBS】2030年に韓国が日本を抜く? 反対意見が多数

中国大手検索サイト百度の掲示板に、「2030年に韓国のGDPは日本を追い越すって本当?」というスレッドが立てられた。
これに対して反対意見が多数寄せられている。

● スレ主:八戒窘6
  アジア開発銀行のデータによれば、2030年に韓国のGDPは日本を追い越すらしい。

● せんとう
  どんな予測も多少なりとも正確ではない所があるが、今回の話はあり得なさ過ぎる。

● satay醤
  本当にデタラメだな。アジア開発銀行によるレポートだって?じゃあバンク・オブ・アメリカや欧州の銀行の結論はどうなのよ?

● 佚名野菜地
  アジア開発銀行ってのは、韓国人が開いているのか?

● Joseph19969
  俺の妄想では、2100年日本人の1人当たりのGDPは46万ドル、韓国は8万だな!

● o落葉不知秋o
  その頃までに韓国という国が残っているかどうかも分からないぞ。

● 梨花陰凉
  死んでも信じない。

● MakiのLove
  なんか最近、韓国のニュースが多くね?
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0128&f=national_0128_091.shtml
491488:2012/01/29(日) 03:06:31.92
>>489
そういうフォーマットは扱いにくいですよね・・・。
しかし標準を一切設けないようにしたとは(汗)
492デフォルトの名無しさん:2012/01/29(日) 04:07:49.17
25日、YOMIURI ONLINEが配信した『情熱と郷土愛の赤・各務原キムチ…岐阜・各務原市』という記事に
「日本人が最も食べている漬物はキムチ」との一文があり、ネット掲示板で物議を醸している。

同記事では、「平成22年の野菜・果実漬物の生産量873万トンのうち、キムチは191万トンで約22%を占め、
浅漬の155万トンを上回る(食品需給研究センター調べ)」とあり、キムチと日本人の関係についても
「キムチやコチュジャンの味に日本人の舌はなじんでいる」と書いている。

この記事を受け、ネット掲示板では「日本人が最も食べているのは梅干しではないのか?」
「漬け物くらい自分の家でできるのだから、市販の生産量と実際に消費された量は違う」など、
「日本人が最も食べている漬物はキムチ」とした一文への批判が殺到した。

また、記事中の「キムチやコチュジャンの味に日本人の舌はなじんでいる」とした部分にも違和感を感じたユーザーは多く、
「そんなもの人それぞれだろう」「キムチなどの辛いものが食べられない人って結構いると思うけど…」
「なんでキムチをこんなにごり押しするの? 気味が悪い記事だ」など、疑問の声が相次いでいる。

ネット掲示板では、キムチよりも日本人の舌になじんだ漬物として、梅干し、たくあん、浅漬け、
野沢菜などの名前が挙がったが、記事と同じように「キムチこそが日本人の舌にもっともなじんだ漬物だ」と主張するユーザーはほとんどいなかった。
http://news.livedoor.com/article/detail/6226414/
493デフォルトの名無しさん:2012/01/29(日) 13:32:25.51
DirectXはXNAでポリゴンを表示したことがあるくらいの初心者ですが
Nicortというソフトはデスクトップに文字を表示しています。
こういったことはどうやったらできるのでしょうか?
494デフォルトの名無しさん:2012/01/29(日) 15:26:44.51
あれはDirextXなんかつかってたか?
WPFじゃねーの?
495デフォルトの名無しさん:2012/01/29(日) 15:42:19.78
あ、そうですか。
なんか起動したときにDirectXを使います。みたいな
メッセージボックスが出てきたので。
496デフォルトの名無しさん:2012/01/29(日) 17:51:12.82
どっちも使ってると思ったけど
497デフォルトの名無しさん:2012/02/01(水) 05:30:59.11
ディスプレイの周波数と同期とるのやめたら平均990fps出てワラタ
498デフォルトの名無しさん:2012/02/01(水) 07:17:01.45
アニメーション部門大賞に「魔法少女まどか☆マギカ」 文化庁メディア芸術祭賞
http://news.nicovideo.jp/watch/nw163311

 平成23年度「文化庁メディア芸術祭賞」が2011年12月15日に発表され、
アニメーション部門の大賞に、「魔法少女まどか☆マギカ」が選ばれた。

 大賞の贈賞理由として、「漫画・小説の原作ものではなくアニメ用オリジナル作品」
という点が高く評価され、「変革のエネルギーが満ちあふれている。
時代を変える触媒となる期待をこめ、大賞を贈る。」と結ばれている。

◇関連サイト
・[ニコニコ生放送] アニメーション部門大賞の発表部分から視聴 - 会員登録が必要
http://live.nicovideo.jp/watch/lv74040618?po=news&ref=news#1:01:04
・平成23年度文化庁メディア芸術祭賞決定(PDF) - 文化庁
http://www.bunka.go.jp/ima/press_release/pdf/media_geijutsusai_111215.pdf
499デフォルトの名無しさん:2012/02/01(水) 22:53:56.47
クビチョンパ公認かよ
内容見てねぇな
500デフォルトの名無しさん:2012/02/01(水) 22:59:14.28
質問させてください。
visual studio2008でC++、DirectX9.0cを使用し、シューティングを作っているのですが、
実行環境によって敵機を大量に出したときに激しく処理落ち(fps60→fps30)してしまいます。

処理落ちする環境
・windows7 + GTX470
・windowsXP + GTX460
処理落ちしない環境
・windows7 + 9600GT
・windowsXP + 9600GT

処理落ちしない環境があるということは重いコードを書いているからではなく、
グラボがDirectX9.0cに対応していないという認識で合っていますでしょうか。
また、上記の処理落ちする環境での処理落ちを改善する方法はありますでしょうか。
よろしくお願い致します。
501デフォルトの名無しさん:2012/02/01(水) 23:00:33.48
機体はポリゴンなのそれともテクスチャなの?
502デフォルトの名無しさん:2012/02/01(水) 23:02:56.49
>>501
レスありがとうございます。
敵機はxファイルを使用したポリゴンです。
503デフォルトの名無しさん:2012/02/01(水) 23:20:14.09
その構成でポリゴンで処理落ちって、省電力モードでもなければなんだろう・・・。
504デフォルトの名無しさん:2012/02/02(木) 00:51:25.97
GTX(フェルミ)コアのシリーズは、GPGPUによる計算(スパコンのような)を目指していて
ゲームに向かないと聞いた事がある

なのでDirectX11初期の頃にNVIDIAはRADEONに押されまくって
ようやく出したGTXシリーズも、ゲームのベンチマークでRADEONに負けまくった
って聞いた事もある
505デフォルトの名無しさん:2012/02/02(木) 00:57:08.92
テッセレーションの処理が大量にあるような(CPU <-> GPU)ケースは
RADEONより有利とか、そもそもRADEONと目指している所が違う
(GPGPUによる、現状のスパコンに迫る機能を、低コストで提供)
とか言ったアーキテクチャ解説を見たような

つまりピクセルフィルレートとか言ったゲーム向けは
GTと言った旧シリーズやRADEONが有利なんじゃないかな
506デフォルトの名無しさん:2012/02/02(木) 01:05:12.95
あー良く見たら、GTX460もGTX470も、価格レンジは一番ロウスペック帯じゃん
それそんなに性能良くないよ、ひと昔の前のハイスペック帯のグラボに余裕で劣るよ

9600GTって9800GTXの直ぐ下のモデルだよね
結構ハイスペックだったような?
507デフォルトの名無しさん:2012/02/02(木) 02:27:39.55
ベンチではそれらよりも460のほうが余裕でハイスコア

単にCPUが足りてないだけと思う
メッシュのインスタンス化とかでググればいいと思う
508デフォルトの名無しさん:2012/02/02(木) 07:38:21.01
タイマーの分解脳がうんこってるだけじゃないかと予想
509デフォルトの名無しさん:2012/02/02(木) 10:02:44.66
去年の正月にi7 870+GTX470マシンを買ったばかりなのに
もう時代遅れかよorz
510デフォルトの名無しさん:2012/02/02(木) 10:16:47.88
>>504-506
初めから終わりまであちこち間違ってるから調べ直した方がいい
511500:2012/02/02(木) 11:54:37.86
みなさんレスありがとうございます。
>>507
一応、上記の処理落ちする環境の1台のCPUはi7 860ですし、
処理落ちしている状況でタスクマネージャでCPU使用率を調べてみましたが、
20%にも満たない状態でした。

>>508
Sleep()で寝すぎているとかそういうことでしょうか。
頭悪くてすみませんが、詳しく教えていただけないでしょうか。
512デフォルトの名無しさん:2012/02/02(木) 17:19:02.00
タイマーの分解能については一番下の方に書いてある
http://msdn.microsoft.com/ja-jp/library/cc371669.aspx

シングルスレッドのアプリケーションの場合
4コア8スレッドであるi7 860が20%使うというのはかなりのものではないだろか
513デフォルトの名無しさん:2012/02/03(金) 00:22:06.22
かいつまんでいうとtimeBeginPeriod(1) を初期化処理当たりで実行してみてかわらなかったら関係なかったということで
514デフォルトの名無しさん:2012/02/03(金) 07:08:02.17
DirectX9で.fxファイルを使ったエフェクトを勉強しているのですが
fxファイルによるエフェクトを複数重ねる、ということは出来ないでしょうか
というのもすべてのポリゴンで共通なスキンメッシュ用のfxファイルと
それぞれで使い分けたい視覚効果的なfxファイルを分割できないかと思うのです
ひとつのfxファイル内に条件分岐で各々の効果を分けるのは出来るんですが
そうではなくて上記のように分けたい部分だけ分割できるような方法があったら
「このワードで検索しろ」とか大味な回答でもいいので教えてください
お願いします
515デフォルトの名無しさん:2012/02/03(金) 08:19:44.18
韓国が貿易赤字に転落

韓国の知識経済省が1日発表した1月の貿易統計によると、輸出から輸入を差し引いた貿易収支は、19億5700万ドル(約1490億円)の赤字となった。
また輸出額も415億3700万ドルと前年同月比で6・6%減少した。

同省では、長引く欧州の財政危機と原油価格上昇の影響だとしている。
http://www.yomiuri.co.jp/world/news/20120201-OYT1T01150.htm
516デフォルトの名無しさん:2012/02/03(金) 19:26:18.08
動的に変えるってこと?
517514:2012/02/04(土) 12:16:30.13
>>516
私でしょうか、動的に、ということではなくソース分割のようなことがしたいわけです
@頂点シェーダ.fx AピクセルシェーダA.fx BピクセルシェーダB.fxがあったとして
モデルAは@とAを適用モデルBは@とBを適用、という感じにしたいということです
あるいはC頂点シェーダがあって@でスキンメッシュの計算を行っているのなら
CにPOSITIONやNORMALを入力できれば@では考慮すべきBLENDINDICESやBLENDINDWEIGHTを排除して物を考えれると思うのです
今は@AB(上に順ずるなら@の中でCも)を内包した.fxファイルをひとつ用意してモデルA,Bに応じてフラグで分岐してる状態です
fxファイル内で行ってるアウトプットを次のfxファイルでインプットとして受け取るにはどうしたら良いか
そもそもそういうことが出来る仕様なのかどうか、ということになるでしょうか
518デフォルトの名無しさん:2012/02/04(土) 13:33:56.66
>>517
誰もが直面する課題だね。

http://marupeke296.com/ProShader_main.html
このページの「その11(FragmentLinker廃止になったみたいだけど)」や
「シェーダシステム編」が参考になるかもね。
519デフォルトの名無しさん:2012/02/04(土) 17:15:45.16
え?課題っていうほど特殊なことなの?
俺は普通に複数のI3DXEffect使ったり複数のパスやテクニックでやってたけど
それって何か問題あったりするの?
520デフォルトの名無しさん:2012/02/04(土) 17:37:12.99
シェーダプログラムを全通り作ればよい
命令と定数があるだけだから1万種類つくってもメモリは数MBですむでしょう
521デフォルトの名無しさん:2012/02/04(土) 18:03:56.71
俺もいろいろ工夫してみたけど
頂点ストリームで必要な分だけ送るぐらいなもんで
後はシェーダで関数化に力いれるぐらいで
他はベタ書きで全通り作ったわ

たしかプロジェクトで200個ぐらいになった糞ゲだったけど
522デフォルトの名無しさん:2012/02/04(土) 20:20:01.31
シェーダマクロを作って切り替えてるよ。
いっそ柔軟性のあるコンパイラを自作した方が早いかもしれないけどね。
523デフォルトの名無しさん:2012/02/04(土) 20:26:55.30
うん、シェーダ生成用ツールプログラムを作って、開発者側は組み合わせの柔軟性を享受できるようにして
実コードは>>520-521が言うように全組み合わせをぶち込んで走らせてやればイイと思う。
524デフォルトの名無しさん:2012/02/05(日) 00:32:24.98
DirectX11ならシェーダー内で仮想関数使えるからこの手の問題は気にしなくていい。
525514:2012/02/05(日) 10:31:47.84
>>518-524
ありがとうございます
要は>>523さんの言ってることを内部的に出来ないか、と言う事ですね
単純コピーで書くとひとつを直すと他も全部直すという事になりますが
>>523さんの言うような仕組みがあればそれのロスは大幅に削減できますね
あるいは>>518さんの紹介にある手段を利用するか、これが今のところ私の初期のイメージに近いです
>>522さんの話は今の私にはわからないので(>>523さんと同じことかな?)勉強します
今回の場合、実行速度やメモリ量は度外視の話なので現実にはそれらと
シェーダプログラム自体の作成効率などを天秤に掛けた上で方法を選択すべきでしょうね
プログラムも量が少なければ関数化などしないですしね
おそらく意見の多い全通り作ってしまうというのがそういう意味で一般的なのだと思います
簡略化(文章量としての軽量化)を重視してそういう風には深く考えていなかったのでとても参考になりました
DX11はDX9は確かに古いですが出来ることに関しては当時のハードをはるかに上回る物を秘めていて
最近のハードでも動作を再現し切れないものがあるのに今急いで移行する必要があるのか、と考えています
ただ下位互換とは違うのかもしれませんがそれに似た要素を多く含んでるようなので
注目はした方がいいのかもしれませんね
長文レス失礼しました、多くの意見が頂けてとても参考になりました、ありがとうございます
気が向いたら>>478のことも思い出して頂けるととても助かります
526デフォルトの名無しさん:2012/02/06(月) 10:06:39.70
デスクトップ上に直接文字を描画してスクロールテロップとして流したい
とかいう用途にはDirectXは使えるのでしょうか?
527デフォルトの名無しさん:2012/02/06(月) 10:12:43.86
朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが
民主党が用意した反日工作会社は朝8時過ぎから25時半まで工作を行っている
工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。
528デフォルトの名無しさん:2012/02/06(月) 10:38:30.45
>>526
君にはまだDirectXは早いようだな
やろうと思えばDirectXじゃなくても出来るぞ。そのぐらい。
529デフォルトの名無しさん:2012/02/07(火) 05:36:40.17
DirectX11に対応してないグラボは問答無用で切り捨ててOK
530デフォルトの名無しさん:2012/02/07(火) 22:19:41.92
その場合、WindowsXPも切捨てってことですよね??
531デフォルトの名無しさん:2012/02/07(火) 22:33:57.05
当たり前だろ何年前のOSサポートする気だよ
532デフォルトの名無しさん:2012/02/07(火) 22:49:58.25
でもWinXPの人って半分以上いません??
533デフォルトの名無しさん:2012/02/07(火) 23:14:40.94
たくさんの人に使ってもらいたいのならDX9だな
534デフォルトの名無しさん:2012/02/07(火) 23:26:24.90
でも、デバイスロスト関係の面倒がなかったり(9の最後のほうでなくなったけど)、
ハードウェアPCFが標準で使えたり、DX11のほうがイイなぁ、と思えることあるんだよね。

あ、モデルフォーマットやアニメーションを自分でやらんといかんのがクソめんどくて、
一気に敷居が上がった気もするが。
535デフォルトの名無しさん:2012/02/07(火) 23:43:05.55
面倒なら楽になるソフト作ればいいじゃない。
それが俺たちプログラマ。

敷居が上がったぶん産廃並のゴミを垂れ流すクソガキが減って良いと思われる。
536デフォルトの名無しさん:2012/02/07(火) 23:54:26.50
>>535
マリーアントワネットかとオモタw

なるほど、自分で作ってナンボだよね。
537デフォルトの名無しさん:2012/02/08(水) 00:08:22.51
>>534
9のサイトでなくなったってそのあたり詳しく教えて
538デフォルトの名無しさん:2012/02/08(水) 00:09:05.43
サイトじゃなくて最後だった
539デフォルトの名無しさん:2012/02/08(水) 01:17:27.27
Vista以降で利用できるD3D9Exデバイスが基本的にデバイスロストしないって話じゃね
Direct3DというよりWDDMの仕様に伴う挙動だと思ったけど

D3D9無印デバイスだとVista以降でもデバイスロストをエミュレートするんだっけ?
540デフォルトの名無しさん:2012/02/08(水) 08:59:12.66
■K-POPは大赤字だった
http://economy.donga.com/total/3/01/20120206/43816231/1

収入 7億9400万ドル
支出 10億1780万ドル

収支 2億2380万ドルの赤字

6日韓国銀行国際収支統計によれば、昨年我が国の個人・文化・娯楽サービス収入は7億9400万ドルで、前年に比べ24.7%増えた。
関連統計の集計が始まった1980年以来、最も多い金額だ。

しかし、今のところは文化産業で入ってきたお金よりも、出て行ったお金がさらに多く、個人・文化・娯楽
サービス収支は相変らず赤字を見せている。個人・文化・娯楽サービス支出は10億1780万ドルだった。

この結果、個人・文化・娯楽サービス収支は-2億2380万ドルで、
今まで一度も黒字を出すことはできていない。
541デフォルトの名無しさん:2012/02/08(水) 09:21:48.80
DirectXでも文字列描画って遅いんですね。
びっくりしました。
542デフォルトの名無しさん:2012/02/08(水) 09:29:08.46
そりゃ文字列描く機能無いから
543デフォルトの名無しさん:2012/02/08(水) 09:44:35.03
自分のやり方が悪いのにまるで他人の責任みたいに言う奴って、
ずっと成長しないままなんだろうね。
544デフォルトの名無しさん:2012/02/08(水) 10:02:53.85
そうやって教えてやる必要すらない訳だが
545デフォルトの名無しさん:2012/02/08(水) 12:13:42.64
>>539
ありがとう。
EXならデバイスロストしないってことなのか。
546デフォルトの名無しさん:2012/02/08(水) 14:24:39.61
GPUに漢字ROMでもない限り速くはならない
547デフォルトの名無しさん:2012/02/08(水) 14:33:06.76
GPUにROMって、だったらVRAMにイメージを展開しておけばいいだけの話になるだろう。
もうアホすぎて話にならない。
548デフォルトの名無しさん:2012/02/08(水) 18:41:24.47
それはソフト処理なので遅い
549デフォルトの名無しさん:2012/02/08(水) 20:11:45.67
DX9は文字出すAPIがあって重宝したけど、
DX11ではなくなってるんだっけ?
文字はテクスチャで用意して切り換えながら描画するのがベストかね?
550デフォルトの名無しさん:2012/02/08(水) 20:37:36.49
DX11ではこれ使ってる
ttp://fw1.codeplex.com/
551デフォルトの名無しさん:2012/02/08(水) 22:51:43.09
なかなか良さそうだな
自前でDirectWirteと組み合わせてたけど、DX10経由だから結構ごちゃごちゃなんだよなぁ

もっとも次から直接呼べるようになるんだっけ
552デフォルトの名無しさん:2012/02/08(水) 23:48:24.32
DWrite<->D3D11は、Metroサンプル読むと共有サーフェイス使わなくても済むようになってるね

Vista/7にはバックポートしなさそうだけど・・・
553デフォルトの名無しさん:2012/02/09(木) 20:42:10.43
Vistaはサポート切れだからどうでもいいけど7は何とかしてほしい
554デフォルトの名無しさん:2012/02/09(木) 22:30:05.12
freetypeとか使ってる人いる?
555デフォルトの名無しさん:2012/02/10(金) 00:06:18.49
小さいフォントだとGetGlyphOutlineがクソ汚いんで使ってる
556デフォルトの名無しさん:2012/02/10(金) 13:03:43.00
DirectX9からDirectX11まで共通で使えるDirectX用フォント描画専用の
ライブラリをMITライセンスかBSDライセンスで誰か作って公開してください
お願いします
557デフォルトの名無しさん:2012/02/10(金) 13:10:32.59
自分で作って公開すれば解決。
がんばれ。
558デフォルトの名無しさん:2012/02/10(金) 15:05:40.28
D3DXFont
559デフォルトの名無しさん:2012/02/10(金) 18:46:58.54
【中国BBS】ドイツ車が良いと思っていたけど、日本車も良いね!

「前はドイツ車がいいと思っていたけど、日本車もいいね!」というスレッドが立てられた。スレ主のこの意見に対して様々な感想が寄せられている。

● スレ主:日月宗近
  アメリカとオーストラリアでの販売額は日本車が1番みたいだし。

● satay醤
  日本車はボディが薄い。だからぶつかるとすぐに変形する。でもその分軽くて燃費がいい。

● 老太太説相声
  ↑どんなに変形しても韓国よりはいい。

● CF歩槍狂人
  そうだね。ドイツ車はエコじゃない。

● dr007haha9
  ドイツ車はいいよ〜。日本車そのものは悪くはない。

● 強力檸檬鯊
  車全体の安全性は、フレームと全体の構造にかかっている。外側の厚みは関係ない。
  ドイツ車の外側は日本車よりも平均で1から 1.5ミリ厚いが、ユーロNCAPの衝突テストでは日本車の成績はドイツ車よりも常に上だ。
  日本車の衝撃吸収力が勝っているということだ。でも中国で生産する日本車は質の悪い材料を使い手抜きしている可能性は排除しない。

● 戈登謝徳華
  ドイツ車の方が日本車よりも良いというのは紛れもない事実。

● ◇只愛羅莉◇
  日本製のものって好きだな。使い勝手がいいし。なんでボイコットしなきゃいけないのかね。エコならそれでいいじゃないか。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0210&f=national_0210_110.shtml
560デフォルトの名無しさん:2012/02/10(金) 23:46:46.41
>>文字
DX9ならグラボ最大のテクスチャに書き溜める方式が良いと思うが、
DX10以降がまったくわかんね。余計な事しないほうが早い可能性もあるし。
561デフォルトの名無しさん:2012/02/13(月) 04:48:55.84
先輩・・・(C++の単位落とすのは)まずいですよ!
562デフォルトの名無しさん:2012/02/13(月) 07:12:01.38
今気づいた誤爆
563デフォルトの名無しさん:2012/02/14(火) 01:07:29.65
XファイルをDrawIndexedPrimitiveで描画できるようになったのですが次にアニメーションをしようとしたら今度はConvertToIndexedBlendedMeshというのを使ってボーンを考慮したメッシュに変換みたいなことをしないといけないみたいです
もしかしてアニメーションさせる場合はまたメッシュに入れて変換後にDrawSubsetで表示しないといけないですか?
それかConvertToIndexedBlendedMeshに換わるものを自分で作らないといけないですか?
XファイルをDrawIndexedPrimitiveで表示してみようっていうのはほとんど意味のない行為ですか?アニメーションはXファイルの中に入れるみたいなのじゃなくて別管理で作成します。
564デフォルトの名無しさん:2012/02/14(火) 01:58:19.34
そんなの実装方法によるだろ
しかもアニメーションは別ファイルってことは独自フォーマットなんだろ?
だったら自分がやりたいように組めばいいじゃん
565デフォルトの名無しさん:2012/02/16(木) 01:58:40.36
テクスチャーとかメモリを使う場合なんですけど
失敗するまで使っていく方針でいいんでしょうか?

MSDNではこんななんですが・・・
>リソースを作成し、"メモリー不足" のエラーをチェックしたうえで、
>テクスチャーを縮小するようにしてください。
566デフォルトの名無しさん:2012/02/16(木) 04:14:33.85
はぁ? なに言ってんのお前
頭悪すぎしゃね?
そんなもんCでマロックとか使うときと同じだろうが低脳
雑魚すぎ、基礎からやり直せゴミ
567デフォルトの名無しさん:2012/02/16(木) 05:17:31.05
【中国BBS】日本と韓国のことを悪く言うのはやめようぜ!

「日本と韓国の事を悪く言うのはやめようぜ!」というスレッドが立てられた。
スレ主のこの意見に関して中国人ネットユーザーが議論を交わしている。

● スレ主:vdesign2010
  嫌韓の人はみな出まかせを言っては韓国を罵る。そんなことをするより、中華振興を考えるべきだ。
韓国の悪いところばかり挙げて、まるで中国が良いみたいな言い方だ。よその国を貶めることはもっとも恥ずかしいことだ。
韓国のことを悪く言うのは中国人の心の小ささを示すことになる。われわれの国にはまだ多くの不足があるのだから、
韓国のことを悪く言う資格などない!

● 逆天弑神の幻想
  日本はまずまずだろ。挑発的な右翼以外は。悪く言っているのは右翼たちだ。右翼もどきの人が一番罵るに値する。
韓国はもっとも恥知らずで罵るに値する。

● 福田空
  頼むからスレ主は日本と韓国を並べて語るのをやめてもらえないか?スレ主の意見には一理あるけど、
オレは韓国に行ったことがある。そして心から韓国が嫌いになった。理由は言わないが、みんな分かるよな。

● 金鋼山勇士
  スレ主の意見に対してはとりあえず何も言わないでおく。だが、韓国人と韓国に対して
オレが抱く嫌韓の情は誰も阻止することはできない!俺のハンドルネームがその立場を表明している!

● 暴風幻想
  韓国が自己満足のために内容の乏しい発言をしなければ、韓国を相手にすることはないのに。

● 星辰之涙
  韓国はキライで日本が好き。事実に基づいて発言すればそれは客観的意見だ。
事実に基づいていなければ、それは罵(ののし)りになる。オレは罵ったことはないが、客観的意見を述べている。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0215&f=national_0215_037.shtml
568デフォルトの名無しさん:2012/02/16(木) 06:44:34.08
>>564
実装方法が「Xファイルにアニメーションは別ファイル」だと思うのですがそれを問われるとどう答えていいのか困ります
またアニメーションが別ファイルなだけでボーン入りXファイルのことは独自フォーマットとは言いませんよね?
その上で だったら自分がやりたいように などと言われても何も情報が増えていないので困ります

>>566
同じ人でしょうか、これも同じ雰囲気に感じるのですが

ひし形の面積を求める式は「対角線×対角線÷2」でいいのでしょうか、と聞いたら

「はぁ? なに言ってんのお前
頭悪すぎしゃね?
そんなもん平行四辺形と同じだろうが低脳
雑魚すぎ、基礎からやり直せゴミ」

と答えてるようなもんだと思うんですが
569デフォルトの名無しさん:2012/02/16(木) 09:02:22.63
メインメモリ系のmallocに失敗する状況なら起動しないようにします

MSDNは続きがあって
>たとえば、テクスチャーの上位ミップレベルを削除することが考えられます。
とか言ってます

VRAMはシェーダ、圧縮やUMAの関係で空き容量とCreateしたいリソース容量が等価ではないのは分かるんですが
環境の派生状況が、なにげに厳しいことになっているので
どうしていますか?
570デフォルトの名無しさん:2012/02/16(木) 14:20:27.25
アプリ仕様と最低動作環境を調整する。
571デフォルトの名無しさん:2012/02/17(金) 13:42:19.20
すいません、質問させて下さい
頂点シェーダに渡す際の引数の構造体なんですけど、
struct VS_INPUT
{
float4 Pos : POSITION;
float2 Tex : TEXCOORD0;
float3 LocalNormal : NORMAL;
float4 Col : COLOR0;
float4 W : BLENDWEIGHT;
};
こんな感じなんですけどfloat4 Col : COLOR0;の位置を変えると
真っ黒になったり真っ白になったり、ていうかそもそもマテリアルのディフューズ色が反映されないんですけど
これって何かと揃えたり連動させなければいけないのでしょうか?
572デフォルトの名無しさん:2012/02/17(金) 14:03:11.16
書き忘れました、DirectX9です
573デフォルトの名無しさん:2012/02/17(金) 22:12:26.48
DirectX使用のサンプルゲームダウンロードして画像オブジェクト編集しようと
ペイントで開いて線書き足そうとしてもかけないんだけど何故ですか?
画像はbmp形式です。消しゴムや、塗りつぶしは何故か出来ます。
574デフォルトの名無しさん:2012/02/17(金) 22:39:32.64
わかりません
575デフォルトの名無しさん:2012/02/18(土) 02:20:59.20
>>571
頂点宣言のオフセットあってますか
576デフォルトの名無しさん:2012/02/18(土) 08:46:25.33
>>575
頂点宣言はこんな感じでしています
D3DVERTEXELEMENT9 vtxElem[] =
{
{ 0 , 0 , D3DDECLTYPE_FLOAT3 , D3DDECLMETHOD_DEFAULT , D3DDECLUSAGE_POSITION , 0 },//位置
{ 0 , 12 , D3DDECLTYPE_FLOAT3 , D3DDECLMETHOD_DEFAULT , D3DDECLUSAGE_BLENDWEIGHT , 0 },//重み
{ 0 , 24 , D3DDECLTYPE_FLOAT3 , D3DDECLMETHOD_DEFAULT , D3DDECLUSAGE_NORMAL , 0 },//法線
{ 0 , 36 , D3DDECLTYPE_FLOAT2 , D3DDECLMETHOD_DEFAULT , D3DDECLUSAGE_TEXCOORD , 0 },//テクスチャ座標
{ 0 , 44 , D3DDECLTYPE_D3DCOLOR , D3DDECLMETHOD_DEFAULT , D3DDECLUSAGE_COLOR , 0 },//デフューズ
D3DDECL_END()
};
何か間違ってるでしょうか・・
それとも、描画時に必要何かをしていないのでしょうか
SetMaterialメソッドでマテリアルの登録をしているのですが
577デフォルトの名無しさん:2012/02/18(土) 09:21:52.84
あ・・ひょっとしてこれ、
D3DXLoadMeshHierarchyFromXで作成したものにシェーダを使うには
それ専用の頂点宣言が必要だったりするんでしょうか
578デフォルトの名無しさん:2012/02/18(土) 14:11:17.04
>>576
位置情報ってシェーダー側がfloat4なのに構造体宣言は宣言はfloat3相当じゃないか?
アラインメントがズレまくりの予感。
579デフォルトの名無しさん:2012/02/18(土) 14:14:29.80
あ、ほんとだ。
580デフォルトの名無しさん:2012/02/18(土) 16:38:47.01
だろ
581デフォルトの名無しさん:2012/02/18(土) 21:06:52.89
>>578
やはり頂点宣言とシェーダ側の型は合ってなければいけないのでしょうか?
あるサイトのサンプルで、頂点宣言はfloat3なのにシェーダではfloat4で受け取ってたりしたので
そういうのもアリなんだと思ってたんですが・・

あと、実はこれ最初頂点宣言にBLENDWEIGHTを入れてなかったんですね
にも関わらずスキンメッシュが成功していたので、ここは関係ないのか・・・と思ってたんですが
それはたまたま上手くいっていたってだけなのでしょうか
もう一つ、最初の方はテクスチャのUV座標も上手く出力してくれずテクスチャも貼れてなかったんです
四苦八苦して、よく分からないけど表示されるようになったんです
でも何が原因でテクスチャが出なかったのか、そしてなぜ表示されるようになったのか全然わからなかったんですが

この辺からなにか可能性のある間違いとかって、分かりませんでしょうか・・
582デフォルトの名無しさん:2012/02/18(土) 21:50:48.51
http://msdn.microsoft.com/ja-jp/library/bb944006(v=vs.85).aspx
ここの「不均一なシェーダ入力とセマンティック」からさらに行って、
"頂点ストリーム内のデータの成分が、対応するシェーダー データ型よりも少ない場合、
不足している成分は 0 に初期化されます (1 に初期化される w を除きます)。"
ってある。
583デフォルトの名無しさん:2012/02/19(日) 04:08:08.93
初投稿失礼します
今DirectXでRokdeBoneのスキンメッシュアニメーションを出力してみたのですが
うまく出力されてないみたいでMASHVIEWで表示しようとすると Unable to load the specified file
というエラーが出てしまい XファイルのMASHの変数名などをいろいろかえてみたのですがうまくいかず・・・
どなたか対処法知っている方お願いします


584デフォルトの名無しさん:2012/02/19(日) 15:37:44.54
>>583
MASHが何か分からない意味不明
ゴミみたいな書き込みでレス消費するんじゃねえよゴミ
頭の悪いゴミは失せろ
585デフォルトの名無しさん:2012/02/19(日) 16:25:49.22
>>583
英数字もまともに読み書きできない奴がプログラム?
お前みたいなヴァカがいるからゆとり世代ってバカにされるんだろ、回線切って家から一歩も出るなよ迷惑。
586阿呆発見 晒しage:2012/02/19(日) 17:08:57.09
587デフォルトの名無しさん:2012/02/19(日) 17:46:08.66
馬鹿には無理
588デフォルトの名無しさん:2012/02/19(日) 18:23:24.50
>>584-587
分からないならレスするなよ池沼
はい、わかる人だけお願いします
589デフォルトの名無しさん:2012/02/19(日) 18:30:52.47
590デフォルトの名無しさん:2012/02/19(日) 18:36:44.28
分かる人だけって・・・そういうの差別だと思います
分かる人も分からない人もみんなレスしていいと思う
591デフォルトの名無しさん:2012/02/19(日) 20:34:36.39
いいと思うね
592デフォルトの名無しさん:2012/02/19(日) 21:12:25.23
Twitterのほうで教えてもらえたのでもういいです
593デフォルトの名無しさん:2012/02/19(日) 21:48:08.91
>>590-591
>回答する人も、質問する人も必ず読んでください
>4.余計な雑談は不要ですよ
594デフォルトの名無しさん:2012/02/19(日) 21:49:53.15
595デフォルトの名無しさん:2012/02/19(日) 21:54:11.30
昭和天皇の葬儀は凄かった。
世界各国から、国家元首・使節・大使等、164ヶ国(EC委員会を含む)27機関の700人に及ぶVIPが弔問に来て。

世界の王族はもちろん、例えばアメリカやフランスは現役の大統領が直々に葬儀に参列。
ユダヤ国家イスラエルからも大統領。
(逆に、大統領の葬儀に天皇が参加した例は無いはず)

ローマ法王庁からは、枢機卿が参列。
(ローマ法王の葬儀に日本からは川口首相補佐官を派遣して済ませた過去)


外務省サイト参列者リスト 164ヶ国(EC委員会を含む)27機関
http://www.mofa.go.jp/mofaj/gaiko/bluebook/1989/h01-shiryou-5.htm

棺への拝礼順リスト
ttp://upa-rupa.seesaa.net/article/9085751.html

とにかく、昭和天皇の葬儀の参列国の数と参列者の格が半端なかったのは事実。

ちなみに、アメリカのケネディ大統領葬儀では
92か国から首脳・政府高官等220人が参加した程度。
※Wiki『ケネディ大統領暗殺事件』より。
596デフォルトの名無しさん:2012/02/19(日) 22:18:13.43
ネトウヨうぜぇ。日本人で一番嫌われてるよな。
597デフォルトの名無しさん:2012/02/19(日) 23:45:32.66
>>583=ゴミ
598デフォルトの名無しさん:2012/02/20(月) 06:07:59.67
>>596
嫌われてるよね
599デフォルトの名無しさん:2012/02/20(月) 07:55:47.34
ネトウヨ 「キム・テヒですか、あの竹島っていう領土を占拠している国の女優さんをですね」

ロート社員「はい」

ネトウヨ 「CMに使うってことはロート製薬さんは」

ロート社員「ええ」

ネトウヨ 「竹島は韓国の領土って認めるんですね」

ロート社員「いえ、そういったことはお答えできませんので・・・」

ネトウヨ「何で答えられないんですか、韓国領土って認めるんですか」

ロート社員「申し訳ございません、お答えできません」

ネトウヨ「じゃあいいです、反日企業のロート製薬は今後一切買いませんから
     これからネットで拡散したり、デモやビラ配りをたくさんやりますんで」


http://www.youtube.com/watch?v=Y_yNdVqdb1E
600デフォルトの名無しさん:2012/02/24(金) 07:25:01.37
スンデ(ザンチュンドン)250g
http://www.amazon.co.jp/%E3%82%B6%E3%83%B3%E3%83%81%E3%83%A5%E3%83%B3%E3%83%89%E3%83%B3-%E3%82%B9%E3%83%B3%E3%83%87-250g/dp/B004Q52O22/ref=pd_sim_sbs_fb_1
http://ec2.images-amazon.com/images/I/41RL8I%2BvQoL._SL500_AA300_.jpg


食糞は韓国が世界に誇る独自の伝統文化です
スカトロジーが文化なのです
世界唯一ですw  ぜひ世界中に韓国のこの貴重な伝統文化を知ってもらいましょう

・「嘗糞(しょうふん、??)」とは、人間の糞を舐めて、その味が苦ければその人物の体調は良くなっており、甘ければ体調が悪化していると判断する。
・「嘗糞憂心」、父親が病気になったので帰郷すると医者に、糞を嘗めて見ないと状態が解らないと言われ、その味が甘かったので憂いたと言う故事。
・こうした風習は朝鮮時代まで続き、日韓併合後に禁止された。
・「嘗糞遊戯」、嘗糞が娯楽化し、人の糞を舐めてその味で誰の糞であるか当てる遊び
・嘗糞は「お世辞の言葉」としても使われ、お世辞の度が過ぎる輩の事を「嘗糞之徒」と言う。
・「人中黄」、冬期に竹筒に人糞と甘草を交ぜ地中に埋め、夏期に取り出し乾燥させて粉末にしたもの
・朝鮮王の中宗は、解熱剤として人糞を水で溶いたものを飲んでいたという(東亜日報 2005年8月22日)。
・20世紀に入っても人間の大便を民間医術に使用する例があり、『最近朝鮮事情』には重病人に大便を食わせる例が載せられている。
・栄養不良の際には、十二・三歳の童の小便を服する
・内臓病には犬の糞水を1日二三回服用する、または農家にて永年使用せし小便溜の桶を煎じて飲ませる(排泄物に神秘性を感じる風潮の影響)
・高熱の場合には、解熱剤として野人乾水(大便を水で溶いた物)を飲用する(李氏朝鮮時代・中宗)
・梅毒の場合には、竹筒に焼酒(焼酎)を入れ、注ぎ口を蝋で塞ぎ、便壺の中で半年間漬け込む。便壺から取り出し竹筒をよく洗い、中の酒を飲用に用いる。半年以上の服用が理想的。
・肌荒れには、小便を肌に塗り込む、特に小児の小便を重用する
・精力強化のためには、カイコの糞を食べる
・早漏の対策には、馬糞を食べる(馬の精力にあやかった呪術的意味合いが濃い)
601デフォルトの名無しさん:2012/02/24(金) 23:59:55.13
スレチのコピペするやつに不幸が訪れますように
602デフォルトの名無しさん:2012/02/25(土) 01:53:58.42
ほんとうぜーわ
603デフォルトの名無しさん:2012/02/25(土) 22:17:46.09
D3DXCreateTextureFromFileExでノベルゲーム用の縦長の立ち絵を読み込みたいんですが、
引数いじっても、途中で切られるか・横に引き伸ばすかで四角(2の累乗?)になってしまうのですが、どうすればいいですか?
604デフォルトの名無しさん:2012/02/25(土) 22:34:24.25
どうするもこうするもぴったりの画像用意しろよ
どっちにしても余白は詰められない
メモリ上には512x1024だかそんなサイズでおかれる
ドカンと真ん中に配置してあげなさいよ
605デフォルトの名無しさん:2012/02/25(土) 22:44:31.72
>>604
何とかできると思って調べてました。
画像を合わせるか、あらかじめサイズ調べてwideth heightを大きめに指定、で取りあえず表示できそうです。
ありがとうございました。
606603:2012/02/26(日) 10:23:50.32
不特定の人がいろんな画像を表示できるようにしたくなったので、
D3DXGetImageInfoFromFileで縦横の長いほうをD3DXCreateTextureFromFileExに渡すことにしました。
607デフォルトの名無しさん:2012/02/26(日) 11:59:20.88
正方形である必要はないと思うけど・・・?
2の累乗であればいいわけよ
608デフォルトの名無しさん:2012/02/27(月) 11:11:43.14
ツール系なのか?
ならCImageからLockRectが便利だと思う
IDirect3DTexture9::LockRect
#include <atlstr.h>
#include <atlimage.h>

CImageは、開発版としてBMP/DIBとか使いやすい画像系式にでも変換して
リリース版、配布版では使わないようにすれば
互換性とかも気にしなくてよくなるよ
あとアライメントはパフォーマンスにガチで影響するから重要だと思う
609デフォルトの名無しさん:2012/02/27(月) 15:32:52.22
便利だね
610デフォルトの名無しさん:2012/02/28(火) 07:06:12.70
マルチスレッドで画像が動くタイプのローディング画面作ったんですが
60fでPresentするとローディング中Present切った場合に比べて3倍の時間かかります

何かいい方法ないですか?
やはり動かない1枚絵を1回だけPresentするしかないでしょうか
611デフォルトの名無しさん:2012/02/28(火) 22:13:11.78
>>610
無駄に排他処理入ってるとか?
排他処理結構コストかかるぞ。

他に考えられるのはCPUがシングルコアだとか。

ロード画面を30fpsにするとかもいいんじゃない?
612デフォルトの名無しさん:2012/02/28(火) 22:19:02.12
>>611
CPUは4コアですね
排他処理は作成したスレッドの頭と最後で1回しか呼んでない
613デフォルトの名無しさん:2012/02/28(火) 22:31:40.95
>>611
30fpsは3倍から2倍まで改善しました
614デフォルトの名無しさん:2012/02/28(火) 22:34:46.67
>>612
それは、あれかな。
スレッド動いてる間は排他処理で他の処理が止まってるってことかいな?
615デフォルトの名無しさん:2012/02/28(火) 22:42:48.03
>>614
いいえ
メインループ(ローディング描画はここ)と読み込みスレッド(データ読み込みはここ)両方動いています
616デフォルトの名無しさん:2012/02/28(火) 23:17:12.75
問題の切り分けでPresentとロードの関係まで分かってるんだよなぁ。
うーん・・・何だろうな、fps落としたらかなり改善されたんだから関係は絶対あるっぽいね。
メモリ不足とかはない?
617デフォルトの名無しさん:2012/02/28(火) 23:21:01.62
うーん。ディスクアクセスがボトルネックになってるとかではないのかなぁ。
なんか帯域足りてないような気がするようなしないような・・・。
うーむ。
618デフォルトの名無しさん:2012/02/28(火) 23:26:53.70
ロード中に描画しているから負荷かからないことはないのはわかっているんだけど
3倍はさすがに負荷かかりすぎだろってことでいい方法ないか質問したんです

実際同じような事やったことありますか?
その時のローディング時間の増え方教えて欲しいです
619デフォルトの名無しさん:2012/02/29(水) 06:14:53.80
Presentで描画待ちかかってるときにロードでグラボにアクセスしようとしてなんかおきてるとかね?
仮に読み込みを一切関係ないただのループにしてみたらその現象はなくなる?
620デフォルトの名無しさん:2012/02/29(水) 09:10:35.67
>>619
スレッド作ってPresent切った場合とスレッド作らずメインループ中で読み込んだ場合の読み込み時間は一致してます
621デフォルトの名無しさん:2012/02/29(水) 19:57:57.83
>>620
同じ実行ファイル内のスレッドで同じグラボへのアクセスだから
2コア使えないだろうから一致してたら逆におかしいんじゃないか?
622デフォルトの名無しさん:2012/02/29(水) 20:25:42.02
>>621
メインループ内で読み込む場合は初期化から帰ってくるまでメインループに復帰しない(Present呼ばれない)ので
スレッドを作ってPresent切る場合とほぼ同条件なので一致するはずです
メインループ内で読み込むほうがスレッド作ってないので理論上ちょっと早くなるかもしれないですが
623デフォルトの名無しさん:2012/02/29(水) 20:38:46.49
原因わかりました
D3DPRESENT_INTERVAL_DEFAULTだからとフレーム処理してないのが原因でした(余裕があるときは60回以上Present呼ばれてる?それともPresent待ちの時に他のスレッドまで止めてる?)
D3DPRESENT_INTERVAL_IMMEDIATE用に書いたフレーム処理をしたらうまくいきました

ご迷惑をおかけしました、ありがとうございます
624デフォルトの名無しさん:2012/02/29(水) 23:01:36.12
スレ違いだったら申し訳ないが…
Xファイルのフォーマットについてご教示願いたい。

RokDeBone2で吐いたXファイルを自前でパースして、
独自フォーマットにしようとしてるんだが、
XファイルのAnimationKeyの移動区分の値って、具体的にどんな値が入るんだ?

関連付けられてるフレームの移動量だと思ってたんだが、
まったくアニメーションさせていなくても値が0ではない。 これは一体…。

申し訳ないが、ご教示宜しくお願いいたします。
625デフォルトの名無しさん:2012/03/01(木) 20:49:45.88
Windows8CPでいろんなゲーム走らせたけど軒並みfpsが上がってるな
何が起こってるのか
626デフォルトの名無しさん:2012/03/01(木) 21:10:38.70
DirectXに都合のイイ改良があったのかな??
627デフォルトの名無しさん:2012/03/02(金) 05:37:25.73
>>623
あれからずっと考えてるんだけど、
マルチスレッドならPresentの影響受けなくない?
排他まわりがどうしても気になる。

もしまだ見てたらロードしてるデータの種類(txt、jpg、x等)とそれぞれの容量をざっくりでいいから教えてもらえたら嬉しい。
検証してみたい。
628デフォルトの名無しさん:2012/03/02(金) 06:08:50.92
>>627
なんで受けないと思うの?
マルチスレッドは魔法かよw
629デフォルトの名無しさん:2012/03/02(金) 19:45:54.64
>>624
それはいわゆるボーンの長さが入ってると思うよ(RDB2の場合)
630デフォルトの名無しさん:2012/03/03(土) 05:48:51.56
>>629
恐ろしく簡潔で明快な説明だ。
すっきりしたよ、ありがとう。

蛇足だけど、
RDB2の方言(FrameTransformMatrixが一個ずつズレる)ので色々と混乱したくさい。

>(RDB2の場合)
このヒントが無かったら、今頃…。
631デフォルトの名無しさん:2012/03/03(土) 15:45:41.24
>>628
質問者の言う通りなら垂直同期待ちの間、ディスクI/Oも止まってることになる。
待ってるってことはその間パソコンは色々暇なはずだ。
なんでディスクI/Oまで止まるんだよ。
ナウローディング描画のスレッドAが止まってる間にロード処理のスレッドBが止まってんの?

時間軸で見たらこんな感じだろ。
A:動動動動停停停停動動動動停停停停動動動動停停停停
B:動動動動停停停停動動動動停停停停動動動動停停停停
何の同期だよw
632デフォルトの名無しさん:2012/03/03(土) 16:46:17.07
>>631
2コア動作はどう考えてもしないだろ?
したら1コアで処理を小分けにして実行するしかないんだよ
1フレにかかる処理と描画が間に挟まるから
最大まで時間をうまくまわして確実に待ちの時間を最小にしたとしても
ローディングの時間+1フレにかかる処理と描画時間xローディング中に処理したフレーム数
になるはず
スレッドを2つにしてもアクセスしてるメモリが同じだから
魔法はおきない
結局処理を小分けにして実行してるだけ

これがわからないならマルチスレッドなんて使わないほうがいいんじゃない?
っていうかよほどの馬鹿でもなきゃ理解できるだろ
633デフォルトの名無しさん:2012/03/03(土) 17:17:25.65
http://msdn.microsoft.com/ja-jp/library/cc464185%28v=vs.71%29.aspx

Nフレームで読み込むって決めてあげればスレッド立てなくても
ローディングできてしかも超早いよ!
634デフォルトの名無しさん:2012/03/04(日) 05:58:29.39
すみません。 木や草など透明色が有るポリゴンが層を成すメッシュは
ポリゴン1枚ずつに分解してソートして描画しないと、正常な奥行きで描画する事は不可能なのでしょうか?
635デフォルトの名無しさん:2012/03/04(日) 08:35:21.08
>>632
631の書き方が悪いだけで質問者の主張どおりなら

A: 動 動停停停停動 動 停停停停 動 動停停停停
B:動 動 停停停停 動 動停停停停動 動 停停停停

ってことじゃねーの、って631は言いたいんだろ
Aが描画と垂直同期ならBはAが垂直同期待ちしてる間Bのターンずっと回ってこねーのかって話だ
632はケチつけるならその程度のこと理解してから書き込めよ
理解してるつもりならお前の言ってる事はおかしい
これを踏まえて質問者の出した結論のひとつなら描画前の処理が軽いほど読み込みに時間がかかるってコトだぞ
そもそも最初の質問がこれだろ
この場合632がpresentが他のスレッドまで止めるかそこで処理を占有するって言う根拠を示せば解決するんだよ
おれは知らんから後は博識な632に任せる
636デフォルトの名無しさん:2012/03/04(日) 10:18:01.78
>>635
>Aが描画と垂直同期ならBはAが垂直同期待ちしてる間Bのターンずっと回ってこねーのかって話だ
だからそれは

>1フレにかかる処理と描画が間に挟まるから
>最大まで時間をうまくまわして確実に待ちの時間を最小にしたとしても

って書いてるじゃん
637デフォルトの名無しさん:2012/03/04(日) 10:46:13.31
ローディングはスレッドで分けないほうがいいぞ
1フレあたりに読み込む量を明確にすればゲームループ内でもできる

http://msdn.microsoft.com/ja-jp/library/cc464175%28v=vs.71%29.aspx

スレッドにしてしまうと1ms必ず消費してしまう
638635:2012/03/04(日) 16:00:57.74
>>623の発言の解釈によるのかもしれないけど
「同じ60fps」で動いてるプログラムに意図的にフレーム処理(これ一般的な言い回しなの?描画待ちのこと?)
を入れる場合と入れない場合でロード時間変わるって言ってるんだから
そこのコストは関係ないんじゃないか?
632の言ってるのは同じ内容60fpsで表示するより30fpsで表示する方が読み込み速いに決まってるだろって話でしょ
フレーム処理って言い回しをおれはしないし検索しても一般的ではない言葉の気がするからその意味次第でおかしなこと言ってるのかもしれんが
馬鹿にも教える気概はあるみたいだからおかしかったら指摘してよ
639デフォルトの名無しさん:2012/03/04(日) 16:59:29.97
仮にそういう考えなら
そもそも>>627
マルチスレッドならPresentの影響受けなくない?
って発言自体がおかしい
脳髄から腐ってるレベル
640デフォルトの名無しさん:2012/03/04(日) 17:00:10.10
この仕組みでは2コア使えませんって脳みそがなかったんだろう
641デフォルトの名無しさん:2012/03/04(日) 20:42:15.68
コード書いて試してみろようるさいな。
642デフォルトの名無しさん:2012/03/04(日) 22:19:03.33
D3DCOMPILE_SKIP_OPTIMIZATIONのフラグを立ててD3DX11CompileFromFileから
ピクセルシェーダを作成すると、そのピクセルシェーダでは何も描画できなくなるんですけど、そんなもんなんですか。

float3 GetColor(float2 TexCoord) {
  return ColorTexture.Sample(TextureSampler, TexCoord).rgb;
}

float4 PSMain(in float2 TexCoord : TEXCOORD) : SV_Target {
#if 1
  // 1ピクセルも出力されない
  float3 color = 0;
  color = GetColor(TexCoord);
  return float4(color, 1);
#else
  // これはOK
  float3 color = 0;
  color = ColorTexture.Sample(TextureSampler, TexCoord).rgb;
  return float4(color, 1);
#endif
}

こんな感じで自分で定義した関数でテクスチャを読み取ろうとすると、駄目になります。
上のコードではどこかがまずいんですかね。
643デフォルトの名無しさん:2012/03/05(月) 21:14:34.96
D3DXCreateFontで作ったフォントをクラスで管理しててて
コンスとラクタ、デストラクタで作成と破棄をやるみたいにしてるんだけど
1つ問題があって、デバイスがリセットさせるとフォントも作りなおさないといけないわけで
今はクラスのResetメンバー関数をわざわざ呼び出すようにしてる
でも再作成という当たり前の動作をいちいち外部から呼び出してもらうクラスってのはオブジェクト指向的におかしいよね
クラス内部でデバイスがリセットされたかどうかを検出する方法ってないのだろうか?
644デフォルトの名無しさん:2012/03/05(月) 21:16:33.59
>>643
デバイスロスト後のリセットやら何やらが不要なDX11への移行はできないかな?
645デフォルトの名無しさん:2012/03/05(月) 21:38:27.59
>>643
シングルトンでリセットカウントを変数で管理して、リセットしたらインクリメントかデクリメントする。
で、フォントクラスが持ってるリセットカウントの数字と比較して違ってたらリセットするとか。
もちろんリセットしたらフォントクラスの方のリセットカウントも更新しないといけない。
で、この場合はブールはやめたほうがいい。

うーん。OOPはむずかしいなー。
646デフォルトの名無しさん:2012/03/05(月) 21:49:35.60
>>644
それはちょっと

>>645
やっぱそういう方法しかないのかな
647デフォルトの名無しさん:2012/03/06(火) 01:55:55.45
どういうときにデバイスのリセットするんだ?
解像度変えるときとかだったら最近のモルピグみたいにランチャーで変えるようにしとけだいいやん。
648デフォルトの名無しさん:2012/03/06(火) 02:40:48.09
ahodana
649645:2012/03/06(火) 03:02:27.08
>>648
よんだ?
650デフォルトの名無しさん:2012/03/06(火) 15:23:04.69
インストールするために、DXSDK_Jun10.exeを起動すると
若干文字化けしたインストールウィザードが起動して、インストールの最後に VisualC++ runtimeのインストールに失敗してしまいます。
原因らしいことが書いてるところも、文字化けしていてよくわかりません。
どうすればインストールできますか?
651デフォルトの名無しさん:2012/03/06(火) 16:30:47.59
>>650
俺も昔なった記憶があるような・・・
その時は何度か再起動したらうまくいったとおもう。
652デフォルトの名無しさん:2012/03/06(火) 16:52:34.19
Direct2D上で使用するDirectWriteについて質問です。
テキストエディタの表示部分のようなコントロールを作りたいのですが、肝心の描画部分でつまづいてしまいました。
改行などを含む特定の文字列から、本来必要な幅と高さ(スクロールの必要がないサイズ)はどのように取得すればよいでしょうか。
それと、ウィンドウの幅で折り返しをさせたい時にはどのような処理をすればよいでしょうか。
よろしくお願いいたします。
653デフォルトの名無しさん:2012/03/06(火) 17:15:26.92
地道にフォントサイズから計算するだけ。
それ以上でもそれ以下でも無い。
654デフォルトの名無しさん:2012/03/08(木) 14:36:27.25
WindowsXPでコンパイルできたものを、Windows7proに移動させて再コンパイルしたら下記のエラーが出ました。
fatal error C1083: include ファイルを開けません。'D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include': Permission denied
何が原因か教えて下さい。

開発環境は、VC++2008EEで、インクルードとライブラリのパスの設定はしています。
655デフォルトの名無しさん:2012/03/08(木) 16:03:12.80
まずパーミッション確認しろよ
656デフォルトの名無しさん:2012/03/08(木) 19:32:47.13
>>654
管理者として実行すれば動くだろうけど
普通はそんなの出ないけど
インストールしなおしてみたら?
657デフォルトの名無しさん:2012/03/09(金) 01:40:53.58
ココで聞いていいのか分からないんだが(スレ違いなら誘導してもらえると・・・)

昔つくったゲームを久しぶりに動かしたのですが(5年ぐらいぶり)
環境が違うのかIDirectMusicPerformance8のInitAudioで5秒程度止まる為
初期化で4〜5個初期化するだけで、ゲーム起動がものすごく遅くなりました。
原因が分かりそうな方、いないでしょうか・・・

DirectX SDK June 2006にて作成
現状のPCはwindows7でメモリ8Gとかの割と良いスペックの奴です。
658デフォルトの名無しさん:2012/03/09(金) 12:15:16.49
DirectSoundで最低限音は鳴る様になったのですが、鳴った位置で左右の音量変化、距離で全体の音量変化させる方法が解かりません。
もし解かりやすい解説ページなどが有れば紹介しては頂けませんでしょうか・・?
659デフォルトの名無しさん:2012/03/09(金) 16:05:04.66
WindowsVista以降
DirectSoundとかはエミュレートしてるだけなので
綺麗に動くかわからないよ
660デフォルトの名無しさん:2012/03/09(金) 16:08:18.57
>>658
3D座標使うならLPDIRECTSOUND3DBUFFER8でぐぐり
661デフォルトの名無しさん:2012/03/09(金) 16:15:39.59
男は黙ってOpenGL+OpenAL
662デフォルトの名無しさん:2012/03/09(金) 16:16:14.55
XAudio2っていいの?
663デフォルトの名無しさん:2012/03/09(金) 17:05:43.78
>>658
配布形態によるけど、irrKlangで楽もできる
664デフォルトの名無しさん:2012/03/09(金) 18:41:33.96
>>659
なるほど・・・友人のXPだとしっかり動いたので
そのあたりが原因みたいですね
助かりました。
ありがとうございます
665658:2012/03/09(金) 20:40:34.09
>>659-663
ありがとうございました。無事それらしい情報に辿り着けました。  エミュレート恐いですね;
666デフォルトの名無しさん:2012/03/09(金) 23:06:18.72
XAudio2はXP以降のみ対応だっけ。
もうそれでいいな。
667デフォルトの名無しさん:2012/03/10(土) 00:21:04.33
ID3DXEffect::SetTextureとIDirect3DDevice9::SetTexture
は速度的にどちらを使った方がいいのでしょうか。
テクニックと変数はD3DXHANDLEでハンドルを指定する方法の方が
文字列検索がかからなくてパフォーマンスが良いとはっきり書いてあるのですが。 
テクスチャの場合も同様なのでしょうか。
668デフォルトの名無しさん:2012/03/10(土) 01:05:41.35
ラッパーとそうで無いものを比べてパフォーマンスを比べる意味が分からない。
669デフォルトの名無しさん:2012/03/10(土) 01:08:51.47
ヘイ!ユー!
チェケラ チェケラ ヨー!
670デフォルトの名無しさん:2012/03/10(土) 01:23:06.94
ID3DXEffect::SetTexture内部でIDirect3DDevice9::SetTextureが呼ばれてるという事ですか?
という事はIDirect3DDevice9::SetTexture使った方が早いのでしょうがどの位の
速度差が有るのでしょうか。気にするほどの差がないようであれば利便性の高い
ID3DXEffectの方を使っていこうと思うのですが
671デフォルトの名無しさん:2012/03/10(土) 01:26:22.49
それで平気
全然問題ないってば
672デフォルトの名無しさん:2012/03/10(土) 01:32:24.35
>>670
シェーダやればわかるだろ
単にどのテクスチャ使いますよって設定だけの話で
実際にデータが飛ぶのはDrawPrimitive実行されたときだけだ
673デフォルトの名無しさん:2012/03/10(土) 01:37:50.88
>>669
ワロタw
674デフォルトの名無しさん:2012/03/10(土) 02:32:07.42
DirextX9で2Dをやる場合のお勧めのサイト、本ってどういうのがありますか?
675デフォルトの名無しさん:2012/03/10(土) 03:09:56.49
>>674
単に画像ファイルを読み込んで表示したいだけならSDKのサンプルで十分じゃなかった?
あのサンプル以上のどんな情報が欲しい?
676デフォルトの名無しさん:2012/03/10(土) 03:37:25.14
2Dでいいなら実際サンプル程度で充分だよ
677670:2012/03/10(土) 05:46:30.32
なんとなく分かりました。ありがとうございます。
後二つ疑問が有るのですが、BeginPass EndPassは
一回のDrawSubsetやDrawPrimitiveを挟むようにしなければいけないとよく見かけるのですが、
複数のDrawSubsetを一つのBeginPass EndPassで挟んでも問題なく描画されているように見えます。
何故一回のDrawSubsetやDrawPrimitiveを挟むようにしなければいけないのでしょうか。

もう一つは縮小バッファを使った描画なのですが、MavericProject
のシェーダーのサンプルで縮小サーフェイスを使用する場合に
縮小サーフェイスのサイズでビューポートを設定していますが、設定しなくても正常に描画されています。
設定しない場合、何か問題が有るのでしょうか。
678デフォルトの名無しさん:2012/03/10(土) 06:52:17.34
問題は無い。
必要に応じてまた設定すればよい。
679デフォルトの名無しさん:2012/03/10(土) 10:32:31.17
>>677
そうしろって書いてあるから
仮になんでかわかったところでそれをしねぇってわけにはいかないんだから
無駄な疑問なんじゃねーの?
680デフォルトの名無しさん:2012/03/10(土) 10:41:19.14
>>677
「少なくとも」一回、ってニュアンスではなかった??
681デフォルトの名無しさん:2012/03/10(土) 17:36:33.58
DirectX9でパーティクルを実装しようと思ったのですが、どの手法が最も一般的なのでしょうか
682デフォルトの名無しさん:2012/03/10(土) 17:59:51.06
一般的なものは無い。
好きなようにやれ。
683664:2012/03/10(土) 18:25:01.33
再度失礼します。
windows7で2Dのゲーム開発を行いたいのですが
製作環境を出来るだけ簡単に整えれて
ゲーム部分の作成に時間をかけたいと思っています。
(画像表示やサウンド再生やシーン管理等に時間をかけたくない)

そんなわがままを実現する為に参考になる情報(URL)等ありましたら
教えていただけないでしょうか
684デフォルトの名無しさん:2012/03/10(土) 18:30:45.36
>>683
だからSDKサンプルのどこが不満だったのか書けよゴミ

ちなみにシーン管理はゲーム部分だ
685デフォルトの名無しさん:2012/03/10(土) 18:38:42.97
>>683
マジレスするとそんなものも
自分で調べられない馬鹿にゲーム開発は無理。
シーンがゲーム以外の部分だとか思ってる辺り
頭悪すぎだし。
頭悪いのに何でじっくり一つずつやらないの?
686デフォルトの名無しさん:2012/03/10(土) 18:44:05.10
>頭悪いのに何でじっくり一つずつやらないの?
頭が悪いから
687デフォルトの名無しさん:2012/03/10(土) 18:55:41.31
>683
ここで質問してるということはDirectXで作るつもりなんだろうけど、
環境構築の一番簡単なGDIとMCIでの開発をしようと思わなかったのはなぜ?
688デフォルトの名無しさん:2012/03/10(土) 18:57:19.25
プロトタイピングはC# + GDI+がオススメだ。ホント抜け出せないくらい捗るぞ。
689デフォルトの名無しさん:2012/03/10(土) 18:59:32.81
>製作環境を出来るだけ簡単に整えれて
>ゲーム部分の作成に時間をかけたいと思っています。
日本語でおk
directxは日本語ができるようになってからでおk
690664:2012/03/10(土) 19:21:52.67
酷い言われようだ・・・
頭悪いのは正解で仕方ないのだが
>>657
の通りで、昔の開発環境には色々問題がありそうなので
最近のwindows7で作る流れで作成しようと思った訳です。
そこで、現状のDirextXで2D製作をするにあたり、構成サンプル等を見つけて
作成しようと思い。
分かりやすいページなどあれば教えていただきたいなと・・・
691デフォルトの名無しさん:2012/03/10(土) 19:29:27.33
ないよ
そういうの全部消えた
ゲーム作ろうと思う奴自体消えた
692デフォルトの名無しさん:2012/03/10(土) 19:33:20.54
http://www36.atwiki.jp/directx/pages/21.html
これが2Dテクスチャを表示する最小プログラムだと思うけど
たったこんだけなのにうんざりするほど長いじゃん

だからあんまりやる奴いないんじゃないかな?
693デフォルトの名無しさん:2012/03/10(土) 19:50:00.67
面倒なのが嫌ならゲーム開発そのものをやめれば?
ム板でコード書くのが嫌とか意味不明
694デフォルトの名無しさん:2012/03/10(土) 20:03:27.72
>>692
はぁ?
たったそれだけでうんざりするならプログラミング向いてないよ。
ほとんど初期化と終了処理だけで画像ごとに必要な部分なんて数行じゃん。
695デフォルトの名無しさん:2012/03/10(土) 20:07:32.51
>>692
だから何でGDIとMCIにしなかったの?
はい終了
696デフォルトの名無しさん:2012/03/10(土) 20:13:20.67
>>694
その数行が気に入らないとかだろ
697デフォルトの名無しさん:2012/03/10(土) 20:18:12.07
数行のコーディングが無理とか知能障害レベルだなw
698デフォルトの名無しさん:2012/03/10(土) 20:21:31.55
そこでHSPですよ。
HSPならたった2行で画像を表示可能!
699デフォルトの名無しさん:2012/03/10(土) 20:31:57.64
2Dゲーを簡単に作るならDXライブラリ使えばいい
ttp://homepage2.nifty.com/natupaji/DxLib/
700デフォルトの名無しさん:2012/03/10(土) 20:32:16.58
痒い所には目をつけるのがC++

痒い所には目をつぶるのがHSP
701デフォルトの名無しさん:2012/03/10(土) 21:02:36.97
HSPって何?
702デフォルトの名無しさん:2012/03/10(土) 21:16:09.53
産廃の一種
一部の救いようのない基地害以外には無縁だから
気にしなくていいよ
703デフォルトの名無しさん:2012/03/10(土) 21:16:30.17
テキストボックスにコピペして検索ボタンすら押せないゆとりって何なの?
704デフォルトの名無しさん:2012/03/10(土) 23:08:34.88
>>703
検索はしてるんじゃないかな
"産廃" とか "基地" とかそういうキーワードで
705デフォルトの名無しさん:2012/03/11(日) 00:59:31.08
うるさいゴミ
706デフォルトの名無しさん:2012/03/11(日) 02:07:25.00
うるさいゴミって何だ
ゴミがしゃべり出すのか
楽しそうだな
707664:2012/03/11(日) 04:00:30.07
色々荒れてるみたいでスマン
とりあえずDXライブラリで作ってみようと思うんだが
作品によっては同一現象なのか起動しないものもあるので
色々試してみる。
建設的な意見くれた方ありがとう
708デフォルトの名無しさん:2012/03/11(日) 05:07:10.57
お前が訳の分からないこと言って荒らしてるんだろ
コーディング→嫌だ
自分で検索→する能力がなくてここできく
なぜGDI&MCIにしないのか→無視
ほんとゴミだな
709デフォルトの名無しさん:2012/03/11(日) 05:35:50.86
http://game.watch.impress.co.jp/docs/series/3dcg/20120309_517776.html
>この低精度シェーダー機能は、対応できる場合はDirectX 9世代ハードウェアから利用することができる

これはいいものだ・・・
誰かコード書いて
710デフォルトの名無しさん:2012/03/11(日) 05:39:27.58
>>694
初心者には長いんじゃねぇか?と思ったりして
711デフォルトの名無しさん:2012/03/11(日) 09:14:56.44
あの程度で長く感じる初心者にはゲーム開発なんか無理だろう。
数当てゲーム程度なら作れるかもしれないが。
712デフォルトの名無しさん:2012/03/11(日) 09:44:32.37
>>692
たしかに長いな
ほとんど本編に関係がないって所が余計に疲労感を増すよな
713デフォルトの名無しさん:2012/03/11(日) 09:48:20.11
Windows7って普通の画面がDirectXだよね?
どうやってフォント表示を高速化してるんだろう?
714デフォルトの名無しさん:2012/03/11(日) 10:39:26.48
高速化?何が?
グラフィックドライバを通して処理するだけだ
715デフォルトの名無しさん:2012/03/11(日) 10:50:11.12
HSP使え
716デフォルトの名無しさん:2012/03/11(日) 11:51:13.51
新しいDirectXでもまだフォント表示遅いの?
DirectX9世代でそういうのは終わってると思ってたぜ
717デフォルトの名無しさん:2012/03/11(日) 12:11:36.43
フォント表示遅い遅い言われてるけど最近のPCスペックなら大丈夫だろ
俺の作った2Dアクションとかフォント高速化してないけどシングルスレッドで980FPSとかだよ
718デフォルトの名無しさん:2012/03/11(日) 12:37:34.08
>>692
せやなぁ・・・変に難解に見えるし、重要なところがぼけるよな・・・
そういうところglut等でなんとかできるopenglは入門にいいのかもしれんな
719デフォルトの名無しさん:2012/03/11(日) 12:46:27.52
ミニマムコードにはエラー処理とか余計なのは省いてほしいよな。
まぁ、ただでさえコード長くなりがちなんだし、あんなの見たら初心者は誰もやろうとは思わないだろう。
やっぱりDirectXはまだまだ敷居が高いよ。
720デフォルトの名無しさん:2012/03/11(日) 12:59:22.24
>初心者は誰もやろうとは思わないだろう。
だったらやらなくていいだろ、趣味のものなんだから。
趣味ってのは情報や経験の蓄積が必要なものとそれ以外に大別できるけど、
DirectX含めプログラミングは前者。
それが嫌ならカフェめぐりでもやってろよ。

敷居が下がると産廃が量産される。
721デフォルトの名無しさん:2012/03/11(日) 15:23:11.65
趣味のものというか、
ちょこっと気楽に作るようには設計されてないからなぁ。
そういうことが目的ならそもそもライブラリ使うなり別な選択肢がある。
722デフォルトの名無しさん:2012/03/11(日) 16:13:38.07
低レベルAPIなんてそんなもんじゃないの?
723デフォルトの名無しさん:2012/03/11(日) 16:23:22.02
ゲーム作りたいってだけでDirectXとか安易すぎ
724デフォルトの名無しさん:2012/03/11(日) 19:35:33.64
技術に溺れてできたものは残念な物 のパターン
725デフォルトの名無しさん:2012/03/11(日) 20:51:03.52
DirectXでフォントの描画が遅いといっている奴は、
だったらGDIならまともに出来ているのか?
自分が無能なだけなのにAPIの責任にしようとする奴はプログラムなんて組むなよ。
726デフォルトの名無しさん:2012/03/11(日) 21:42:02.34
リアルタイムで数千〜数万くらいのレンダリングが瞬時にできないとそいつの求める仕様には答えられないんじゃねw
727デフォルトの名無しさん:2012/03/11(日) 22:35:04.30
PROOF_QUALITYでメニューみたいなのを作ってるけど
だいたい30項目くらいかな
かなりもっさりになる
GDIはVRAM直書きだけど、DirectXはバス転送が入るから遅くなるのが普通だし
APIの使い方が悪いと言うなら、それを教えて欲しいんだけど
728デフォルトの名無しさん:2012/03/11(日) 22:40:22.92
Vista と 7 の違いは GDI がエミュレーションで表示されるかドライバで処理されて表示されるかの違い
729デフォルトの名無しさん:2012/03/11(日) 23:07:50.74
ぷぅ〜
730デフォルトの名無しさん:2012/03/11(日) 23:08:09.55
>>727
GDIであろうと自分で描画した場合まともにできていだろ。
APIは関係ないんだよ。
そもそもGDIでもバスを通さずにどうやってデータを送るんだよ。
いっていることが無茶苦茶だ。
お前のビデオカードはCPUに直結しているのか?
>>728
VistaはSP1以降、7と同じようにアクセラレーションされる。
化石みたいな知識で知ったかするな。
731デフォルトの名無しさん:2012/03/11(日) 23:10:08.67
俺のビデオカードはエロ動画に直結しやすいんだ へへっ
俺も女の子とアクセラレーションしたいもんだ

そうカリカリしなさんな
カリはペロペロするもんだ
732デフォルトの名無しさん:2012/03/11(日) 23:10:20.25
そうだそうだ!
化石みたいな知識で知ったかするなバーカ!
もっと言ってやれ!
733デフォルトの名無しさん:2012/03/11(日) 23:27:03.88
>>730
メインメモリにアクセス出来るCPUの速度は圧倒的だからね
昔のGDIはメインメモリ上でテキスト画像を生成して生生さらたVRAMをGPUに転送してるだけ
D3DFONTを使ってやってると1文字ずつテクスチャ化してバス転送するという作業をドライバが繰り返してると思うんだけど
だから相当遅いはず
でもWindowsVista以降ではGDIはDirectXをラップしただけの存在になってるわけで
その割には普通の画面の文字表示が早いのはどういうテクニックなんだろうという話なわけ
Vistaも初期の頃は文字表示が遅すぎるって苦情がものすごく出てて、Windows7で改善されたからね
内部的にどうやって高速化してるんだろう
734デフォルトの名無しさん:2012/03/11(日) 23:36:53.07
くぴ
735デフォルトの名無しさん:2012/03/11(日) 23:45:39.80
>>733
おお、参考になる。
そういうところのメカニズム、知りたいよね。
736デフォルトの名無しさん:2012/03/12(月) 00:33:22.89
うーんうーん・・・
737デフォルトの名無しさん:2012/03/12(月) 00:37:32.00
誰か説明してやれよ
738デフォルトの名無しさん:2012/03/12(月) 01:33:32.36
えーと……
739デフォルトの名無しさん:2012/03/12(月) 23:39:49.76
DirectXは基本的なAPIの叩き方は書籍やWebである程度分かるようになるんだけど、
もう少し詳細なハードの動きを意識できるようになりたいと思うと、途端に情報がなくなる。
パフォーマンス出そうと思うと、そこらへんが気になるよ。
740デフォルトの名無しさん:2012/03/13(火) 00:34:01.35
それはGPUメーカーの資料に目を通さないからでは。
741デフォルトの名無しさん:2012/03/13(火) 02:33:26.39
そうだな
そうに違いない
742デフォルトの名無しさん:2012/03/13(火) 07:43:09.14
なんちゃらGemsって本を読めって事だろ
あとメーカー資料は思ったよりも見やすい
743デフォルトの名無しさん:2012/03/13(火) 08:17:16.59
そのDirectXの最適化関連のGPUメーカー資料って何処にあります?
744デフォルトの名無しさん:2012/03/13(火) 08:32:34.74
745デフォルトの名無しさん:2012/03/13(火) 09:04:07.93
でもこれって実行環境によって文字描画の速度が著しく変化するって事だよね?
746デフォルトの名無しさん:2012/03/13(火) 12:06:58.18
>>733
メインメモリもバスを通しているんだが。
通さないのはレジスタとキャッシュだけ。
だから汎用命令でメモリ->メモリがストリング転送でしかできなんだよ。
圧倒的なのはレジスタを利用したときとキャッシュにヒットした場合だ。

>D3DFONTを使ってやってると1文字ずつテクスチャ化してバス転送するという作業をドライバが繰り返してると思うんだけど
D3DFONTってなんだよ。
D3DXFontのことなら、ただのラッパーなんだからドライバ云々は関係ない。
そもそもあらゆる描画がドライバ経由だ。
それからD3DXFontは一文字ずつじゃなく文字列単位だ。

全てにおいて、言っていることが滅茶苦茶すぎる。
プログラム以前。
問題外だ。
747デフォルトの名無しさん:2012/03/13(火) 13:36:00.14
>>733はマジで問題外w
雑魚すぎるwww
748デフォルトの名無しさん:2012/03/13(火) 15:16:35.23
>>746
何が言いたいのか全然わかりませんね
キャッシュヒットとかまったく関係なくメインメモリはPCIバス経由より遥かに早いですけどね
この場合のバスがPCIバスであることは普通読み取れませんかね?
それと1文字が行単位だったからなんだと言うんですかね?
749デフォルトの名無しさん:2012/03/13(火) 16:32:03.27
>PCIバス経由
PCIバスを使ったビデオカードなんて中古屋ぐらいしか見かけないが、何を言っているんだ?
こんな古い知識じゃAGPメモリとか、
動的な更新が必要なものをメインメモリに置けることすら分かってないだろう。
これ自体もDirectX9以前の古い知識なんだが。

>それと1文字が行単位だったからなんだと言うんですかね?
おいおい、全然速度が変わるだろう。
どれだけ無茶苦茶なんだよ。
それからまた間違えているぞ、行単位じゃ無い、文字列単位だ。
一文字ずつとか行単位とか大嘘をぶっこく前に、仕様ぐらい確認しろよ。

そもそもD3DXはただのヘルパーライブラリで、
DirectXの速度を考える上では何の参考にもならないのに、
それを挙げてくる時点でどうしようも無い。
750デフォルトの名無しさん:2012/03/13(火) 16:45:13.48
>>748
ほんとお前どうしようもないなw
DirebtXの速度を考える上では何の参考にもならないことばっか書きやがって乙www
751デフォルトの名無しさん:2012/03/13(火) 16:55:24.04
文字の描画が遅いという奴は無駄に毎フレーム描き直しているせいだろう。
フレームごとに画像を読み直しているのと同じ。
馬鹿だからどれだけ無駄なことをしているかに気がつかない。
752デフォルトの名無しさん:2012/03/13(火) 17:46:19.02
OpenGLで開発中の俺から言わせるとDirectXは恵まれすぎてる
753デフォルトの名無しさん:2012/03/13(火) 18:05:01.99
>>752
何がどう恵まれてるのか全く分からない
DirectXとOpenGLはそもそも使用目的が違うのに何をどう比較したんだろう
754デフォルトの名無しさん:2012/03/13(火) 18:25:47.27
使用目的って何?OpenGLでゲーム作っちゃダメなの?
755デフォルトの名無しさん:2012/03/13(火) 18:44:22.38
DX7の頃に使われてたSetOrientationで姿勢を制御しているのを、D3DXMatrixRotationで同じように姿勢制御をするには
どのようにしたらいいのですか?
昔のソースを発見したので最近のDXでも使えるように移植したいのです。
756デフォルトの名無しさん:2012/03/13(火) 18:53:49.03
DirectXってなんかかっこいい名前だね。

エーーーックス!!って感じ
757デフォルトの名無しさん:2012/03/13(火) 22:50:07.15
758デフォルトの名無しさん:2012/03/13(火) 23:27:29.05
1文字変えると厨二病くさくなる
759739:2012/03/14(水) 00:51:05.25
>>740
>>742
ありがとう、そのへん読んでみるわ。
760デフォルトの名無しさん:2012/03/14(水) 01:40:01.41
>>749
PCIEはPCIバス32bitの2レーン64bit版ですけど?
761デフォルトの名無しさん:2012/03/14(水) 01:45:01.58
もうみっともないからやめとけ
762デフォルトの名無しさん:2012/03/14(水) 02:02:08.31
>>760
ここで知識披露すれば間違ってる知識を訂正してもらえると思ってるだろ
叩かれはするけど検索して文書読むより早いからな
もういちいち訂正しねーから一生そう思ってろバーカ
763デフォルトの名無しさん:2012/03/14(水) 08:23:29.73
>>760
かわいそうだから突っ込んであげよう、それはPCI2.0。
PCIeはシリアル化されているからバス幅とか無いし。
ここまであらゆることを間違って覚えているって知的障害レベルだよ。
764デフォルトの名無しさん:2012/03/14(水) 08:32:58.86
x1とかx16とか。1リンクで500mb/sだっけ?
765デフォルトの名無しさん:2012/03/14(水) 18:32:42.17
ようするに要約すると
・D3DXFONTはGDIフォントに比較して圧倒的に遅い
・MicrosoftはWindows Vist SP2 と Windows7にDirect2Dなるものを新規搭載して対応してる
・Direct2Dはハードプリントされた機能であってVistaの不評によりグラフィックコアを作りなおした結果である
・Direct2DはDirectX10.1仕様のハードから対応
・DirectX8と9に対策方法は存在しない
といったところ
フォントをテクスチャ化しない方が馬鹿という明後日方向の意見もあるようですが
汎用性に欠けるのでどうかと思われる
766デフォルトの名無しさん:2012/03/14(水) 21:15:44.52
【政治】知られざる危険性…近く閣議決定されるとの情報がある亡国の法案=“人権救済機関法案” 自民・稲田議員が警告★3
http://uni.2ch.net/test/read.cgi/newsplus/1331711675/22

電話番号、アドレスの詳細

電話は勇気ないという人でも、せめてメールくらいは送ってみて
◆◆◆◆◆◆拡散に 御協力 お願いします◆◆◆◆◆◆
人権侵害救済法(人権委員会設置法案)に反対する声明を、
一般の方々が電話及びFAX抗議してもらうためのチラシを作成(訂正)しました。

人権委員会設置法案(人権侵害救済法案)が3月中下旬に閣議決定されるかも知れません。
1通でも多く反対メール・電話・FAXをよろしくお願い致します。

3枚組みで、1・2枚目は人権法案の危険性を訴える内容の例文。
電話で読み上げるなり、そのままFAX送信できるようにまとめています。
また各自が意見を追加できるように空欄を入れました。
(FAX送付のために文字を大きくしました)
3枚目は、政党や主要閣僚の電話・FAX連絡先を一覧にしています。

特に、保守派とされる自見庄三郎 (郵政大臣;国民新党)、
松原 仁(国家公安委員会委員長)へ集中してFAXお願いいたします。
さらに連立与党の国民新党の亀井静香代表宛にもお願いいたします。


あまりに危険な人権侵害救済法案・法務省がQA

■久々の本気でおねがいします2!!人権擁護法案!! ひめのブログ
http://bbs.unionbbs.org/test/read.cgi/news/1323182085/37
767デフォルトの名無しさん:2012/03/14(水) 22:44:03.10
>>765
D3DXを使わずに自前で管理すればいいだけの話。
やり方がすでに書かれているのに肝心なところを読み飛ばしている時点で向いてないよ。

Direct2DというかDirectWriteは、体裁を整えたり装飾をつけたフォントの描画の効率が上がるだけで、
通常の文字を表示するのに、それほど優位性があるわけでは無い。
そもそもテクスチャやサーフェイスに出して間接的に書き出す動作は変わらない。
知ったかで、いい加減なまとめをするな。
768デフォルトの名無しさん:2012/03/14(水) 22:46:42.23
大きめのテクスチャに文字をダーっと詰めて描いておいて、
そのテクスチャアドレスを変えることで文字を書いていくのはどうかな?
769デフォルトの名無しさん:2012/03/14(水) 23:48:01.78
フォント敷き詰めたテクスチャアトラスで済むのなら速度的には一番だけどね

ただ、チャットウィンドウやエロゲとか作ろうとかすると、使用する文字数は多くなるし
サイズやスタイルは可変だしで間に合わなくなる

なもんで、GetGlyphOutlineやDIBにGDIでレンダリング(あるいはキャッシュ)したメモリを
毎フレームUpdateTextureで転送したりするのも妥協案としてよく使われる手法
770デフォルトの名無しさん:2012/03/14(水) 23:56:21.34
>>769
うお、勉強になったわ。
単純なデバッグ文字出す程度ならテクスチャアトラスで十分そうだな。
てか、テクスチャアトラスっていう言葉知らんかったわ。
771デフォルトの名無しさん:2012/03/15(木) 00:21:27.47
ていうか、今のD3DXFontは>>769が言ってるような方式で、文字キャッシュ作ってD3DXSpriteでバッチ描画してる。
文字キャッシュ溢れが頻発しないかぎりスプライト描画するのと変わらんから十分爆速。
PIX使えばすぐ解ることなのに、GDIの方が速い(笑)とかホントにね…。
772デフォルトの名無しさん:2012/03/15(木) 00:46:50.94
>>769
仮に、日本語全部をテクスチャに敷き詰めるのは無理なんだろうか?
Direct2Dも結果的にそれに近いことをやってるんではないだろうか
DirectX10.1対応したグラフィックカードならそんなサイズのテクスチャを余裕で作れるし
773デフォルトの名無しさん:2012/03/15(木) 00:52:52.04
うにこーどが仮に2バイトだったとしたら6万文字入るんだよ。サイズ固定でだよ。
極端にサイズ変えるためには更にキャッシュしないといけないんだよ。フォントヘルだよ。
774デフォルトの名無しさん:2012/03/15(木) 01:31:31.41
>>771
文字キャッシュを作ったらキャッシュしてる内容と違いがないか毎回チェックして
違ってればテクスチャを生成するという作業が入るので
GDIより早いという結論にはならない

>>773
60000文字を20pixelサイズ文字で埋めたら
5000x5000のテクスチャなので
これを何種類かのサイズで用意しても
最近のグラフィックカードなら余裕でしょ
775デフォルトの名無しさん:2012/03/15(木) 02:22:52.81
>60000文字を20pixelサイズ文字で埋めたら
>5000x5000のテクスチャなので

じゃあ40pixelサイズのフォントを作成しようとしたら10000x10000になるから
D3D10.xまでのグラボじゃ作れなくなっちゃいまちゅねー
776デフォルトの名無しさん:2012/03/15(木) 02:40:10.27
>>775
別に一枚に入れる必要性はないのでは?
あるの?あるならそう言ってね

777デフォルトの名無しさん:2012/03/15(木) 02:48:51.25
2、3日前から暴れてる馬鹿はどこから湧いて出たの?
春休みに入った大学生とかその辺りのガキ?
778デフォルトの名無しさん:2012/03/15(木) 03:28:34.60
>>776
え? 一枚に抑えたかったんじゃないんですか?
もしかして10ptから100ptまで順にフォント作ろうと思ったら毎回敷き詰めたテクスチャ作るんですか?
イタリックにしたいし太字にしたいしブラーかけたドロップシャドウも付けたいんですけどさらに数倍ですか? 
ビデオメモリ何MB使えばいいんですか?
一行にスタイルやサイズが混合しててさらに複数重ねて描画する場合もちゃんと管理できるんですか?
779デフォルトの名無しさん:2012/03/15(木) 05:57:29.92
だからもうそれでいいって
適当に知識を披露すれば間違った知識に関しては分かりやすく教えてもらえる方式だろ
新手の教えて厨マジでウザい
もういちいち訂正しないから一生そう思ってろよバーカ
お前がそれで困っててもこっちは痛くも痒くもないからな
780デフォルトの名無しさん:2012/03/15(木) 06:31:18.95
日本語自体は7000文字ちょっとしかねーよ。
中国語とか全部サポートするなら1文字2バイトでも足りないが。
781デフォルトの名無しさん:2012/03/15(木) 07:30:46.39
論旨は「DirectX8,9で高速に日本語文字を描画する方法」だから

最近のグラフィックカードなら日本語文字を全部テクスチャにしても問題ないよね

サイズが大きくなったら1枚のテクスチャに入らないぞ

とかいう否定したいだけの意味不明意見は要りません

そして
>>778
管理単位がサイズ、文字形状単位になるのはGDIでもD3DXFONTでも常識なので
わざわざ管理単位を無限大にまで広げなくていいです
どうせ一度に使うのは数種類の文字種だけ
合計が50MBだとしても、たぶん最近のグラフィックカードなら耐えられる範囲だと思うんだけど?
って話をしています
782デフォルトの名無しさん:2012/03/15(木) 08:26:12.08
チャットだって、人間がキーを入力する程度の速度でテクスチャを更新するだけなんだから、
そもそも速度なんて気にする必要すら無いんだが、馬鹿は本当に余計なことに気を回すよな。
どれだけゴッドハンドなんだよ。
783デフォルトの名無しさん:2012/03/15(木) 10:14:00.75
>>772
DirectWriteのエミュレーションモードならそうだけど
10.1対応ハードならGPUに頂点情報を送ってGPUだけで描画する
784デフォルトの名無しさん:2012/03/15(木) 11:53:27.01
>>783
D3D11ハードウェアですらグリフ用メッシュを作ってる気配がないんだが
それどこ情報?
785デフォルトの名無しさん:2012/03/15(木) 13:19:35.54
気配がないとかそんなものはどうでもいいからソース出せよ低脳
786デフォルトの名無しさん:2012/03/15(木) 13:24:42.70
CPU側でジオメトリを生成して、GPUで描画しているだけだよ。
結局、ジオメトリの生成に負荷がかかるので速度的に優位性は無い。
それならDirectX9以前でも出来る話。
自分で生成すればいいだけなんだから。
787デフォルトの名無しさん:2012/03/15(木) 13:27:59.81
OpenTypeの生成式をシェーダーに持たせておけばいい
788デフォルトの名無しさん:2012/03/15(木) 13:30:18.77
まずはっきりさせておいた方がいいことは、フォントの描画速度など、
全体の速度にほとんど影響しない。
なぜなら毎フレームテキストが変化するよう構造で、システムを作る必要が無いからだ。

GDIもフォントの描画が速いわけじゃ無い。
一般的になアプリやウインドウ周りの描画だって単純に更新領域を最小にして、
いらないときは描かないから負荷が発生しないんだよ。

どんなに頭が悪くても、これだけわかりやすく書けば理解できるだろう。
789デフォルトの名無しさん:2012/03/15(木) 13:36:43.61
>>787
シェーダの優位性は同じ処理を複数のユニットを使って、同時並列で大量にやるときに意味が出るんだよ。
小規模ならCPUでやった方が圧倒的に速い。
790デフォルトの名無しさん:2012/03/15(木) 14:24:45.67
マジで馬鹿しかいない。
煽りとか抜きでマジで。
791デフォルトの名無しさん:2012/03/15(木) 17:49:44.95
ちょっと休憩
792デフォルトの名無しさん:2012/03/15(木) 19:35:23.04
>>788
だからそれは変化しない文字をテクスチャにした場合の話でしょ?
ライブラリ化やオブジェクト指向を念頭に置いてるんだよね
変化するかしないかって判断をプログラムを作る人から
クラス内部に内包出来るかって問題があるんだよ
793デフォルトの名無しさん:2012/03/15(木) 19:57:22.46
どんだけ文字描画にこだわるんだか。
MMOプレイしてるときに文字描画の速度気にしたことあんのかよ
794デフォルトの名無しさん:2012/03/15(木) 20:06:08.52
>>793
だからそれはGDIで直接VRAMに描画してるから。
D3DFontを使う以上速度低下は避けられないから気にするのは当然。
795デフォルトの名無しさん:2012/03/15(木) 20:19:20.64
>>794
お前はわざとやってるだろうw
796デフォルトの名無しさん:2012/03/15(木) 21:02:52.44
テクスチャに敷き詰めたフォント程度で間に合うならそれにこしたことはないし
実際大抵のゲームはそれで済む話なのは前提として

既製ノベルエンジンの真似ごとしようするればわかるけど、外部ファイルから
タグ付けされたシナリオテキストを読み込んで、次の文字のスタイルが常に可変な
状況もあるわけで、その手法だけじゃ限界があるんだわ
「最近の〜」なんて言っても量がたかだか数倍増えただけ。意味がない

それとDirectWriteに妙な幻想を持ってる人がいるみたいだけど
あれも大まかには逐一システムメモリにレンダリングしたのをテクスチャに転送してるだけだかんね
(DWRITE_RENDERING_MODE_OUTLINEあたりはなんか違ったかも)
797デフォルトの名無しさん:2012/03/15(木) 21:06:53.36
>>793
全く気にせず作ってみ?
ゲームにならないレベルになるんだよ
文字表示するだけで60FPS出ないんだよ
798デフォルトの名無しさん:2012/03/15(木) 21:15:26.93
そんなわけねーだろ
お前の作り方が根本的におかしいだけだよそりゃ
799デフォルトの名無しさん:2012/03/15(木) 21:23:50.96
おまえらいいハード持ってるんだな
800デフォルトの名無しさん:2012/03/15(木) 21:33:32.69
最近のゲームだと 1280×720 とかあるじゃん
しょぼい環境だと、毎フレームスワップするだけで 60fps でないんだぜ?
ノベルエンジンなんかだと文字描画速度はすごい重要だよ。スキップ中は毎フレームテキストが変化するしな。
MMO なら知らない
801デフォルトの名無しさん:2012/03/15(木) 21:36:22.57
文字表示だけで60fps出ないって解像度1920*1080に1万文字とか表示したわけ?
RPGのアイテム一覧を1920*1080にびっしり出しても900fpsとか出るけど
802デフォルトの名無しさん:2012/03/15(木) 21:37:06.46
文字用みたいな単純な頂点の場合、ジオメトリシェーダで頂点生成したほうが、
ビデオメモリから頂点データを読み出す帯域を節約できてパフォーマンスが上がる、って考えでおk?
803デフォルトの名無しさん:2012/03/15(木) 21:43:19.76
おまえらせめてグラフィックチップぐらい明らかにしてから話をしろよ
グラフィックボード搭載機で速度的な問題がでるわけないじゃん
804デフォルトの名無しさん:2012/03/15(木) 22:26:28.55
GTX460
805デフォルトの名無しさん:2012/03/15(木) 22:34:10.56
>>802
誰もそんな話はしていないと思うが、フォントデータは基本ベジェ曲線だから
最低でもテセレータまで持ち出さないと無理でしょ
806デフォルトの名無しさん:2012/03/15(木) 23:14:53.18
>>804
そんな国民の1%も持ってないような高性能なので語られても困るわけだが
807デフォルトの名無しさん:2012/03/15(木) 23:29:28.88
CirrusLogic GD5464
808デフォルトの名無しさん:2012/03/16(金) 07:50:29.18
そもそもテクスチャに文字かいとけば回転斜体拡大縮小縁つきなんて頂点弄るだけでいいのになんで書体やサイズ全部用意するんだよ。

キャッシュシステム作っとけばデータ更新だって数秒に1回あるかどうかだろ。
809デフォルトの名無しさん:2012/03/16(金) 08:52:38.40
さすがに文字を主体で読ませる紙芝居で
フォントサイズ違うとボケる糞実装は見たことないわ
810デフォルトの名無しさん:2012/03/16(金) 10:47:53.53
ゲームのテキスト描画ってコレ!って解決策のない、意外に泥臭い部分だと思う。
ゲームとかシーンによって求められる文字描画ってかなり異なるし、優先順位も違う。
テキストは拡大縮小すると目も当てられなくなりやすいけど、
拡大しながらフェードアウトみたいなエフェクト中に使う文字だったら、別に多少ぼけてても問題なくね?と思う。
紙芝居ゲーはテキスト品質重要だし、文字装飾だの異なるフォントだの対応する必要があるだろうけど、
事前に殆ど作っておけるし、アクションゲーとか程センシティブな安定性は要求されないと思うしなー。
スキップ中とか別に60FPSでなかろうが、速くスキップしてくれればどうでも良いってのがフツーじゃね?

まぁ、別にテキスト描画に限らんけど、高速化について語るなら、先ず条件をハッキリさせないと不毛だと思うわ。
マジ銀の弾丸はねぇ。
811デフォルトの名無しさん:2012/03/16(金) 11:26:58.88
ttp://www1.axfc.net/uploader/Sc/so/328711.zip
毎フレームテキストグラフィック作って描画するとこれだけ重いですって言うベンチマーク
812デフォルトの名無しさん:2012/03/16(金) 11:27:02.11
DirectXはゲーム用だからな
多バイトの事なんて真剣に考えてるとは思えん
813デフォルトの名無しさん:2012/03/16(金) 12:22:08.11
じゃあMMORPGはどうやってやってんのよ?
814デフォルトの名無しさん:2012/03/16(金) 13:39:10.17
だからMMOだって毎フレーム更新する必要が無いんだよ。
いい加減理解しろよ。
本当に頭が悪いな。
815デフォルトの名無しさん:2012/03/16(金) 13:51:30.55
アウトラインフォントのテクスチャ化をどうにかして2倍速くするよりも、
キャッシュして使い回した方が数十倍から数百倍速くなると言うだけの話。
816デフォルトの名無しさん:2012/03/16(金) 14:18:04.07
毎秒60回バカ正直に
文字をレンダリングしてから表示に回すような組み方してるんだとしたら
正直センスないからプログラム書くの辞めた方がいいわ
というか同業他社の為に辞めて欲しいね
817デフォルトの名無しさん:2012/03/16(金) 14:26:28.34
それってベンチだろ。
818デフォルトの名無しさん:2012/03/16(金) 14:30:33.93
>>811
DirectX10.1必須?
fpsがマイナス2億になって動かない
819GTX460:2012/03/16(金) 14:50:07.53
もうお前らいい加減チップ名言えよ
名前欄にチップ名書いて発言しろ

1920*1080で画面にアイテム一覧240個くらい出しても900fpsくらい出るよ
普通にD3DXFontの描画だよ
820MilleniumG400:2012/03/16(金) 15:28:41.97
1FPSは出るよ
821デフォルトの名無しさん:2012/03/16(金) 15:56:58.14
>>811
デバッグビルドでうpして遅いとか言われても・・・
822デフォルトの名無しさん:2012/03/16(金) 16:45:04.91
最適化なんて糞くらえなんです><
823デフォルトの名無しさん:2012/03/16(金) 20:45:42.90
毎回キャッシュした内容をチェックするのもかなりコスト高いでしょ
短い文章ならいいけど長文だと特にね
824デフォルトの名無しさん:2012/03/16(金) 20:54:07.58
描画に比べたら無いようなもんだ
825デフォルトの名無しさん:2012/03/16(金) 20:58:53.98
自分はゲーム内容のためというよりも、
デバッグ用の情報を表示するために文字を出したくて、英語だけでイイ。
この場合は、26文字×2(大文字小文字)+記号程度を描いたテクスチャアトラスを事前に用意しておいて、
テクスチャアドレスだけで文字を変えるって方法でいこうかと思うんだけど、
パフォーマンス、扱いやすさの両観点でこれが最適と思ってイイよね?
826デフォルトの名無しさん:2012/03/16(金) 21:02:14.91
アルファベットだけならそれでいいんだよ
外人の奴らも元々そのつもりだった
でも俺らは6万字以上扱うんだよ
最低でも2965文字は使いたいんだよ
827825:2012/03/16(金) 21:16:39.02
>>826
ありがとう!

文字文化の影響って大きいね・・・
828デフォルトの名無しさん:2012/03/16(金) 22:12:18.11
>>825
コンソール画面出すかかもう一個ウィンドウ作ってそっちのほうがよくないか?
829825:2012/03/16(金) 23:15:24.97
>>828
フルスクリーンモードで映しながら文字出したいときもあるし、できればオンスクリーンかな。
830デフォルトの名無しさん:2012/03/17(土) 01:25:59.47
馬鹿しかいないと思ったら初心者スレか。
馬鹿じゃなくても初心者なら仕方ない。
DirectX歴も3ヵ月未満ならこんなもんだろ。
831デフォルトの名無しさん:2012/03/17(土) 10:19:31.05
スタートでコケたKARAのツアー
韓国の女性アイドルグループKARAの『STEP』が、23日発表の「レコチョク」着うたデイリーランキングで
初登場1位を獲得。相変わらずの人気ぶりといったところだが、実は先行き不安だという。

「KARAは今年、日本を含めたアジアツアーを行います。2月18日に韓国のソウルでスタートを
切ったのですが、なんと観客席がガラガラだったそうです」(芸能ライター)

日本では4月に5都市全10公演、さらに中国、香港、台湾、タイなどを回る大規模ツアー。
KARAにとっては初の単独ツアーでもある。
「ソウルでのライブの様子を映した画像がネット上に多数アップされています。それを見ると、
ステージ前は立見客がひしめいているのですが、観客席に目を移すと人影はまばら。
会場のオリンピック公園・体操競技場のキャパは1万5000人。日本の報道では観客数8000人でしたが、
そんなにいるとは思えない」(同)

日本では昨年、NHK紅白歌合戦に出場したほどの人気のはず。一体どういうことなのか。
「ヨン様、チャン・グンソク同様、日本ほど本国では人気がない。そのうえ、現地ではチケット代が
高くて売れず、結局、格安の当日券が出て、無料の招待券もばらまかれたようです。そんな状況なので
メンバーが涙する感動シーンで、ぞろぞろ退席する客もいたとか」(女性誌記者)
日本からの公式ツアーの料金は2泊3日で10万円前後。日本人ファンは実にいいお客さんだ。
「韓国は2公演、日本では10公演。日本が主戦場なのは明白です。事務所も稼ぐのは日本と割り切り、
韓国では大会場で公演したという実績作りに徹し、収益は度外視したのでは」(同)

http://wjn.jp/article/detail/0033117/
832デフォルトの名無しさん:2012/03/23(金) 06:45:35.41
Viewマトリックスから視点の上から見た角度を逆算しようとしてるんですが
そこで適当な数字(1,0,0)をViewマトリックスに乗算して出来た座標のを
atan2(y, x)でラジアンを計算するとViewの上下角が微妙に影響してくるんですが
どうやって計算したらいいんでしょうか?
833デフォルトの名無しさん:2012/03/23(金) 06:56:51.89
directx今からやろうと思うとオススメのバージョンどれ?
834デフォルトの名無しさん:2012/03/23(金) 07:31:56.88
>>832
貴方の座標の算出の根拠は知らんが、角度を求めたかったら
YZ平面なりYX平面に射影する、その座標とカメラ座標は
平行になるように回転処理して射影しないと正しい角度は得られない

考えれば分かるだろ、直角の定規を斜めにしてたら
真正面からみても90度にはならないでしょ
835デフォルトの名無しさん:2012/03/23(金) 07:47:31.31
>>834
そうなると、ビュー行列から平行移動成分を消す方法を知りたいんですが
836デフォルトの名無しさん:2012/03/23(金) 07:51:58.84
エスパーすごいな

>Viewマトリックスから視点の上から見た角度を逆算しようとしてるんですが

俺はこれが何を言ってるのかわからない
つまり・・・つまりなんだね?
837デフォルトの名無しさん:2012/03/23(金) 07:58:00.71
>>836
カメラの上から見た平面上の角度です

DirectX10にD3DXMatrixDecomposeという拡張があるみたいなんですが
まさにやりたいのはこれです
中身ってどうなってるんでしょう?
838デフォルトの名無しさん:2012/03/23(金) 07:58:25.84
>>835
普通のワールド行列と同じ
41, 42, 43成分に0を代入
839デフォルトの名無しさん:2012/03/23(金) 08:02:30.05
9にもあった
840デフォルトの名無しさん:2012/03/23(金) 08:18:23.87
>>837
>カメラの上から見た平面上の角度です
いや、さっぱりわかんない
841デフォルトの名無しさん:2012/03/23(金) 08:28:24.45
Yを高さとしたときのXZ平面上のワールド座標系でのカメラの回転角(rotate関数につっこむと同じ姿勢行列返してくれる)とかそんな感じか?
行列から無理やりだすんじゃなくて対象物の座標とっておいたら楽じゃね?
842デフォルトの名無しさん:2012/03/23(金) 11:55:18.01
>>841
カメラの基準に成るものは入れ替わるのでカメラのビュー行列から変換する方がプログラム的にスマートです

でやっぱり>>835の方法でもMatrixDecomposeでも
水平方向の回転が加わると垂直方向の回転にも影響が出る
カメラの上下では回転比率が違うようなことになってるんですかね?
ビュー行列って回転と平行移動とスケーリングを単純にやってるだけだと思ってるんですが
もうちょっと複雑な構造をしてるんですか?
843デフォルトの名無しさん:2012/03/23(金) 13:15:50.96
>>842
スマート?
基本、行列の形にしちゃったらフルーツジュースみたいなもんで
もとのアップルやイチゴの形には戻らないんだよ

いまは逆変換できる範囲だけど
3回転目の2回転目なんてどうせ判断できないだろ?
速めにやり方に見切りをつけちゃったほうがいーんじゃないの?
844デフォルトの名無しさん:2012/03/23(金) 13:18:25.03
Quaternionの計算が間違ってただけでMatrixDecomposeの方でちゃんと出来た

>>843
何回転しててもカメラはカメラですから最終的に向いてる方向が入ってる
845デフォルトの名無しさん:2012/03/23(金) 13:23:09.55
>>844
いや、そのうち行列から逆変換で判断できない状態が必要になるんじゃないかってこと
846デフォルトの名無しさん:2012/03/23(金) 19:08:25.65
>>833
断然、DX11!
847デフォルトの名無しさん:2012/03/25(日) 09:25:54.32
'Tutorial02.exe': 'C:\Users\Tatsuro\Desktop\Tutorial02\Debug\Tutorial02.exe' を読み込みました。シンボルが読み込まれました。
directx2010 チュートリアルが実行できねえ
visualstdioは2010れす

エラーはこんなんでますた・・・

'Tutorial02.exe': 'C:\Windows\System32\ntdll.dll' を読み込みました。Cannot find or open the PDB file
'Tutorial02.exe': 'C:\Windows\System32\kernel32.dll' を読み込みました。Cannot find or open the PDB file
デバッガー:: ハンドルされていない続行不可の STATUS_DLL_NOT_FOUND 例外がプロセスの読み込み中にスローされました
プログラム '[8060] Tutorial02.exe: ネイティブ' はコード -1073741515 (0xc0000135) で終了しました。
848デフォルトの名無しさん:2012/03/25(日) 09:27:02.92
きゃーユーザー名出てるううううう
はずかしいいいいい
849デフォルトの名無しさん:2012/03/25(日) 09:57:26.48
まずはVisualStudioの使い方を学び、次にC++の勉強から始めましょう
850デフォルトの名無しさん:2012/03/25(日) 10:44:36.78
directx11が入って無かった
851デフォルトの名無しさん:2012/03/26(月) 22:05:28.16
教えてくださいな。

D3DX10mathの中のD3DXVECTOR3の比較で、operator ==()の所が
 return x == v.x && y == v.y && z == v.z;
になってるんだけど、イプシロン使ってなくてfloatの誤差が出たりしないの?
852デフォルトの名無しさん:2012/03/26(月) 22:44:06.73
そりゃ出るべ
853デフォルトの名無しさん:2012/03/27(火) 07:40:31.50
float使ったもので==が禁忌なのはfloatそのものでもfloatを使ったクラスでも同じことだからだろう
854デフォルトの名無しさん:2012/03/28(水) 22:34:22.28
UDKだけじゃなくUnityもFlash勢だったか
http://blogs.unity3d.com/2012/03/28/unity-flash-update/
ミドルの方々はあまりWebGL興味がないのかな
対応環境とか互換性とか実績じゃね?
WebGLはIE動かないし、ブラウザ依存だし、
セキュリティー的にも規格レベルで修正必要みたいな話もあるみたいだし。
スマホ以外はまだまだFlushが安定っすよ。
HTML5周りがFlushと置き換わるにはあと5年〜10年必要じゃねーかな。
×置き換わる
○状況に応じて配置される

普通に今みたいに共存してると思う
IEで3D表示させようと思ったら何かある?
Silverlight
vrml
↑flashは?
ってかなんだこの変な名前は板間違えたのかと思った
flashってみんなoffにして使ってるよな。
Unityの記事読んでたんだけど
UnityのStage3Dとかいうのフル機能を使いたい場合
別途ライセンス料みたいなのをAdobeに納めないといけないのかな?
めんどいな
UnityのじゃなくFlashのStage3Dだた
fxcで、internal error: compilation aborted unexpectedly と出てコンパイルに失敗するんだが、回避方法がさっぱりわからない。
ちなみにコードはcs_5_0なCSシェーダーです。
IDirect3D9とIDirect3D9EX の違いって何?
共有メモリが使えるみたいな
http://msdn.microsoft.com/ja-jp/library/bb219800%28v=vs.85%29.aspx

一番の違いはデバロス関係。
あとは文字用に1bitサーフィス+Convolutionフィルターの追加。
867営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 18:29:47.12
DirectShowでAVIファイルとかを開くと勝手に出るビューウィンドウを表示させないようにする方法を教えてください
DirectShowスレなくなっちまったか。扱いはWindowsSDKだからAPIスレ逝け。
869営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 18:36:34.82
あっちは・・・
もう雑魚隔離スレになってるから機能してないんだよね・・・
ちょっとあっちは書き込みづらい雰囲気ではあるな
DirectShowと戦ってたときが懐かしなぁ。
ソースはNHKのNHK予算審議参院総務委


今日の片山さつきまとめ
「なんで、韓国の放送局が、NHKの中にあるの」 「なんでハングルメールブームを捏造するの」
「なんで紅白に反日時代を出すの」
ミュージックジャパンなのに韓国人を36%も混ぜてた ビックバンなどの大麻・人身事故そんな犯罪者も出してた
そりゃミュージックコリアwだろとw
「皇室」「王家」と辱めたことは 宮内庁に聞いたのか?
ほとんど答えてなかったね
「ニュース9の「在日参政権への誘導」については、今夜、謝罪放送しとけ」 も言ってた


H24/03/29 参院総務委・片山さつき&礒崎陽輔【犬HKを質す!!】解約お勧め
http://www.nicovideo.jp/watch/sm17394218

03.29 参議院総務委員会 片山さつき議員(自民)NHKの諸問題を追及
http://www.nicovideo.jp/watch/sm17394300
DXライブラリのDrawGraph関数みたいなものを作ろうとしています。
画像の読み込みは後回しで、とりあいず100*100の白い四角形を描写しようとしたのですが・・・数ドットずれてしまいます。

w = 640;
h = 480;

HWND hWnd = CreateWindow( _T("D3D Window Class"), windowtitle ,
WS_OVERLAPPED | WS_SYSMENU , 100, 100, w , h ,
NULL, NULL, wc.hInstance, NULL );

でウインドウのサイズは640*480になっているはずなのですが・・・ここで次のような問題が発生してしまいます。

DDKL::DrawGraph(640,480,0);だと、ウインドウ外に四角形が描写される。これは成功なのですが・・・
DDKL::DrawGraph(634,452,0);もウインドウ外に四角形が出て描写されてしまいます・・・。 ←おかしい!!
ウインドウのサイズは640*480になっているはずだから、四角形が画面右下からすこしだけ表示されないとおかしいと思うのです。
DDKL::DrawGraph(633,451,0);だと、ウインドウにぎりぎり1ドット映ります。

なぜ、ずれてしまうのでしょうか・・・?
どなたか、アドバイスをいただけると幸いです。

私が模倣しようとしているDXライブラリのDrawGraphの説明
ttp://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R3N7
ちゃんとクライアント領域意識してる?
あと、数字によっては小数点以下の誤差があるよ。
クライアント領域・・・?本当だ!
>>874さん、即答ありがとうございます!
なるほど・・・描画のできる領域?だけで640*480というわけじゃないんですね・・・。
まさか、こんなに早く回答をいただけるとは・・・ありがとうございます;
spy++とか使うといい
877デフォルトの名無しさん:2012/04/13(金) 17:28:04.20
チュートリアルに習って定数バッファにXNAを使っているのですが、射影変換がうまくいきません
具体的には何も表示されません
XMMatrixPerspectiveFovLHに入れているパラメータは上から
PI/180*45
16/10
0.0
1000.0
です
ワールド、ビュー、プロジェクション変数に全てXMMatrixIdentityを入れると変形されないポリゴンが表示されます
回転もZ軸方向に回らない回転ならうまくいきます
XMMatrixIdentity(単位行列)と回転がうまくいってるのでビューポートやバッファの初期化が間違っている、と言うことは無いと思いましたが、一応確認しました(そもそもコピペ
気になることといえば頂点バッファのByteWidthを頂点数+1しないとテクスチャがちゃんと貼れないということです
頂点数-1してみると表示される頂点が減って頂点数と同じ症状になります
使っているのはD3D11です
878>>877:2012/04/13(金) 19:25:15.35
>>877補足
ワールド変数 = XMMatrixIdentity();
ビュー変数 = XMMatrixLookAtLH(
XMVectorSet(0.0f, 0.0f, -2.0f, 0.0f),
XMVectorSet(0.0f, 0.0f, 0.0f, 0.0f),
XMVectorSet(0.0f, 1.0f, 0.0f, 0.0f) );
です
879>>877:2012/04/14(土) 01:58:23.97
頂点バッファの事で気になったのでその周り調べてみると頂点レイアウトのFormat設定間違ってました
相変わらず射影変換されませんが、案外こんなのかもしれないんで一度コード全部洗ってみます
880デフォルトの名無しさん:2012/04/17(火) 07:56:59.52
9.0cの良書おしえてつかさい
customUIがわからない
881デフォルトの名無しさん:2012/04/17(火) 17:29:20.89
やーだよ
882デフォルトの名無しさん:2012/04/17(火) 17:32:13.93
雑魚ばっかりだなあ
883デフォルトの名無しさん:2012/04/18(水) 07:39:14.66
directxをスマフォやブラウザで使えるようにしたい
これって違法じゃないよね?
勝手に移植して販売して訴えられたりとかしたら困る
884デフォルトの名無しさん:2012/04/18(水) 14:14:07.93
全然問題ないけど技術的な部分を理解した上でほざいているのか?
885デフォルトの名無しさん:2012/04/18(水) 22:30:33.58

HLSL初心者ですが、ご教授お願いします。
MMDデータ使って、頂点ブレンドをシェーダーでやろうと思ったんですが、

D3DXMATRIX g_pMatrixAllBoneArray = new MATRIX [boneNum];
pEffect->SetMatrixPointerArray( "world_array", &g_pMatrixBoneArray, boneNum );

boneNum=140とか普通入れていいものなのでしょうか?なんか効率悪そうな気がして

.fx側で
float4x4 world_array[];
とかサイズを動的に宣言したいんですが、どうすればいいのでしょうか?

よろしくお願いします。

886デフォルトの名無しさん:2012/04/19(木) 00:04:45.63
>>885
シェーダーバージョン3以下だとfloat4が256個までなんでfloat4x4だと64個までしかレジスタに入らなかったりするよ
配列を動的にってのはあれなんで最大サイズとっておいて使う分だけ転送とかは?
887デフォルトの名無しさん:2012/04/19(木) 16:10:37.69
>>886
ありがとうございます。

>シェーダーバージョン3以下だとfloat4が256個までなんでfloat4x4だと64個までしかレジスタに入らなかったりするよ
64個ですか。140個、全部送れれば実装が楽だったんですが。

> 配列を動的にってのはあれなんで最大サイズとっておいて使う分だけ転送とかは?
なるほど、そういうふうにやるんですね。

一般的に頂点ブレンドのボーンの行列配列というのはどのように送るべきなのでしょうか。

ボーン配列が全部入れられないので、サブセット毎に一時的な配列を作る。(40個ぐらい)
そのためのindexを作成する必要がある

頂点宣言はこんな感じで

struct ORIGINAL_VERTEX {
D3DXVECTOR4 pos;
D3DXVECTOR3 normal;
unsigned color; //頂点色
D3DXVECTOR2 uv;
float weight[MODEL_BLEND_COUNT];
unsigned short index[MODEL_BLEND_COUNT];
unsigned short indexInShader[MODEL_BLEND_COUNT];
};

ボーン数が多い場合、こんな実装が一般的なんですか?
なにか違和感があるような…
888デフォルトの名無しさん:2012/04/20(金) 01:00:29.65
MMDの場合、MMEを見ればわかると思うが頂点のスキニングはCPUでやって
スキニング済みの頂点をGPUに送りそこでワールドビュープロジェクション変換してる
MMMの場合はサンプルのfxmを見る限りGPUでのスキニングでvs_3_0と書いてあるのでその制限の中でやっているのだろう

とりあえずシェーダーのセットアップが必要なマテリアル単位で
使っているマトリクス(ボーン)数だけを送ることになるんだろうけど
もちろんそれでも想定したレジスタ数を超えることがあるので
それが超えないようにプリミティブを分けて複数回の転送&描画が必要になる。
この分け方はまぁ自分で考えて。

例に出てる頂点宣言のORIGINAL_VERTEXだけど
プリミティブを分ける以上 隣り合った三角形が必ず同じ描画になるというわけないので
一つの頂点に indexInShader が一つにするのは至難の業になるかもしれず。
じゃぁブレンドインデクスはストリーム分けてってのはかなりのメモリが無駄になるような気もするので
分けた後の描画数分のVertexBufferとIndexBufferおよび
Matrixの元インデックス→シェーダーに送るインデックステーブルを生成するのが手っ取り早いと思う
頂点モーフやUVモーフがあるので生成した頂点に元の頂点インデックスを知る手段もなにかしらで生成。

でindexInShaderだけどどうせ256以内に収めるんだしD3DDECLTYPE_UBYTE4のunsigned char indexInShader[4]でいいんじゃないかな?
[4]って書いたのは.pmxのBDEF4のため。
SDEFをやるならVECTOR3のC、R0、R1も追加。

あとスキニングなら回転(拡縮)と移動だけなので転置して1列削れば
floatの数が12個なので1ボーンあたり3レジスタ分でいけてお得
889デフォルトの名無しさん:2012/04/20(金) 20:02:36.13
>>888
規制がされてるので携帯から失礼します。

うーん、難しい
レス有り難う御座います
original_vertexは元のインデックスをC+側クラスで保存しときます

あー表情のプログラムのことモーフっていうのか
並べ替えたら破綻する可能性、全く考慮してませんでした。
とりあえずはC側では実装出来てるので、またあとで実装してみたいと思います。

PMXは色々機能有るんですね、クォータニオンの補間がBDEF2の場合しか上手くいかず、拡張し難い実装した気がしますw
890デフォルトの名無しさん:2012/04/20(金) 20:08:15.08
続けて失礼します

unsigned charにします
D3DDECLTYPE_USHORT2がない理由がわかりました。
そんなにレジスタないからですね。

groupId : material0 での三角形単位の使用ボーンインデックス
0 : ( 9, 40, )
1 : ( 9, 72, )
2 : ( 20, 23, )
3 : ( 41, 42, )
4 : ( 73, 74, )
5 : ( 136, )

material0 内で使用したボーン. 9, 20, 23, 40, 41, 42, 72, 73, 74, 136,

891デフォルトの名無しさん:2012/04/20(金) 20:08:54.92
material0でのグループ分け開始
indexBufferのindex : groupId
index 0: 4
index 3: 4


index 429: 4
index 432: 3


index 861: 3
index 864: 1


index 1059: 1
index 1062: 0
index 1257: 0
index 1260: 5
index 1833: 5
index 1836: 2
index 2073: 2
index 2076: 5
index 2121: 5
index 2124: 2
index 2241: 2
index 2244: 5
省略

とりあえず、ここまで進みました。わかりにくいと思いますが…
ここからIndexBufferを並べ替えてやろうかなーとか思ってます。
また、何かありましたらよろしくお願いします。
892デフォルトの名無しさん:2012/04/23(月) 03:48:20.81
WindowProcとMainWndProcの違いって何でしょうか?
もう何がなんだか分からない…
893デフォルトの名無しさん:2012/04/23(月) 13:42:14.99
Win32SDKのみの環境ならWNDCLASSEXのlpfnWndProcで設定された名前だから
なんでもいいんじゃない?どっちでも一緒かと
その他別のライブラリとかのコールバック関数なら知らない
894デフォルトの名無しさん:2012/04/28(土) 09:18:34.85
複数のモデルが同じテクスチャを参照している場合は、
VRAMに送られるテクスチャの実体って一つなんですか?

たとえば3Dソフトなどで木のモデルを自動生成した(頂点の個数や座標は個々に違う)場合とかどうなるんでしょうか
895デフォルトの名無しさん:2012/04/28(土) 16:11:19.72
Release()とGMA500について質問です

DirectX7以前に作られたゲームを
Win7とGMA500の機種でプレイすると
if (xxx) xxx->Release(); で
必ず落ちることがわかりました
それもDirect3DDeviceなど
GPUに関するインターフェイスだけです

igdumd32.dllでエラーが出てるので
インテル最新の8.14.10.2030にしましたが
結果は同じです

同じ機種にXPだと問題ないですし
GMA3000など他の環境でWin7でも
問題なく動いてます

互換性の問題で古いDirectXで
ビルドする必要があります
これは相性の悪い組み合わせとして
諦めるしかないのでしょうか?

896デフォルトの名無しさん:2012/04/29(日) 01:16:22.83
環境を疑う前に自分のコードを疑え
897デフォルトの名無しさん:2012/04/29(日) 07:36:34.10
>>896
もちろんやってます
最低限のDD、Primary、D3D、D3Deviceだけ作り
ReleaseしようとするとDirect3DDeviceでエラーです
テクスチャを読ませると
DirectDrawSurfaceで同様になります

このトラブルはVistaの頃から続いてるようで
DirectX9でも同じエラーを確認しました
何か決定的な対処法が見つかってないかなと思い
質問してみたわけです

試してみたところ
Releaseせずに処理を進めれば
問題なく動作してしまうので
GMA500が勝手にそうしてしまうのか
よくわかりませんが
Releaseが必要かどうかを知る方法は
ありませんよね?

それともVista以降ではReleaseせずに
上書きするようにCreateするんでしょうか?
でもSDKにはそんなこと書いてませんし
GMA3000やGMA4500では
Release必要だったので違いますよね
898デフォルトの名無しさん:2012/04/29(日) 08:30:29.61
もっと自分のコードを疑え。
最低限のコードだけでも貼れば、誰かが間違いを指摘してくれるかも。
899デフォルトの名無しさん:2012/04/29(日) 15:42:32.66
Releaseでクラッシュするとか、たいてい初期化していない物だったり、破棄済みを更に呼び出すとか素人コードな。
あとシングルスレッドのデバイスなのに複数のスレッドからアクセスするってのもNG。
他には、メモリ書き込みで他の領域を壊してしまったとか。

間違いなく、お前のコードにバグがある。
900デフォルトの名無しさん:2012/04/29(日) 17:39:16.03
あれからいろいろ試しましたが
テクスチャを使用してポリゴン表示すると
Direct3DDeviceかテクスチャのReleaseで
エラー出るようです
テクスチャ読んでも使用しなければ普通にReleaseできてます

テクスチャを2枚読んで
2枚のポリゴンにそれぞれのテクスチャを貼り
終了するときReleaseさせると
なぜか片方のテクスチャだけReleaseできます

RenderStateでテクスチャのハンドルを渡しますが
これをNullで消そうとしてもエラーです
どうやら最後にRenderStateで伝えたハンドルの
テクスチャをReleaseさせようとすると
このエラーが出るようです
なぜ開放してくれないのかはわかりません

逆にデバイスがロストしたときは
デバイスやテクスチャは生きてるのに
実際はRelease済みになってるので
Releaseさせようとするとエラーです
DxSDK付属のサンプルでもエラーです
SAFE_RELEASEマクロが機能しませんので当然こうなります

DirectX7で作られたゲームや
DxLibで作られたゲームでも
同様な環境でGPUを使うと
同じエラーが出てるようです
その後の対処法が見つからず
情報が止まってしまっているので
解決できたのかどうかわかりません
901デフォルトの名無しさん:2012/04/29(日) 18:05:41.98
ところでエラーって何なのさ?
例外?エラーコード?
902デフォルトの名無しさん:2012/04/29(日) 18:19:08.37
>>901
AppCrashでigdumd32.dllからエラー出ます
903デフォルトの名無しさん:2012/04/30(月) 04:51:34.49
技術面の質問ではないのですが、OSをwindows7の64bitに変えてから、DirectX製のゲームを起動すると
どのゲームでも「ヴゥゥー」といった感じの爆音のノイズが必ず流れるようになりました。原因を教えてください
904デフォルトの名無しさん:2012/04/30(月) 08:25:21.52
やーだよ
905デフォルトの名無しさん:2012/04/30(月) 11:26:56.87
最近、企画会社A社が日本進出を打診して落ち込んだ。所属アイドルグループの日本での活動を控え、
日本企画会社が提示した契約金が昨年水準に大きく至らなかった。既に昨年から日本でラブコールを受けていたが
国内でさらに実績を積んだ後に進出するという計画に支障をきたした。

K-POPが日本市場で萎縮する兆しを見せている。日本はアジアの最大規模の音楽市場だ。

日本エンターテインメント業界でK-POPを見つめる目が昨年に比べ熱気が冷めているという兆候が次から次へ感知されている。
今年の初めに日本で開かれた大規模公演のチケット販売率も大きく落ちた。

問題はこのような雰囲気がK-POPに否定的な影響を及ぼす恐れがあるというところにある。
既に今年開かれたいくつかのK-POP公演では赤字を記録したと伝えられた。先月に日本でアルバムを発売したいくつかの歌手の場合、
期待値にはるかに至らない成果を上げて関係者たちを落胆させた。

(中略)

ついこの前まではK-POPという看板だけ掲げれば韓国で存在感がない歌手でも日本では注目をあびた。
もう日本進出に対する方法の変化が必要だという声が出てきている。

歌手らの実力とスター性を整えるのはもちろん、企画会社と放送会社全てが日本国内のK-POP市場をさらに拡張できる方法を模索し、
徹底したビジネスマインドで接近をしなければならないという指摘だ。


K-POP日本で何が?…放送会社主導公演「憂慮が現実に」(韓国語)
http://starin.edaily.co.kr/news/NewsRead.edy?newsid=01092246599498088&DCD=A10202&SCD=EA21
906デフォルトの名無しさん:2012/04/30(月) 12:37:12.80
来月末マスターアップで間に合わないので
GMA500とVista以降の2つを検出したら
クリーンナップでReleaseしないよう
対処することにしました

お騒がせしました
907デフォルトの名無しさん:2012/04/30(月) 13:29:44.68
バグ入りで完成したとさ。おしまい。
908デフォルトの名無しさん:2012/04/30(月) 14:32:10.06
いまどきDX7時代の遺産の保守作業か
他人事ながら悲しくなってくるね
909デフォルトの名無しさん:2012/04/30(月) 15:13:28.73
このスレ読んでるだけで楽しい
910デフォルトの名無しさん:2012/05/01(火) 05:27:59.42
ウィンドウモードでも遊べるようなFPSを作っているのですが、
マウスカーソールをゲームウィンドウの外に出した時でも、無効化、非表示に
するようにしたいのです。

SetCursorPosではペンタブ等で簡単に画面外をクリックできてしまいますし、
ShowCursorもクライアント領域内のカーソールしか非表示に出来ません。

なにかよい方法は無いでしょうか?
911デフォルトの名無しさん:2012/05/01(火) 06:19:48.38
↑自己解決しました。ClipCursorで、カーソールの位置を制限できるそうです。
912デフォルトの名無しさん:2012/05/01(火) 23:14:17.85
ペンタブでFPSやる奴いねえだろ
913デフォルトの名無しさん:2012/05/02(水) 01:15:52.37
FPSは無いなって思えるけどフラッシュとかでたまにあるハエ叩きゲーとかだとペンタブのがやりやすいぜ
914デフォルトの名無しさん:2012/05/06(日) 01:33:34.48
DirectX11の参考書で初心者〜中級者向けの本探してるんだがオヌヌメありますか。言語はC++で
915デフォルトの名無しさん:2012/05/09(水) 08:49:06.70
http://www.northbrain.org/index.htm
逆引き書いてた人が何冊か出してるが
DirectX9の奴しか持ってないんで内容まではわからん
916デフォルトの名無しさん:2012/05/09(水) 15:44:50.23
D3DX廃止メモ: 新 masafumi's Diary
http://masafumi.cocolog-nifty.com/masafumis_diary/2012/05/d3dx-2292.html
MSDNのblogなどを読んでるとDirect3D11.1からD3DXが廃止(あと、DXUTも。これはWinRT時代には使えませんから)になる

D3DX廃止が明確に書いてあるもの: 新 masafumi's Diary
http://masafumi.cocolog-nifty.com/masafumis_diary/2012/05/d3dx-1c5a.html
With the retirement of the D3DX library, the recommended solutions for working
with Direct3D 11 textures and .DDS files are now DirectXTex and DirectXTK.

917デフォルトの名無しさん:2012/05/09(水) 15:59:42.66
ライトノベル作家が左翼に宣戦布告 「ツイートやブログが止まったら「逝った」とお思いください」
http://engawa.2ch.net/test/read.cgi/poverty/1336538448/

読書の皆様ならびに関係者の皆様、昨今の僕の言動にご心配され、またはお心を痛めていること、心よりお詫び申し上げます。
今やっていることは自分の首を絞めることだと、重々承知しております。
なにしろ日本における最大のタブー、左翼に宣戦布告したのですから。
(中略)
今は、バカが騒いでいる、程度に思っているでしょう。
しかし今後僕が目障りになったら、特にソフトバンククリエイティブ様にご迷惑をかけることになると思います。
魔法の材料ございますシリーズの絶版、打ち切りも覚悟しています。
続きを楽しみにしている皆様を裏切ることは、本当に申し訳なく、無念です。
(中略)
宣言します。
僕はやり過ぎます。
当の被災者が、ちょっとそこまでは、と思うほどやります。
それは左翼の力を知っているからです。
今、そして未来の日本のため、ここで左翼の化けの皮を剥がさねばなりません。
勝算など皆無です。
地雷原に突っ込むも同然、僕なんか簡単に吹き飛ばされます。
でも何もできないまま天寿をまっとうするくらいなら、志半ばで倒れる方を選びます。
(中略)
最後に家族へ。
こんなバカで本当にすまない。
家族を守ることもできぬ甲斐性なしには、家庭を持つことなんて過ぎた願望だった。
巻き込んでしまって本当にすまない。
家族より他人を優先するなんて、本能が壊れている奴のすること。
宗教にハマった人たちがやることを、僕はやる。
ただ、他人の価値観を刷り込まれたのではなく、己の信念を貫く。
そういう人間だったと、諦めてくれ。

http://aoiazuma.cocolog-nifty.com/blog/2012/05/post-caed.html
http://blog-imgs-34.fc2.com/b/r/i/bridgestonenovel/4797355352.jpg
918デフォルトの名無しさん:2012/05/09(水) 17:08:11.44
D3DX廃止かよ。
俺はそんなにどっぷりとは使ってないけど、また混乱を呼びそうなことするなあ。
919デフォルトの名無しさん:2012/05/09(水) 17:24:36.30
へえ
920デフォルトの名無しさん:2012/05/09(水) 20:13:53.46
まぁ実際は幾つかのライブラリに分割って感じか。
完全に消失するのはXファイルくらいかな。DX10の時点で既にレガシーだが。
DXUTはサンプルフレームワークとしての意味があったから、近いものは作られる気がする。
簡易フレームワークとしては、既にDX10の時点でgdgd感全開だったしなぁ。
921デフォルトの名無しさん:2012/05/09(水) 21:29:48.46
3年前ぐらいにMSがUnrealエンジン買い取って
DirectXを直接触る人はもう消えるみたいな話してたな
ゲームエンジンは一般人でも触れるようになってるけどな

やっぱりMSのゲームエンジンほしいな
922デフォルトの名無しさん:2012/05/10(木) 07:33:11.64
XNAにあった奴もDirectXで使えるようになるのか
923デフォルトの名無しさん:2012/05/10(木) 10:22:51.47
WinXP以降で、VRAMを直接キャプチャする方法はないですか?
デバイスコンテキスト取得して〜、ではなく、ほぼダイレクトにプライマリ画面を見に行きたいです。
たとえ棘の道でも。
924デフォルトの名無しさん:2012/05/10(木) 16:25:48.89
デバイスコンテキストを使えば、ほぼダイレクトにプライマリ画面が見れます。
925デフォルトの名無しさん:2012/05/11(金) 02:13:57.61
>>916
この話より
http://www.shader.jp/?p=666
単独の配布がなくなるのか
WindowsSDKに統合されるって事?
926デフォルトの名無しさん:2012/05/11(金) 03:01:01.65
がぜる(ibs...)さん
どうして反日人間を日本向けのCMに起用するのか、その神経が分からん。
ロートは猛省するべき。
電通に起用を強要されたか?それならそっちのほうが本物の脅迫犯だ。

ちんさむ(chi...)さん
愛国者は逮捕され、売国奴は逮捕されず。
おかしいよ日本の法律。

legrock88(exi...)さん
花王・ロート製薬・UHA味覚糖など反日企業の商品は買いません。
なぜかって?
簡単じゃん。
日本人だから。

shineyachon(sen...)さん
彼らの動画を見たが、それほど悪質とは思えなかったがな。
逆に彼らに「竹島はどこの国の領土か」と聞かれ、ロート側は全く答えようとしなかった。
明らかにロート側にも問題がある。

今はネットの普及で売国行為をした企業は、あっという間に炙り出され袋叩きに遭う。
それだけ現在の日本には、韓国アレルギーが充満している。企業は察しなければいけない。

○| ̄|_ =3 ブッ(x5x...)さん
ロートだろうが、サントリーだろうが、
朝鮮人を起用し、朝鮮を擁護する会社の製品は私は買わない。
最近は「韓国」と聞いただけで鳥肌が立つわ。

http://headlines.yahoo.co.jp/hl?a=20120510-00000052-cnippou-kr
927デフォルトの名無しさん:2012/05/11(金) 10:08:12.67
D3DX廃止ってことはD3DXMATRIXとかD3DXVECTOR3 とかの構造体も無くなっちまうのか?
928デフォルトの名無しさん:2012/05/11(金) 20:38:17.36
必要なら自分で定義するなりなんなり
929デフォルトの名無しさん:2012/05/11(金) 21:11:38.14
>>927
いや数学関係はDirectXMathに移動って書いてあるだろwww
生で直接使ってたコードが大量にあるんならご愁傷様だが…。
930デフォルトの名無しさん:2012/05/12(土) 00:03:45.18
速さが欲しい辺りだし、大体は生でイカないのかしら
931デフォルトの名無しさん:2012/05/12(土) 02:11:55.42
>>924
>デバイスコンテキスト取得して〜、ではなく、
とわざわざ書いたのに・・・。

ネトゲなどはマクロ対策(?)でデバイスコンテキスト取得しても普通は見れませんし、
オーバーレイなどあるので。
932デフォルトの名無しさん:2012/05/13(日) 08:24:50.77
http://marupeke296.com/DXCLSSmp_ComPointer_Swap.html

このサイトのCOMポインタんなんだけど
どうやっても参照カウンタが0にならないんだけど
どうしてだろう?
出来るだけ最小のプログラムにしてデバイスだけ作って
試してるんだけど、それすら0にならない
誰か試してみてくれないか
933デフォルトの名無しさん:2012/05/13(日) 14:08:12.81
>>932
本人に聞いてこいよ
934デフォルトの名無しさん:2012/05/14(月) 02:05:59.40
>>931
他人の作ったプログラムに対してどうこうしたいっていうのはスレ違い
935デフォルトの名無しさん:2012/05/14(月) 18:58:12.02
フルスクリーンモードのほうが、他のウィンドウとかを描画しない分、パフォーマンス的に有利なんでしょうか?
Directx9です。
936デフォルトの名無しさん:2012/05/15(火) 19:43:37.53
>>935
昔はフルスクリーンが速かったが
今はウィンドウモードの方が早い
DirectX9なら確実にウィンドウが速い

どのバージョンから変わったかはしらんけど
ぐぐればいくらでも情報出てくるはず
937935:2012/05/15(火) 22:16:22.60
>>936
そうだったんですか!
勉強になりました!
ありがとうございました!
938デフォルトの名無しさん:2012/05/15(火) 22:46:24.40
DirectXの参考書とかでよく「Vista対応版」と書かれているものがありますが、普通のとどのように違うのでしょうか?
939デフォルトの名無しさん:2012/05/15(火) 23:14:10.10
レンダリングの際、BeginSceneやEndSceneが必要なのはmsdnを読んで分かるんですが、
これらが具体的にどういう処理を行っているかを解説している書籍やWebサイトはないでしょうか?


http://www.atmarkit.co.jp/fdotnet/directxworld/directxworld01/directxworld01_03.html

このNyaRuRuさんの記事のように、CPU、GPUの連携の具体的な説明は、
パフォーマンス最適化や同期設計のために非常に参考になります。
940デフォルトの名無しさん:2012/05/16(水) 00:19:13.50
>>937
騙されるな
941デフォルトの名無しさん:2012/05/16(水) 01:39:55.19
>>939
その2つは3D描画処理の開始と終了をドライバに伝えるのが目的で
デバイスロストのチェック以外は中で何をするかは特に決まってないんじゃないか?
942デフォルトの名無しさん:2012/05/16(水) 04:28:43.65
>>939
EndSceneはコマンドバッファのフラッシュとか色々やってそうだが、BeginSceneは>>941の通りかもな。
どっちにしろ、その二つはフレーム描画の先頭と最後で1回づつ呼び出さなければならないものだから、
パフォーマンスどうこうを考える上では実装を知ってもしょうがない。

むしろD3DXEffectのBegin/End、BeginPass/EndPass、CommitChangesについて知っておいた方が意味はある。
http://www.microsoft.com/downloads/details.aspx?FamilyID=00600351-4c8f-43cd-b3e3-a9975ecda0ce&displayLang=en
943デフォルトの名無しさん:2012/05/16(水) 19:20:41.16
http://kie.nu/aAP
問題が再現できるコード

TextLayout.SetInlineObject(inlineobject,new TextRange(1,1));
TextLayout.SetInlineObject(inlineobject,new TextRange(2,1));

とすると2文字目にあるインラインオブジェクトが表示されないんだが、うちだけ?
944935:2012/05/17(木) 23:48:17.61
>>940
あ、嘘だったんですか・・・
確かに、同じプログラム、レンダリング解像度なら、フルスクリーンのほうがFPS上がりますね・・・
945939:2012/05/17(木) 23:52:18.72
>>941
>>942
ありがとうございます。
D3DXEffect関係の資料、および参考として記載されていた以下のサイトにより、
ランタイム、ドライバの動きがかなり明瞭になりました。

Direct3D API 呼び出しの正確なプロファイリング (Direct3D 9)
http://msdn.microsoft.com/ja-jp/library/bb172234(v=vs.85).aspx

すべてのAPIについて、このレベルの解説をmsdnには希望したいですね。

これでパフォーマンス最適化を意識したプログラミングができそうです。
ありがとうございました。
946デフォルトの名無しさん:2012/05/18(金) 00:47:20.17
>>944
フルスクリーンだとVSYNC待ちが自動で入る設定で
ウインドウの方が速い!って勘違いする奴はたまにいるw
947935:2012/05/18(金) 00:50:55.90
>>946
軽い罠ですねw
948デフォルトの名無しさん:2012/05/18(金) 00:57:52.13
>>945
DirectX6〜7の頃だとリファレンスラスタライザやビデオカードの
ドライバのソースコードが公開されてたりで、仕様上曖昧な部分を
ソースで確認できたんだけどね。
最近はそういうサービスがないなぁ。
949デフォルトの名無しさん:2012/05/21(月) 03:05:43.68
D3DXMatrixRotationYawPitchRoll(FLOAT Yaw, FLOAT Pitch, FLOAT Roll)
XMMatrixRotationRollPitchYaw(FLOAT Pitch, FLOAT Yaw, FLOAT Roll)

1.なぜD3DXからXNAで関数名の末尾が変わったのでしょうか
2.なぜXNAのほうは関数名と引数の順序が異なっているのでしょうか
950デフォルトの名無しさん:2012/05/21(月) 03:48:28.61
>>949
そんなこと気にしてたらハゲるぞ。
どっちも大した意味はなくて、その関数を書いた人がそういう気分だっただけ。

計算の順番はroll→pitch→yawなので、ある意味D3DXの順番が不自然だった。
(D3Dは行ベクトルが基本だから左から右に変換が進む)

pitchはX軸回転、yawはY軸回転、rollはZ軸回転だから、引数はその順にしただけかと
951949:2012/05/21(月) 04:48:56.41
>>950
おお、ご回答ありがとうございます!
XNAの関数名は計算順(vMMMの行列表現順)、引数はRotationX/Y/Zの順になっていると、
なるほどすごくしっくりきました。
D3DXで初めてオイラー角に触れたので頭の中で「YawPitchRoll」が染み込んでましたが、
計算順なりxyz順にするほうが合理的ですね(列ベクトルでの表現にこだわらない限りは)。
952デフォルトの名無しさん:2012/05/21(月) 10:15:27.56
もしかしてVCのexpressってなくなるのかな?
953デフォルトの名無しさん:2012/05/21(月) 13:56:01.53
なんで?
954デフォルトの名無しさん:2012/05/21(月) 14:18:21.29
答えはもちろん。
955デフォルトの名無しさん:2012/05/21(月) 16:39:39.74
956デフォルトの名無しさん:2012/05/21(月) 16:48:23.26
>>955
Visual Studio 11 Express for Windows 8
って言うのに統合されてるのかな
ただ実行ファイルがネイティブの場合XPが除外されるみたいな感じ?
957デフォルトの名無しさん:2012/05/21(月) 17:39:33.60
言語ごとじゃなくてターゲットプラットフォームで分けるようにしただけか。
そしてついにXPが滅せられる時がきたか…。
958デフォルトの名無しさん:2012/05/21(月) 18:11:15.03
.NET frameworkを使わなければ、「C++のWin32アプリ」とかで作ったバイナリはXPでも動く…よね?
動いてくれないと困るよ…会社で導入する言い訳がますます作れなくなるじゃないか。
VS2010を入れる理由が思いつかず今も2008を使ってるのにさ。

作ったバイナリもそうだけど、VS自体がWindows7以降でないと動かないというのは本当なんだろうか。
959958:2012/05/21(月) 18:12:12.44
すみません完全にVisual Studioスレと間違えました。958は忘れてください。
960デフォルトの名無しさん:2012/05/21(月) 21:10:54.81
バイナリもIDEもダメ
某blogみたいに魔改造すればどうにかなるかもしれんが
961デフォルトの名無しさん:2012/05/21(月) 21:37:01.32
MSDN blog読む限りVS2010インストールすれば、XPでも動くバイナリも作れるんじゃないの。
VS2010インストールしなくても済むようにするオプションも評価中とも書いてある。
962デフォルトの名無しさん:2012/05/21(月) 22:04:27.03
それはVS10のコンパイラとライブラリを使ってるんだからVS11で使えるとは言わない
963デフォルトの名無しさん:2012/05/21(月) 22:26:45.71
VC11ツールキットではXPターゲットのバイナリが作れないのと、
VS11でXPターゲットのバイナリを作る手段が無いのじゃ話が全然違うだろwwwww

ま、でもIDE自体がXPじゃ動かないなら、デバッガとかの事も考えるとVS2010にも頼らざるえないのも現実だが。
早く滅びねぇかな、XP…。Direct3D9はもういいよママン…。
964デフォルトの名無しさん:2012/05/23(水) 02:28:31.33
MaxTextureRepeatが0であるようなグラフィックチップ(GMA900やGMA950等)の場合、
テクスチャマッピングの繰り返し数の上限はどう考えればいいのでしょう?
965デフォルトの名無しさん:2012/05/23(水) 08:39:48.37
VC11ってリリースは本年度末だよね
だとしたら今更XPサポートしても先がないし
結局問題なさそうだけど
966デフォルトの名無しさん:2012/05/23(水) 16:05:37.85
どっちかっていうと、ExpressがMetro専用になるってことの方が
このスレ的には重要だと思う。
967デフォルトの名無しさん:2012/05/23(水) 19:21:23.93
まじで…。

MetroアプリでDirectX使う場合どんな感じになるんだろうな。
WPFアプリでDirectX使う場合はDirect3D9インターフェスのフレームバッファに一端コピーとか
すげぇ泥臭い仕組みだった気がするんだが、まさか似たような事になっちゃいないよな…。
968デフォルトの名無しさん:2012/05/23(水) 20:45:44.08
969デフォルトの名無しさん:2012/05/23(水) 20:59:21.84
Express(C++の)でDirectX触ってる人結構いるんかね。っていうか学生さんとかはそうなるんかね。
考えてみればDirectXとリソースエディタって守備範囲が離れてそうだからいい組み合わせなのかも。
いや、俺はExpressにない機能はリソースエディタくらいしか使えてないのでね。
っていうか学生はむしろアカデミックパックがあるじゃないか…。
970デフォルトの名無しさん:2012/05/23(水) 21:42:53.40
>>968
おお、サンクス。
実際に使ってみないと何とも言えないけど、ざっと見た限りWPFみたいな泥臭さはなさそう。

>>969
俺的にパッケージ版の機能で欲しいのはプロファイラと静的コード分析だけど、ULTIMATEとか無理ですお…。
それ以外はExpressでも十分な気がする。
ゲームエディタ作るならATL/MFCが欲しいって人もいるかも。
俺は.NETインターフェース作ってC#でなんとかしてるけど、インターフェース作るのがめんどいのと変更しにくいのが難点…。
971デフォルトの名無しさん:2012/05/23(水) 22:09:03.69
>>966
マジかよ!!
DXライブラリついに廃業か?
今まで通りだとすれば古いVSはダウンロードできなくなるだろうし
マジでやばいな
972デフォルトの名無しさん:2012/05/23(水) 22:12:55.26
>>971
2010Expressが今までどおり提供されるから安心しなw
973デフォルトの名無しさん:2012/05/23(水) 22:13:30.94
2005のExpressは未だにDLできるわけだが
974デフォルトの名無しさん:2012/05/24(木) 18:37:53.98
>>968
意外にいい感じなんだけど問題はこれ
配布がストアのみしかできないんだよな・・・
975デフォルトの名無しさん:2012/05/25(金) 18:18:43.98
XAudio2の音声再生で、IDirectSoundBuffer8::GetStatus のように、
ある音声について再生中かどうか知る方法ってありますか?
976デフォルトの名無しさん:2012/05/26(土) 08:56:44.37
IXAudio2SourceVoice::GetState
ではなくて?
DirectSoundの方がどんなだったか忘れた
977デフォルトの名無しさん:2012/05/26(土) 12:56:48.32
ありがとうございます。再生中かどうかの判定ができました。
IXAudio2SourceVoice::GetStateで戻される構造体が BuffersQueued > 0 の場合に、
音声データが再生中であると判断できるみたいです。
ちなみにDirectSoundの時は、GetStatusで再生中だとわかるフラグが取得できました。
978デフォルトの名無しさん:2012/05/27(日) 10:27:09.66
directx11はvc2008で開発できますか
979デフォルトの名無しさん:2012/05/27(日) 11:40:20.79
できる。次の版でどうなるかは知らんけど、現時点で最新のSDK(June 2010)には
サンプルにVC2008用とVC2010用の*.slnが付いてる。
980デフォルトの名無しさん:2012/05/27(日) 18:18:44.41
うめ
981デフォルトの名無しさん:2012/06/02(土) 05:53:53.47
http://www.gomplayer.jp/img/bandicam/bandicam_howto_fps.gif
Bandicamというキャプチャーソフトは画像のように
DirectXで動くソフト上にフレームレートを上書き表示する機能があります。
これと同じように、既にあるDirectXのソフト上に任意の文字列を描画したいのですがどうしたら良いでしょう。

ざっくりとした質問ですみません。
DirectX絡みの開発は経験がないので皆目検討がつかない状態です。
おおまかな方針や参考になりそうなサイトがあれば教えていただきたいです。
982デフォルトの名無しさん:2012/06/02(土) 06:09:04.02
DXのサーフェスからHDCとれなかったっけ??よく知らんけど。
983デフォルトの名無しさん:2012/06/02(土) 11:40:35.64
テキスト用のスプライト生成して、Font機能を使って書き込んだらよいのでは?
984デフォルトの名無しさん:2012/06/02(土) 12:24:15.51
>>981
他人が作成したソフトを改造したりするのは板違いです
985981:2012/06/02(土) 12:25:44.83
あ、既にあるソフトに対してか。
>>983は忘れてw
986デフォルトの名無しさん:2012/06/02(土) 13:01:08.60
>>981
基本的にPresentをフックして描画する。
チョン系プログラムが対象ならプロテクト回避も必要になるだろう。

>>DirectX絡みの開発は経験がない
ちゃんと学習してください。覚えなければ、あなたの目標とすることは実現できません。
987デフォルトの名無しさん
色々レスありがとうございます。
ゆっくり勉強してみます。