【C++】 DirectX初心者質問スレ Part29 【C】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/05/20(木) 20:09:52これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
0002デフォルトの名無しさん
2010/05/20(木) 20:10:58【C++】 DirectX初心者質問スレ Part28 【C】
http://pc12.2ch.net/test/read.cgi/tech/1268666208/
0003デフォルトの名無しさん
2010/05/20(木) 20:20:530004デフォルトの名無しさん
2010/05/20(木) 21:38:33>>3
なんでやねん
0005デフォルトの名無しさん
2010/05/20(木) 22:24:11まあvista以降は.netflameworkはプリインスコではあるが
0006デフォルトの名無しさん
2010/05/20(木) 22:54:36そうだよ。勘が鋭いな。感心するわ。
0007デフォルトの名無しさん
2010/05/21(金) 22:24:21奥行きは違うけどカメラから見ると重なっている状態だと
手前の部分が透けて奥の部分が見えてしまうことがあるんだけど
どうすればいいの?
モデルはゲームプログラミングwikiのもので、ビューワでは正常に表示される
0008デフォルトの名無しさん
2010/05/21(金) 22:31:29奥行きは違うけどカメラから見ると重なっている状態
についてもっとkwskたのむ
00098
2010/05/21(金) 22:50:02透ける=前後関係がおかしい
という意味ならzバッファがちゃんと有効になっているかチェックしたらどうだろう
透ける=アルファブレンド
なら、描画する順番、重なり方によっておかしくなる場合がある
0010デフォルトの名無しさん
2010/05/21(金) 23:20:17/__ \
| | | |
(_) (__)
愛用ツール:PIX
0011デフォルトの名無しさん
2010/05/21(金) 23:23:54なんかワロタw
0012デフォルトの名無しさん
2010/05/22(土) 18:36:38DirectMusicと比べて長所短所いかがですか?
0014デフォルトの名無しさん
2010/05/22(土) 22:18:59消えてしまっていなかったっけ
DirectShowはプラットフォームSDKに移動だっけか
0015デフォルトの名無しさん
2010/05/22(土) 23:30:040 ≦ s ≦1
0 ≦ t ≦t
を簡単に表す方法はありますか?
成分で2式連立してs、tを出す方法しか思いつかないのですが
0016デフォルトの名無しさん
2010/05/22(土) 23:38:56?
0017デフォルトの名無しさん
2010/05/22(土) 23:44:150 ≦ s ≦1
0 ≦ t ≦1
を簡単に表す方法はありますか?
成分で2式連立してs、tを出す方法しか思いつかないのですが
0018デフォルトの名無しさん
2010/05/22(土) 23:52:16それともABC内の全ての点?
0019デフォルトの名無しさん
2010/05/22(土) 23:55:09だから多分全ての点だと思います
0020デフォルトの名無しさん
2010/05/23(日) 00:26:45その思いついた方法ってやつでいいんじゃないの
0021デフォルトの名無しさん
2010/05/23(日) 00:39:120022デフォルトの名無しさん
2010/05/23(日) 02:01:37d3dx9anim.hをインクルードするとエラーが起きます。
error C2065: 'IID_ID3DXAnimationSet' : 定義されていない識別子です。
error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
error C2078: 初期化子の数が多すぎます。
error C2065: 'IID_ID3DXKeyframedAnimationSet' : 定義されていない識別子です。
error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
error C2374: 'DEFINE_GUID' : 再定義されています。2 回以上初期化されています。
.
.
.
DirectXSDKは、February 2010 を使用しています。
同じような経験のある方、原因を教えてください。
よろしくお願いします。
0023デフォルトの名無しさん
2010/05/23(日) 02:02:44002422
2010/05/23(日) 02:16:10>>23
単純に先頭の画像を薄めた画像をどんどん重ねる場合もあるし
ラインを書く場合もある
0025デフォルトの名無しさん
2010/05/23(日) 03:20:01モーションブラーみたいなのを言ってるの?
単に軌跡に星みたいなのを飛ばしたいだけ?
0026デフォルトの名無しさん
2010/05/23(日) 05:15:23final.x=inputRL*right.x+inputUD*forward.x; final.z=inputRL*right.z+inputUD*forward.zとしたのですが逆方向に動いたりします
場合分けして入れ替えないといけないですか?それとも他のとこが間違ってるだけですか?
0027デフォルトの名無しさん
2010/05/23(日) 05:50:31やりたい事と聞きたいことをはしょらずに丁寧に説明してくれ
0028デフォルトの名無しさん
2010/05/23(日) 06:00:52十字キーを上に倒せば画面の奥に動くようにしたいです
今、たまにその通りになるときもあるのですが、偶然の時が多いです。
カメラの動きを同時にいじってまして、そっちと連携が取れてない可能性が100%なのですが、この式だけで本来ならどのようなカメラの向きでも十字キ
ーに見合った動きになるのか聞きたかったのです。例えば、北向きをz正、東をx正に作ってる時に、カメラが後ろから撮ってて、ワールド座標ではキャラは南を向いてる場合に右を押せば西方向に進む
にはこの式だけでできるのかが聞きたかったのです。
0029デフォルトの名無しさん
2010/05/23(日) 06:23:24right.x = forward.x;right.z=-forward.x
じゃなくて
right.x = forward.z; right.z=-forward.x
だと思うけどそこは書きミス?
0030デフォルトの名無しさん
2010/05/23(日) 06:26:48ソースではちゃんとなってます
0031デフォルトの名無しさん
2010/05/23(日) 06:42:09ありがとうございました
0032デフォルトの名無しさん
2010/05/23(日) 10:30:390033デフォルトの名無しさん
2010/05/23(日) 12:08:44こんな感じの弾の先から段々薄く広がってく感じの奴を作りたいんですが。
http://hp.vector.co.jp/authors/VA012735/applet/fountain2.htm
0034デフォルトの名無しさん
2010/05/23(日) 12:39:240035デフォルトの名無しさん
2010/05/23(日) 12:41:40それはフィードバックエフェクト系じゃないの?
簡単に言うと、1フレーム前のバックバッファをボカしてるだけ。
0036デフォルトの名無しさん
2010/05/23(日) 15:29:38Aを現在のレンダリング内容
Bを1フレーム前のレンダリング内容とする
Aのカラーとアルファ値をクリアして現在の●を書き込む
その上にBの内容を適当な半透明(もしくは加算合成)で書き込む
出来上がったAを画面に描画する
次のフレームではAとBを入れ替えて
Bを現在用にして
Aには前回の描画内容がそのまま残ってるのでこれをBに合成
以下AとBを毎フレーム入れ替えて繰り返し
0037デフォルトの名無しさん
2010/05/23(日) 15:41:080038デフォルトの名無しさん
2010/05/23(日) 15:46:56画面にシャボン玉を出して、シャボン玉の向こう側の景色がちょっと歪んで見える表現。
をやりたいのですが、どんなワードでぐぐれば参考ページがでてきますでしょうか?
シャボン玉 シェーダ
薄膜シェーダ
とかだといまいち違ったものが出てきてしまいまして…
昔泡のウサギをサンプルにしたページをどこかで見かけた記憶があるのですが…
0039デフォルトの名無しさん
2010/05/23(日) 16:02:150040デフォルトの名無しさん
2010/05/23(日) 16:11:260041デフォルトの名無しさん
2010/05/23(日) 16:19:47向こう側はまったくと言っていいほど歪まないよね。
0042デフォルトの名無しさん
2010/05/23(日) 16:21:08bubble, refraction, distortionとか?
http://developer.amd.com/archive/gpusamples/BubbleShader/Pages/default.aspx
この辺は?
0043デフォルトの名無しさん
2010/05/23(日) 16:24:52http://maverickproj.web.fc2.com/pg60.html
0044デフォルトの名無しさん
2010/05/23(日) 17:08:47きょきょ?
0045デフォルトの名無しさん
2010/05/23(日) 20:03:49泡のうさぎって、もしかして、
http://developer.download.nvidia.com/SDK/9.5/Samples/samples.html
の下から17個目くらいのとこにある、Refractive Dispersionのこと?
0046デフォルトの名無しさん
2010/05/24(月) 00:07:090047デフォルトの名無しさん
2010/05/24(月) 00:08:48複数表示するには?
0048デフォルトの名無しさん
2010/05/24(月) 00:11:47DrawSubsetを呼ぶ
0049デフォルトの名無しさん
2010/05/24(月) 00:12:120050デフォルトの名無しさん
2010/05/24(月) 01:25:57ありがとうございます。
フィードバックエフェクトで調べてみます。
0051デフォルトの名無しさん
2010/05/24(月) 01:33:35「DirectXシェーダプログラミング 仕組みからわかるゲームエフェクトテクニック」
出版社:ソフトバンククリエイティブ
フィードバックエフェクトはこの本に載ってたよ。
よかったら参考にしてみて。
0052デフォルトの名無しさん
2010/05/24(月) 01:37:590053デフォルトの名無しさん
2010/05/24(月) 02:20:46このページのサンプルをそのまま3Dにしたのですが上手くいきません
カメラが一杯に引いたときに画面が高速でほんの少しの幅だけ振動してしまいます
変えたのは、サンプルのCamera.cpp以外は消してCamera.cppにSprite.cppのSetPos()を作って
描画ループ中でEye、Atにキャラの座標を入れたあと
pCamera->SetPos(Eye.x,Eye.z);
pCamera->Action();
Eye.x = pCamera->m_vec2Pos.x;Eye.z = pCamera->m_vec2Pos.y;
At += 向きベクトル;
D3DXMatrixLookAtLH( & View, & Eye, & At, & Up );
としたのと、同じ意味だと考えて、
void Camera::Action()
{loat fRot = MakeRot(GetRotCamera(),m_pCameraObject->GetRot());
をfloat fRot = GetRotCamera();に変えました
なぜなら、MakeRotは引数から相対角度を取得と書いてあったので3D上ではGetRotCameraだけでできるような気がしたからです。
各所のm_pCameraObject->GetPos()//(.成分)がでてくるのですが、ここにはexternでキャラの座標を直接入れたのでCameraファイル以外を消しました。
よろしくおねがいします
0054デフォルトの名無しさん
2010/05/24(月) 02:53:19図書いて導き出せるもんなんですか?線形代数何度も勉強してるがダメだ・・・
0055デフォルトの名無しさん
2010/05/24(月) 04:31:09いい加減頭の悪い質問の仕方するのやめろよ
0056デフォルトの名無しさん
2010/05/24(月) 05:21:07数学の話なんだから式をかいてりゃ求まる。
0057デフォルトの名無しさん
2010/05/24(月) 05:56:45造語じゃなくて、一般的過ぎる言葉って感じ。
フィルタの出力を入力に戻す特殊効果全般を指す言葉。
0058デフォルトの名無しさん
2010/05/24(月) 06:32:06その書き換えたソースうpってくれよ
0059デフォルトの名無しさん
2010/05/24(月) 06:34:49ソースくれくれ厨乙
0060デフォルトの名無しさん
2010/05/24(月) 06:36:420061デフォルトの名無しさん
2010/05/24(月) 06:37:19どの軸を回転させるかというのは計算方法は決まってるから
そういった意味では導ける
変換行列自体の意味を知りたいなら勉強が足りない
もっと調べて本を読め
変換行列から軸の回転具合を逆算するとか言う話なら
別に一つずつの変換行列を保持しておかないと超面倒なことになる
0062デフォルトの名無しさん
2010/05/24(月) 06:39:07未完成のソースもらったって仕方ないだろ……
何いってんの
0063デフォルトの名無しさん
2010/05/24(月) 06:43:27・上下連打するとガクガク
・いっぱいに近づいた時or離れた時にガクガク
元が悪いんじゃね?
0064デフォルトの名無しさん
2010/05/24(月) 07:16:18行列で回転移動させた方がスマートになるんじゃね?
3Dで表示してる以上キャラのワールド行列はすでに出来上がってるのに
なんでいちいち全部分解して再計算するの?
0065デフォルトの名無しさん
2010/05/24(月) 07:27:59言ってる意味がよくわからんが、2D上で試すことはたまにやるし
分解しないと計算もへったくれもなくね
0066デフォルトの名無しさん
2010/05/24(月) 07:49:380067デフォルトの名無しさん
2010/05/24(月) 07:59:33質問は具体的に
0068デフォルトの名無しさん
2010/05/24(月) 09:17:010069デフォルトの名無しさん
2010/05/24(月) 09:28:040070デフォルトの名無しさん
2010/05/24(月) 09:40:280071デフォルトの名無しさん
2010/05/24(月) 10:03:46>>70
誰ですか?
0072デフォルトの名無しさん
2010/05/24(月) 10:04:22荒らしは巣に帰れ
0073デフォルトの名無しさん
2010/05/24(月) 10:08:25>>70
荒らしは巣に帰れ
0074デフォルトの名無しさん
2010/05/24(月) 10:13:24オマエモナー
0075デフォルトの名無しさん
2010/05/24(月) 11:49:56素直に数学やれ
内積で出来る
0076デフォルトの名無しさん
2010/05/24(月) 12:00:40ありがとうございます。全く気付きませんでした
タンジェントの足す公式で今知ったアークタンジェントを使いました
0077デフォルトの名無しさん
2010/05/24(月) 12:14:240078デフォルトの名無しさん
2010/05/24(月) 17:25:07sdkインストールしてないや
0079デフォルトの名無しさん
2010/05/24(月) 17:45:59どうでもいい
0080デフォルトの名無しさん
2010/05/24(月) 17:59:51ヘルプに式書いてるんだけど分かる人居ます?
0081デフォルトの名無しさん
2010/05/24(月) 18:18:130082デフォルトの名無しさん
2010/05/24(月) 18:29:28Jim Blinn's Corner第1巻の第6章に詳しく載ってる。
俺は英語版しか持ってないけど、何年か前に日本語訳も出てたと思う。
結論だけ書くと、地面の同次座標表現をG(4次元縦ベクトル)、
光源の同時座標表現をL(4次元横ベクトル)とするとき、
ShadowMatrix = (LG)I - GL
となる。ただし、I は4x4単位行列。
LGがスカラー(内積)でGLが4x4行列になることに注意。
0083デフォルトの名無しさん
2010/05/24(月) 18:34:57ありがとう
0084デフォルトの名無しさん
2010/05/24(月) 18:36:31理由はよくわからないけど、基本はBlinn's Cornerの理論と同じだと思う。
0085デフォルトの名無しさん
2010/05/24(月) 19:02:30googleで最初にヒットしたサイトだが、
D3DXMatrixShadowの理屈はここで説明されているものと一緒だろう。
※「X = M*Xs」と書いているが、「Xs = M * X」の間違いかなぁ・・?
まあ、他の線形代数の変換式のように、頭でイメージ出来る類ではなさそうだから
そういうもんだと済ませるのがよさそう。
0086デフォルトの名無しさん
2010/05/24(月) 21:44:25レンダリングターゲットにできるテクスチャーをAとします。
Aに対して、Aをテクスチャとして利用しての描画はできるのでしょうか?
曇りガラスのように、向こう側に見える風景をゆがめる物体を表示するとします。
それが複数枚重なっている場合、一番奥にはガラス描画前の風景を。2番目には1番目のガラスを描画した後の風景を…。
といった感じに、テクスチャを渡す必要があると思うのです。
その際、
バックバッファに風景描画
テクスチャにコピー
そのテクスチャを使ってバックバッファに2枚目を描画
テクスチャにコピー
とやるのはコストが高い気がしまして。
とはいうものの、Aを参照しながらAに描画なんてことができる気もまたしなくて…。
0087デフォルトの名無しさん
2010/05/24(月) 21:53:37できない。
その例ではコピーする必要はなくて、レンダリングターゲットを2枚用意して
交互に入れ替えて使えばいい。
0088デフォルトの名無しさん
2010/05/24(月) 21:54:57ガラスの描画だと、やっぱりコピーして使うものか。
0089デフォルトの名無しさん
2010/05/24(月) 23:05:010090デフォルトの名無しさん
2010/05/25(火) 00:02:01適当なサイズの曇りガラス用レンダリングターゲットテクスチャBを用意して
Aに風景をレンダリングする
AをテクスチャとしてBに曇り部分をレンダリングする
BをAにレンダリング
これを曇りガラスの枚数分繰り返して
最後にAをバックバッファにレンダリングでいいんじゃね?
0091デフォルトの名無しさん
2010/05/25(火) 04:33:37forward = Eye - At;D3DXMatrixLookAtLH( & View, & Eye, & At, & Up );
カメラの右ベクトルright.x = forward.z;right.z=-forward.x;right.y=0;
final.x=inputRL*right.x+inputUD*forward.x; final.z=inputRL*right.z+inputUD*forward.z
D3DXVec3Scale( &final, &final, 大きさ)
D3DXVec3Add( & final, & final, & Pos ); Pos = final;Posはマップ上の座標
絶対に値はあってる。はず。90度には動く。ただ画面の軸と関係ないし、マップのx、zとも関係無い何かを左右前後に動く
もう解決策が思いつきません。助けてください
0092デフォルトの名無しさん
2010/05/25(火) 05:08:47じゃあ、そこに出てる変数を全部ウォッチに登録して
その計算後のすぐ後にブレークポイント打って
適当な方向にキーを入れた時の
全部の変数の値見れるようにしたもののSSをうpしてよ
0093デフォルトの名無しさん
2010/05/25(火) 05:11:03デバッカの使い方しらないから躓いてるんじゃないの?w
0094デフォルトの名無しさん
2010/05/25(火) 05:15:55ブレークポイントで止めるくらいしか知りません。ウォッチもあまりやったことがありません。頑張ってみます
0095デフォルトの名無しさん
2010/05/25(火) 05:24:03D3DXMATRIX m;
D3DXMatrixIdentity(&m);
m._11 = View._11;m._12 = View._21;m._13 = View._31;
m._21 = View._12;m._22 = View._22;m._23 = View._32;
m._31 = View._13;m._32 = View._23;m._33 = View._33;
D3DXVECTOR3 v( inputRL, 0.0f, inputUD);
D3DXVec3Scale( &v, &v, 大きさ);
D3DXVec3TransformCoord(&v, &v, &m);
Pos += v;
0096デフォルトの名無しさん
2010/05/25(火) 05:25:46inputUDとinputRLに
アナログキーの情報が-1.0〜1.0fで入ってると仮定して(だよね?)
ワールド座標軸が奥方向がZ+であるのに対して
inputUDのU方向の入力値が-だから
X軸方向には正しく動けるけど
Z軸方向には反転して動いちゃうとかってオチじゃないの?
0097デフォルトの名無しさん
2010/05/25(火) 05:40:09ありがとうございます。あとでやってみます
At、View、UPがエラーでシンボルが見つかりませんとなります
それと、横を押した時と、その次のコマをうpれば良いですか?
画面が出てこないとキーを押せないのでその間に何回転もしてしまうのですが
0098デフォルトの名無しさん
2010/05/25(火) 05:43:38ありがとうございます
多分、Atの位置とキャラの座標を結んだ線を中心に前横後ろに移動してしまいます
Atには直前でキャラの座標が入ってるのですが、D3DXMatrixLookAtLHに入れる時にはキャラの向きを大きさ調節して足したのが入ってるのでキャラのちょっと前が今のAtです
自分のイメージでは、カメラとそのAtを結んだ線を基準に前後左右に動きたいのですが、なぜかキャラとAtを結んだ線が基準になってしまいます
0099デフォルトの名無しさん
2010/05/25(火) 05:45:100100デフォルトの名無しさん
2010/05/25(火) 05:49:38じゃなかったら、もう少し日本語を磨いてから出直してくれ
0101デフォルトの名無しさん
2010/05/25(火) 06:23:07したら斜め上空に動いた
もうだめぽ
0102デフォルトの名無しさん
2010/05/25(火) 07:55:070103デフォルトの名無しさん
2010/05/25(火) 08:01:59普通にコピって大きさ変えれば良いだけだろ
0104デフォルトの名無しさん
2010/05/25(火) 08:13:35元のベクトルの長さを掛ける
0105デフォルトの名無しさん
2010/05/25(火) 08:25:540106デフォルトの名無しさん
2010/05/25(火) 09:57:080107デフォルトの名無しさん
2010/05/25(火) 10:37:53それって質問者の方法と何が違うの?
0108デフォルトの名無しさん
2010/05/25(火) 11:26:29直接テクスチャに描けばいいじゃん?ってことだろ
0109デフォルトの名無しさん
2010/05/25(火) 16:58:070110デフォルトの名無しさん
2010/05/25(火) 17:33:240111デフォルトの名無しさん
2010/05/25(火) 17:34:56方向は保持してるのですが、回りすぎてしまったりします
0112デフォルトの名無しさん
2010/05/25(火) 18:56:470113デフォルトの名無しさん
2010/05/25(火) 19:03:55回りすぎないようにすれば大丈夫ですよ
0114デフォルトの名無しさん
2010/05/25(火) 19:06:030115デフォルトの名無しさん
2010/05/25(火) 19:37:12式教えてください
0116デフォルトの名無しさん
2010/05/25(火) 20:00:29atan2してキーを入力してる角度を出せばいい
カメラが回ってるならカメラの回転角度も加算する
0117デフォルトの名無しさん
2010/05/25(火) 20:32:50みたいな感じですか?
右回り、左回りはどういう判断ですれば良いのでしょうか?
0118デフォルトの名無しさん
2010/05/25(火) 20:37:410119デフォルトの名無しさん
2010/05/25(火) 20:41:13キーの入力方向とキャラの方向を一致させるだけ
まぁ、演出上どうしても足したいっていうなら
右回り左回りの判定は外積(2次元)を使う
0120デフォルトの名無しさん
2010/05/25(火) 20:52:090121デフォルトの名無しさん
2010/05/25(火) 20:59:08モデルを指定した座標に向かせるとかってのはできるの?
0122デフォルトの名無しさん
2010/05/25(火) 21:03:20後は回り方の判断だけだと思います
0123デフォルトの名無しさん
2010/05/25(火) 21:08:060124デフォルトの名無しさん
2010/05/25(火) 21:08:50ちなみに上下の判定は上ベクトルとの内積の符号で
0125デフォルトの名無しさん
2010/05/25(火) 21:14:530126デフォルトの名無しさん
2010/05/25(火) 21:29:17ほんとうにありがとうございました
0127デフォルトの名無しさん
2010/05/25(火) 22:28:30どういたしまして
0128デフォルトの名無しさん
2010/05/26(水) 00:09:05上はニコニコ動画です。
こう言うエフェクトはどうやって出してるんでしょうか。
地道にパーツ毎にポリゴンを置いてテクスチャをUVアニメーションさせるんですか?
0129デフォルトの名無しさん
2010/05/26(水) 00:39:55俺だったら専用ソフトとか
3Dモデリングソフトの流体シミュレートとかパーティクル生成プラグインで作成したエフェクトを再生するだけにするが
0130デフォルトの名無しさん
2010/05/26(水) 01:35:460131デフォルトの名無しさん
2010/05/26(水) 02:24:150132デフォルトの名無しさん
2010/05/26(水) 08:20:32某ツールだと出力するとアニメーションモデル(UV、テクスチャ含む)ができるから再生するだけw
動画としてもだせる
この場合も再生するだけ
0133デフォルトの名無しさん
2010/05/26(水) 12:18:45某ツールとはなんでしょうか?
肝心なことをはっきり言って下さいよ。
0134デフォルトの名無しさん
2010/05/26(水) 13:47:14プログラムを教えて下さい。
0135デフォルトの名無しさん
2010/05/26(水) 13:48:090136デフォルトの名無しさん
2010/05/26(水) 14:49:05その画像を表示するにはどんなコードを書けばいいでしょうか?
0137デフォルトの名無しさん
2010/05/26(水) 14:49:130138デフォルトの名無しさん
2010/05/26(水) 14:52:53画像をメモリに読み込んでその画像を表示するコードを書けばいいですよ
0139デフォルトの名無しさん
2010/05/26(水) 15:10:39テクスチャサーフェイスをロックして画像を書き込む
0140デフォルトの名無しさん
2010/05/26(水) 15:46:36>>138
>>139
貴重な回答ありがとうございました!!
0141デフォルトの名無しさん
2010/05/26(水) 17:48:39>>3Dスティックに合わせて向きを合わせる方法を教えてください
一応解決してるみたいだけど、スティックの角度を求めて行列を回転してるとしたら二度手間じゃないか?
スティックの2DVecを絶対値にして行列の対応する場所にセットすればできるはず
0142デフォルトの名無しさん
2010/05/26(水) 17:56:09どういう意味ですか?
0143デフォルトの名無しさん
2010/05/26(水) 18:10:56行列が3つの3次元ベクトルで出来ていて、姿勢を表してるとすれば
Vec1(X) 1 0 0
Vec2(Y) 0 1 0
Vec3(Z) 0 0 1
X、Y、Zはそれぞれ、姿勢変更する前のオブジェクトのローカルな軸(X、Y、Z)が、
姿勢変更後どんな方向を向くかを表してるようなもの
たとえば次の行列で、+Z軸が正面のオブジェクトを変換すると、Y軸で回転した+X軸を向くオブジェクトとなる
0 0-1
0 1 0
1 0 0
0144デフォルトの名無しさん
2010/05/26(水) 18:11:48質問者はスティックの向きに合わせる行列が欲しいのではなく、
向きを少しずつ回転させていって合わせたい
超能力を使えば行間から読み取れるはずw
0145デフォルトの名無しさん
2010/05/26(水) 18:16:51+Z軸を正面とするキャラクターをスティックの方向にむけるには、次の行列を作ればいい
Z 0 -X
0 1 0
X 0 Z
DirectXだったら4x4の行列だから、キャラクターの位置情報(X' Y' Z')を追加してこうなる
Z 0 -X 0
0 1 0 0
X 0 Z 0
X' Y' Z' 1
たぶんな、ケアミスしてたらごめんね
0146デフォルトの名無しさん
2010/05/26(水) 18:18:55そうだったのか
ただこの手の非効率な処理ってよく見かけるから、参考になったらいいな
0147デフォルトの名無しさん
2010/05/26(水) 18:23:110148デフォルトの名無しさん
2010/05/26(水) 18:51:560149デフォルトの名無しさん
2010/05/27(木) 08:23:10それと、ベクトルのノーマライズってつまりはどういうことか教えてください!
0150デフォルトの名無しさん
2010/05/27(木) 09:14:30その長さを1にする事をノーマライズと言う
D3DXでは
D3DXVec2Normalize
D3DXVec3Normalize
自前で計算する場合は各要素をベクトルの長さで割る
というかいい加減そろそろ消えて欲しい
0151デフォルトの名無しさん
2010/05/27(木) 09:17:520152デフォルトの名無しさん
2010/05/27(木) 09:19:40DirectXと関係ないスレ違いな質問を繰り返してるからだ馬鹿
0153デフォルトの名無しさん
2010/05/27(木) 09:25:38あそこならどんなくだらない質問にも答えてくれるようなスレがひとつふたつはあるだろ?
0154デフォルトの名無しさん
2010/05/27(木) 10:30:10↑これって長さを1にするってことですよね?ウォッチで直後の値を見たらどう見ても2乗して足してルートしても1にならないのですがなぜでしょうか?
0155デフォルトの名無しさん
2010/05/27(木) 10:31:48>>150
0156デフォルトの名無しさん
2010/05/27(木) 10:35:21そうなのです
今ノーマライズにしたら思ったとおりの動きになったのです
今までスケーリングって大きさを設定することだと思ってたのですが違うのでしょうか?MSDN見てもスケーリングスケーリングと書いてたので、特に困ることもなかったのでそうともう自分の中では定着してたのですが
大きさ設定するときはノーマライズ→*大きさなのですね
0157デフォルトの名無しさん
2010/05/27(木) 10:49:36大きさを倍増させる関数だそれは。
1.0f渡したら、1倍するのだからAに変化は起きない(か、誤差の範囲でほんのわずかに変わるかもな)
0158デフォルトの名無しさん
2010/05/27(木) 10:55:29ありがとうございました
0159デフォルトの名無しさん
2010/05/27(木) 11:31:240160デフォルトの名無しさん
2010/05/27(木) 14:04:59みんなどうしてるんだろう
0161デフォルトの名無しさん
2010/05/27(木) 15:27:410162デフォルトの名無しさん
2010/05/27(木) 16:34:53好きなの使えばいいよね
0163デフォルトの名無しさん
2010/05/27(木) 17:12:28動画を上げている人がツールは自作みたいな事を書いていた気がしたので
どう描写しているのか気になり聞きました。
ツールを使えorその人に聞けって事ですね。
回答ありがとうございました。
0164デフォルトの名無しさん
2010/05/27(木) 21:03:070165デフォルトの名無しさん
2010/05/27(木) 21:44:50DirectXでしか動かすつもりがないならD3DX使ったほうが親和性は高いだろうが・・・
0166デフォルトの名無しさん
2010/05/27(木) 22:50:484x4行列積の速度が、SSEのそれに比べて100倍以上遅い。
(4x4行列積を65536x2回実行)
皆も気をつけるように。
0167デフォルトの名無しさん
2010/05/27(木) 22:59:30matrix4x4 time = 1.703250 // m4x4 * m4x4 on C++
simd_value< float32_t > time = 0.008166 // m4x4 * m4x4 on SSE
simd_value< float64_t > time = 0.003401 // m2x2 * m2x2 on SSE2
今試しにやってみたら
208.5782512858193倍だった。
本当かよww
0168デフォルトの名無しさん
2010/05/27(木) 23:52:360169デフォルトの名無しさん
2010/05/27(木) 23:53:290170デフォルトの名無しさん
2010/05/28(金) 00:47:42ライブラリ厨はそれでも自作であることに快感を覚えるみたいだけど
0171デフォルトの名無しさん
2010/05/28(金) 01:04:54まあ実際に古いから仕方が無いんだけれども
0172デフォルトの名無しさん
2010/05/28(金) 01:16:110173デフォルトの名無しさん
2010/05/28(金) 17:27:020174デフォルトの名無しさん
2010/05/28(金) 19:40:030175デフォルトの名無しさん
2010/05/28(金) 20:39:440176デフォルトの名無しさん
2010/05/28(金) 21:08:210177デフォルトの名無しさん
2010/05/30(日) 14:06:09通常、拡大や縮小を行いながらテクスチャの描画を行うには
SetSamplerState(0, D3DSAMP_***FILTER, D3DTEXF_LINEAR);
とリニアのフィルタを設定すれば、割と綺麗に描画してくれますよね。
これと同じようなことをワールド→…→スクリーン変換の際に行うことはできないのでしょうか?
(スクリーンに表示するときに、綺麗に拡大縮小を行いたいんです)
何をやりたいかと言うと、カメラの近くにポリゴンが寄ってきた際に
そのポリゴンのテクスチャが汚く表示されてしまうのです。
ポリゴンにテクスチャを描画する時には綺麗に拡大できるのに
それをカメラで見るときには綺麗に拡大できないので
もしも同じように処理できる方法があれば教えていただきたいです。
0178デフォルトの名無しさん
2010/05/30(日) 14:23:19何の設定して汚いって言ってるのの?
0179デフォルトの名無しさん
2010/05/30(日) 14:27:02どちらもD3DTEXF_LINEARです。
実際にポリゴン自体には綺麗に描かれていると思います。
ただ、それをカメラに近づけると汚くなってしまうのです。
実際に、D3DSAMP_MINFILTER、D3DSAMP_MAGFILTERの値をいじっても
この挙動が変わらないことから、この値はワールド→スクリーン変換の際には
反映されないと思っていたのですが、間違っているでしょうか?
0180デフォルトの名無しさん
2010/05/30(日) 14:35:18DirectX10以降はどういう扱いになってるのか知らんけど
0181デフォルトの名無しさん
2010/05/30(日) 14:44:21あくまで、ポリゴンを構成する3頂点の位置座標が変わるだけに過ぎない。
だから、テクスチャフィルタリングの効果と直接関係はない。
(異方性フィルタリング とかはあるが)
拡大して汚いのなら、拡大フィルタが効いていないと考えた方がいい。
よくGPUのプロパティ設定には、そこいら辺の設定があるが、有効になっているか?
0182デフォルトの名無しさん
2010/05/30(日) 15:42:42>それをカメラで見るときには綺麗に拡大できないので
どういう実装の意味なのか、誰かレベル2以上の能力者の方、お願いします。
0183デフォルトの名無しさん
2010/05/30(日) 16:04:32それを携帯カメラか何かで撮ったらジャギチラするってんだろ
ESP使うまでもない
0184デフォルトの名無しさん
2010/05/30(日) 19:27:48マジかよ
よくわかるな
ちょっと利口なチンパンジーの言葉ぐらいちょろいんじゃねーの?
0185デフォルトの名無しさん
2010/05/30(日) 19:37:26Kodu is a visual programming language made specifically for creating games.
ttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=57a23884-9ecd-4c8a-9561-64bfd4fa2d3d
0186177
2010/05/31(月) 04:41:52フルシーンマルチサンプリングを有効にしてみたのですが、何も変わりませんでした…
>>181
つまり、本来GPUの設定が正常になっていれば、
スクリーン座標に写る段階で、きちんとリニアなりの拡大処理をしてくれるはずで
そうなっていないのは、私のPCのGPU設定がおかしい可能性がある、
という解釈であっていますでしょうか。
明日仕事が終わって帰ってきたら、確認してみることにします。
>>182-184
残念ながらまったく違います…
「カメラ」はD3DTS_VIEWで行列を設定するDirectGraphicのカメラのつもりでした。
今回作ってみたテストプログラムでは、
まず、200x200のテクスチャを300x300に拡大してポリゴンに貼るとします。
この段階では、D3DSAMP_MAGFILTERにD3DTEXF_LINEARを設定することで
きちんとなめらかな拡大になっていることを、すでに確認しています。
ただし、この状態で、このポリゴンをスクリーン上に表示すると
ジャギが汚くなって汚い拡大縮小になってしまいます。
(例えるならば、D3DSAMP_MAGFILTERにD3DTEXF_NONEを設定したような描画です)
私の理解力では説明することが難しかったためか、
もう一度説明することになってしまい、すいませんでした。
おそらく、>>181氏の理解であっているかと思います。(おそらくですが…)
0187デフォルトの名無しさん
2010/05/31(月) 05:04:54或いはソースかそれが嫌ならバイナリだけでも出せば何人かは試してくれるはず
0188デフォルトの名無しさん
2010/05/31(月) 05:40:13拡大してポリゴンに張った段階がなめらかなのをスクリーンに表示せずにどうやって確認してんの
オフスクリーンレンダリングしてファイル出力とか?
0189デフォルトの名無しさん
2010/05/31(月) 06:54:44カメラから見ると汚くなるって、じゃあ綺麗なときはどうやって見てるんだよw
0190デフォルトの名無しさん
2010/05/31(月) 10:24:050191デフォルトの名無しさん
2010/05/31(月) 12:11:110192デフォルトの名無しさん
2010/05/31(月) 15:05:03レイを移動するメッシュに当てて命中点の座標を得たいんです
D3DXMatrixInverse(&matWorld,NULL,&matWorld);
D3DXVec3TransformCoord(&vecStart,&vecStart,&matWorld);
D3DXVec3TransformCoord(&vecEnd,&vecEnd,&matWorld);
D3DXIntersect(pmesh,&vecStart,&vecEnd,&boHit,&dwIndex,&U,&V,NULL,NULL,NULL);
D3DXMATRIX matWorld:対象メッシュの拡大*回転*位置
D3DXVECTOR3 vecStart:レイの始点
D3DXVECTOR3 vecEnd:レイの方向ベクトル
とやってるんですが
matWorldが回転と拡大の時はうまくレイが命中した点を得られるのですが
移動を含めてしまうとうまくいかないんです。
これはvecEndに移動を掛けちゃうからだと思うんですが
移動の要素だけ掛けないってできませんかねえ?
0193デフォルトの名無しさん
2010/05/31(月) 16:48:390194デフォルトの名無しさん
2010/05/31(月) 16:51:190195デフォルトの名無しさん
2010/05/31(月) 17:27:11余談だが、レイの方向ベクトルに vecEnd という変数名はどうかと思う。
一瞬、終点座標なら平行移動分まで変換して何の問題もないじゃないかと思ってしまった。
vecDir とかに変えたほうがいいよ。
あと、さらにお節介だが、ワールド行列の逆行列を matWorld に上書きするのもわかりにくい。
ちなみに、その vecDir にちゃんと方向ベクトルが入ってるなら、
D3DXVec3TransformCoord のかわりに D3DXVec3TransformNormal でいけると思う。
(このNormalという名称は少々紛らわしいけど、内部で勝手に逆転置とかやられるわけじゃない。)
もちろん、始点と終点を個別に D3DXVec3TransformCoord してから差をとってもOK。
0196デフォルトの名無しさん
2010/05/31(月) 19:07:51弾を40発程度発射するだけで、かなり描画が遅くなってしまいます。
どんな原因が考えられるでしょうか?
描画はスプライトのDrawメソッドを使っています。
0197デフォルトの名無しさん
2010/05/31(月) 19:46:390198デフォルトの名無しさん
2010/05/31(月) 19:56:13そうです。
描画するたびに下のような関数に読み込んだテクスチャのポインタを
渡して描画しています。
lp3dsp->Begin(D3DXSPRITE_ALPHABLEND);
lp3dsp->Draw(*texture,NULL,NULL,&D3DXVECTOR3(x,y,0.0f),0xFFFFFFFF);
lp3dsp->End();
0199デフォルトの名無しさん
2010/05/31(月) 20:00:490200デフォルトの名無しさん
2010/05/31(月) 20:32:02BeginとEndを毎回呼び出してたので、一番最初と最後だけ呼び出すように
変えたら、超速くなりました。
ありがとうございました。
0201デフォルトの名無しさん
2010/05/31(月) 20:41:34元に戻すにはどうすればよいのでしょうか?
0202デフォルトの名無しさん
2010/05/31(月) 21:11:53単位行列渡すだけじゃダメなの?
0203デフォルトの名無しさん
2010/05/31(月) 23:27:24この二つってどのような使い分けなのでしょうか?
0204デフォルトの名無しさん
2010/05/31(月) 23:31:530205デフォルトの名無しさん
2010/06/01(火) 00:09:00D3DXVec3TransformCoordはV(x,y,z, 1 )として行列変換される
D3DXVec3TransformNormalはV(x,y,z, 0 )として行列変換される
行列の掛け算の式を思い出してもらえばピンと来ると思うが
つまり、変換行列のD3DXMATRIXで言うところの
_41, _42, _43, _44(つまり移動成分)を計算に含めるかどうかの違い
1なら移動も含まれるので主に位置座標の行列変換に用いられる
0なら移動成分の計算結果も全部0になってしまう
つまり回転と縮小のみが適応されるので
ベクトルや法線など単純に向きだけ変えたい時の行列変換に用いられる
0206デフォルトの名無しさん
2010/06/01(火) 00:30:313Dで壁に沿って移動する、壁ずり の計算方法の解説サイトをどなたかご存知ではないでしょうか?
理論は ttp://www.cam.hi-ho.ne.jp/strong_warriors/teacher/chapter09.html こちらで大よそ解りました。
そこで、現在地面の高度の計算に使い成功している
ttp://marupeke296.com/COL_Basic_No2_ShortTec.html こちらの「斜面に立つには?」の計算式を
応用できないかと思ったのですが、真下から平面360°が相手になるとどう書き換えれば通用するのか解らず、
レイの命中した法線方向を利用できないか・・と思ったのですが壁面はが色々傾きが違い
常にベストなポリゴンにレイが当たってくれる保障が無いのが恐ろしく・・。
何か上手く壁ずりについて詳細に説明して下さっている所を、どなたかご存知ではないでしょうか・・?
0207デフォルトの名無しさん
2010/06/01(火) 00:32:020208デフォルトの名無しさん
2010/06/01(火) 02:17:433DRPGならともかく、アクションゲームなら実用に絶えない。
だって、キャラがジャンプすることも考えてないし、90度以下の角度禁止なんて、実用レベルでは使い物にならない。
そんな制限PlayStation1の時代でも許されないだろ
とりあえずBulletとか既存の物理エンジンとか組み込んでみる方が早いんじゃなかろうか。
0209デフォルトの名無しさん
2010/06/01(火) 05:39:47結局アタマひねっていま自分が作りたいに一番合ってる方法を考えないといけない
0210デフォルトの名無しさん
2010/06/01(火) 09:28:06(A)
進むべき方向に、移動量分キャラを進める。(当然、速度が速すぎて薄い壁を通り越してしまう場合は、ある程度細分化する)
壁の中にめり込んだら、二分検索で「壁にめりこまないぎりぎり」の位置を探す。
その位置までに消費した距離を求め、移動量から引く。
残りの移動量をどうするかを考える。
本来の進行方向から、左右交互に1度ずつずれた方向へ移動を試みる。
左に1度、右に1度、左に2度、右に2度・・・
壁にめりこまない方向を発見したら、その方向が進むべき方向。
goto (A)
欠点。
「残りの移動量」がある程度大きい場合に以下の欠点が出る。
・でっぱった角を抜けやすい
→左右1度ずつずらして空き方向を検索する際、残りの移動量を使わずに「わずかな移動量」で方向を決めるようにすると解決
・でっぱった角の部分で、精密に角に密着して移動してくれるわけではない
→1フレームに進む距離なんてたかがしれている。1秒に10cm進むとして、角から離れてしまう量は最大10cm。気にするな
利点
・計算コストがわりと軽い
・どんな悪条件でも壁にめりこまない
・プログラムが簡単
0211デフォルトの名無しさん
2010/06/01(火) 11:27:20実際には球と壁の判定で行わないといかん事を考えると相当手間だしデバッグも面倒くさい。
どうせアクションとかならキャラ同士の判定も必須なんだし
物理エンジンを使えるようになった方が手っ取り早いと思うけど。
判定基準が球じゃないんだったらレイ飛ばして反射ベクトルを求めればいい。
そのままだと反射してしまうから反射後の位置と反射前の位置の中点が
丁度壁にそって移動した場合の壁の平面状の位置になる。
あとは壁の衝突点からその移動先の点へレイをまた飛ばして
あたらなくなるまで繰り返すと綺麗な壁ずりが出来る。
球の場合は激しく面倒くさい、やり方の詳細はリアルタイムレンダリング第2版読むよろし。
0212デフォルトの名無しさん
2010/06/01(火) 11:45:38質問の意図が分からないが物理エンジンで使われてる
が、大抵そこはそとからは触らなくても良い
0213デフォルトの名無しさん
2010/06/01(火) 14:25:42ありがとう
0214デフォルトの名無しさん
2010/06/01(火) 14:46:51いままで DSERR_BUFFERLOST が返されたことがないのですが、どういう時にロストが起こるのでしょうか?
DirectSoundBufferのロストのテストをしたいのですが。
Direct3Dのデバイスロストは、モニター解像度の変更などで簡単におこせたので楽だったのですが、
DirectSoundではどういうことをすればロストしますか?
0215デフォルトの名無しさん
2010/06/01(火) 14:55:430216デフォルトの名無しさん
2010/06/01(火) 15:18:330217デフォルトの名無しさん
2010/06/01(火) 19:48:17なるほど!
よく分かりました。
詳しい説明感謝します!
ありがとうございあました
0218デフォルトの名無しさん
2010/06/01(火) 20:41:26Directx9必携にこんな壁ずりの式があったんですが、どうでしょう?
S=L-(N * L)/(|N|^2)*N
S:滑りベクトル
L:移動ベクトル
N:ぶつかる面の法線
当方線形代数に詳しくないので、
深い知識もっている方補足があったらたのんます
0219デフォルトの名無しさん
2010/06/01(火) 20:45:03>>211
0220デフォルトの名無しさん
2010/06/01(火) 21:11:250221デフォルトの名無しさん
2010/06/02(水) 08:43:48DirectX導入したんだけど、プログラム打ち込むのはサンプルビューアからやるの?
そんともVC++2008EEのスタートページから1から組んだほうがいいんすか?
0222デフォルトの名無しさん
2010/06/02(水) 08:55:52ちゃんと作るつもりなら1から組んだ方がいい
0223デフォルトの名無しさん
2010/06/02(水) 08:57:000224デフォルトの名無しさん
2010/06/02(水) 09:35:26|N|^2ってなにやってんの?
|N|が1以外になるとしたら法線じゃないよな。1^2は1だし…
0225デフォルトの名無しさん
2010/06/02(水) 10:48:18単位ベクトルじゃなくても法線は法線だよ。
それを正規化するために |N| で割ってるんでしょ。
>>218の式ではちょっと変な位置に割り算が入っているけど、
S = L - ((N/|N|) * L) * (N/|N|)
と書き直せばわかりやすいと思う。
0226デフォルトの名無しさん
2010/06/02(水) 10:49:420227デフォルトの名無しさん
2010/06/02(水) 11:04:370228デフォルトの名無しさん
2010/06/02(水) 12:43:57動画から1コマずつ取り出して、合成だのエフェクトだのをぐちゃぐちゃっと
加工して出力するのを作ろうとしてるんだけど、DirectX8のDirectShowでの
やり方はぐぐって見つけましたけど、現状のDirectX SDKって9までしか
入って無いですよね?(Redistの中にも9までしか見当たらない)
Qedit.hどこ?ってレベルなんです。
1、DirectX9or10でDirectShowってどこに行ったの?
2、どこかDirectX9or10での動画の扱い方について、解説orサンプルが
ある様な勉強できそうなオススメサイト知っていたら教えて下さい。
0229デフォルトの名無しさん
2010/06/02(水) 13:34:420230デフォルトの名無しさん
2010/06/02(水) 16:55:51てか2010いろいろ楽しすぎる。ちょっと楽しみ
0231デフォルトの名無しさん
2010/06/02(水) 17:22:040232デフォルトの名無しさん
2010/06/02(水) 17:24:29俺はdirectx9で止まっています
0233デフォルトの名無しさん
2010/06/02(水) 17:43:13.NET FrameworkSDKと統合されてそう呼ばれるようになった
本来はVisualStudio買わなくてもWindowsアプリが開発できるように
無料でマイクロソフトが公開してるヘッダとライブラリだけど
DirectShowをはじめVisualStudioに含まれないライブラリが含まれるたり
VisualStudioより更新が早かったりするので併用されることが多い
0234デフォルトの名無しさん
2010/06/02(水) 17:48:32沢山のヒントやご助言ありがとうございます。完璧な方法は無いんですね。
>結局アタマひねっていま自分が作りたいに一番合ってる方法を考えないといけない
との事で自分の理想に沿って作っております。
物理エンジンという存在も遠く聞き及んでいましたが・・こういう時に導入するのですね。
数式の方は私にはいまいち理解できませんが、いつか読めないとヤバくなりそうな・・。
様々なお話ありがとうございました。少し現実が見えて気がします。
0235206
2010/06/02(水) 17:49:400236デフォルトの名無しさん
2010/06/02(水) 17:50:29ぴょんぴょん跳ねちゃったり地形にはまり込んでスタックしたりするからよく考えてからな
0237デフォルトの名無しさん
2010/06/02(水) 18:23:490238デフォルトの名無しさん
2010/06/02(水) 19:14:54ゲームのルールにかかわる部分で使うのは挙動が読めない分危険
0239228
2010/06/02(水) 20:13:35ありがとう!
なるほど、PlatformSDKに行ったんですか。色々納得しました。
0240デフォルトの名無しさん
2010/06/03(木) 02:14:01使うにはどうしたらいいの?勝手にやってくれるの?
0241デフォルトの名無しさん
2010/06/03(木) 03:01:30てか、「何とか」テクノロジーって何だよ?
質問するならちゃんと書けよ
0242デフォルトの名無しさん
2010/06/03(木) 04:14:52NVIDIA 3D VISIONテクノロジー 立体視
NVIDIA Optimusテクノロジー GPU自動切り替え。ノートPC向け
NVIDIA SLIテクノロジー GPU複数差し。3-way SLIテクノロジー・Quad SLIテクノロジーも。
ATI CrossFire テクノロジー GPU複数差し。Hybrid Crossfireテクノロジー・CrossFileXテクノロジーも。
AMD UVDテクノロジー Unified Video Decorder。動作再生支援
AMD VISIONテクノロジー HiDefマルチメディア・エクスペリエンス
Dolby Headphoneテクノロジー サラウンド再生
PCI Expressテクノロジー シリアル転送インターフェース
0243デフォルトの名無しさん
2010/06/03(木) 05:04:01高い壷とか買わされないように気をつけろよ
0245デフォルトの名無しさん
2010/06/03(木) 12:35:51処理ためのパフォーマンスは(旧世代と比べて)4倍に向上しています。
こういうこと?
0246デフォルトの名無しさん
2010/06/03(木) 12:52:56フィルタグラフにISampleGrabberを繋げる所まで来ました。
判らない所が出てきたので、教えて下さい。
1、MPEG4(H.264)動画をIGraphBuilder->RenderFile()で読込ませて
フィルタグラフを作らせ、このフィルタの途中にISampleGarbberを
割り込ませれればと思ったのですが、Microsoft DTV-DVD Video
decorderのVideoOutput1には、ISampleGrabberが接続できず(中間
フィルタが無いって怒られる)、Line21というもう1つの出力ピン
(チルダで始まる出力ピン)にはつながります。
しかし、ISampleGrabberCB->SampleCB()がコールバックされていない
ので、画像が送られてきて無いみたいなのです。
(コンソールで作ってるのですが、コールバックされたら"."を表示
させても"."が出ない)
Line21って画像が出力されない?
それとも、ISampleGrabberの設定不足?
2、SampleCBでミューテックス等のロックを使うなとMSDNにあったのですが、
これはCreateFile(),WriteFile()も対象?(ブロッキングの関係?)
リングバッファでも作ってコピーさせようとは思ってるのですが、SampleCB
ではロック使うなって書いてあった(と思った)ので、ちょっと疑問に思って。
長くてすみません。
0247デフォルトの名無しさん
2010/06/03(木) 12:55:53なんちゃらテクノロジーって、意識して使えるものと使えないものが
あるんじゃね?
(Intel Coreも、意識しないで高速処理の恩恵を受けてるやん?
WindowsやBIOSががんばってるんだろうけどさ)
>>242最後のPCI Express テクノロジーなんて、どう使うの?
(わざわざ意識して使用する用途あるの?)って思わなくもない。
組み込み系だと、初期化を自分でやったりしなければならないので、
意識しないとだめだけど、使う分にはそこまで意識しないかと。
グラボ複数枚とかは、提供されているライブラリでボード単体を意識
させるIDでも渡すインタフェースが無ければ、意識する必要もなさそう。
特別に意識しなければならないライブラリの関数があるなら、それを呼ぶ
だけで使えるんじゃない?
なければ、普通に従来通りに作ればいい。
0248デフォルトの名無しさん
2010/06/03(木) 13:06:06ありがとうございます。
ドライバやレジスタを直接叩いたりする必要はないんですね。
(コンシューマーだとあるんですかね
0249デフォルトの名無しさん
2010/06/03(木) 14:17:55昔わからない時grapheditにかなり助けられた記憶がある
あとDirectShowと戦うスレというのもあるよ
0250デフォルトの名無しさん
2010/06/03(木) 21:06:27DirectXスレでDirectShowの質問しても、答えてもらえる確率は低いと思うよ。
ロックするなってのは、そこで処理がブロックされると動画の再生も止まるから
WaitForSingleObject等の待機関数を使うなってことじゃない?
使うならEnterCriticalSectionじゃなくてTryEnterCriticalSectionとか。
0251246
2010/06/03(木) 22:35:23>>249
grappheditは、あるのを思い出して使ってみて、ピンの構成がわかったの
ですが、なぜ繋がらないかっていうのが未だに理解できてないんですよね。
とりあえず、もうちょっとぐぐってみてから、DirectShow戦士になって
きます。
>>250
言われてみれば、既にDirectXから分離してるんだから、ここで質問しても
確かに確率低そうですね。
やっぱり、ロックする=動画再生が止まる→フィルタとしてはアウト、って
ことですよね。
とりあえず、DirectShowと一戦交えないと、この類は難しそうですね。
thxでした!
0252デフォルトの名無しさん
2010/06/05(土) 11:07:34D3DRS_ALPHABLENDENABLE → TRUE
D3DRS_SRCBLEND → D3DBLEND_SRCALPHA
D3DRS_DESTBLEND → D3DBLEND_INVSRCALPHA
を設定しており、頂点色0x7000ff70のポリゴンを表示しようとしているのですが、
全く半透明になりません。描画順番は
�@下地の描画
�A少しカメラ側に寄った位置に半透明ポリゴン描画
をしています。
色々検索してみてもこの設定なら出来るはずだと思うのですが、何か見落としている設定があるのでしょうか?
0253デフォルトの名無しさん
2010/06/05(土) 11:21:000254252
2010/06/05(土) 11:32:07まさにそこでした。
�@の下地の描画の時にSetTextureでテクスチャを設定していました。
�Aのポリゴンはそもそも頂点フォーマットにuv値がなく、そのまま描画しようとしていましたが、
念のためにSetTextureでテクスチャを外すと半透明表示されました。
0255デフォルトの名無しさん
2010/06/05(土) 14:20:26最初のタイトルメニューから移行する際に画面をだんだん暗くしてから、
次の画面に移行したいと思ってるんですが、どういう方法を用いれば、
そのようなことが可能ですか?
0256デフォルトの名無しさん
2010/06/05(土) 14:25:590257デフォルトの名無しさん
2010/06/05(土) 14:28:380258デフォルトの名無しさん
2010/06/05(土) 14:31:55Drawのカラーを0xffffffff→0xff000000に変化させるでもいいけど
それ以外で描画してるものがあるなら>>256が手っ取り早い
0259デフォルトの名無しさん
2010/06/05(土) 14:36:25>>256でやらせてもらいますわ!
ありがとう!
0260デフォルトの名無しさん
2010/06/05(土) 19:25:58dx_3DDevice->CreateTexture(GM.gmCellIncX, TM.tmHeight, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT,&pTexture,NULL) //テクスチャの作成
pTexture->LockRect 0, pLockRect, Null, D3DLOCK_DISCARD //ロック
としたときどうしてもLockRectでエラー(D3DERR_INVALIDCALL)が出て先へ進めません。
D3DUSAGE_DYNAMICを指定しているのでロックできるはずなのですが…どこが悪いのでしょうか?
0261デフォルトの名無しさん
2010/06/05(土) 19:30:23そういうのは
ガンマコントロールでやるんじゃ?
0262デフォルトの名無しさん
2010/06/05(土) 19:54:18色の調整に使うものだと思ってる
0263デフォルトの名無しさん
2010/06/05(土) 23:32:27他で悪さしてないならそれで問題ないはず
SDK付属の簡単なサンプル(Tutorial 1: CreateDeviceとか)を
サンプルブラウザから適当な場所にインストールして
デバイスの初期化の後に
LPDIRECT3DTEXTURE9 pTexture ;
g_pd3dDevice->CreateTexture(256, 256, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT,&pTexture,NULL);
D3DLOCKED_RECT LockRect;
HRESULT ret = pTexture->LockRect (0, &LockRect, NULL, D3DLOCK_DISCARD) ;
pTexture->Release() ;
っやってちゃんとCreateTextureに成功するか、そしてロックできるか確認してみ?
それでダメならビデオカードが動的テクスチャに対応してないとか
0264デフォルトの名無しさん
2010/06/05(土) 23:37:36システム屋系の思考の人ってこういう大雑把なやり方を忌避するタイプの人が多いけど
実はこのやり方はもう1つメリットがあって
ただの板ポリじゃなくてα値を仕込んだテクスチャを貼り付けて
透明度ではなくαテストの閾値を変化させることで
上から下にとか真ん中から外縁に向かってとか模様を描きながらとか
ちょっと変わったフェードを貼り付けるテクスチャを替えるだけで楽しめたりする
0265デフォルトの名無しさん
2010/06/05(土) 23:39:26簡単に加えられるという利点もあるし。
そういう考え方のほうが好きだなぁ。
0266デフォルトの名無しさん
2010/06/06(日) 00:50:03ゲームするのにバージョン指定したいのですが
0267デフォルトの名無しさん
2010/06/06(日) 00:51:090268デフォルトの名無しさん
2010/06/06(日) 01:00:36ここはDirectX"プログラミング"のスレなんですが…
まぁ、一応答えると95
0269デフォルトの名無しさん
2010/06/06(日) 01:17:35すみませんありがとうございました
0270デフォルトの名無しさん
2010/06/06(日) 07:35:490271デフォルトの名無しさん
2010/06/06(日) 11:24:28そうだな
軽く試してみようと思ったが、なぜか効かねーし
構造体でいちいち不便だし、動的に扱うもんじゃねーな
すまんこデラックス
0273235
2010/06/06(日) 11:50:45レイを飛ばし近づいたポリゴンにの3頂点を取得し、
その低い2頂点のyを抜いた平面の線分と
キャラの現座標→移動予定座標 の線分との交点を求め最低限壁すりを実現したのですが、
ポリゴンの境目に来るとレイが上手く目当てのポリゴンに当たらず、
レイを上と左右に散らしながら当てて低いかつ線分交差が起きるポリゴンを探すように
してみているのですが、中々上手く行きません。
3Dアクションでもっと安全にポリゴンの境目に対応させるには、
どうやるのが良いでしょうか?
90°以上のポリゴンを一切使わなければ、
足元のポリゴンの傾斜で押し返しを実装すれば良いのかもしれませんが・・
0274デフォルトの名無しさん
2010/06/06(日) 12:27:49どうしても何か考えて欲しいなら地形のメッシュファイル出せ
状況が分からないと何も言えない
じゃなかったらレイじゃなくてOBBでやれ
0275デフォルトの名無しさん
2010/06/06(日) 13:29:580276デフォルトの名無しさん
2010/06/06(日) 13:31:28vector3 v0, v1, v2;
const vector3 center = ( v0 + v1 + v2 ) / 3;
v0 = ( v0 - center ) * 1.2f + center;
v1 = ( v1 - center ) * 1.2f + center;
v2 = ( v2 - center ) * 1.2f + center;
0277235
2010/06/06(日) 13:40:02>だから、そんな都合の良い方法なんて無いんだってば
これがその事だったんですか・・orz
考えてもみれば、角を構成するポリゴンも斜めで凄い鋭角もありえますし厳しいですよね、、
OBBについてもう少し詳しく調べてみます。ありがとうございました(´・ω・`)
0278デフォルトの名無しさん
2010/06/06(日) 16:07:59一口に3Dといっても色々あるからなぁ
どんなステージを想定してるの?
ジャンプの有無とかキャラの挙動も重要だし
厳密にメッシュで取らなくても
データ上だけヒットボックスを配置しといて簡易的に当たり判定するのも手だし
0279デフォルトの名無しさん
2010/06/06(日) 22:19:120280デフォルトの名無しさん
2010/06/07(月) 12:13:35GDIのウィンドウメニューを素早く表示する方法をご存知ありませんか。
現状device->SetDialogBoxMode()で表示させてるんですが、
そのときにハードウェアの動作モードが切り替わるので画面が揺れるし時間がかかります。
0281デフォルトの名無しさん
2010/06/07(月) 12:29:56ウインドウモードでスクリーンを覆うウインドウを生成して、
そこに描画すればいい。
今となってはフルスクリーンモードの存在価値があるわけではないのに、
なぜ必死にしがみつくのか不思議でしょうがない。
0282デフォルトの名無しさん
2010/06/07(月) 12:35:13私はやたらフルスクリーンにするゲームはやりたくないけど
0283デフォルトの名無しさん
2010/06/07(月) 13:11:180284デフォルトの名無しさん
2010/06/07(月) 13:15:02DXUTgui使えば余裕でしょ
0285デフォルトの名無しさん
2010/06/07(月) 13:26:370287デフォルトの名無しさん
2010/06/07(月) 13:59:37必要なコード抜いてきて好きにカスタマイズすればいいだけなのに
0288デフォルトの名無しさん
2010/06/07(月) 14:04:01システムとして使うかどうかは別として
所々、目から鱗的コードがあって面白い
0289デフォルトの名無しさん
2010/06/07(月) 14:14:35去年の製品になるが、BIOHAZARD 5だってエクスクルーシブ・フルスクリーン表示。
そういう仕様だってまだ全然珍しくない。
フルスクリーン表示を伴わない全面表示も実装済みだが、
やはり両方で動くことに越したことはないので。
>>284,287
既にGDIで一通り実装済みなので、単に手間が増えるだけなのがどうも……。
他に方法がないならそうするけど。
0290デフォルトの名無しさん
2010/06/07(月) 19:20:400291デフォルトの名無しさん
2010/06/07(月) 22:55:27Wiki見ながらやることも多いからそうでもない
0292デフォルトの名無しさん
2010/06/07(月) 23:08:38解像度じゃなくて速度的な問題
0293デフォルトの名無しさん
2010/06/07(月) 23:10:500294デフォルトの名無しさん
2010/06/07(月) 23:58:48動的な切り替えやデバイスロストへの対応なんてまず最初にやるだろ。
0295デフォルトの名無しさん
2010/06/08(火) 14:26:38とりあえずそんなのは後でいいからゲームなりアプリなり完成させろよ、といいたい
0296デフォルトの名無しさん
2010/06/08(火) 14:31:12作成途中で入れるにしても自分のPGが下手糞かどうか判断するいい仕様だな
力が及ばなければやらないほうがいい
0297デフォルトの名無しさん
2010/06/08(火) 14:42:010298デフォルトの名無しさん
2010/06/08(火) 14:46:110299デフォルトの名無しさん
2010/06/08(火) 14:51:159がまだ現役である以上仕方が無い
0300デフォルトの名無しさん
2010/06/08(火) 15:29:180301デフォルトの名無しさん
2010/06/08(火) 17:14:260302デフォルトの名無しさん
2010/06/08(火) 18:30:38それだとプレイ中にメッセのチップWindowが出た瞬間にお陀仏だな。
0303デフォルトの名無しさん
2010/06/08(火) 23:13:590304デフォルトの名無しさん
2010/06/09(水) 00:24:310305デフォルトの名無しさん
2010/06/09(水) 01:30:31OnLostDevice/OnResetDeviceの呼び出しが必要なすべてのリソースを
一箇所のコンテナでまとめて管理する。
必要になったら一斉に処理する。
0306デフォルトの名無しさん
2010/06/09(水) 01:36:34そういう判断が自分で付かないレベルの人はおとなしくD3DPOOL_MANAGEDで作りなよ
そこに時間かけるくらいなら他にやることはいくらでもある
0307デフォルトの名無しさん
2010/06/09(水) 02:19:08リソースをリロードするばあい対応できない
0308デフォルトの名無しさん
2010/06/09(水) 09:05:470309デフォルトの名無しさん
2010/06/09(水) 09:32:5711さわっちゃうともうかったるくてDirectX9なんてやってらんねぇだろ。
0310デフォルトの名無しさん
2010/06/09(水) 10:48:460311デフォルトの名無しさん
2010/06/09(水) 11:02:502010年3月の時点でVista/7の市場占有率は26.24%、Windowsの範囲内で見ると28.93%だ。
これでやってけると思うならDX11で作ればいいし、
無理だと思うならDX9もサポートするしか無い。
http://www.itmedia.co.jp/news/articles/1004/06/news008.html
0312デフォルトの名無しさん
2010/06/09(水) 11:21:450313デフォルトの名無しさん
2010/06/09(水) 13:39:26が、まあ好きにすればいいと思うよ
0314デフォルトの名無しさん
2010/06/09(水) 16:07:52素早い回答ありがとうございます。
パラメータを修正したら無事ロックできました。
0315デフォルトの名無しさん
2010/06/09(水) 18:30:21今後の回答の参考のために
どこを修正したのかも出来れば書いて欲しいな
0316デフォルトの名無しさん
2010/06/09(水) 23:23:55二点間の距離からX短くした時(これを長さLとする)
点Aから点Bの直線状で長さLになる部分となる座標はどうやったら求められますか?
よろしくお願いします。
0317デフォルトの名無しさん
2010/06/09(水) 23:33:35ぐぐれ
google「二点間の距離の求め方」
0318デフォルトの名無しさん
2010/06/10(木) 00:03:38ピクセルシェーダ1.0を使うのすら躊躇してる低スペック厨のサンプルもあってカオス過ぎる
0319デフォルトの名無しさん
2010/06/10(木) 00:14:09なんだとちょっとリンク貼ってみろ
みてくる
0320デフォルトの名無しさん
2010/06/10(木) 00:35:24D3DXVec3Length関数使うと超楽だ
0321デフォルトの名無しさん
2010/06/10(木) 00:38:23// 2点間距離
LL = sqrt( dot( A - B ) );
//長さLになる部分となる座標
L = LL - X;
C = ( A - B ) * L / LL + B;
基本杉
0322デフォルトの名無しさん
2010/06/10(木) 00:41:13おまえ頭いいな
0323デフォルトの名無しさん
2010/06/10(木) 00:42:140324デフォルトの名無しさん
2010/06/10(木) 00:45:000325デフォルトの名無しさん
2010/06/10(木) 01:30:24デバイス作ると見事に失敗します。
どっかから落としてきたサンプルでは(どこだったか忘れてしまった)ちゃんとデバイス作れて、
まったく同じコードをコピペしても初期化失敗します。
プロジェクトの設定もほとんど同じにしたはずなのに・・・
違うといえばUnicodeとマルチバイトが違ってmainと_tmainが違うくらい・・・
プロジェクトの設定でここが違うと失敗する、とかありますか?
0326デフォルトの名無しさん
2010/06/10(木) 01:42:44_T("") とかでやんないとエラー出たりする
0327デフォルトの名無しさん
2010/06/10(木) 01:48:31ttp://raurynotes.spaces.live.com/Blog/cns!1C6F24E1D572041F!245.entry
デフォルトの設定でコンソールのプロジェクト作って
ここのソース丸々コピって貼り付けたけど
少なくともCreateDeviceではS_OKが返ってきてる
プロジェクトとか全然関係ないところで余計なことしてるんじゃね?
0328デフォルトの名無しさん
2010/06/10(木) 01:52:400329デフォルトの名無しさん
2010/06/10(木) 01:54:54もともと私のプログラムはUNICODEなんだけどすでに数千行もあって
マルチバイトに書き直すのはちょっとつらい。
コンパイルエラーではなく
IDirect3D9::CreateDeviceでS_OKが帰ってこないです。
とりあえずDirect3DCreate9してD3DPRESENT_PARAMETERSを設定して
createdeviceしてるだけなのに、同じコードでも失敗します。
0330デフォルトの名無しさん
2010/06/10(木) 02:03:480331デフォルトの名無しさん
2010/06/10(木) 02:04:37そうそう!これです。なぜか見つけられなかった汗
かなーり何が違うのかわからない状況ですが・・・
>> 328
う〜そうですね。こっちに自分のプログラムを移植したほうがはやそう・・・
ただ原因を知りたかったもので・・・。勉強のために。
とりあえずちょちょっとやってみます。
0332デフォルトの名無しさん
2010/06/10(木) 02:08:42そういう文字列はUnicode→マルチバイト文字に変換してんのか?
0333325
2010/06/10(木) 02:44:35windowは作成せず,コンソールwindowにやってたので一切文字系使ってなかったです.
すんごい初歩ミスしてました…
したつもりでd3dppをZeromemory出来ていなかった・・・
解決しますた・・・ありがとうございます→みなさん
m_pD3D = Direct3DCreate9( D3D_SDK_VERSION )return -1;
d3dpp.Windowed = TRUE; //あと,幅とかフォーマットとか
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow = ::GetConsoleWindow();
if(FAILED(hr=m_pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL, param.hDeviceWindow,
D3DCREATE_HARDWARE_VERTEXPROCESSING,¶m,&m_pd3dDevice)))
で普通にいけますた(途中少々略).
0334デフォルトの名無しさん
2010/06/10(木) 03:25:49NULLでも強制終了されないし、処理がデバッガで追えなくなるし
なぜかコンソール起動できるし
0335325
2010/06/10(木) 03:58:51いまのとこはなってないです.デバッガも普通どおり動いてますし,
もともとコンソールプログラムなのでコンソールも起動していますが,
なにか変になる条件があるんでしょうか??
0336デフォルトの名無しさん
2010/06/10(木) 04:17:53謎すぎる
テストとしては面白かったけど、本番じゃ怖くて使えないわ
0337デフォルトの名無しさん
2010/06/10(木) 04:21:12XPではエミュレーションしてくれんじゃなかったの?
0338デフォルトの名無しさん
2010/06/10(木) 05:09:0911を(可能な限り)エミュレートしてくれるだけで
XP上でエミュレートしてくれるわけじゃない
0339デフォルトの名無しさん
2010/06/10(木) 07:19:25XP以前とVista以降はビデオカードのドライバの設計が根本的に違うので
DirectXのサポート具合もぜんぜん違う。
いい加減消えてくれ、ロートルXP。
0340デフォルトの名無しさん
2010/06/10(木) 09:09:56こういうのはどうやったら作れますか?何ポリぐらいですか?重要なのはテクスチャですか?背景ですか?
0341デフォルトの名無しさん
2010/06/10(木) 09:17:310342デフォルトの名無しさん
2010/06/10(木) 09:20:40モデリングだけの問題なのですか?
0343デフォルトの名無しさん
2010/06/10(木) 09:34:14うん
0344デフォルトの名無しさん
2010/06/10(木) 09:35:020345デフォルトの名無しさん
2010/06/10(木) 11:01:530346デフォルトの名無しさん
2010/06/10(木) 15:08:21機能的にDX10〜11相当のOpenGL3〜4は、XPにも対応してるよ。
ゆえに、WDDMであるかどうかと、DX10〜11相当のグラフィック描画機能をハードウェアサポートできるかどうかは、本質的に関係がない。
XPで、DX10以降をサポートしないのは単にMSの勝手な都合だバカ。
0347デフォルトの名無しさん
2010/06/10(木) 15:11:03ここはDirectXのスレなんですが。
0348デフォルトの名無しさん
2010/06/10(木) 22:42:07D3DXVec3Projectを使う以外、何かさげな方法は有るでしょうか?
0349デフォルトの名無しさん
2010/06/10(木) 22:46:59気にしない。
もしくは半透明同士で別に合成しておいて、
一枚のZ付き板ポリとして画面に描画する。
0350デフォルトの名無しさん
2010/06/10(木) 23:17:58ポリゴンの座標の
内積
0351デフォルトの名無しさん
2010/06/10(木) 23:19:110352デフォルトの名無しさん
2010/06/10(木) 23:57:260353デフォルトの名無しさん
2010/06/11(金) 00:01:27勘違い。リセット時に煩雑なリソース管理が必要になるのは
DirectX9の設計の欠陥であってそれは策定された当時のデバイスドライバモデルに起因する。
ハードウェアの世代はこの場合関係ない。
実際、Vistaで動作しているDirect3D9ExはAPIは
ほぼ3D9のまんまだがリソースの問題がほぼ解決されている。
0354デフォルトの名無しさん
2010/06/11(金) 00:26:45同じような描画処理でも、DX9よりDX11のほうがだいぶ軽くなるのかな??
0355デフォルトの名無しさん
2010/06/11(金) 01:23:2311の場合はComputeShaderでポストエフェクト処理をする場合だと
描画処理自体をしなくてもいいからステートの設定とか全部省ける。
0357デフォルトの名無しさん
2010/06/11(金) 07:14:140359>350,351
2010/06/11(金) 08:05:06数学苦手だから>>350の方法で何故ソートできるのかわかんねぇ
0360デフォルトの名無しさん
2010/06/11(金) 08:26:500361デフォルトの名無しさん
2010/06/11(金) 11:03:55カメラから物体へのベクトルと
視線方向の単位ベクトル(長さ1のベクトル)
の内積はその性質上
視線方向の直線に物体から垂直に降ろした直線との交点までの距離
つまりカメラからどのくらい奥にあるか、になる
0362デフォルトの名無しさん
2010/06/11(金) 11:33:020363デフォルトの名無しさん
2010/06/11(金) 14:17:38お気の毒に・・・
0364デフォルトの名無しさん
2010/06/11(金) 15:08:07とあるゲームはOpenGL版とDirectX版の2つあります。
Zbufferと言うか、前後関係の表示精度がOpenGLはハイスペックのPCでも、
グラボなどのないロースペックPCでも、FPSが落ちるだけであまり変わらないように見えます。
一方、DirectXはロースペックPCでは精度が格段に落ちるように見えます。FPSはOpenGLほどは落ちないと感じます。
これはOpenGLはゲーム制作者のプログラムに精度が決定されるのに対し、
DirectXはハード資源を援用して決定されると言うか、フレキシブルに精度が決定されるのでしょうか?(FPS重視?)
0365デフォルトの名無しさん
2010/06/11(金) 15:14:31それは実装次第。しかしDirectXとOpenGLの一般的傾向を捉えた質問だと思う。
OpenGLは元々ワークステーションで3Dグラフィクスを
処理し表示するためのものだからリアルタイム表示よりも
一定の精度が要求される傾向にある。
一方でDirect3Dは元々がゲーム向けだからリアルタイム処理が前提で、
そこからスペックに応じてどこまで品質を上げられるかが勝負になる。
そういった歴史な事情で、3Dゲーは多数の描画オプションが提供され、
ユーザーの側で品質を指定できるようになっていることが多いね。
0366359
2010/06/11(金) 19:32:01>350は軸と座標の内積で、軸の直線状に座標を射影するってことを理解した
そういえば、境界ボリュームとか作るのに使うよな…
>>361
ありがとう
0367デフォルトの名無しさん
2010/06/11(金) 20:28:310368デフォルトの名無しさん
2010/06/11(金) 22:55:172次元で書く時の黒ふちとか輪郭みたいなものです
0369デフォルトの名無しさん
2010/06/11(金) 23:07:30トゥーンシェーダー
0370デフォルトの名無しさん
2010/06/11(金) 23:07:350371デフォルトの名無しさん
2010/06/11(金) 23:08:49そんなものいらない
汚いだけだ
0372デフォルトの名無しさん
2010/06/11(金) 23:10:080373デフォルトの名無しさん
2010/06/11(金) 23:11:41「ああ、萌えゲーに黒淵はいらねぇわ・・・」
0374デフォルトの名無しさん
2010/06/11(金) 23:16:58あら、それは・・・こんな顔かしら?
http://blog-imgs-40-origin.fc2.com/a/r/e/aresoku/ymra.jpg
0375デフォルトの名無しさん
2010/06/11(金) 23:44:430376デフォルトの名無しさん
2010/06/11(金) 23:53:050377デフォルトの名無しさん
2010/06/12(土) 02:21:120378デフォルトの名無しさん
2010/06/12(土) 02:41:00昔から使われてるテクニックだが
出来たモデルを複製して、少し押し出したあと面を反転して黒くする。
当然頂点数は倍になる。
今はどうやるのが主流なんだろうな?
0379デフォルトの名無しさん
2010/06/12(土) 03:01:49色差や深度差から輪郭を検出して線を書き加えるという方法もある
サイズや精度次第でシェーダーにかなりの負担をかけることになるが
最近のビデオカードなら普通に行けそう
0380デフォルトの名無しさん
2010/06/12(土) 03:15:050381デフォルトの名無しさん
2010/06/12(土) 11:43:01戦闘に突入するシーンがあるじゃないですか?
あれを表現したいんですけど、どうやってやればいいと思いますか?
0382デフォルトの名無しさん
2010/06/12(土) 11:45:18演算用データを書き込んだテクスチャをつかって
全画面に対してピクセルシェーダでアニメーションをかけるか、
ひび割れた板ポリのメッシュを用意して画面のキャプチャをテクスチャとして貼りつけて
ポリゴンのアニメーションとして表現するかだな。
0383デフォルトの名無しさん
2010/06/12(土) 11:53:38初心者には難しそうですね。。
頑張ります!ありがとうございました!
0384デフォルトの名無しさん
2010/06/12(土) 14:41:270385デフォルトの名無しさん
2010/06/12(土) 19:20:04あと、GetTextExtPoint32だと一文字ずつ測ろうがまとめて測ろうが得られる結果は同じだったので、CreateGdiCompatibleTextLayout()の結果も同じだろうと思ったら、微妙に違ってた…
いったいどうすれば同じになるんだ
詳しい人がいたら教えてほしい
0386デフォルトの名無しさん
2010/06/12(土) 19:24:090387デフォルトの名無しさん
2010/06/12(土) 19:48:06等幅フォントでもプロポーショナルでも結果は変わらなかった
ExtTextOut() だとa-a-a-a-a-a-aになるんだが、
DrawTextLayout()だとa-a--a-a--aという感じになってしまう
0388デフォルトの名無しさん
2010/06/12(土) 20:00:14すまん。肝心なことを書き忘れていた
この症状はどの大きさでも発生するわけではなく、10,11,14,16といったい値の時に発生し、12や18の時だとなぜか発生しない
0389デフォルトの名無しさん
2010/06/12(土) 20:17:38自分は2009のSDKしか持ってないのでできません。MSDNを見ても2004年の日本語パッチ?みたいなものでSDK自体をインストールできないように思ったのですができないのでしょうか?
ググっても同じファイル名でも何種類もあるようですし
2009年番でそのまま置き換わってるというようなものではないのですか?
0390デフォルトの名無しさん
2010/06/12(土) 20:20:52答え。そんな古い情報のサイトはあてにしない。
0391デフォルトの名無しさん
2010/06/12(土) 20:22:300392デフォルトの名無しさん
2010/06/12(土) 20:29:48DXUTはDirectXSDKのリリースごとに最も変化する部分で
基本的に互換性は保証されないのでそんなものに頼ったサンプルのサイトは使えない。
2004年とか言ってるんだからDirect3D9のことだと思うが、これ自体は大して変わらない。
単独でビルドできる独立したソースコードでサンプルが書かれてるサイトを探すことだな。
0393デフォルトの名無しさん
2010/06/12(土) 20:31:45あばば
0394デフォルトの名無しさん
2010/06/12(土) 20:42:47http://msdn.microsoft.com/en-us/library/dd368205(VS.85).aspx
ここの下のほうにモード云々書いてある
ドンマイ
0395デフォルトの名無しさん
2010/06/12(土) 20:48:36もうすでにその道は通った
CreateGdiCompatibleTextLayout()でuseGdiNaturalのフラグを真にしたときと偽にした時で試したんだが、どちらも結果は同じだった
どうなってるんだ?
0396デフォルトの名無しさん
2010/06/12(土) 20:53:44http://blogs.msdn.com/b/directx/archive/2009/12/18/direct2d-and-directwrite.aspx
> it will be ignored which should result in this being the same as GDI.
0397385
2010/06/12(土) 20:56:22自己解決した
pixelsPerDipのところでdpix/96.0Fではなくdpixとしていたのが原因だった
スレッドを汚して申し訳ない
つってくる
0398デフォルトの名無しさん
2010/06/13(日) 12:21:56このサイトを見てトゥーンシェーダの勉強をしていろいろやってみたのですが黒いふちが出ません
どうすれば黒いふちがでるようになるのかおしえてください
ソースhttp://www1.axfc.net/uploader/Sc/so/123358
0399デフォルトの名無しさん
2010/06/13(日) 12:33:22メンドクサイからプロジェクトファイルかmakeファイル付けてくれ
0400デフォルトの名無しさん
2010/06/13(日) 12:42:52http://www1.axfc.net/uploader/He/so/281922
つけました
0401デフォルトの名無しさん
2010/06/13(日) 13:32:26メンドクサイから市販のゲームを全部買って俺にプレゼントしてくれ
0402デフォルトの名無しさん
2010/06/13(日) 13:37:10えっ
0403デフォルトの名無しさん
2010/06/13(日) 13:57:160404デフォルトの名無しさん
2010/06/13(日) 14:03:28悪いね
0405デフォルトの名無しさん
2010/06/13(日) 14:09:110406デフォルトの名無しさん
2010/06/13(日) 14:20:26m_d3dParametersとか中身全部0じゃねえか
ウィンドウのクライアント領域のサイズはちゃんと計算してねえから気持ち悪いし
適当すぎだろ
0407デフォルトの名無しさん
2010/06/13(日) 14:24:48まずSDKの種類が違ったのでそこから手間取ってるレベルの初心者です
0408デフォルトの名無しさん
2010/06/13(日) 14:48:36俺はここで抜け
0409デフォルトの名無しさん
2010/06/13(日) 14:58:22てか、fxファイルの中でエラーが出ないような気がするのですがセッティングがおかしいのでしょうか?
0410デフォルトの名無しさん
2010/06/13(日) 15:17:38float4x4 m_WVPP;の参照先が間違ってる。
あと、m_pZMapSurfaceをレンダーターゲットにしてない。
あと、Debugモードで動かしてよ。
Zバッファのサイズが小さいとか
vertex declarationがあーだらこーだらとか、ぽろぽろでるよ。
0411デフォルトの名無しさん
2010/06/13(日) 15:26:16ありがとうございます
常にデバッグモードでやってます
Meshes.cpp以外はそのサイトの丸写しなのでそれ以外でミスがあるとわからないのですが
//レンダーターゲットをバックバッファに戻す
m_pd3dDevice->SetRenderTarget( 0, OldSurface );
m_pd3dDevice->SetRenderTarget( 1, NULL );
SafeRelease( OldSurface );を見落としてたことに気付いて付けましたがまだまだ線が出ません。
0412デフォルトの名無しさん
2010/06/13(日) 15:36:20torashade2009\Debug\torashade2009.exe が見つからなかったか、ビルドされませんでした。フル リンクを行います。
0413デフォルトの名無しさん
2010/06/13(日) 15:53:40DebugモードってのはDirect3Dのデバッグランタイムのことだよ。
これにして、実行時のIDEの出力ウインドウに出るデバッグメッセージをみるの。
また、fxファイルはそのソースだと実行時コンパイルだよ。
ここらへんの理解も怪しいなあ。
0414デフォルトの名無しさん
2010/06/13(日) 15:57:06表示されるトラは、Lambert2.fxの結果じゃない。
あれは、固定機能パイプラインの結果か?
0415デフォルトの名無しさん
2010/06/13(日) 16:01:55ソース仕上げてあげてくだしあ
0416デフォルトの名無しさん
2010/06/13(日) 16:20:090417デフォルトの名無しさん
2010/06/13(日) 16:22:46もう限界ぽ
0418デフォルトの名無しさん
2010/06/13(日) 17:11:37:: .|ミ|
:: .|ミ|
:: .|ミ| ::::::::
::::: ____ |ミ| ::::
:: ,. -'"´ `¨ー 、 ::
:: / ,,.-'" ヽ ヽ、 ::
:: ,,.-'"_ r‐'" ,,.-'"` ヽ、 ::
:: / ヾ ( _,,.-='==-、ヽ ヽ、
:: i へ___ ヽゝ=-'"/ _,,> ヽ
:: ./ / > ='''"  ̄ ̄ ̄ ヽ
:: / .<_ ノ''" ヽ i
:: / i 人_ ノ .l
:: ,' ' ,_,,ノエエエェェ了 /
i じエ='='='" ', / ::
', (___,,..----U / ::
ヽ、 __,,.. --------------i-'" ::
ヽ、_ __ -_'"--''"ニニニニニニニニヽ ::
`¨i三彡--''"´ ヽ ::
/ ヽ :: ┼ヽ -|r‐、. レ |
/ ヽ:: d⌒) ./| _ノ __ノ
0419デフォルトの名無しさん
2010/06/13(日) 17:32:16とりあえず、動作するまでにはした。
・Lambert2.fxは法線を無効にしてる。
・COMオブジェクトは最後に全部Releaseしろ。
以上
EdgeFilterhttp://www1.axfc.net/uploader/Sc/so/123429.zip
0420デフォルトの名無しさん
2010/06/13(日) 17:44:23キター
ありがとうございます!
でもなんか中をくりぬいた虎がくるくる回ってるだけのようなのしか表示されないのですがあってますか?
0421デフォルトの名無しさん
2010/06/13(日) 18:01:37素直に基礎からちゃんと始めるかありもののライブラリを使ったかのどっちかしかないだろ。
0422デフォルトの名無しさん
2010/06/13(日) 18:08:40白くなる理由を知ってるという経験値が無いので何故白くなるか頭から生み出せないのです
てか、玄人のみなさまならトゥーンシェーダの基本的なソースくらい一瞬で直せるものだと思っていたのですがそこそこむずかしいものなのでしょうか?このサイトは基本的なものですよね?
0423デフォルトの名無しさん
2010/06/13(日) 18:14:220424デフォルトの名無しさん
2010/06/13(日) 18:15:29http://www.tobuzoo.com/zoo/ani/pb-047.html
0425デフォルトの名無しさん
2010/06/13(日) 18:17:18荒らし乙
0426デフォルトの名無しさん
2010/06/13(日) 18:21:56俺が書いたのなんかほぼ0だし
0427デフォルトの名無しさん
2010/06/13(日) 18:30:31ソースの行儀が悪すぎなの。
エラー時の処理まったく入ってないでしょ。
HRESULTで受けてないし、
エフェクトロード失敗してるのにスルーして
レンダリングループまわしちゃうし。
だから時間が掛かるんだよ。
(つーか、マジになって直してる奴がいるわけねーやんw)
0428デフォルトの名無しさん
2010/06/13(日) 18:36:43俺は悪くねえ
だから直してくだしあ。おねがいしまつ
0429デフォルトの名無しさん
2010/06/13(日) 18:37:44サイトの内容は基礎の基礎で難しいところは全く存在しないが、
君のソースがあまりにもひどすぎて手の入れようがない状態といえば通じるかね。
0から書きなおしたほうが早いレベル。
0430デフォルトの名無しさん
2010/06/13(日) 18:38:32コピペだって言い張るならコピペもとのサイトの管理人にメールで聞けよ。
0431デフォルトの名無しさん
2010/06/13(日) 18:41:242009チュートリアルの虎があって
そのサイトは2004でDXUTMeshってのを使ってるからそれが無いからメインでメッシュ読み込むとかを移植したの
移植はコピペだし
0432デフォルトの名無しさん
2010/06/13(日) 18:45:57じゃあ0から書き直して表示させてください。おねがいします
0433419
2010/06/13(日) 18:53:15>>419のじゃ直ってないの?
おかしいなぁ、俺んとこじゃちゃんと輪郭線出ているが。
まあ、このソースは俺が有効利用、、、、ちゃんと処分しといてやるから
諦めるんだな。
0434デフォルトの名無しさん
2010/06/13(日) 18:55:150435デフォルトの名無しさん
2010/06/13(日) 18:56:490436デフォルトの名無しさん
2010/06/13(日) 18:57:450437デフォルトの名無しさん
2010/06/13(日) 19:02:080438デフォルトの名無しさん
2010/06/13(日) 19:02:570439デフォルトの名無しさん
2010/06/13(日) 19:07:20ほれ
http://www1.axfc.net/uploader/Img/so/85536.jpg
まあ正常に表示されないのはHWの違いのせいだろうが
これもデバッグランタイムで一回流せば容易にわかるはずだ。
(俺が変更した部分も実はバグっているがそのせいかw)
0440デフォルトの名無しさん
2010/06/13(日) 19:09:06キター
HWって何ですか?ハンドルウィンドぅ?
デバッグランタイムで一回流す方法を教えて下さい!
0441デフォルトの名無しさん
2010/06/13(日) 19:15:010442デフォルトの名無しさん
2010/06/13(日) 19:16:120443デフォルトの名無しさん
2010/06/13(日) 19:17:17それと
Direct3Dのデバッグランタイムに設定する方法を教えてください
それとIDEってポップアップみたいなことですよね?ランタイムエラー、アドレス○○でエラーがでましたとかよく見るしそういう設定ですか?
0444デフォルトの名無しさん
2010/06/13(日) 19:22:270445デフォルトの名無しさん
2010/06/13(日) 19:23:48ComputeShader使ってもいいか・・・?
0446デフォルトの名無しさん
2010/06/13(日) 19:24:02http://www.youtube.com/v/Lbv73mNGFQI&hl=ja_JP&fs=1
0447デフォルトの名無しさん
2010/06/13(日) 19:26:25ぐぐりまくってます。それでも理解できないのです。良い感じのサイトがないし
IDEはハードとどうのこうのとかでてきたし
0448デフォルトの名無しさん
2010/06/13(日) 19:32:49オレの責任じゃねえと
赤の他人にデバッグを押し付けるって
一体どういう了見だ。
まともなやつならそんな厚かましいことはできんだろ。
0449デフォルトの名無しさん
2010/06/13(日) 19:42:17ComputeShaderは何かわかりません。サイトや一般的な方法が良いです。
それとHWというのを>>439と同じにして正常に表示させる方法を教えて下さい
0450デフォルトの名無しさん
2010/06/13(日) 19:52:25プロのプログラマーになりたいわけじゃないなら何も問題はないよ。
0451デフォルトの名無しさん
2010/06/13(日) 20:10:17とかで検索してもまともに初心者的な使い方を解説してるページが無いのですが
0452デフォルトの名無しさん
2010/06/13(日) 20:15:410453デフォルトの名無しさん
2010/06/13(日) 20:21:27http://www1.axfc.net/uploader/He/file_post.pl
拡張子選択zip→以上の内容でアップロードする
→choosefile→URL貼る
0454デフォルトの名無しさん
2010/06/13(日) 20:26:02とりあえず確認用に画像だけ。
元のサイトとやらは面倒で見てないからよくある普通の方法で作ってみた。
0455デフォルトの名無しさん
2010/06/13(日) 20:29:490456デフォルトの名無しさん
2010/06/13(日) 20:32:19http://www1.axfc.net/uploader/He/so/281969
0457デフォルトの名無しさん
2010/06/13(日) 20:38:30どゆこと?
0458デフォルトの名無しさん
2010/06/13(日) 20:46:31http://www1.axfc.net/uploader/Sc/so/123482
これが最後だ。
0459デフォルトの名無しさん
2010/06/13(日) 20:53:31あーあ
0460デフォルトの名無しさん
2010/06/13(日) 20:54:340461デフォルトの名無しさん
2010/06/13(日) 20:56:51DirectXのプログラムやる前にGTX480買って来いって・・・。
0462デフォルトの名無しさん
2010/06/13(日) 20:59:19できないのでつか?トラの方のやり方でもそのせいなのでしょうか?
0463デフォルトの名無しさん
2010/06/13(日) 21:01:53少なくともDirectXでエフェクトをやってみたいとか心にも思ってはいけないレベル。
数千円で帰るからRadeon5000番台の安いのかってつけとけ。
0464デフォルトの名無しさん
2010/06/13(日) 21:03:22開発のみんなでよく歌った歌
オンボード(ガンダーラ)♪
オンボード(ガンダーラ)♪
They say it was in India♪
0465デフォルトの名無しさん
2010/06/13(日) 21:06:35それでトラの方が真っ白になるのもそのせいなのですか?
0466デフォルトの名無しさん
2010/06/13(日) 21:09:56どの道、この先詰まってばっかりで一歩も前へ進めねぇよ
0467デフォルトの名無しさん
2010/06/13(日) 21:10:48トラもMRT使ってるし、そうなんじゃねーの?
つーかソースみろよ、お前の書いたソースだろww
0468デフォルトの名無しさん
2010/06/13(日) 21:11:020469デフォルトの名無しさん
2010/06/13(日) 21:12:23これから夏になるので涼しくなったらグラボ買いまつ…
ありがとうございました
0470デフォルトの名無しさん
2010/06/13(日) 21:13:000471デフォルトの名無しさん
2010/06/13(日) 21:15:54m_pd3dDevice->SetRenderTarget( 0, m_pColorSurface );
m_pd3dDevice->SetRenderTarget( 1, m_pZMapSurface );
ここか
MマルチRレンダリングTターゲット
グラボで決まるなんてシラネーよ
0472デフォルトの名無しさん
2010/06/13(日) 21:16:57まあ確かにそうで、MSも改心してD3D10で性能統一しる!!とかやったんだけど
D3D11でまた妥協し始めたんだっけか?
0473デフォルトの名無しさん
2010/06/13(日) 21:19:30おめーそんなこといったらPCで3Dゲーム全部うごかねーよ(笑)
ってぐらい3D描画の機能はグラボに依存してる
0474デフォルトの名無しさん
2010/06/13(日) 21:22:04起動時に調べて機能のON/OFFを行うのが正しい姿だろう。
コンシューマーには関係ないけど。
>>471
知らないのはただの無知。
マニュアルを読めばいい。ちゃんとチェックする関数もあるんだし。
0475デフォルトの名無しさん
2010/06/13(日) 21:24:28DirectX9みたいにあの機能がないだとかあの機能があるだとか関係なく全部サポートしてんだし。
0476デフォルトの名無しさん
2010/06/13(日) 21:27:530477デフォルトの名無しさん
2010/06/13(日) 21:29:5411だろうが20だろうが、作れないことに変わりはない
0478デフォルトの名無しさん
2010/06/13(日) 21:30:38APIだけなら1年もかかんねぇよ。
0479デフォルトの名無しさん
2010/06/13(日) 21:38:45問題は汎用的過ぎて扱いきれるかどうかだが・・・。
0480デフォルトの名無しさん
2010/06/13(日) 21:43:47具体的に極めるとはどういう段階なのか、
俺定義でいいから教えてくれ。
0481デフォルトの名無しさん
2010/06/13(日) 21:45:09モーションキャプチャ程度ならPCの性能はとっくに足りているが、
いったい何を言っているんだ?
0482デフォルトの名無しさん
2010/06/13(日) 21:45:33フルプログラマブルレンダリングになるんじゃなかったっけか?
そうなると低能ジャップの場合アマチュアどころかプロまで壊滅だな。
0483デフォルトの名無しさん
2010/06/13(日) 21:47:44以前のプログラミング法に逆戻りするよ。ある意味で。
0484デフォルトの名無しさん
2010/06/13(日) 21:51:500485デフォルトの名無しさん
2010/06/13(日) 21:59:04ハイブリッドなマルチスレッドシステムを組んでおけば
どっちに転んでも対応できるようになると思うよ。
0486デフォルトの名無しさん
2010/06/13(日) 23:20:150487デフォルトの名無しさん
2010/06/14(月) 00:01:160488デフォルトの名無しさん
2010/06/14(月) 00:06:210489デフォルトの名無しさん
2010/06/14(月) 00:17:10背景が3Dなだけで実質2Dばかりじゃね?
0490デフォルトの名無しさん
2010/06/14(月) 00:20:16なんで大半が2DSTGにいくんだろうな。
RPGやシミュレーションはデータつくんのが大変だから分るけど。
0491デフォルトの名無しさん
2010/06/14(月) 00:22:130492デフォルトの名無しさん
2010/06/14(月) 00:24:510493デフォルトの名無しさん
2010/06/14(月) 00:26:04>なんで大半が2DSTGにいくんだろうな。
作るのが楽だからかと。
俺の場合、何も考えずにアクション作ってみて、ショボすぎてお蔵入りしたのがある。
0494デフォルトの名無しさん
2010/06/14(月) 00:35:00そんなに弾幕STG好きならComputeShader使って
100万発の弾幕とかやればいんじゃね。
0495デフォルトの名無しさん
2010/06/14(月) 01:49:32はい,次の話題
0496デフォルトの名無しさん
2010/06/14(月) 02:00:19意見がありましたけど、自分は一切チェックしてないです。
問題があった場合、ブレークポイントを使ってチェックすればほとんど解決できています。
仕事でやる場合はマズいのでしょうか?
0497デフォルトの名無しさん
2010/06/14(月) 05:50:11仕事か仕事でないかに関わらず。
MSDNとかのサンプルにエラー処理がないのは省略されてるだけ。
エラー処理はアプリ固有のコードになるし、コード量も倍ぐらい増えるし、サンプルの意図にそぐわないから。
仕事で勝手にエラーを握り潰したり、無視して続行したりをやったら普通は問題になる。
仕事でなくても信頼性の低いコードとして窓から放り投げられる。
0498デフォルトの名無しさん
2010/06/14(月) 07:59:39他の環境で問題が出たときに困る
それに何の出力もなしにプログラムがいきなり落ちたりしたら不親切
0499デフォルトの名無しさん
2010/06/14(月) 08:45:04およそありとあらゆる呼び出しでエラーが返ってくる可能性がある。
だからSlimDXなんかはエラーを検出すると
例外発生に置き換えるのがデフォルトの動作になってるくらいで。
0500デフォルトの名無しさん
2010/06/14(月) 10:35:12DirectXに見習ってHRESULTで返したり、FAILEDだったらfalse返したりしないよな
0501デフォルトの名無しさん
2010/06/14(月) 10:55:110502デフォルトの名無しさん
2010/06/14(月) 11:22:540503デフォルトの名無しさん
2010/06/14(月) 16:47:250504デフォルトの名無しさん
2010/06/14(月) 18:17:410505496
2010/06/14(月) 18:48:15たしかに、他環境で動かしたときにエラーが出てもすぐ分からないですね。
勉強になりました。
0506デフォルトの名無しさん
2010/06/14(月) 19:27:45雑魚が
0507デフォルトの名無しさん
2010/06/14(月) 19:55:590508デフォルトの名無しさん
2010/06/14(月) 19:59:080509デフォルトの名無しさん
2010/06/14(月) 20:08:370510デフォルトの名無しさん
2010/06/14(月) 20:13:27Microsoftのモーションコントローラー「Natal」、正式名称は「Kinect」に
6月14日14時17分配信 ITmedia News
これでモーションキャプチャできるのかな
0511デフォルトの名無しさん
2010/06/14(月) 23:35:540512デフォルトの名無しさん
2010/06/15(火) 00:24:040513デフォルトの名無しさん
2010/06/15(火) 21:40:17MRT非使用の3パスにすれば
ホワイトタイガーさんの糞PCでも動くんじゃないかな
0514デフォルトの名無しさん
2010/06/15(火) 21:44:310515デフォルトの名無しさん
2010/06/16(水) 00:19:250516デフォルトの名無しさん
2010/06/16(水) 01:22:40俺のマシンで動かん金返せのモンスターカスタマーを突っぱねられればいいのだから、
特殊エフェクトなんか全部なしのモードが選べるだけでいいんじゃないの。
0517デフォルトの名無しさん
2010/06/17(木) 08:48:35DirectX SDK (February 2010)
DirectX SDK (August 2009)
DirectX SDK (March 2009)
みたいな感じなんですけど・・・
また、DirectX SDK (February 2010)で開発してたとして
DirectX SDK (February 2010)っていつまでダウンロードできるんでしょうか?
0518デフォルトの名無しさん
2010/06/17(木) 09:29:47複数のSDKを開発環境から参照してビルドは出来る
SDKのインストーラはバージョン毎に自分で取っといた方がいいぞ
0519デフォルトの名無しさん
2010/06/17(木) 15:45:22キャラクターに追従するカメラを作成したいと思っております。
(例えば、モンスターハンターのカメラなど)
D3DXMatrixLookAtLH でビュー行列を作成しているのですが
下記画像での原点の位置を ( 0 ,0 ) から変更できなくて困ってます。
http://www.dotup.org/uploda/www.dotup.org969533.jpg
どのような方法で変更するのか、教えていただけますでしょうか。
何度も出てる質問かもしれませんが
レスよろしくお願いします。
0520519
2010/06/17(木) 15:46:43編集ツールの絵をそのまま流用しました。
0521デフォルトの名無しさん
2010/06/17(木) 16:07:37正直、何がどう変更できないのか良く分からん質問だがとりあえずコレお勧め
ttp://marupeke296.com/DXG_No36_DependenceCamera.html
0523デフォルトの名無しさん
2010/06/18(金) 14:00:50うむ
勧めた甲斐があったわ
0524デフォルトの名無しさん
2010/06/18(金) 14:32:38お前じゃないだろw
0525デフォルトの名無しさん
2010/06/18(金) 18:58:51マウスの左クリックをドラッグするとカメラがトラックするようにしたいんですけど
どうしたらいいでしょうか?
マウスの移動量をカメラの位置と始点に足せばいいですか?
0526デフォルトの名無しさん
2010/06/18(金) 19:13:58DXUTcamera.h
DXUTcamera.cpp
0527デフォルトの名無しさん
2010/06/18(金) 19:29:17仕様が明確になってないな
マウスのデータは2Dなのにカメラのデータは3Dなんでしょ?
それをどうやって変換するのか?ってのは仕様をがっちり固めなきゃ
どんなPGだって組めないよ
0528デフォルトの名無しさん
2010/06/18(金) 19:44:36>>527
ありがとうございます
DXUTcamera.cppみました
操作性に難がありますができました
0529デフォルトの名無しさん
2010/06/19(土) 12:12:05LPDIRECT3DSURFACE9でLNK2001というエラーがでます。
どうすればいいんでしょうか?
0530デフォルトの名無しさん
2010/06/19(土) 12:16:11夢でも見たんだろ。
0531デフォルトの名無しさん
2010/06/19(土) 12:26:350532デフォルトの名無しさん
2010/06/19(土) 12:30:400533デフォルトの名無しさん
2010/06/19(土) 12:42:32GetBackBufferでbackbufferというのを取得したいのですが。
0534デフォルトの名無しさん
2010/06/19(土) 12:49:080535デフォルトの名無しさん
2010/06/19(土) 12:50:440536デフォルトの名無しさん
2010/06/19(土) 12:58:03Top.obj : error LNK2001: 外部シンボル ""public: static struct IDirect3DSurface9 * Top::backBuffer" (?backBuffer@Top@@2PAUIDirect3DSurface9@@A)" は未解決です。
if (FAILED(g_pD3DDev->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&backBuffer))){
return false;
}
DirectX9 August 2009
0537デフォルトの名無しさん
2010/06/19(土) 13:02:21クラスで静的なメンバ変数として宣言してるのに初期化してないからだ
どっかグローバルスコープで
IDirect3DSurface9 * Top::backBuffer = NULL ;
0538デフォルトの名無しさん
2010/06/19(土) 13:06:08うわ、ほんとだ!
ありがとうございました。
初歩的なミスですみませんした。。。
0539デフォルトの名無しさん
2010/06/19(土) 16:54:34有効なWin32アプリじゃないといわれて調べたらXPはDX9までしか対応してないのかよぉおおおおおお!!!!!!!
0540デフォルトの名無しさん
2010/06/19(土) 17:10:260541デフォルトの名無しさん
2010/06/19(土) 17:39:20DirectX9形式でやってもいいけどさ
だったら過去のバージョンもダウンロードできるようにしてくんね?って思う
途中まで開発してて1人新人が入ってきたからダウンロードしてもらおうと思ったら
最新しかダウンロードできなくて糞忙しいときにわざわざ最新に対応するしかなくなったとかある
インストーラもとっておいたけどネットにつなげにいって最新しかインストールできないようにしてね?
んで10と11は特殊OSしか使えないとか・・・DirectXの開発者様の掲げる理想が理解できない・・・
0542デフォルトの名無しさん
2010/06/19(土) 18:22:52とは言ってもXPの普及率高いしなぁ
>>541
http://www.microsoft.com/downloads/en/results.aspx?freetext=DirectX+SDK
つか開発中の環境くらい取っておけよ
なんかあったとき再構築大変じゃね?
0543デフォルトの名無しさん
2010/06/19(土) 18:25:250544デフォルトの名無しさん
2010/06/19(土) 18:30:50これ押すとぜってー最新しかダウンロードできないんだけど
俺だけ?
0545デフォルトの名無しさん
2010/06/19(土) 18:33:15インストーラーっぽいものも保存しておいたんだけど
実行すると最新とってくるか途中で止まるかするんだよこれが
0546デフォルトの名無しさん
2010/06/19(土) 18:38:36俺は落とせるけど… ただインストールまでは試してない
>>545
webインストーラかなんか保存してたんじゃね?
普通の奴は500MBくらいあるんだけど
0547デフォルトの名無しさん
2010/06/19(土) 18:47:26えー
なんか色々リンク飛ばされて結局最新のところにならね?
いや俺もデカイの保存してたんだけど途中で止まる
0548デフォルトの名無しさん
2010/06/19(土) 18:50:44XPでジオメトリシェーダやテッセレーション、コンピュートシェーダ試したいだけならOpenGLやOpenCLで可能。
まぁ普通に7買ってくれば?
0549デフォルトの名無しさん
2010/06/19(土) 18:58:50色々リンク飛ばされるって…
落としたいの選んでリンク先のDownloadボタン押して
Start downloadをクリックで終わりだろ?3回クリックするだけなんだが
0550デフォルトの名無しさん
2010/06/19(土) 19:13:22わかったw
GenuineCheck.exeを起動する奴がダメだった
古いの消したらいったw
すまんw
0551デフォルトの名無しさん
2010/06/19(土) 21:33:51SCEハードほど難易度あげちゃうとアレだが複雑つっても
今のWindows環境なんて調べりゃすぐ分る程度のレベルなんだし。
0552デフォルトの名無しさん
2010/06/19(土) 23:50:220553デフォルトの名無しさん
2010/06/19(土) 23:54:12まだまだ続いてるらしいから最新はわかっても最終はわからんな
0554デフォルトの名無しさん
2010/06/20(日) 00:42:100555デフォルトの名無しさん
2010/06/20(日) 00:44:47なんで?
0556デフォルトの名無しさん
2010/06/20(日) 01:34:420557デフォルトの名無しさん
2010/06/20(日) 01:48:12D3D9とDirectDrawの最終更新のあったJuneの後で(9EXが使用可能)
DXUTが現在のものと互換になって(それ以前との互換性は無し)
いまは削除されたD3D8やMusic等のコンポーネントが含まれてるのが
Aug2007とあとはNov2007(確認してない)だから
Webサイトで公開されてるような古いサンプル動かしたりしないんであれば最新の使っとけばいいよ
0558デフォルトの名無しさん
2010/06/20(日) 01:50:300559デフォルトの名無しさん
2010/06/20(日) 02:00:30デベロッパーセンターでたぶんダウンロードできる
サンプルは最新版にも入ってるだろ
0560デフォルトの名無しさん
2010/06/20(日) 02:13:0310や11って地雷なのか?
0561デフォルトの名無しさん
2010/06/20(日) 02:17:420562デフォルトの名無しさん
2010/06/20(日) 10:33:340563デフォルトの名無しさん
2010/06/20(日) 10:41:440564デフォルトの名無しさん
2010/06/20(日) 10:46:280565デフォルトの名無しさん
2010/06/20(日) 13:52:270566デフォルトの名無しさん
2010/06/20(日) 14:05:160567デフォルトの名無しさん
2010/06/20(日) 14:39:343Dの基礎知識があろうがなかろうが単に叩くAPIが違うだけなんだからそこはDirectXのバージョンは関係ない。
0568デフォルトの名無しさん
2010/06/20(日) 16:37:240569デフォルトの名無しさん
2010/06/20(日) 16:46:07今更9使いたく無いし
0570デフォルトの名無しさん
2010/06/20(日) 16:51:39サポート面倒だからXP早く消えてくれ
0571デフォルトの名無しさん
2010/06/20(日) 17:29:35いま専門学校生とか大学生で1-2年後には就職活動しなきゃってひとはおとなしく9やっとけよ
PCゲームだけじゃなくて最近流行の組み込みOS系の筐体もまだ9かGLの2択だから
まぁ、本気で食いっぱぐれたく無ければ
DirectXよりAdobeDirectorとかのオーサリングを勉強しとけと言いたいw
0572デフォルトの名無しさん
2010/06/20(日) 18:24:330573デフォルトの名無しさん
2010/06/20(日) 19:09:350574デフォルトの名無しさん
2010/06/20(日) 20:25:140575デフォルトの名無しさん
2010/06/20(日) 23:39:22KYな発言を繰り返して友達いなさそうな雰囲気ではあるね
0576デフォルトの名無しさん
2010/06/20(日) 23:45:450577デフォルトの名無しさん
2010/06/21(月) 00:04:24それでもゲーム業界に行きたいとか言うやつはよっぽど現実見れないバカ
0578デフォルトの名無しさん
2010/06/21(月) 00:51:22何かゲーム以外で仕事できる会社ないのかな?
0579デフォルトの名無しさん
2010/06/21(月) 07:46:43専門学校のうたい文句に騙されて結局就職できずに
そうやって自分を納得させてるんですねw
0580デフォルトの名無しさん
2010/06/21(月) 17:26:11http://sky.geocities.jp/kmaedam/directx9/hello9.htm
このサイトを見ながら今やっているのですが、このページの場合で
#include "resource.h"
#include "Main.h"
この3つのファイルが見つかりません。
この2つについて記述がないようなのですが、ここにのってるソースコードを動かすにはどうすればいいのか分からないでしょうか?
それと、変に初心者向けライブラリを作って態々それを使っての解説ではなく、
1から順番に説明していってくれているようなサイトはないでしょうか?
0581デフォルトの名無しさん
2010/06/21(月) 17:27:22DirectX9の教本としてよさそうな物がありましたらどなたか紹介お願いいたします。
0582デフォルトの名無しさん
2010/06/21(月) 17:42:52ここでいくら説明してもそこに乗ってるソースを今のあなたに動かすことは不可能です
DirectX9の教本の前にC++言語の入門書を1冊消化することをお勧めします
0583デフォルトの名無しさん
2010/06/21(月) 17:44:33ttp://msdn.microsoft.com/ja-jp/library/ee416755(v=VS.85).aspx
0584デフォルトの名無しさん
2010/06/21(月) 17:45:04終了
0585デフォルトの名無しさん
2010/06/21(月) 17:57:23アホ
0586デフォルトの名無しさん
2010/06/21(月) 18:22:20いままで時間の無駄だったよ
0587デフォルトの名無しさん
2010/06/21(月) 19:10:02> ☆DirectX 9.0 Summer 2004(.NET) からはテンプレート機能が無くなって、ここで説明する方法は使えません。
って書いてあるんだからそのページを参考にするべきではない
0588デフォルトの名無しさん
2010/06/21(月) 21:26:42が大嘘なので色々追記は削除することで
動くように説明してあげても良いけど
includeが分からないレベルの人だと
長々説明させたあげくに
「なんだか大変そうですね。もう少し勉強してから出直します」
とか言われそうなくらい複数箇所の修正が必要
本気でやる気あるなら説明するけど、あんの?
0589デフォルトの名無しさん
2010/06/21(月) 21:45:400590デフォルトの名無しさん
2010/06/21(月) 21:47:05作れ
0592デフォルトの名無しさん
2010/06/21(月) 22:35:20それで論文書いてもDirectXって時点で「ハッ」って鼻で笑われるんだよなぁ
べつにGLと比べて劣ってる部分なんて無いと思うんだが
学術分野だと何故かOpenGLじゃないと認められないと言う
Windowsでしか動かないのが原因なのかアタマの硬いおっさん連中のせいなのか
0593デフォルトの名無しさん
2010/06/21(月) 23:00:23微妙に論点がズレてる
その映像解析の理論や手法が重要なのであって
それを実現する機能がDXなのかGLなのかは大して重要じゃない
DXとGLの両方でサクッと作れって言うレベルの話で
作る方も評価する方も、そんなインターフェイスに捕われてる時点でレベル低って…
0594デフォルトの名無しさん
2010/06/21(月) 23:05:180595580
2010/06/21(月) 23:17:03今DirectX自体については>>583見てやってます。
>>588
お願いできますか?
というかすいません、
>全ソースコードを掲載しているので、これをコピーして動かして下さい。
これ前提で考えていました……ちょっと自分でも考えて見ます
include自体は分かってるつもりです……一応Cはやってたので
0596デフォルトの名無しさん
2010/06/22(火) 05:38:05DirectX9(February 2010)をつかっています。
プログラムを実行して描画が始まる前(一番最初のClearが実行される前?)にプログラムのウィンドウを非アクティブにすると
何も描画されなくなってしまいます。
デバイスロストかなと思ったのですがPresentの戻り値はS_OKになっていて正常のようです。
DrawIndexedPrimitiveの戻り値もS_OKになっていて何が原因で描画されないのか分からない状態です。
描画されない原因は何でしょうか?
0597デフォルトの名無しさん
2010/06/22(火) 08:04:030598デフォルトの名無しさん
2010/06/22(火) 15:34:27ウィンドウを非アクティブにすることが直接的原因じゃないきがす
fps60出ていなくて、
メッセージ処理のWM_PAINTの時だけ書いてあって、
ウィンドウの重なりで描画が消えてるだけとかあり得そうなので
チェックしてみてくだされ
0599598
2010/06/22(火) 17:18:53とにかく言いたかったのは描画ルーチンがうまく回っているか
チェックしてみるといいかもしれない、ということで解釈してほしい
0600デフォルトの名無しさん
2010/06/22(火) 17:20:11その辺、通常のWindowsプログラムとゲームプログラムの全く違うところだよな。
普通のプログラムはWM_PAINTを受け取った時だけ再描画する受動的な動き方だが、
ゲームプログラムはアイドル時に暇さえあれば書き換え続けるやり方になる。
0601デフォルトの名無しさん
2010/06/22(火) 18:26:17ありがとうございます。
描画されるのを確認してからフォーカスを切った場合は正常に描画され続けます。
DirectXの初期化をしてからモデルファイルの読み込みとシェーダーの読み込みをしています。
読み込みをしている間、現在のデスクトップが写り込んだウィンドウが表示されていて
このときに非アクティブにするとClearで指定した青色で塗りつぶされたままになってしまいます。
ウィンドウの上に別のウィンドウを重ねたりしても青色のままなので一応ウィンドウは更新されてるみたい?
描画関数にブレークポイントを置くと止まるのでDrawIndexedPrimitiveは実行されていてS_OKになっています。
ウィンドウプロシージャはWM_KEYDOWNでエスケープキーでプログラムを終了する処理しか書いていません。
0602デフォルトの名無しさん
2010/06/22(火) 19:24:52デバイスがロストしてるならエフェクトもリセットしないとだめよ
0603596
2010/06/22(火) 20:59:49>>602
IDirect3DDevice9::Presentメソッドの戻り値がD3DERR_DEVICELOSTにならずにずっとS_OKのままなのですがロストしているのでしょうか?
それともPresentメソッドの戻り値以外ににロストを確認する方法があるのでしょうか
0604デフォルトの名無しさん
2010/06/22(火) 21:10:35実は初期化のどっかからいって失敗してんじゃね?
全部ログに吐き出してみろよ
0605デフォルトの名無しさん
2010/06/22(火) 21:53:000606デフォルトの名無しさん
2010/06/22(火) 22:02:05他のアプリケーションが排他モードにすればロストする。
0607デフォルトの名無しさん
2010/06/22(火) 22:09:230608デフォルトの名無しさん
2010/06/22(火) 22:18:28でも最小にしたらなんが動きそうな気がする
そっからどこから動かなくなってるのか探るのが良いかもね
0609デフォルトの名無しさん
2010/06/22(火) 23:16:37俺の萌えっ子スクリーンセーバーが起動すると大抵のゲームアプリは対応されてなくて落ちる
0610デフォルトの名無しさん
2010/06/23(水) 04:58:560611デフォルトの名無しさん
2010/06/23(水) 09:04:580612デフォルトの名無しさん
2010/06/23(水) 09:08:080613デフォルトの名無しさん
2010/06/23(水) 10:12:520614デフォルトの名無しさん
2010/06/23(水) 22:50:360615デフォルトの名無しさん
2010/06/23(水) 23:25:090616デフォルトの名無しさん
2010/06/24(木) 00:09:450617デフォルトの名無しさん
2010/06/24(木) 11:06:01十分に高速な描画を行える自身があるなら30fpsはでるんだぜ。
0618596
2010/06/24(木) 11:16:25マウスの移動量でカメラを動かしているのですが、ウィンドウが非アクティブになると
DirectInputが値を取得できなくなって変数にでたらめな数値が入ってました。
それでカメラがおかしなところに飛んでしまって何も描画されなくなってしまっていたみたいです。
レスありがとうございました。
0619デフォルトの名無しさん
2010/06/24(木) 11:28:52なんじゃそりゃ! そんな質問文の書いてないような情報をエスパーできるか!
ま、正常に動かん時なんてえてしてそんなもんさ……。
0620デフォルトの名無しさん
2010/06/24(木) 11:31:320621デフォルトの名無しさん
2010/06/24(木) 11:31:570622デフォルトの名無しさん
2010/06/24(木) 13:26:02ズサー
まあ良くあることだなw
俺も気をつけよう
0623デフォルトの名無しさん
2010/06/24(木) 15:01:53なんで最初じゃなく途中で非アクティブにした時はちゃんと動いてたん??
0624デフォルトの名無しさん
2010/06/24(木) 15:25:04別ウィンドウではなく描画してる画面に作りたいのですが…
0625デフォルトの名無しさん
2010/06/24(木) 15:33:47DXUTのサンプルを動かしてみれ。
0626デフォルトの名無しさん
2010/06/24(木) 15:37:26DXUTですか、ありがとうございます。
やってみます。
0627デフォルトの名無しさん
2010/06/24(木) 15:41:310628デフォルトの名無しさん
2010/06/24(木) 15:44:11このようなUIのウインドを作りたいのですが、どうしたらいいでしょうか?
0629デフォルトの名無しさん
2010/06/24(木) 15:45:28どうやってんだろうね
0630デフォルトの名無しさん
2010/06/24(木) 15:57:11OpenGLならGLUT系列のものがいくつかあるけどな。(freeglut、 GLUI)
Direct3Dならなんだろう。
先程上げたDXUTがそうだし、WPFもそう。
ほかに何か安定したツールキットあるんだろうか?
0631デフォルトの名無しさん
2010/06/24(木) 15:58:060632デフォルトの名無しさん
2010/06/24(木) 16:13:44利用できるライブラリやサンプルソースを探すという話題なのに
そのレスじゃあ何の答えにもなってないだろ。
0633デフォルトの名無しさん
2010/06/24(木) 16:40:480634デフォルトの名無しさん
2010/06/24(木) 16:55:23それなら「じゃあ作れ」で終わってしまわないか?
その材料が欲しいというなら、それもDXUIのソース見れ、で終わる。
0635デフォルトの名無しさん
2010/06/24(木) 17:10:24ったくうぜったらありゃしねえ。
0636デフォルトの名無しさん
2010/06/24(木) 17:33:26ドットバイドット表示系の2D基盤をDirect3Dの上で作って、その上にUI構築基盤作って、
その上にウィンドウシステム作って、そのうえでデザインやらスクリプトとかでカスタマイズできるようにしたり
いったんちゃんとした物が出来ればゲームプレイ時のUIとしても役に立つだろうし便利だよ!勉強にもなるし
そういうのが面倒ならDXUT使えばよろし
0637デフォルトの名無しさん
2010/06/24(木) 20:17:38「自分で作れ」
0638デフォルトの名無しさん
2010/06/24(木) 20:18:590639デフォルトの名無しさん
2010/06/24(木) 21:59:58初心者が難しく感じるのって絵が書けないからでしょ
プログラムで出来る範囲で全部やろうとするからどうやればいいのか見当もつかないだけで
普通は横にグラフィッカー置いてデザイン出してもらってプログラマはそれを組むだけ
枠組みの仕様に関しては要打ち合わせだけど、かっこよく見せる部分に関してはうちらの仕事じゃない
0640デフォルトの名無しさん
2010/06/24(木) 23:03:07キーの下おしたら-Z方向に向いて進む
(左右も同様)
ってどうやるんでしょうか?
押されたキーの方向にローカル軸を回転させればいいんですかね?
0641デフォルトの名無しさん
2010/06/24(木) 23:17:450642デフォルトの名無しさん
2010/06/24(木) 23:19:32キーを押しっぱなしにするとグルグル回転しちゃうんですよね
0643デフォルトの名無しさん
2010/06/24(木) 23:25:06現在の向いてる角度とって
進行方向の角度とって
キーおしっぱにしたら徐々に進行方向の角度に近づけていって
向いたらその方向で固定したらどうでしょうか?
0644デフォルトの名無しさん
2010/06/24(木) 23:46:480645デフォルトの名無しさん
2010/06/24(木) 23:52:580646デフォルトの名無しさん
2010/06/25(金) 00:27:54ありがとうございます
とりあえず押されたキーの方向(8方向)に軸を固定で設定する事にしました。
徐々に向けるとか、右から左に急に向いたりするのって難しいですね
0647デフォルトの名無しさん
2010/06/25(金) 02:33:04D3DXVECTOR3 dir = ...; // 向かせたい方向
// 向かせたい方向の角度[-180,180]
float targetAngle = D3DXToDegree( atan2( dir.x, dir.z ) );
// 角度差、自分から見た目標の角度
float diffAngle = targetAngle - angle;
// 角度差を[-180,180]に収める
diffAngle = std::fmod( diffAngle, 360.0f );
if( diffAngle < -180 ) diffAngle += 360;
if( diffAngle > 180 ) diffAngle -= 360;
float a = 0;
if( diffAngle < 0 ) a = (std::max)( diffAngle, -rotationSpeed ); // 左に回る
if( diffAngle > 0 ) a = (std::min)( diffAngle, rotationSpeed ); // 右に回る
angle += a;
targetAngle でググるとこんな感じのが見つかる
0648デフォルトの名無しさん
2010/06/25(金) 02:54:15if( diffAngle > 180 ) diffAngle -= 360;
なんで360?
180じゃね?
0649デフォルトの名無しさん
2010/06/25(金) 07:36:14-190度 = 170度
-180度 = 180度
-170度 = 190度
ってなるでしょ
0650デフォルトの名無しさん
2010/06/25(金) 07:50:16面倒臭そうなんでやめますっていうその根性たたきなおせよw
0651デフォルトの名無しさん
2010/06/25(金) 12:11:58プログラマーになりたいとか思ってなけりゃなんでもいい。
0652デフォルトの名無しさん
2010/06/25(金) 13:02:550653デフォルトの名無しさん
2010/06/25(金) 13:34:51あれで凝ったもん作ろうとするともっと面倒臭いわ
あれこそ好きにやらせてくれと思う
0654デフォルトの名無しさん
2010/06/25(金) 13:39:590655デフォルトの名無しさん
2010/06/25(金) 13:45:20精神病としか思えないレベルなんだよな。
0656デフォルトの名無しさん
2010/06/25(金) 13:52:160657デフォルトの名無しさん
2010/06/25(金) 13:58:250658デフォルトの名無しさん
2010/06/25(金) 14:02:56まぁ、コンパイル中に2ch巡回してるダメ人間ですがw
0659デフォルトの名無しさん
2010/06/25(金) 14:13:020660デフォルトの名無しさん
2010/06/25(金) 14:38:520661デフォルトの名無しさん
2010/06/25(金) 15:33:41オススメのSDKはどれですか?
0662デフォルトの名無しさん
2010/06/25(金) 15:39:400663デフォルトの名無しさん
2010/06/25(金) 17:51:43矛盾してるようだが一応あってる。
そしてネットに転がってる古めのサンプルコードは動かないことがある :)
0664デフォルトの名無しさん
2010/06/26(土) 02:52:44VS2010で使えるようになってるらしい
0665デフォルトの名無しさん
2010/06/26(土) 06:11:54注文しとかないとな。ありがとう
0666デフォルトの名無しさん
2010/06/26(土) 06:18:51C++0xを切れば今のままでも使えることは分かってるんだが
0667デフォルトの名無しさん
2010/06/26(土) 13:14:590668デフォルトの名無しさん
2010/06/26(土) 14:04:36スレ違い
0669デフォルトの名無しさん
2010/06/26(土) 14:19:460670デフォルトの名無しさん
2010/06/26(土) 15:05:40厳密なやり方はいくつかあるけど
「めんどくさいのでやらない」のが正しい
ゲームだったら複数の円を組み合わせて類似の判定を取るか
楕円周上に適当な密度で当たり判定用の円または点を置いて判定するくらいで十分
あとスレ違い
0671デフォルトの名無しさん
2010/06/26(土) 15:31:290672デフォルトの名無しさん
2010/06/26(土) 16:59:380673デフォルトの名無しさん
2010/06/26(土) 20:42:520674デフォルトの名無しさん
2010/06/26(土) 20:48:460675デフォルトの名無しさん
2010/06/26(土) 20:50:540676デフォルトの名無しさん
2010/06/26(土) 20:55:12グラフィカルなWindowsアプリをつくるためのものであって
2Dゲームを作るためのものじゃない
やるのはいいけど逆にメンドイ部分が出てくるはず
最初からゲームなんて興味ないですって人ならスマン話だが
0677デフォルトの名無しさん
2010/06/26(土) 21:00:160678デフォルトの名無しさん
2010/06/26(土) 21:01:39>>676
Direct2DというのはあくまでDirect3Dベースで2D処理するための汎用のAPIセットであって、
用途は限定されてない。
むしろゲームでは積極的に利用すべき優秀なライブラリだ。
Direct2Dレベルの豊富な機能を自力で実装しようだなんてぞっとしない話だろ。
0679デフォルトの名無しさん
2010/06/26(土) 21:59:55加算合成のさせ方がよくわからんかったから使うのやめた。
アルファ合成は簡単なんだが。
結局あれはどうやるのだろう?
0680デフォルトの名無しさん
2010/06/26(土) 22:24:170681デフォルトの名無しさん
2010/06/26(土) 22:27:48マジか
なんか嫌な臭いがすんな
できねーんじゃねん?(いや、試してないけど)
こーゆーの誰のレビューもしないで通してるんだろうか?
ってほど仕様に関して糞なの多いよね?>MS
0682デフォルトの名無しさん
2010/06/26(土) 22:55:33何だ?めんどうだからやらないって?
ゲームだからを理由にすんなカス
0683デフォルトの名無しさん
2010/06/26(土) 23:15:10すごい方程式で計算しても
簡易で代替手段で計算しても最終結果はほとんど変わらないだなぁ
「面倒だからやらない」ってのは手抜きではなくて
いかに楽に速くできる代わりの方法をひらめけるかどうかってことなんだよ
何でも物理やら方程式で解決しようとするのは3流のゲームプログラマ
0684デフォルトの名無しさん
2010/06/26(土) 23:20:15周りは結局表示結果しかみてないから、ふーん、って感じだしな
厳密に計算した方法より
フィーリングでこんなもんだろって直感的に組んだ方が
ゲーム的に気持ち良くて評判良かったりするのは良くある話
0685デフォルトの名無しさん
2010/06/26(土) 23:40:16当たり判定が正確じゃないと気になりそうだけどな。
0686デフォルトの名無しさん
2010/06/26(土) 23:43:51その面倒だからと今の面倒だからは意味合いが違うと思うな
0687デフォルトの名無しさん
2010/06/27(日) 00:00:59なにも間違ったことを言ってないと思うが
『めんどうだからやらない』は『難しすぎて出来ません』
とは全然違うぞ
0688デフォルトの名無しさん
2010/06/27(日) 00:03:08意味を理解してくれればきっといいあいにはならない
0689デフォルトの名無しさん
2010/06/27(日) 04:02:53>>669はGJK法でググって手がかりにするがよい
ただしスレ違いなのでここで質問はしないでおくれよ
0690デフォルトの名無しさん
2010/06/27(日) 07:49:380691デフォルトの名無しさん
2010/06/27(日) 11:09:30「ゲームプログラミングのための3Dグラフィックス数学」って本に
解法の足がかりが載ってる。
個人的にGemsやGPUGemsよりまずこの本を買っとけと思う。
で、楕円体と壁の衝突判定だが、これは楕円体と平面の判定を考える。
楕円体やボックスなど対称な物は法線方向の実効半径ってもんがあって、
平面法線の実効半径を求め、その実効半径と距離を比較することで
平面と衝突しているか判定することが出来る。
時間と共に移動と回転する楕円体の場合、上で使った式に
回転行列M(t)と移動行列D(t)を組み込んで、tについて解けばいい。(t=時間)
M(t)はsin(t)やcos(t)で出来ているで、tについて解くとn次多項式になるんで、
nの上限は自分で決める必要がある。(nを増やせば精度が上がるが重くなる)
ただ俺はこの方法は使わない。別に同じように正確でもっと簡単な方法を使う。
これは教えない、自分で探せ。
>>683のいうこともある意味正しいが、それはわかったうえでの話。
わかりもしない、検討もしないくせに、ゲームだからいいんだよは違う。
それはペテン師の言い訳であって、エンジニアの言うセリフじゃない。
0692デフォルトの名無しさん
2010/06/27(日) 11:22:45相手が平面ならいいけど
デコボコした地形を転がすとか考えた時に絶対簡易でやった方がまともに動くって
0693デフォルトの名無しさん
2010/06/27(日) 11:23:34しかも隠しているものは「簡易な代替手段」そのものだ。
こういう性質が積もり積もって今に至る。
0694デフォルトの名無しさん
2010/06/27(日) 11:27:33まあなぁ。現代的なゲームプログラミングに通用する
オープンソースの国産ライブラリやフレームワークががどれだけあるか考えれば。
0695デフォルトの名無しさん
2010/06/27(日) 11:37:14つーかクローズドでもろくなもんねえよ?
0696デフォルトの名無しさん
2010/06/27(日) 11:43:37えっ
0697デフォルトの名無しさん
2010/06/27(日) 15:21:01>>694
そもそも特許だのなんだのでがんじがらめにしてんのは企業だろ。
思いついたネタが片っ端から会社の特許にされたんじゃ公開する気なんてねぇ。
0698デフォルトの名無しさん
2010/06/27(日) 16:31:38>>これは教えない、自分で探せ。
>>これは教えない、自分で探せ。
>>これは教えない、自分で探せ。
0699デフォルトの名無しさん
2010/06/27(日) 17:07:37楕円が半径1の球になるように、移動ベクトルと、判定対象としてリストアップしたポリゴンの頂点の方をスケーリングしてしまうとか?
0700デフォルトの名無しさん
2010/06/27(日) 17:13:03そもそも楕円がそんなに重要な形なのか?
オレならサイコロ型、球形、凸多面体ぐらいに分類してしまうだろう。
0701デフォルトの名無しさん
2010/06/27(日) 17:37:14えてして初心者はリアルタイムで高速動作する完全な形状でのコリジョンの処理方法があると思っているようだが。
0702デフォルトの名無しさん
2010/06/27(日) 17:39:19最近のゲームやってないけど
0703デフォルトの名無しさん
2010/06/27(日) 18:12:14処理負荷の問題があるならだけど、ゲームとしてユーザーが気にならないレベルなら簡易化すれば良いんだよ
例えば、サウンドの発生とかも、うっかり
”厳密にタイミング違うけど気にならないレベル”
なんて言おう物なら、キチガイのように
”駄目です、きちんと合わせて下さい”
とか言いだす企画とか
お前さ、自分で絵と音を判断して区別も付かないレベルなのに
言葉に踊らされてるんだよって感じ
(厳密に言えば、ダブルバッファ使って2INTの画面遅れがあって2/16msズレてんのにユーザー気にしてないだろってレベル)
0704デフォルトの名無しさん
2010/06/27(日) 18:14:102x16msな
0705デフォルトの名無しさん
2010/06/27(日) 18:18:49英語勉強したら?
NVIDIAのサイトには訳本だと1万円するGPU Gemsが3冊公開されてるし、
他所では、海外ではシェーダーのバイブルなのに日本では訳本すら出ていないShaderXも無料公開されてるし。
DXSDKのヘルプをまともに読めるようになるだけでもかなり違ってくるぞ。
0706デフォルトの名無しさん
2010/06/27(日) 18:54:49実際には、デザイナの啓蒙も必要だから
プログラマだけが技術もっても意味無いケースが多いよw
どんなにLODを説明したり実画面見せてもも、
ローポリを3Dソフト上で拡大していじりながら
”細かい形がかわっちゃうからLODは使えない”
とか言い張って、全然LODを理解しないデザイナとかw
バッチ数を下げたいので、マテリアル分けはコストを考えて
って色々と説明やツールを用意しても、見た目がほとんど変わらないのに
キャラの一々全ての詳細部分のマテリアルを変えて
”こだわりでござい”ってデザイナとかw
プログラマに断りもなく、3Dソフトのレンダリング用に落ちてるシェーダー拾って
自分のプレビューと実記は違うと騒ぎ出すデザイナとかw
…全部実在ね、しかも最近の話なのが痛いんだわ…
0707デフォルトの名無しさん
2010/06/27(日) 19:00:58オレはそんなのにはあったこと無いわ・・・。
0708デフォルトの名無しさん
2010/06/27(日) 19:08:09うわぁ・・・w
0709デフォルトの名無しさん
2010/06/27(日) 22:41:11そういう輩は何でもかんでもダメダメ言うと余計言うこと聞かなくなるから
ある程度は妥協してあげる姿勢をみせて上げるのが上手く付き合うコツ
絶対に譲っちゃいけないところは譲らないけど
割とどうでもいいところをさも「キツイですけど、しょうがないですねー」
と引いてあげると上手く操縦できる
0710デフォルトの名無しさん
2010/06/27(日) 22:44:58人を使うのがうまいんだね。
0711デフォルトの名無しさん
2010/06/27(日) 23:09:35秘伝でも何でもないよ。
誰でもわかる、簡単な方法で
聞けばがっかりする話だ。
ただ俺はそれにたどり着くまでに
それなりに苦労したんで、お前らみたいな
キリギリス野郎にタダで教えるのは腹が立つんだ。
2分法を使うんだよ、
dt=0で衝突しておらず、dt=1で衝突している場合、
dtを半分にしていって衝突判定を繰り返す。
これなら、どんな形状であろうと関係ないし、
どんな動きをしてもいい。
精度が欲しければ、半分にする回数を増やせばいい。
最悪32回もやれば、float精度を確保出来る。
(dt=0で非衝突、dt=0.5で衝突、dt=1で非衝突のケースは検出出来ないが、
レアケースとして無視する。これが許容出来ないならdtを縮めるしかないな)
0712デフォルトの名無しさん
2010/06/27(日) 23:18:56いやあ、まさに頑固職人の発想だわ。
0713デフォルトの名無しさん
2010/06/27(日) 23:19:260714デフォルトの名無しさん
2010/06/27(日) 23:21:22せめてサンプルは全部一通り見とこうぜっていう。
0715デフォルトの名無しさん
2010/06/27(日) 23:21:27そう、だから唯の2分法だって。
0716デフォルトの名無しさん
2010/06/27(日) 23:25:17何という名前のサンプル?
確認してみたいと思う。
0717デフォルトの名無しさん
2010/06/28(月) 00:25:47他人には教えないくせに自分には教えろって変じゃないか?
0718デフォルトの名無しさん
2010/06/28(月) 01:07:470719デフォルトの名無しさん
2010/06/28(月) 01:35:20発展性ゼロどころかマイナス
0720デフォルトの名無しさん
2010/06/28(月) 02:00:13愚痴イラネ
0721デフォルトの名無しさん
2010/06/28(月) 02:08:09FPSのあたり判定ってどうしてんの?
結構適当で,足の先に当たってても当たってないことになったりってあるの?
0722デフォルトの名無しさん
2010/06/28(月) 06:34:59知らないんですか?
0723デフォルトの名無しさん
2010/06/28(月) 07:41:41私はモーションの編集しやすさを優先し、じみに再生速度を1つ1つ調整しなければいけないので
別ファイルに再生時のもろもろの都合をそれぞれ別記しようとしていますが、
もっと良い方法というか、制作込みでもっと良いデザインパターンというのが有るのでしょうか?
0724デフォルトの名無しさん
2010/06/28(月) 07:49:01いったい何を言っているんだ?
0725デフォルトの名無しさん
2010/06/28(月) 08:21:16だからちょっといじるたびに時間かかって仕方ないとか。
答えは簡単だ。頻繁に書き換えたいデータは別ファイルにする。テキストファイルでも何でもいい。
0726デフォルトの名無しさん
2010/06/28(月) 09:35:17製作の都合上、モーションファイルの他に設定ファイルがいるんだけど
ファイル数が増えてしまうので何か良い方法はありますか?ってことなら
パッケージ用ツールを別途製作して
適当なヘッダくっ付けて対応するファイルを連結してついでに圧縮なんかもしちゃって
読み取り時にヘッダを元に解析するとか
0727デフォルトの名無しさん
2010/06/28(月) 09:46:180728デフォルトの名無しさん
2010/06/28(月) 09:49:570729デフォルトの名無しさん
2010/06/28(月) 10:05:34一回使うだけなら高価かどうかなんて関係ないだろ。
0730デフォルトの名無しさん
2010/06/28(月) 10:19:24製作に使えるかどうかが問題なのに
試用期間の1ヶ月で全てを終わらせろってことですね?アタマ悪いな
0731デフォルトの名無しさん
2010/06/28(月) 10:22:510732デフォルトの名無しさん
2010/06/28(月) 10:23:28だから一回使えと何度も言っているのに、本当に頭が悪いな。
0733デフォルトの名無しさん
2010/06/28(月) 10:35:120734デフォルトの名無しさん
2010/06/28(月) 10:40:12代わりにソフトに金をかけるのは必要だろう。
0735デフォルトの名無しさん
2010/06/28(月) 10:45:00フリーのメタセコとかブレンダーとかでシコシコ作ってるようなのだろ?
それに対し高価なソフトを買えとか酷すぎじゃね?
試用版で基本を知るのはいいけど
結局使い続けられないならなんらかの代替手段が必要なわけでそれを聞きにきてるんだと思うが
0736デフォルトの名無しさん
2010/06/28(月) 10:50:040737デフォルトの名無しさん
2010/06/28(月) 10:56:15質問する必要がなくなると思うよ。
0738デフォルトの名無しさん
2010/06/28(月) 11:31:42お前ら初心者のレベルの低さを舐めてるだろう
一度専門学校の講師に借り出されたことあるけど
いまお前らがぼんやりと思い浮かべたレベルのさらに2段下くらいだと思ってもらいたい
最初はまぁこれも勉強かとおも思ったが3年くらいで我慢できなくなってやめた
しかし自分の下に人が付くようになるとあの時の経験は無駄ではなかったと思うこともある
0739デフォルトの名無しさん
2010/06/28(月) 11:56:400740デフォルトの名無しさん
2010/06/28(月) 12:00:55レベルが高かったら教える人間なんて必要ないじゃないか
0741デフォルトの名無しさん
2010/06/28(月) 12:21:360742デフォルトの名無しさん
2010/06/28(月) 12:41:230743デフォルトの名無しさん
2010/06/28(月) 12:54:300744デフォルトの名無しさん
2010/06/28(月) 13:10:51>>723じゃ何がしたいのか分からんし、回答側が予想で話していても理解できまいて。
…そもそもDirectX関係なさそうな
0745デフォルトの名無しさん
2010/06/28(月) 13:15:510746デフォルトの名無しさん
2010/06/28(月) 13:53:42海外FPSとかをプレイしてるとマップ切替時に、マップデータロード、
テクスチャやオブジェクトロードしてるところまでは分かるのですが、大抵の場合、
Prechasing...みたいな文字が出てしばらく何かの処理をしています。
創造でいいので、おそらくこういう事をしているんだろうというのを教えて頂けないでしょうか?
0747デフォルトの名無しさん
2010/06/28(月) 14:16:16いったい何がしたいんだ?
0748デフォルトの名無しさん
2010/06/28(月) 14:41:01○○見ろとか
質問に答える気の無い人はいい加減消えればいいのに
0749デフォルトの名無しさん
2010/06/28(月) 14:54:09うわぁ・・・
0750デフォルトの名無しさん
2010/06/28(月) 14:59:50>>1
0751デフォルトの名無しさん
2010/06/28(月) 15:13:21ただ746はDirectX関係なさそうだしマ的でも無さそうなのでスルーしようと思ったが。
>>746
自分で言っている通りの処理だよ。そこでシーンデータ以外も扱うかどうかは物によるわな。
特にPCの場合、想定よりスペックが足りなければシームレスな設計でも処理落ちするし、
VRAMが確保できなければ最悪数秒とまるかも知れない。だから普通は、処理が終わるまでは警告を出す。
0752デフォルトの名無しさん
2010/06/28(月) 15:17:17って書く人同じ人かな?
0753デフォルトの名無しさん
2010/06/28(月) 15:26:17病気だろ
その判定w
俺も〜だろは結構使う
0754デフォルトの名無しさん
2010/06/28(月) 15:38:210755デフォルトの名無しさん
2010/06/28(月) 15:53:090756デフォルトの名無しさん
2010/06/28(月) 18:10:58「だろ。」の奴は同じ奴臭いな
0757デフォルトの名無しさん
2010/06/28(月) 18:13:18上からみたら煽りしかしてないwwwww
0758デフォルトの名無しさん
2010/06/28(月) 19:17:25画面サイズの板ポリを20個くらいのランダムな三角形で切れ目を入れて、
ばらばらになって飛び散っていくアニメーションを作ろうとしています。
モデルやアニメーションデータはどんなツールで作れるでしょうか。
できればフリーソフトの範囲がいいんですが。
実際の描画はID3DXMeshを使う予定です。
0759デフォルトの名無しさん
2010/06/28(月) 19:30:08ホントだw
「だろ。」のレスは煽りしかしてねぇw
0760デフォルトの名無しさん
2010/06/28(月) 19:43:47申し訳ないらなら質問しないでください。
0761デフォルトの名無しさん
2010/06/28(月) 19:45:15お前馬鹿だろ
0762デフォルトの名無しさん
2010/06/28(月) 19:49:59その条件じゃ無理じゃないの?
三角形の区切りと飛び散り方が決め打ちでいいなら
ツールで動きを設定してフレームアニメーションさせればいいんだろうけど
切れ目もランダム、飛び散り方もランダムとかになると
普通に計算で頂点を区切ってそれぞれ動かした方がよさそう
>>760>>761は「だろ。」の人
0763デフォルトの名無しさん
2010/06/28(月) 20:10:280764デフォルトの名無しさん
2010/06/28(月) 20:15:190765デフォルトの名無しさん
2010/06/28(月) 20:21:06所得から控除じゃないよ。例えば、保険料は、所得から控除して残ったものに税金がかかるだろ。
なんぞこの検索候補
0766デフォルトの名無しさん
2010/06/28(月) 20:28:25XSIのプラグインであったよ
0767デフォルトの名無しさん
2010/06/28(月) 20:30:21英語のサイトでそれぞれx,y,zの成分を比較していくソースがあったんですけど、日本語で知りたい・・・
0768デフォルトの名無しさん
2010/06/28(月) 20:34:29技術がないんだから金を惜しむな。
0769デフォルトの名無しさん
2010/06/28(月) 20:48:240770デフォルトの名無しさん
2010/06/28(月) 20:52:04煽ってる奴は分かってるんだから回答してやれよ
それに頓珍漢なレスする奴も何だかなぁ…
>>758
悪いが、その程度は全てプログラムで出来ないと駄目だろw
変換済み頂点で、自分で全画面を構成するランダムポリゴンを作成して
自分で簡易的な物理式でも使って飛び散る変換をかけないさい
(マトリクスでも頂点変換でもお好きに)
0771デフォルトの名無しさん
2010/06/28(月) 20:53:580772デフォルトの名無しさん
2010/06/28(月) 20:56:180773デフォルトの名無しさん
2010/06/28(月) 20:57:50人気だろ。
カス
0774デフォルトの名無しさん
2010/06/28(月) 21:13:150775デフォルトの名無しさん
2010/06/28(月) 21:14:070776デフォルトの名無しさん
2010/06/28(月) 21:17:28キモイーw
0777デフォルトの名無しさん
2010/06/28(月) 21:24:03http://pc12.2ch.net/test/read.cgi/tech/1274521960/
こっちにもw
0778デフォルトの名無しさん
2010/06/28(月) 21:31:450779デフォルトの名無しさん
2010/06/28(月) 21:53:01どもです。ランダムと書いたのでうまく伝わらなかったんですが、
エフェクトの一種として使いたいだけなので3〜4パターンもあれば十分なんです。
数式で作ると規則的になってしまうだろうということでランダムと書きました。
切り目はモデラーで手で作れれば。
どちらかというとそこからのアニメーションでしょうか。
数式だけで飛び散っていく感じが表現できるのかなぁ。
0780デフォルトの名無しさん
2010/06/28(月) 22:03:310781デフォルトの名無しさん
2010/06/28(月) 22:03:42大丈夫
それぞれに初速度と方向ベクトルを与えてやって
毎フレームごとにに速度に減衰をかけたり
重力方向に加算するだけでかなりそれっぽく見える
どうしてもそれで納得できないなら
物理エンジン組み込むなり適当なサイトから方程式を引っ張ってくれば良い
0782デフォルトの名無しさん
2010/06/28(月) 22:10:16AABBでぐぐったら、2番目にそれらしいのがヒットしたが・・
もしかして、ぐぐるなんて女々しい!2chだけが我が友!!みたいな人?
0783デフォルトの名無しさん
2010/06/28(月) 22:12:11ソフトを探してるというのが質問ならXSI ModToolかBlenderでも使えば。たしか無料だし。
でもプログラムでやらないならスレ違いすぎだる
0784デフォルトの名無しさん
2010/06/28(月) 22:37:06適当だけど良くあるレイとボックスの当たり判定して
衝突点までの距離が線分の長さより短かったら衝突じゃだめなのか?
0785デフォルトの名無しさん
2010/06/28(月) 22:44:500786デフォルトの名無しさん
2010/06/28(月) 22:53:22画像くださいの間違いじゃねぇか?
ここじゃねぇだろ
Googleで「爆発」「爆発エフェクト」あたりでググるとそれっぽいのでるから
真似て作ったらどう?(権利関係があるのでそのまま使うのはお勧めできない)
0787デフォルトの名無しさん
2010/06/28(月) 22:53:58ソースも何もビルボードでやるって決まってるならほとんど絵の問題だ
ttp://tukiken.hp.infoseek.co.jp/muge/cr/tool/tool_A.html
みたいなツールでエフェクト作ってあとはアニメーションさせるだけ
0788デフォルトの名無しさん
2010/06/28(月) 22:56:11初心者だから四角ポリゴン作って画像分割してとか時間かかるから面倒臭い
だからソース下さい
0789デフォルトの名無しさん
2010/06/28(月) 23:00:04触らないように
0790デフォルトの名無しさん
2010/06/28(月) 23:03:03爆発だけのサンプルくだたい
車輪の再開発面倒臭いのです
ぐぐったらすぐソース出てくると思ったらでてこなかった
0791デフォルトの名無しさん
2010/06/28(月) 23:03:58たしかにそんな臭いするねw
こういう糞な初心者のフリして
「だから俺がいてよかっただろ?」
的な展開にでもしたいのかな?
あったま悪いなw
0792デフォルトの名無しさん
2010/06/28(月) 23:05:35じゃ「ビルボード DirectX」でググってどっかいけゴミクズ
0793デフォルトの名無しさん
2010/06/28(月) 23:07:57嫌ならやめちまえ。
0794デフォルトの名無しさん
2010/06/28(月) 23:10:34それくらい作ってくれよケチ
玄人のくせに
0795デフォルトの名無しさん
2010/06/28(月) 23:11:26ココかゲ製作板の方か忘れたけどDirectXの質問スレで
同じように叩かれて
「ここで回答してるのはほとんど俺だし
俺がいなくなったらこのスレ成立しなくなるだろ?
でももうコネーヨって」
って泣きながら消えた奴がいたけど同じ臭いがする
0796デフォルトの名無しさん
2010/06/28(月) 23:19:50なんも建設的な意見出さないし
レス見てると相手の意図がわかってるくせにわざとはずしたレスばかりしてるし
育ちが悪くて会話するだけ無駄な人種だろーねw
開発にもこーゆーのいるよ
技術あるのに(っていうほどないけどw)いても全く役に立たないのw
0797デフォルトの名無しさん
2010/06/28(月) 23:22:01スレ荒れてなかったらたまにソースくれるのに
0798デフォルトの名無しさん
2010/06/29(火) 00:04:140799デフォルトの名無しさん
2010/06/29(火) 00:21:57ありがとう
頭イイですね
0800デフォルトの名無しさん
2010/06/29(火) 00:24:06実際俺がきえて消滅したスレあるけど
0801デフォルトの名無しさん
2010/06/29(火) 00:25:25まあね
よくいわれるよw
0802デフォルトの名無しさん
2010/06/29(火) 00:29:14↓
人が減る
↓
レスがないので嵐がいなくなる
↓
レスがつかずスレ消滅
0803デフォルトの名無しさん
2010/06/29(火) 00:56:520804デフォルトの名無しさん
2010/06/29(火) 08:44:51void TexTrans(D3DXMATRIX &out,float u,float v)
{
D3DXMatrixIdentity(&out);
out._31 = u;
out._32 = v;
}
描画関数中
D3DXMATRIX out;
TexTrans(out,0.0,0.1);
pd3dDevice->SetTransform(D3DTS_TEXTURE0,&out);
pd3dDevice->SetFVF
Effect->SetMatrix
Effect->SetTexture
描画
としても動きません。どうしてでしょうか?
0805デフォルトの名無しさん
2010/06/29(火) 08:50:23そんなもん、シェーダーの内容によってどうとでもなるので
提示されたソースだけではなんとも言えん。
0806デフォルトの名無しさん
2010/06/29(火) 08:53:34どういうことですか?これじゃできないのですか?
0807デフォルトの名無しさん
2010/06/29(火) 08:54:49毎回D3DXMatrixIdentityで初期化してるんだから動くはずが無い
あとそのままだとv方向に動かないか?
0808デフォルトの名無しさん
2010/06/29(火) 09:05:29uvの方向はよくわからないので見て判断しようと思いました
D3DXMatrixIdentityを消してテクスチャのセットアップ時に一回だけD3DXMatrixIdentityするようにしてもできませんでした
描画のところは
UINT Passes;
Effect->Begin( &Passes, D3DXFX_DONOTSAVESHADERSTATE ) );
for( UINT p = 0; p < Passes; ++p )
{Effect->BeginPass( p ) ;
Mesh->DrawSubset( 0 ) ;
Effect->EndPass() ;
}Effect->End() );
これです
どこを変えたらテクスチャが動くようになるのでしょうか?
0809デフォルトの名無しさん
2010/06/29(火) 09:24:02805も言ってるけど
シェーダーで描いてるならいくら固定機能でずらそうとしてもダメなんじゃないかな?
頂点シェーダーでテクスチャ座標出力してるところあるでしょ
そこをずらさないといけない
ちょっと頂点シェーダの中身書いてごらん
0810デフォルトの名無しさん
2010/06/29(火) 09:27:43http://codepad.org/Tl079uPN
おねがいします
0811デフォルトの名無しさん
2010/06/29(火) 09:42:52float2 TexTrans = { 0.0f, 0.0f };
を追加
54行目を
o.Tex0 = Tex0+TexTrans ;
あとはプログラム側から
Effect->SetVector ( TexTrans &D3DXVECTOR4(u, v, 0.0f, 0.0f ) ;
uの値を徐々に変えていけばずれていくはず
0812デフォルトの名無しさん
2010/06/29(火) 09:46:57Effect->SetVector ( TexTrans &D3DXVECTOR4(u, v, 0.0f, 0.0f ) ;
は
Effect->SetVector ( "TexTrans", &D3DXVECTOR4(u, v, 0.0f, 0.0f ) ;
で
0813デフォルトの名無しさん
2010/06/29(火) 10:01:40>>812
ありがとうございます!ズレました!
シェーダーで描くというのはエフェクトを使うということでしょうか?
g_pMesh->DrawSubset( i );のみ→普通
Effect->BeginPass( p );にはさむ→シェーダを使っている
みたいな感じですか?
0814デフォルトの名無しさん
2010/06/29(火) 10:22:000815デフォルトの名無しさん
2010/06/29(火) 10:22:13多分固定機能すっとばしていきなりシェーダーから入った人なんだろうけど
それならそれで固定機能の事は忘れて
シェーダーだけでやっていけばいいんじゃないかな
今回みたいに固定機能を使った古いサンプルを参考にすると動かないこともあるかもだけど
0816デフォルトの名無しさん
2010/06/29(火) 10:25:52シェーダー系でできるように頑張ります
0817デフォルトの名無しさん
2010/06/29(火) 12:08:05「データ」「タバコ」「イクラ」などカタカナ言葉の日本語を原語のアクセントで読むのは間違い。
これらを間違えて読んでいると日本人である事を疑われるので気を付けるように。
0818デフォルトの名無しさん
2010/06/29(火) 12:12:080819デフォルトの名無しさん
2010/06/29(火) 12:15:170820デフォルトの名無しさん
2010/06/29(火) 12:24:44だろ。が荒らしてるだけです
触らないように
0821デフォルトの名無しさん
2010/06/29(火) 12:26:39心の病をかかえてるだろ。
0822デフォルトの名無しさん
2010/06/29(火) 12:30:480823デフォルトの名無しさん
2010/06/29(火) 12:33:540824デフォルトの名無しさん
2010/06/29(火) 12:34:16昔人に聞いたときは、ディレクトエックスっていってたなぁ。
0825デフォルトの名無しさん
2010/06/29(火) 12:56:330826デフォルトの名無しさん
2010/06/29(火) 13:00:430827デフォルトの名無しさん
2010/06/29(火) 13:10:190828デフォルトの名無しさん
2010/06/29(火) 13:23:11ttp://www.youtube.com/watch?v=e7H35LUOGbA
ネイティブすぎてなんとも言えんが
ダイレクトエックスでいいんじゃないの?
0829723
2010/06/29(火) 14:16:31曖昧な質問をして混乱させてすみません。
定番という形がもし存在するならばそれに添えるように作りたくてつい。
自分なり考えてプログラム側をそれに合わせる事にします。ありがとうございました。すみませんでした。
0830デフォルトの名無しさん
2010/06/29(火) 15:20:36ないあるよ
0831デフォルトの名無しさん
2010/06/29(火) 15:36:10Blenderなめんなよ?
自分でスクリプト組んでゲームないデータとかパラメータで持たせたり物理的なあたり判定データ組み込んだり出来るんだぜ
高いソフト使えばいい物が作れるなんて大きな間違いだ
フリーや安物のソフトを使い倒して自分の技量がソフトの機能を超えたら高いソフトでも何でも買えばいい
0832デフォルトの名無しさん
2010/06/29(火) 15:38:07ブレンダーってボーン吐き出せたっけ?
0833デフォルトの名無しさん
2010/06/29(火) 15:39:18たぶん3Dソフトといわれてすぐに名前がでてくるようなソフトは全部できると思うぞ
0834デフォルトの名無しさん
2010/06/29(火) 16:04:55だからぁ
無けりゃスクリプト組めるんだから自分で書けばいいでしょ
結局市販のフォーマットなんていつか自分のやりたいことが出来無くなるから(たとえばモーフィング)
自前で3Dソフトのエクスポーター、ゲームプログラムのインポーター位書けたほうがいい
何が言いたいかって言うと、高いソフトを買うのもいいけどそういう応用力があれば安ものでも十分やっていけると言う事
>>ここに質問しにくるような奴って
>>フリーのメタセコとかブレンダーとかでシコシコ作ってるようなのだろ?
こういう考えは間違ってるってことだ。初心者ほど金をかければ何か出来ると勘違いしている。多少楽にはなるかも知れんが金をかけても何もできない奴はできない
0835デフォルトの名無しさん
2010/06/29(火) 16:16:490836デフォルトの名無しさん
2010/06/29(火) 16:18:05http://www.microsoft.com/japan/directx/default.mspx
0837デフォルトの名無しさん
2010/06/29(火) 19:24:43エフェクトを同じように2個つくてデバイスー>セットFVF、エフェクト2−>マトリックス、テクスチャー
と設定したはずなのですが消えてしまいます。何が足りないのでしょうか?
エフェクト1だとー>マトリックス、テクスチャーだと表示されます
なぜでしょうか?
0838デフォルトの名無しさん
2010/06/29(火) 19:35:04それとお勧めの本とかあったら教えてくれ
0839デフォルトの名無しさん
2010/06/29(火) 19:40:24C,C++,Rubyを経験してます
0840デフォルトの名無しさん
2010/06/29(火) 20:03:09エフェクトってのは
ID3DXEffectのことなのかい?、それとも何らかの効果描画なのかい?
0841デフォルトの名無しさん
2010/06/29(火) 20:06:14ウィンドウくらいは作れるの?
0842デフォルトの名無しさん
2010/06/29(火) 20:15:20それは大丈夫です
0843デフォルトの名無しさん
2010/06/29(火) 20:16:43チュートリアルはやった?
0844デフォルトの名無しさん
2010/06/29(火) 20:19:45ID3DXEffectです!
エフェクト1−>ゲットマトリクス
エフェクト2−>セットマトリクス
これでコピーできてますか?
エフェクト1−>セットテクスチャをしようとすると
ID3DXEffect::GetTexture' : 2 番目の引数を 'IDirect3DTexture9 *' から 'LPDIRECT3DBASETEXTURE9 *' に変換できません。
となりますキャストしようとしてもうまくいきません。
0845デフォルトの名無しさん
2010/06/29(火) 20:26:21全然コピーできてないと思うけど正直何がやりたいのかわからないので
ちゃんと丁寧に質問内容をまとめてくれ
コピーってのは同じエフェクトを複数表示したいってこと?
それとも
エフェクト1の演算結果をエフェクト2で使用したいってこと?
0846デフォルトの名無しさん
2010/06/29(火) 20:43:31ウィンドウが作れるなら843も言ってるけど
ttp://msdn.microsoft.com/ja-jp/library/ee416755(v=VS.85).aspx
ここのチュートリアルをとりあえずやってみるのが一番お金がかからない(DirectX9の場合)
ソースコードは全てSDkと一緒にインストールされてるのでそれを見る
本はいつも俺はココでは「これ1冊でOKな本は無い」ということにしてるが
あえてまったく知識が無い状態で学習用に買うなら
ttp://www.kohgakusha.co.jp/books/detail/978-4-7775-1272-0
を一応押しておく
ただし、これやってもゲームとか作れるようにはなりません
最終的には「コレ何だっけ?」というときにぺらぺらめくる辞書的な使い方になるかと
ややDXUT寄りだけどシェーダに関してかなり初心者向けに丁寧に書いてあるのが高感度↑
ただ、固定機能に関してはほとんど触れられてないので要注意
いろいろパラメーターの説明とか書いてあるけど全部覚える必要は無い
どこに何が書いてあるかだけ覚えといてあとで必要になったら読み返せば良い
0847デフォルトの名無しさん
2010/06/29(火) 20:58:17エフェクト1のマトリクス部分か、エフェクト1のテクスチャ部分をエフェクト2のその部分にコピーして使いたいのです。
やりたいことは
D3DXCreateEffectFromFileでエフェクト2.fxからエフェクト2に入れる
SetTechnique
OnResetDevice
描画中で
SetMatrix
SetTexture
ビギン→ループ(ビギンパスビギン描画エンドパス)→エンド
としてエフェクト1を使って表示してる物体とは別にエフェクト2を使って違う物体を表示したいのです
0848デフォルトの名無しさん
2010/06/29(火) 21:18:18なぜコピーする必要があるのか詳しく
0849デフォルトの名無しさん
2010/06/29(火) 21:29:49D3DXCreateEffectFromFileでエフェクト2.fxからエフェクト2に入れる
SetTechnique
OnResetDevice
描画中で
SetMatrix
SetTexture
ビギン→ループ(ビギンパスビギン描画エンドパス)→エンド
これでエフェクト1を使って表示してる物体とは別にエフェクト2を使って違う物体を表示したいということなのですが、エフェクト2の方は何かが足りなくて全く表示されないのです
これを全てエフェクト1にすると上手くいきます
ということで、エフェクト2のマトリックスが悪いのかなと思ったり、テクスチャが悪いのかなと思ってエフェクト1からコピーしようと思ったのですが上手くできなかったからです
なぜちゃんと流れどおり設定したつもりなのにエフェクト2の方は表示されないのでしょうか?どうやったらコピーできるのでしょうか?
0851デフォルトの名無しさん
2010/06/29(火) 21:37:23それはコピーとか関係無しになにか根本的なところが間違ってる
描画部分のソースコードを省略しないで全部書いて
0852デフォルトの名無しさん
2010/06/29(火) 21:58:18{ HRESULT hr;
V( pd3dDevice->SetFVF( g_pMesh2->GetFVF() ) );
V( Effect2->SetMatrix( "g_mWorld", &g_Mx2 ) );
V( Effect2->SetTexture( "g_txScene", g_Tx2 ) );
UINT cPasses;
V( Effect2->Begin( &cPasses, D3DXFX_DONOTSAVESHADERSTATE ) );
for( UINT p = 0; p < cPasses; ++p )
{
V( Effect2->BeginPass( p ) );
V( g_pMesh2->DrawSubset( 0 ) );
V( Effect2->EndPass() );
}V( Effect2->End() );
}
この関数を作って呼び出してます。引数のEffectは、Effect2をEffectと書き換えた後メイン描画中のEffect1を引数にして使いました、この時は、全部同じエフェクトですが物体は表示されます
出かけるのでレス返せなくなりますがエスパーよろしくおねがいします
0853デフォルトの名無しさん
2010/06/30(水) 14:20:36DirectX9とDirectX11って具体的に何が違うんだ?
0854デフォルトの名無しさん
2010/06/30(水) 14:27:440855デフォルトの名無しさん
2010/06/30(水) 14:29:14答えても理解できないだろうし
その質問の仕方じゃ
技術的な違いなのかプログラム的な違いなのか解からんし
0856デフォルトの名無しさん
2010/06/30(水) 14:35:59んー、技術的にどういったことができるようになって、
どういうことができなくなった、もしくはやりづらくなったかっていうのを知りたいんだが…
9を今使ってて11に乗り換えると何がどーなるのかいまひとつなのよね…
0857デフォルトの名無しさん
2010/06/30(水) 14:39:52http://ja.wikipedia.org/wiki/Microsoft_DirectX
とりあえず動作的には
動作するのがVistaのsp2からwindows7だけだ
xpとvistaの古いままなのでは動作しないって感じじゃね?
まちがってたらスマンコ
0858デフォルトの名無しさん
2010/06/30(水) 15:10:370859デフォルトの名無しさん
2010/06/30(水) 15:18:37それは判ってるんだけど…どういう技術が使えるようになったかって事が聞きたいのよね
質問を変えてみたほうがいいのかな?
シェーダモデル5.0って何ができるん?
0860デフォルトの名無しさん
2010/06/30(水) 15:21:490861デフォルトの名無しさん
2010/06/30(水) 15:30:22やっぱりよくわからん。
ダイナミックシェーダリンクとかコンサバティブオーデプスとか
そういうことなのか?
0862デフォルトの名無しさん
2010/06/30(水) 15:34:35wikiに書いてあるじゃん
高精細な描画を可能にするテッセレーションのサポートや新たな命令セットが追加されたほか、
GPUコンピューティングを実現するDirectX Compute Shader、マルチコアCPUに対応したマルチスレッディング処理、
HDR圧縮などの新機能を実装している。
だと
あんまり興味なかったらいらないんじゃね?
0863デフォルトの名無しさん
2010/06/30(水) 15:35:45質問する理由がさっぱり理解できない。
0864デフォルトの名無しさん
2010/06/30(水) 18:13:31WebインストーラーでDirectXをインストールすると2004年のとかからインストールされるし
0865デフォルトの名無しさん
2010/06/30(水) 18:25:27むしろDirectX9はいい加減放棄したいな。
せめてDirectX9Exがいい。
とっととDirectX11で作って問題ない世の中になってくれー
0866デフォルトの名無しさん
2010/06/30(水) 18:54:48DirectX9自体はすぐには消えないと思うけど
マイクロソフトのやり方だとまず開発環境の方から締め付けてくるから
過去のサポートを打ち切ることで
最新の開発環境でやりたかったら11でやれみたいな流れにしていくと思われる
0867デフォルトの名無しさん
2010/06/30(水) 18:54:51OS売ろうなんて欲出さずに。
0868デフォルトの名無しさん
2010/06/30(水) 18:57:57画像全体だと問題ないんだけど
画像から一部を抜き出して描画させると微妙に半ピクセルほどずれてしまう……。
画像全体を表示させるときは左右上したどこもずれてないことは市松模様の画像を作って確認済み。
どこがポイントなんだろう……。
0869デフォルトの名無しさん
2010/06/30(水) 19:13:58とりあえずココを読んでみることをお勧めする
http://msdn.microsoft.com/ja-jp/library/bb219690(VS.85).aspx
0870デフォルトの名無しさん
2010/06/30(水) 19:19:02半ピクセルズレるってどんな状態か想像出来ないんだが
0871デフォルトの名無しさん
2010/06/30(水) 19:24:39テクスチャのサンプラーモードを
D3DTEXF_LINEARからD3DTEXF_POINTに変更すると解決すると予想
0872デフォルトの名無しさん
2010/06/30(水) 20:10:01そこは最初の段階で押さえました。画像全体ではずれずに表示できています。
>>870
描画位置が1ピクセル未満ずれること。2D描画だとまず無いだろうけど3Dだと当たり前に起こっちゃう。
>>871
確かにそれなら0.5ピクセル未満のズレなら解消できるだろうけど、
等倍じゃなく縮小表示させる時もあるんだよね……。
ちなみに、これらの話はDirect3Dで実装した独自GUI部の描画の部分です。
0873デフォルトの名無しさん
2010/06/30(水) 20:17:24描画位置のズレが気になってるのか
フィルタリングのアンチエイリアスが気になってるのか良くわからなくなってきた
不満がある部分の画面のスクリーンショット見せてくれ
0874デフォルトの名無しさん
2010/06/30(水) 21:53:46ぶっちゃけXPで動いたとしても同人や趣味レベルでDirectX11が主流になる気がしない。
もちろん技術レベル的な意味でな。
0875デフォルトの名無しさん
2010/06/30(水) 23:14:05それで間に合わせてくださいって言われてるような感じさえする
0876デフォルトの名無しさん
2010/06/30(水) 23:21:27なんちゃらシェーダーが増えても、使わなくてもいいものなら
いくら増えても関係ない。
固定機能がなくなっても、固定機能程度の表現力でよければ
誰かが書いたシェーダーを使いまわすだけだし。
0877デフォルトの名無しさん
2010/06/30(水) 23:23:190878デフォルトの名無しさん
2010/06/30(水) 23:43:28fbx sdkは内部で何やってるか分からないから不安と言われたら、
お前みたいなカス如きがフルスクラッチしたガラクタライブラリよりは万倍マシだろうよ、
と答えとけばいい
それとゲーム業界だとcolladaも結構使われてるんじゃなかったっけ?
これもopencolladaやcollada DOMを使えばいける
もしかしたらライブラリの英語ドキュメントを読めないパープリンもいるかもしれないが、
将来出版されるであろう日本向けDX11参考書には
そういうカス向けにXフォーマットの代替手段とその使い方が十中八九収録されるだろうから
それに頼ればいい
0879デフォルトの名無しさん
2010/06/30(水) 23:44:02表示を11でやればいいだけの話では?
0880デフォルトの名無しさん
2010/07/01(木) 00:40:03みんな普通にDirectX5や7に移行してるしね。
0881デフォルトの名無しさん
2010/07/01(木) 00:42:44まあ7持ってないから移れないけどさあ
0882デフォルトの名無しさん
2010/07/01(木) 00:46:26いやFBXはAdobeのプロプライエタリなライブラリなのでまずいだろう。
せめてオープンソースのものでないと
0883デフォルトの名無しさん
2010/07/01(木) 00:53:210884デフォルトの名無しさん
2010/07/01(木) 07:05:380885デフォルトの名無しさん
2010/07/01(木) 07:34:59D3DXなしなんてソレこそ初心者からの質問が鬱陶しくなるだろ。
0886デフォルトの名無しさん
2010/07/01(木) 08:53:30奇形に進化してしまった。1回リセットして新しいAPIを定義した方がいいと思う。
0887デフォルトの名無しさん
2010/07/01(木) 09:37:19リファレンスだってサクッと読めるレベル
俺は初心者だったころから思っていたけど、D3D9は継ぎはぎだらけな感じがした
0888デフォルトの名無しさん
2010/07/01(木) 11:27:23ただ、9はシェーダ移行時期だし、期間長かったしで、そう思われるのはしょうがないけど、
あれでも随分シンプルで使いやすくなってたのよ
FBXの方が導入は楽だったけど、拡張性で俺もCOLLADAに一票だな。バイナリ無いけど
0889デフォルトの名無しさん
2010/07/01(木) 12:04:55ヘルプに親切な解説がついている割には、仕様を理解している人間が少ないのが実情。
0890デフォルトの名無しさん
2010/07/01(木) 12:10:54標準性を言えばやっぱFBXかなぁ
11はGeForce400シリーズが型落ちしてお手ごろになったら本格的にやりたい
0891デフォルトの名無しさん
2010/07/01(木) 12:11:070892デフォルトの名無しさん
2010/07/01(木) 12:29:200893デフォルトの名無しさん
2010/07/01(木) 12:41:390894デフォルトの名無しさん
2010/07/01(木) 15:41:16翻訳以前に資料を見に行こうとすらしていないのがバレバレな馬鹿発言だな。
0895デフォルトの名無しさん
2010/07/01(木) 15:44:570896デフォルトの名無しさん
2010/07/01(木) 15:49:070897デフォルトの名無しさん
2010/07/01(木) 16:07:310898デフォルトの名無しさん
2010/07/01(木) 16:53:570899デフォルトの名無しさん
2010/07/01(木) 17:51:26そういやFBXスレって無いね
需要は特定の人間にはあるだろう
0900デフォルトの名無しさん
2010/07/01(木) 18:44:08レイの原点とヒットした面の距離は分かります。
0901デフォルトの名無しさん
2010/07/01(木) 19:06:07距離だけで交点は解かってないの?
0902デフォルトの名無しさん
2010/07/01(木) 19:16:15拡張性、機能を多少限定したものでいいから、代替フォーマットを用意してほしかったなぁ。
0903デフォルトの名無しさん
2010/07/01(木) 20:31:040904デフォルトの名無しさん
2010/07/01(木) 20:35:210905デフォルトの名無しさん
2010/07/01(木) 22:56:05OpenGLはそれ以外のゲーム全てなのに
0906デフォルトの名無しさん
2010/07/01(木) 22:58:120907デフォルトの名無しさん
2010/07/01(木) 23:03:460908デフォルトの名無しさん
2010/07/01(木) 23:19:100909デフォルトの名無しさん
2010/07/01(木) 23:29:270910デフォルトの名無しさん
2010/07/01(木) 23:46:58http://msdn.microsoft.com/ja-jp/library/bb174369(v=VS.85).aspx
について質問です
↓これを参考に
http://msdn.microsoft.com/ja-jp/library/bb147325(v=VS.85).aspx#Scenario_4_Drawing_One_Triangle_with_Offset_Indexing
頂点バッファの途中読みをしたいのですが
GeForceだと期待通りの動作をするのですが
RADEONだとずらした時に何も表示されなくなってしまいます
現在はIDirect3DDevice9::SetStreamSourceで
頂点バッファの先頭位置をずらすことで一応期待通りの動作にすることが出来てますが
DrawIndexedPrimitiveだけで対応することはできないのでしょうか?
0911デフォルトの名無しさん
2010/07/02(金) 01:03:40正確には「OpenGLっぽいAPI」「OpenGLに似せたAPI」「OpenGLを参考にしたAPI」
OpenGLそのままなんて実際にはそんなにない。だいたいどっかしら弄ってるし。
ATI拡張とかNVIDIA拡張とかうぜぇメーカー毎の拡張機能まであったりなかったり。
0912デフォルトの名無しさん
2010/07/02(金) 01:37:260913デフォルトの名無しさん
2010/07/02(金) 02:12:58あるやつもある、ないやつもある
0914デフォルトの名無しさん
2010/07/02(金) 02:13:560915デフォルトの名無しさん
2010/07/02(金) 05:26:050916デフォルトの名無しさん
2010/07/02(金) 05:59:58いやいやいやちょっと待てよ。
俺なんか3000本級のゲーム開発に何本も参加してきたけど、結局結論として思うのは
あるやつもある。だけど、ないやつもある。
0917デフォルトの名無しさん
2010/07/02(金) 08:31:450918デフォルトの名無しさん
2010/07/02(金) 10:39:33つまり・・・
0919デフォルトの名無しさん
2010/07/02(金) 10:47:200920デフォルトの名無しさん
2010/07/02(金) 11:53:280921デフォルトの名無しさん
2010/07/02(金) 12:18:21開発期間にもよるが3000本なら頑張った方
2000本なら吊らないといけんかもだが
0922デフォルトの名無しさん
2010/07/02(金) 12:19:110923デフォルトの名無しさん
2010/07/02(金) 12:31:520924デフォルトの名無しさん
2010/07/02(金) 14:11:58知ってるよそんくらい。
0925デフォルトの名無しさん
2010/07/03(土) 04:28:030926デフォルトの名無しさん
2010/07/03(土) 17:44:380927デフォルトの名無しさん
2010/07/03(土) 18:17:500928デフォルトの名無しさん
2010/07/03(土) 18:48:350929デフォルトの名無しさん
2010/07/03(土) 19:52:380930デフォルトの名無しさん
2010/07/03(土) 20:01:020931デフォルトの名無しさん
2010/07/03(土) 20:11:540932デフォルトの名無しさん
2010/07/03(土) 20:40:439EXはVista向けだからXPで作ってるのなら関係ない
デバイスロスト時にテクスチャなどのリソースを作り直す必要がなくなったりする
0933デフォルトの名無しさん
2010/07/03(土) 21:33:45違うよ、そもそもデバイスがロストしない。
0934デフォルトの名無しさん
2010/07/03(土) 21:50:39残念ながらロストはする
ただし、デバイスドライバが停止したりハードがクラッシュしたりでもしない限り
ロストはしないので「ほぼしない」というのが正しい
デバイスマネージャーからドライバを停止するとリセットは必要なことがわかる
0935デフォルトの名無しさん
2010/07/03(土) 22:44:010936デフォルトの名無しさん
2010/07/03(土) 22:47:38ドライバが停止したらそもそもリセットしても復旧しないよ。
0937デフォルトの名無しさん
2010/07/03(土) 22:51:38グラボ抜いて(停止)
もう一回刺しても動かなかったっけ?
昔、会社で組んでた頃の記憶だけど
0938デフォルトの名無しさん
2010/07/03(土) 22:53:38熱による事前停止とか
0939デフォルトの名無しさん
2010/07/03(土) 22:53:48USBじゃあるまいし
0940デフォルトの名無しさん
2010/07/03(土) 22:59:28性質の悪いデザイナぐらいしかこんな使い方しないってのはその通りだと思う
0941デフォルトの名無しさん
2010/07/03(土) 23:16:25デバイスは、2 つの状況下でのみ喪失するようになりました。
つまり、ハードウェアがハングアップしているためにリセットされている場合、
およびデバイス ドライバーが停止されている場合です。ハードウェアがハングアップしている場合、
デバイスは IDirect3DDevice9Ex::ResetEx を呼び出すことでリセットできます。
ハードウェアがハングアップすると、テクスチャー メモリーは失われます
ドライバーが停止された後は、IDirect9Ex オブジェクトを再作成してレンダリングを再開する必要があります。
プレゼンテーション領域がウィンドウ表示モードの別のウィンドウによって隠されている場合、
または全画面のアプリケーションが最小化されている場合、
IDirect3DDevice9Ex::PresentEx は S_D3DPRESENTATIONOCCLUDED を返します。
全画面アプリケーションは、WM_ACTIVATEAPP コールバック メッセージを受信するとレンダリングを再開できます。
DirectX の以前のバージョンでは、アプリケーションにモード変更が発生した場合、
これを復旧するには、デバイスをリセットして、
すべてのデバイス メモリー リソースとスワップ チェーンを再作成するほかありませんでした。
DirectX for Windows Vista では、モード変更の後に Reset を呼び出しても、
テクスチャー メモリー のサーフェス、テクスチャー、およびステート情報は失われず、
これらのリソースを再作成する必要がなくなりました。
0942デフォルトの名無しさん
2010/07/03(土) 23:19:44グラボ切り替えたらステートなんて覚えてたって
そもそも切り替えたグラボの性能同じとは限らないじゃんな
ウンコばっかり気を配りやがって
0943デフォルトの名無しさん
2010/07/03(土) 23:43:35グラボの性能はいいぞ
おれもダイエットに成功したからね
0944デフォルトの名無しさん
2010/07/03(土) 23:56:00そんなに流したい話題でもあるのかい?
0945デフォルトの名無しさん
2010/07/04(日) 00:10:590946デフォルトの名無しさん
2010/07/04(日) 00:14:160947デフォルトの名無しさん
2010/07/04(日) 00:19:500948デフォルトの名無しさん
2010/07/04(日) 00:30:40いいからもう寝ろw
0949デフォルトの名無しさん
2010/07/04(日) 00:37:03開発者気取りたいとかいうワナビーのやることにいちいち突っ込んでたらきりがない・・・
0950デフォルトの名無しさん
2010/07/04(日) 00:58:51>>944は反省しなさい。
0951デフォルトの名無しさん
2010/07/04(日) 02:19:28動作中に切り替えられるのあるよね。
あれに対応するのはめんどくさそう。
0952デフォルトの名無しさん
2010/07/04(日) 02:20:510953デフォルトの名無しさん
2010/07/04(日) 02:22:47API呼び出し時に切り替わる(か、切り替わらない)、でアプリ終了時に戻る
0954デフォルトの名無しさん
2010/07/04(日) 05:37:37何かのタイミングでDX10のIntelオンボに切り替わってクラッシュなんて事になったら困るもんな
0955デフォルトの名無しさん
2010/07/04(日) 07:13:560956デフォルトの名無しさん
2010/07/04(日) 09:22:44らでHD5850のようにdirectX10上がメインのでも
9.0cとかで動く?
0957デフォルトの名無しさん
2010/07/04(日) 09:26:42すぐに分かるから。
0958デフォルトの名無しさん
2010/07/04(日) 09:27:57動かないよ
0959デフォルトの名無しさん
2010/07/04(日) 09:28:310960デフォルトの名無しさん
2010/07/04(日) 09:30:40うん
0961デフォルトの名無しさん
2010/07/04(日) 09:31:000962デフォルトの名無しさん
2010/07/04(日) 09:32:10させていただきます。
VC++2008 + DirectX 9.0c SDKの開発環境にてD3DXSPRITE機能を使い最低限の
2D表示を実現したいのですが、本に載っている最小ソースコードを実行したところ
SPRITEの描画結果がにじんでしまいます。
↓実行結果
http://jishinkuma.aa0.netvolante.jp/etc/nijimu.png
D3DXCreateTextureFromFileEx関数にて24ビットの白と黒の2色しか使っていない
128x128のbmpファイル(Sprite.bmp)を読み込んでいます。
プログラムを実行した画面にも128x128の画像が表示されましたが、
Sprite.bmpに使っていない灰色が表示されて像がにじんだ状態です。
【ソースコードの一部】
//「テクスチャオブジェクト」の作成
D3DXCreateTextureFromFileEx( pDevice, "Sprite.bmp", SPRITE_WIDTH, SPRITE_HEIGHT,
0, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_FILTER_NONE, D3DX_DEFAULT,
0xff000000, NULL, NULL, &pTexture )
//レンダリング
pSprite->Begin(D3DXSPRITE_ALPHABLEND);
pSprite->Draw( pTexture, &rect, &vec3Center, &vec3Position, D3DCOLOR_ARGB(255,255,255,255) );
pSprite->End();
像がにじまないようにSprite.bmpに忠実な白と黒の2色だけ表示されるようにしたいのですが、
方法がわかりません。恐らくソースコードに数行追加すれば直るのではないかと思いますが、
どこにどのように追加すればよいのかわかりません。
すみませんが、追加する場所とソースコードをご教示していただけないでしょうか。
よろしくお願いします。
0963デフォルトの名無しさん
2010/07/04(日) 09:33:37win7にするつってんだろ
0964デフォルトの名無しさん
2010/07/04(日) 09:35:40表示した画像の解像度はちゃんと128x128になってる?
printScreenキーでしっかりとってペイントに貼り付けて解像度を目視で確認した?
なんとなく128x128っぽい・・・じゃなくて・・・
0965デフォルトの名無しさん
2010/07/04(日) 09:39:471.バイリニアフィルタがかかってね?
2.表示した画像の解像度が微妙に違う
3.初期化時に作成した画面の解像度が指定と微妙に違う
4.UVの設定がしけてる
5.元画像がハナからなんかおかしい
6.読み込み時におかしくなってる
このぐらい?
0966962
2010/07/04(日) 09:44:35ペイントに貼付けて拡大して確認しました。
間違いないです。
>>965
本に載っている最小ソースコードなので足りない設定はあっても、余計な設定はないと思います。
0967デフォルトの名無しさん
2010/07/04(日) 09:51:381〜6まで全部確認した?
設定もデフォルト値調べてそれが自分の意図と違ったら設定しなおすんだよ?
これでダメだったらとりあえず俺としてはよくわからないなw
0968デフォルトの名無しさん
2010/07/04(日) 09:51:47本がどうこうじゃなくて自分で設定を一つ一つ確かめろよ。
0969デフォルトの名無しさん
2010/07/04(日) 09:53:396つの内のどれかだからさ、もう一回確認してごらん
>>967
だれ?
0970デフォルトの名無しさん
2010/07/04(日) 10:05:10これはよくある質問なんだけど
ID3DXSprite::Beginは2D描画向けに勝手に色んなステートを書き換えてるので
いくらこの外で設定しても無駄、詳しくは
http://msdn.microsoft.com/ja-jp/library/bb174250(v=VS.85).aspx
手っ取り早くやるなら
pSprite->Begin(D3DXSPRITE_ALPHABLEND);
pDevice->SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_POINT );
pDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_POINT );
pDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT );
pSprite->Draw( pTexture, &rect, &vec3Center, &vec3Position, D3DCOLOR_ARGB(255,255,255,255) );
pSprite->End();
で多分うまくいくよ
0971962
2010/07/04(日) 11:20:17>>964>>965>>967-970
ご教示ありがとうございます。
>>970
その方法で上手く行きました。感謝します。
”手っ取り早くやるなら”とのことですが、
他に”きちんとした方法”が存在するのでしょうか。
少し気になります。
0972デフォルトの名無しさん
2010/07/04(日) 11:37:03自分でステート弄くり回せってことでしょ
0973デフォルトの名無しさん
2010/07/04(日) 11:40:080974デフォルトの名無しさん
2010/07/04(日) 11:47:25というかD3DXSpriteは通常だと座標変換すら使わないから、
フレームバッファのサイズとWindowの大きさが食い違ってたりしない限りは
指定したとおりに描画されるはずだよ。
意図した動作になってないなら指定が間違ってるわけで、
デバッガで動作を止めてパラメータを確認するか、最初からやり直せ。
0975デフォルトの名無しさん
2010/07/04(日) 11:48:36いいよ
0976デフォルトの名無しさん
2010/07/04(日) 11:53:03ID3DXSpriteを使っているサイトをよく見かけるのですが?
0977デフォルトの名無しさん
2010/07/04(日) 11:55:090978デフォルトの名無しさん
2010/07/04(日) 11:55:37>>973は荒らしかもしれないので。
0979デフォルトの名無しさん
2010/07/04(日) 12:01:22この手の質問って
ID3DXSpriteで○○しようとしてうですが上手くいきません
↓
回答
↓
やっぱりうまくいきません
の流れって
ここで回答してる連中がID3DXSpriteなんて使うのを良しとしないのばっかだから
ID3DXSprite::Beginがステート書き換えてるのを知らなくて
回答自体はあってるけど対処法が正しくない場合がほとんどじゃん
0980デフォルトの名無しさん
2010/07/04(日) 12:05:56何を誤解したんだが
たまにクラスでID3DXSpritをメンバに持って
DrawのたんびにBeginとEnd呼び出して遅い遅いっていってるやついるけど
0981デフォルトの名無しさん
2010/07/04(日) 12:30:25【C++】 DirectX初心者質問スレ Part30 【C】
http://pc12.2ch.net/test/read.cgi/tech/1278214135/
0982デフォルトの名無しさん
2010/07/04(日) 12:43:34D3DXFontの場合は普通に描画するには問題ないものの、
縁取りとかで同じ文字を9回描画させるようにしたらすぐに重くなりすぎるけどなw
まあ、自前のレンダリングエンジンが枯れてくるまでの動作確認用としては使える。
0983デフォルトの名無しさん
2010/07/04(日) 12:54:45使っても別に問題はない
がしかし、ID3DXSpriteについて質問してくる人は大抵理解していない
理解するにはどうすればいいかというと>>973
0984デフォルトの名無しさん
2010/07/04(日) 13:07:47言ってる本人たちはそれがカコイイ(笑)と思ってるのかも知れないが
0985デフォルトの名無しさん
2010/07/04(日) 13:12:21だな。完成品の配布の際に多少注意点がある程度で、
(ビルドに使用したSDKのバージョンに合わせた再頒布パッケージの同封が必要)
それ以外には制限らしい制限はない。
D3DXのパフォーマンスに不満が出るというレベルになるまでは積極的に使えばいいと思うよ。
0986デフォルトの名無しさん
2010/07/04(日) 13:13:05そうやってわざと議論をはぐらかすのやめてくんない?
ID3DXSpriteは欠陥クラスだってみんなわかってるでしょ?
0987デフォルトの名無しさん
2010/07/04(日) 13:15:41まぁ、言えないだろうけど
0988デフォルトの名無しさん
2010/07/04(日) 13:18:27グローバル変数関数使いまくりのところ
だからID3DXSprite::Beginの中身が何をやってるのかわからない
ステートを好き勝手変更しても誰も中身をみないとその変更を認識できない
これはグローバル変数関数の弊害
このクラスを作った奴は間違いなくただの素人
0989デフォルトの名無しさん
2010/07/04(日) 13:20:31PIX for Windowsで調べてみればいいじゃないか。
それに、ID3DXSprite系は基本的にBegin〜Endの外側には影響を与えないように設計されている。
普通に使う分に何が不満なのかね。
0990デフォルトの名無しさん
2010/07/04(日) 13:21:56みんながけっかん品だっていうから、つかわないようにしようと思うの
0991デフォルトの名無しさん
2010/07/04(日) 13:23:020992デフォルトの名無しさん
2010/07/04(日) 13:25:430993デフォルトの名無しさん
2010/07/04(日) 13:26:10はぁ?
なにそれだっせぇいいわけ
グローバル変数関数を使うプログラムなんて欠陥品でなくてなんなのかと言いたい
0994デフォルトの名無しさん
2010/07/04(日) 13:30:30D3DXを使った質問に「D3DX使うな」って答えはどうなんだって話
質問は質問として回答すべき
0995デフォルトの名無しさん
2010/07/04(日) 13:34:42はぁ?話をはぐらかすなよ
ID3DXSpriteの話をしてるんであってD3DXの話なんてしてないでしょ?
なんでさっきから曲解するの?
どうしてそうやって卑怯な手を使うの?
育ち悪いの?
親にそう教わったの?
0996デフォルトの名無しさん
2010/07/04(日) 13:37:380997デフォルトの名無しさん
2010/07/04(日) 13:40:54【C++】 DirectX初心者質問スレ Part30 【C】
http://pc12.2ch.net/test/read.cgi/tech/1278214135/
0998デフォルトの名無しさん
2010/07/04(日) 13:43:350999デフォルトの名無しさん
2010/07/04(日) 14:11:541000デフォルトの名無しさん
2010/07/04(日) 14:24:3310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。