DirectX総合スレ (Part6)

このエントリーをはてなブックマークに追加
1DirectX6
2こぴぺ:2006/11/17(金) 00:39:45 ID:lRjOsWKq
■関連スレ
【C++】 DirectX初心者質問スレ Part10 【C】
http://pc8.2ch.net/test/read.cgi/tech/1153831096/
C#でDirectX9 初心者の館 2頂点目
http://pc8.2ch.net/test/read.cgi/tech/1103998649/
Managed DirectX vol.2
http://pc8.2ch.net/test/read.cgi/tech/1061285378/
くだすれDirectX(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1132965206/

■関連サイト
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.aspx
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx
- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://bbx.hp.infoseek.co.jp/
3名前は開発中のものです。:2006/11/17(金) 00:49:17 ID:oQVvqwfj
おつー>>1

結局 ID:bg7PnqAA はグラフィックカードを探しにきただけなのか・・(=´Д`=)
4名前は開発中のものです。:2006/11/17(金) 00:57:01 ID:oQVvqwfj
っつーか、正直おれの方が勉強になった。
最近のチップは2^nテクスチャも作っちゃうのな。

チップメーカーもマイクロソフトも、初心者に優しすぎ。
そして、パフォーマンスを省みないコードが蔓延・・
5名前は開発中のものです。:2006/11/17(金) 00:57:40 ID:oQVvqwfj
2^n以外のテクスチャ、な。
6名前は開発中のものです。:2006/11/17(金) 01:52:57 ID:WIoW3qp3
わからんのがテクスチャ座標1.0って範囲外なのか?
7名前は開発中のものです。:2006/11/17(金) 03:44:45 ID:jbJD+a1Y
次スレ立ての相談しないで2^n2^n騒ぎまくった公共心のかけらもないクソやろうは
市んでいい
8名前は開発中のものです。:2006/11/17(金) 04:36:48 ID:hiRJItCM
前スレ1000ワロタ
9名前は開発中のものです。:2006/11/17(金) 09:30:00 ID:VAvIfjuX
2^n以外の場合CLAMPしか使えないからパフォーマンスには
大して影響しないんじゃないかね。

あくまで2D処理用って感じがする。

前スレの坊やの場合サンプリングの仕方が間違ってて
WRAP指定で外側参照してるとかじゃないのかねぇ。
10名前は開発中のものです。:2006/11/18(土) 09:21:51 ID:sK+1C8GV
D3DXMatrixScalingで縮小したポリゴンにテクスチャをはっつけてるんですが、
自前で縦横半分・1/4の画像を用意してはっつけたらパフォーマンスがあがったんです。
こういう縮小に対してミップマップって働かないんですか?
#ミップマップの説明を探したら「距離の遠いものに対して」という記述だったもので…
11名前は開発中のものです。:2006/11/18(土) 09:37:59 ID:sK+1C8GV
すみません、setsamplerstateのミスでミップが効いてなかっただけみたいです。失礼しました。
12名前は開発中のものです。:2006/11/18(土) 11:57:18 ID:/7oH2XHU
インバースキネマティクスで
帯が動く様(例:ワンダの前掛けみたいな)を
作ってみようと思ったのだが
こんなもんでおkでしょうか?
http://gamdev.org/up/img/8117.zip
キーの上下でZ移動
終わる時はESC

もしかしてバネとか2重振り子とかで動かすのだろうか
13名前は開発中のものです。:2006/11/18(土) 15:57:45 ID:x7HTQtUO
>>12
根元のほうの動きが硬すぎない?
引っ張ってもまがったままだし、止めると先っぽから戻ってくるし。
布シムならCloth Simulationでぐぐればいっぱい出てくるよ。
14名前は開発中のものです。:2006/11/18(土) 17:41:09 ID:/7oH2XHU
>>13
クロスシミュレーションは難しそうだったのでスルーしてましたが
4亀にあるVF5の話し見てると
帯はボーン、スカートはクロスシム使ってるみたいですな
IKはモーションの補正に使われてたようで

外国のクロスシムはデモとソースコードがポイとあるだけでよくわからん
数式を説明したサイトを探しまくりんぐ中
ヒントどもでした。
15名前は開発中のものです。:2006/11/18(土) 19:14:20 ID:x7HTQtUO
>>14
> 外国のクロスシムはデモとソースコードがポイとあるだけでよくわからん
> 数式を説明したサイトを探しまくりんぐ中

解説が欲しいならGame Programing Gems5にあるよ。
16名前は開発中のものです。:2006/11/18(土) 19:54:39 ID:/7oH2XHU
>>15
Gems5に載ってるのですか
しかし、\12,600ギギギ・・・

Gemsシリーズは持ってなかったなそういえば
1712:2006/11/19(日) 11:56:55 ID:nuXL8lO9
バネ オイラーで調べてたら
ウマイハナシさんの所にあったわー

ついでに12のプログラムは消去します。
18名前は開発中のものです。:2006/11/20(月) 05:52:37 ID:HLTAO6bT
あらかじめ縮小したテクスチャを用意して貼ると
拡大されてもちろん画質は悪くなるんですが、描画速度は上がりました。
これなんででしょうか?グラフィックでもキャッシュみたいのがあるんですか?
19名前は開発中のものです。:2006/11/20(月) 07:32:45 ID:pwq9xUDl
>>18
グラフィックのキャッシュではなくCPUのキャッシュ
CPUのキャッシュに収まるテクスチャが最も高速になる
20名前は開発中のものです。:2006/11/20(月) 09:58:35 ID:fk/qJJiz
CPUのキャッシュは関係なくね?
メモリ帯域とテクスチャキャッシュの問題の気がするけど。
21名前は開発中のものです。:2006/11/20(月) 11:39:59 ID:iX6x1ORF
>>18
グラフィックチップにテクスチャ用のキャッシュがあるよー
近隣がよくヒットするように変な並び方になってるんだよねテクスチャ
2212:2006/11/20(月) 12:02:21 ID:wYjcGxfi
ttp://gamdev.org/up/img/8142.zip
シミュレータできたどーーー
といっても野村XXさんのを改造しただけですがね・・・
先人は偉大
23名前は開発中のものです。:2006/11/21(火) 00:44:56 ID:rk1/UrCB
テクスチャ座標1.0は範囲外ですよ。
サイズ10のテクスチャの場合、テクセル範囲は0.05〜9.95まで。
24名前は開発中のものです。:2006/11/21(火) 00:49:49 ID:rk1/UrCB
ごめん0.95
25名前は開発中のものです。:2006/11/21(火) 01:24:36 ID:rk1/UrCB
>>22
なにか動きが布っぽく無いような・・・
昔作った布シムをage。法線の計算が怪しめですが、何かの参考にどうぞ
ttp://up.img5.net/src/up0700.zip
26名前は開発中のものです。:2006/11/21(火) 01:30:48 ID:UGfSFsCm
参考も何もソースがないものをどう参考にしろとw
布の動きなら実物見たほうが数倍早いし。
27名前は開発中のものです。:2006/11/21(火) 02:19:42 ID:rk1/UrCB
ソースコードが付いてないのは、
>>22 がソースコードを付けなかった事に対する戒めです。
>>22 もソースコードを付けていないのに、なぜ私だけ責められなければ
ならないのでしょう。
28名前は開発中のものです。:2006/11/21(火) 02:48:51 ID:5u/EGarO
うるせーよ!この板にここまで童貞が多いとは思わなかったぞ。
29名前は開発中のものです。:2006/11/21(火) 02:49:25 ID:5u/EGarO
誤爆失礼、、
3018:2006/11/21(火) 04:39:38 ID:BlSC7NgN
>>19-21
やはりキャッシュなのですね。色数減らしてキャッシュに入るようにしたりできんのかな。
ありがとうございました。
31名前は開発中のものです。:2006/11/21(火) 04:48:13 ID:bqZ5WO/j
rk1/UrCBは前スレ1000について何か言うことはあるか。
32名前は開発中のものです。:2006/11/21(火) 05:28:36 ID:rk1/UrCB
ん? ちょっとプログラムageただけで何でこんなに突っかかられなければならないのだろう。
ここって、不用意にプログラムageると嫌がられるスレなの?
前スレ1000とか言われても、dat落ちして見れないし。
軽い気持ちでageたんだけど、迷惑だったみたいですね。
プログラムも消しときますね。
33名前は開発中のものです。:2006/11/21(火) 09:47:08 ID:eybOAr7K
>>32
誰も突っかかってないしwガラスのハートだなw
34名前は開発中のものです。:2006/11/21(火) 11:06:26 ID:iVFp2res
DXUTを使ったプログラムで画面更新間隔の制限をしたいのですが、
皆さんはどのようにして実現していますか?
私の場合、DXUTSetConstantFrameTimeを使ってみたのですが
どうも機能していないようだったので、timeBeginPeriod(1)と共用し
以下のようなコードをFrameMoveコールバックの先頭に配置しました。

static double nextTime = DXUTGetTime() + per;
if (DXUTGetTime() < nextTime)
{
do{
UINT wait = (nextTime - DXUTGetGlobalTimer()->GetTime())*1000;
Sleep(wait);
}while(DXUTGetGlobalTimer()->GetTime() < nextTime);
}
nextTime += per;

一応それなりに動いてはいるようなのですが、1,2フレームの誤差が気になります。
より良い方法などあればご教授頂けませんでしょうか。
35名前は開発中のものです。:2006/11/21(火) 11:27:11 ID:rk1/UrCB
マルチメディアタイマーにイベントをセットしてもらって、
描画スレッドでWaitForSingleObjectを使って待ちなさい。

Sleep(time) (但しtime>0)の精度は20msぐらいしかないのでゲームには向かないです。
Sleep(0)はすぐに制御を返します。これを使ってループ回してタイミングをとると
正確な同期がとれますが、CPU使用率が100%になるので嫌われます。

餅は餅屋
36名前は開発中のものです。:2006/11/21(火) 12:04:19 ID:rk1/UrCB
あーー
timeBeginPeriod使うとSleepの精度上がるのね。
今さくっと調べてみたら結構Sleepでループ回している人も多いみたいね。

>809 :名無しさん@ゲムデヴ :2003/09/14 11:01 ID:???
>オレは5ms以上時間があるならSleep(1)をし
>それ未満だったらSleep(0)でループしてるよ

>上手く行ってるような気がするよ

こんなの見つけたから参考にしてあげて
3712:2006/11/21(火) 12:58:53 ID:ChnFsjp2
夜の間に一体なにがっ・・・!
38名前は開発中のものです。:2006/11/21(火) 15:58:32 ID:iVFp2res
>>35
なるほと、タイマイベントを使えばよかったのですね
確かにこれは比較しても精度が良いです
どうもありがとうございました
39名前は開発中のものです。:2006/11/22(水) 09:25:51 ID:rOjjh+1c
でかいポリゴンの一部を小窓から覗くみたいなことをしたいんですが
全部描画してるもので遅いんです
これは小窓サイズのテクスチャに描画して貼り付ければ高速になるんでしょうか?
40名前は開発中のものです。:2006/11/22(水) 09:28:55 ID:wp5MfMt2
でかいポリゴンの意味がわからん。
多量のポリゴンモデルなのか、1枚板の巨大ポリゴンなのか。
41名前は開発中のものです。:2006/11/22(水) 09:44:09 ID:rOjjh+1c
すみません、両方です。
42名前は開発中のものです。:2006/11/22(水) 10:15:13 ID:9wdx7tnk
>>41
ビューボートを小さくすればいいわ。
ただし通常時と同じパースにしようと思ったら
射影行列の調整もいるわね。
4342:2006/11/22(水) 10:16:33 ID:9wdx7tnk
ビュー"ポ"ートねw
44名前は開発中のものです。:2006/11/22(水) 12:45:11 ID:9wdx7tnk
>>41 こんなんでいいかしら。
http://gamdev.org/up/img/8161.zip
4541:2006/11/22(水) 17:36:00 ID:rOjjh+1c
>>42-44
すごくよさげです、ありがとうございます!
46名前は開発中のものです。:2006/11/25(土) 11:58:49 ID:28pYdgx7
CloneAnimationControllerを使おうとするとコンパイル時に
そんな宣言は無いと言われて困っています(´・ω・`)

d3d9anim.h内を覗くとあるし、他の関数は問題なく使えます。
何が原因なのでしょうか?
47名前は開発中のものです。:2006/11/25(土) 16:56:13 ID:UiiIQlRV
>>46
呼ぼうとしてるのは、ほんとにID3DXAnimationControllerのインスタンス?
48名前は開発中のものです。:2006/11/25(土) 18:36:35 ID:yXVUaN7E
>>47
ありがとうございます。
別のクラスから呼んでました。アホだorz
49名前は開発中のものです。:2006/12/01(金) 16:09:46 ID:EFQj1BYa
カラーキー抜きでスプライト表示するとフチがジャギってしまうんですけど
これアンチエイリアスするには自前でフチのα値設定するしかないんでしょうか?
50名前は開発中のものです。:2006/12/01(金) 16:42:11 ID:DvsEpNU7
フチだけジャギーだと違うかも知れんけど、サンプラ変えれば直るんじゃね?

g_pD3DDevice->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
g_pD3DDevice->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
51名前は開発中のものです。:2006/12/03(日) 00:37:44 ID:0psPS4tl
環境:VS.Net2002 & C++ & DirectX9

自作フレームワークが形になってきたんで、それで試しに一本ゲームを作ったら
プレイ中に幾らか進んだところで D3DXCreateTextureFromFileEx 関数が
D3DERR_OUTOFVIDEOMEMORY エラーを吐きやがる。
ずっと悩んでたが、試しにアロー演算子書いてメソッド名の補完リストを出してみたら
Releaseメソッドが出てきたので、これ試したらエラー出なくなった。

もしかして LPナントカ っていうポインタ型に実体を持たせた後は
とりあえずReleaseするのが常識だったんですか・・・
ゲーム終了時とか「とりあえずこれで終わる時」に消えるオブジェクトはちゃんと消してても
「ゲーム中に何度も書き換える」ものは上書きで元有った奴を書き換えて使えると思ってた(´・ω::;::;;;,
52名前は開発中のものです。:2006/12/03(日) 09:43:42 ID:B3PEhHsc
mallocしたものをfreeしないとどうなるよ。
そういうことだ。
53名前は開発中のものです。:2006/12/03(日) 12:29:49 ID:zNtBISG4
>>51
> 「ゲーム中に何度も書き換える」

その書き換え方が問題だ。
D3DXCreateTexture* はその名のとおり新規に作成するのであって、書き換え関数ではない。
Release せずに資源を再利用したければ D3DXLoadSurface* 関数とかを使う。
Release してから D3DXCreateTexture* のほうが絶対に楽だけど。
54名前は開発中のものです。:2006/12/03(日) 18:29:51 ID:B3PEhHsc
まぁ置き換えるととかそういうことは割りとどうでもいいんだわ。

確保したメモリはちゃんと解放する習慣をつけようぜってな感じ。
55名前は開発中のものです。:2006/12/03(日) 18:32:59 ID:a9B+1mao
CComPtrでも使え
56名前は開発中のものです。:2006/12/03(日) 18:42:53 ID:0psPS4tl
レスどうもありがとう。
malloc <-> free も  new<->delete もちゃんとするようにしてるんだが
DirectXの方は、windowsプログラミングの経験も含めてまだ浅いので
API関数がメモリをどう確保するのかまだなじめない・・・
頑張ります
57名前は開発中のものです。:2006/12/07(木) 01:00:20 ID:v+lHDW5u
【単純にワールド行列をD3DXMatrixRotationXなどで回転させる派】
 利点 → 簡単。
 欠点 → 1フレーム内で何度も回転操作を行う場合は処理が重い。

【XYZそれぞれの回転角を3つのfloat型変数に保管し、回転操作の際はその軸のfloat型変数を
増減させる。値の変化があったら描画直前でワールド行列を作り直す派】
 利点 → 処理が軽い。
 欠点 → 親子関係が入ってくると作りにくい。


私が前者で友人が後者なのですが、皆さんは回転操作ってどうしてます?
普通は前者ですよね?回転操作ってそんなシビアになるほど遅くないですよね?
58名前は開発中のものです。:2006/12/07(木) 01:16:16 ID:ZPF/XNPe
意味がわからねんだけど・・・

どうやっても最後は行列使うんだから同じコトいってるとしか思えん。
そもそも1フレーム内で何度も回転って1つのモデルを何度も表示って意味ならどっちも同じ事だし。
59名前は開発中のものです。:2006/12/07(木) 01:46:22 ID:Ej/wW5Bp
>>57
自分の好みでおk。
それでも気になるなら自分で測ってみればいい、3分もかからんだろ。
60名前は開発中のものです。:2006/12/07(木) 01:47:38 ID:1pSKfsu6
処理を軽くするために、
・姿勢を示す単位ベクトルを保持し、描画時にマトリックスにぶちこんでる。
・多間接の場合は親から子の順番で描画し、子は親のマトリックスを掛け合わせる。
いずれの場合も三角関数は使わないし、単位ベクトルも近似的に計算している。

三角関数使う場合はどうするのと聴かれそうだが、
可能な限り多数の描画対象を扱うために、
基本的に三角関数は使わないゲームデザインなので、答えようがない;
61名前は開発中のものです。:2006/12/07(木) 05:30:23 ID:prA2cvfC
もしかして
D3DXMatrixRotationX
D3DXMatrixRotationY
D3DXMatrixRotationZ
でそれぞれ作って掛け算してるってのが重いって事を言いたいのだろうか?

具体的に重さが変わる処理は、どこのことを言ってるの?
62名前は開発中のものです。:2006/12/07(木) 06:53:43 ID:VqbMwM2W
>>58
説明が下手でごめんなさい。
例えば1フレーム内で10回の回転操作を行うとすると
前者のパターンでは回転角を現すfloat型変数に対して回転角を10回加減算した後に行列を作成し
後者のパターンでは回転行列の関数を10回呼ぶ事になります。

結果は似たようなもだけどどちらのアプローチが良いか
どんな利点や欠点があるのか、という話です。
>>59さんがいうようにどっちでもいいのかもしれませんが、他の方の意見も聞きたいです。

>>60
>姿勢を示す単位ベクトルを保持し、描画時にマトリックスにぶちこんでる
う、よくわからないです。ごめんなさい。
姿勢を示す単位ベクトルというのは3軸方向へ伸びる3つの単位ベクトルでしょうか?
でもそれだと普通に行列を回転させるのと変わらないでしょうし・・・。

>>61
そうです。私のやり方だと回転操作を行うたびに行列回転をするので重く、
友人のやり方では回転操作はxyz軸を示す3つのfloat型変数に対してのみ操作を行うため、
行列への回転操作は描画直前の一度だけなので比較的軽い。という事です。

長くてごめんね
63名前は開発中のものです。:2006/12/07(木) 07:40:24 ID:prA2cvfC
>>61
その前に、その友人の方法にちょっと突っ込みたいのだが…

XYZ軸それぞれに回転量を持っているとしてだ、
現在の姿勢に対して回転させるときにその友人は
RotationY += hoge;
こんな風にしてるんだよね?

そうだとして、最終的に描画のためにマトリックスに変換するときに
RotationX、RotationY、RotationZを使って行列に変換してるんじゃねーかと憶測しているのだけど、
Coordinate = XRotMat * YRotMat * ZRotMat;
みたいになってる? ソレだとまず理論的に破綻してるような気が…
64名前は開発中のものです。:2006/12/07(木) 10:11:48 ID:Ej/wW5Bp
もしかして、>57は回転量を持たずに、毎回行列操作をしてるんじゃね?

struct Obj {
void rotateX(float f) { RotateX(m_local, m_local, f); }
Matrix m_localx;
};

つー感じで。
65名前は開発中のものです。:2006/12/07(木) 21:24:51 ID:1pSKfsu6
はいはい解読解読。

>>57の前者は今まで行われたX軸Y軸Z軸それぞれの回転の履歴を保存しておき、その順番に応じて適用。
>>57の後者は今まで行われたX軸Y軸Z軸それぞれの回転の角度をそれぞれに積算して適用。
>>60は(単位ベクトル云々で事実上)行列を保持して回転の結果を保存して適用。

>>57の前者と後者は全く違う方法。
>>57の前者と>>60は全く同じ方法。ただし>>57毎フレーム全部再計算している。
66名前は開発中のものです。:2006/12/09(土) 01:12:52 ID:QNYlKrF0
で、結局どうなったんだろう。
67名前は開発中のものです。:2006/12/09(土) 18:33:24 ID:uwxtEYiA
ところでVC++2005Expressと新しいSDK(June2006とか)でシェーダデバッグってできる?
ググって出てくるサイトで説明されているDirectX Extensions For VS.NETとか見当たらなかったんだが・・・。
68名前は開発中のものです。:2006/12/09(土) 19:55:11 ID:mmrHLc8Y
無理。2005EEしかないなら、PIXでなんとか汁。
69名前は開発中のものです。:2006/12/09(土) 21:42:04 ID:uwxtEYiA
>>68
d
Standardとかだとできるのかな?
70名前は開発中のものです。:2006/12/10(日) 07:41:22 ID:+ec2/YXw
>>57
いってることちがうっしょ?
要は姿勢行列の保持を@Matrixでしてるか、Axyzの回転角でもってるかの違いでしょ?
ワンフレームの処理の重さ云々は全く関係無いっしょ?

俺は用途によってモードを変えてる。
Matrix制御モードのときと回転角制御モードのときとあるw
もちろんこれを切り替えるときは画面をフェードイン・アウトで切り替える。
どうしても切り替えたときにキャラの動きが「ブキッ!」と変わっちゃうからねw

1.@は座標系を頻繁に切り替えるときに有効(動いてる足場に飛びのる等)
2.Aは向いてる方向を厳密に判定する必要のあるときに有効(RPGなんかにいいかも)

Aで1のことをやろうとすると座標系を切り替えたとき(ローカルAからローカルBにチェンジ)に
その座標系での回転角を座標変換後の行列から割り出しにくい(できるんだろうけど疲れるぜw)
@で2のことは俺の知識ではできんw

なわけでこんな制御してる。
たしかに他の人がどうやってるのかってのは聞きたいな。
71名前は開発中のものです。:2006/12/10(日) 07:54:03 ID:RXGdZhfU
マトリックスから回転角を取得するのはたしかに至難だが、
移動・拡大縮小・回転(クォータニオン)の成分を抽出するのは簡単だし、
回転をクォータニオンで補間するなら特に問題ないじゃろ。

DirectX8の悪しきXファイルフォーマットの行列キーの時にも
移動・拡大縮小・回転に分解してフレーム間のモーション補間してる。
72名前は開発中のものです。:2006/12/10(日) 08:02:46 ID:+ec2/YXw
>>71
>移動・拡大縮小・回転(クォータニオン)の成分を抽出するのは簡単だし、
>回転をクォータニオンで補間するなら特に問題ないじゃろ。
え?それって回転角をもたずにどうやって「今どっちの方向を向いているか?」って判定すんの?

例えばいま東向いてるか、南向いてるか、北向いてるかとかって判断するの面倒じゃね?
つーか、やっぱり回転角をちゃんと視覚化できる形にしたいってのもあるしね。

回転角←→姿勢行列

が双方向に変換できない限りモードを2つもったほうがいいと思うんだけど。
これが完璧にできるって前提があればどっちの変換でもいけるけど、
大抵のモデリングソフトはできていない。(できてるように見えてもどこかでできない瞬間がある)
73名前は開発中のものです。:2006/12/10(日) 08:07:53 ID:+ec2/YXw
まあ、例えモードをわけたとしても双方向ができないと

ワールド-ローカルA(90,0,20)-ローカルB(180,0,30)-ローカルC(45,0,50)-ローカルD(270,80,90)-・・・
ワールド-ローカルE(90,0,20)-ローカルF(180,0,30)-ローカルG(45,0,50)-ローカルH(270,80,90)-・・・

ってなったときにローカルCとローカルFの関係を比べる必要がでたときにできねぇんだけどなw
74名前は開発中のものです。:2006/12/10(日) 08:18:29 ID:RXGdZhfU
クォータニオンから回転行列作って(0,0,1)のべクトルを変換すればどっちを向いているかは出るじゃろ
75名前は開発中のものです。:2006/12/10(日) 08:20:57 ID:+ec2/YXw
>>74
駄目っすw
勉強不足でわからないっすw
76名前は開発中のものです。:2006/12/10(日) 08:31:41 ID:iAIA/3xo
>>72
行列のほうが、向いてる方向の確認は判別しやすいよ
各ベクトル成分が軸になっているからね

xyzの回転角を使うということは
別の言い方をすると回転方向がxyzに制限されるということであり
その結果向いている方向が判別しやすいと言っても
それは制限したことによる結果であって
データ保持形態の利点というわけではないんです
77名前は開発中のものです。:2006/12/10(日) 08:32:41 ID:RXGdZhfU
完全な真上を向いていないなら(0,01)に回転を適用してatan2f(x,z)で角度が出る。
まぁ角度が必要な状況ってのもそうそうないんだけど。

逆にy=1なら真上、y=-1なら、真下を見てるちゅーことになる。
78名前は開発中のものです。:2006/12/10(日) 08:36:37 ID:RXGdZhfU
XZ平面に対しての角度ね
79名前は開発中のものです。:2006/12/10(日) 08:37:12 ID:+ec2/YXw
>>76
正直なにいってるのかさっぱりわかんね。

上方向をY軸としたときに0〜360で自分の方向を決定できるならその方が楽じゃん。
「行列のほうが方向の確認がしやすい」ってところからそれを誰の視点で言ってるのかわかんね。

スクリプトなんかでも結果は回転角で現在の状態を取得できたほうが便利だし、
少なくとも俺の知識じゃベクトル成分を回転角に完全に変換するのはかなり困難だ。

この辺の前提から俺とあんたでかなり違うと思う。
別にベクトル同士の計算を強引にして「方向がわかります」って話しだけじゃないんよ。
回転角が取得できなきゃそもそも駄目な用途があるんよ。(スクリプトあるときとか)

そこまでわかってていってるのか、ただ、「計算ができます」っていってるだけなのか
まずそこからいってちょっとわからん。
80名前は開発中のものです。:2006/12/10(日) 09:11:29 ID:iAIA/3xo
>>79
それは「上方向がY軸」という制限を加えることで
自分の向いている方向が決定できているんじゃないでしょうか


>スクリプトなんかでも結果は回転角で現在の状態を取得できたほうが便利だし、
これは、自分が現在どの方角を向いているというのを、回転角で取得したい、ということですか?

ワールド座標系でのxy平面での進行方向を確認したいのであれば
正面を表す行成分をxy平面に射影してatan2を使えばいいだけの話です

行列で姿勢を持っている場合、自分の向いている方向はローカル座標系では常に正面です
回転角が必要な場合になるのは、比較する対象がどの方角にあるか、というときくらいじゃないでしょうか
81名前は開発中のものです。:2006/12/10(日) 09:12:17 ID:iAIA/3xo
xy平面じゃなくてxz平面ですね
すいませんでした
82名前は開発中のものです。:2006/12/10(日) 10:53:17 ID:+ec2/YXw
>>80
それはちょっと安直じゃね?
3回転中の2回転目の判定がほしいとかいうチェックをしたことがないの?
83名前は開発中のものです。:2006/12/10(日) 15:43:15 ID:iAIA/3xo
>>82
3回転中の2回転目の判定、って具体的にどんなことか分からないんですけど
そもそも3回転って何を3回転するんですか? xyz軸のこと? そして何を判定するの?
84名前は開発中のものです。:2006/12/10(日) 16:30:07 ID:+ec2/YXw
>>83
ええー?
この表現で通じないのー。
お前、話し難いー。
ホントに3Dでプログラム組んだことあるのかよー。
85名前は開発中のものです。:2006/12/10(日) 17:06:22 ID:iAIA/3xo
そりゃ、ありますけど

その発言からなんとか理解しようとするなら
3回転はYawPitchRollのことで2回転目はPitchのことで
判定とは相手の位置の方角がどの方向なのか

こういうことですか?
これで間違っていたとしても
単にあなたの説明不足なだけですよ
86名前は開発中のものです。:2006/12/10(日) 17:08:30 ID:XKfp5jTS
>>69
持ってないから断言できないけどStandardも無理と思われ。

一応ソース↓
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=909404&SiteID=1
87名前は開発中のものです。:2006/12/10(日) 17:19:53 ID:gmCAHMuv
ローカル→ワールド変換行列の、逆行列じゃだめなのか?
88名前は開発中のものです。:2006/12/10(日) 20:45:34 ID:+ec2/YXw
>>85
はぁ・・・馬鹿とは話できないねw
じゃあな。
89名前は開発中のものです。:2006/12/10(日) 20:59:25 ID:RXGdZhfU
3回転中から2回転目がほしくなったことはないだが・・・
行列からクォータニオンは取り出せるし、直行行列での姿勢もわかるから
計算負荷に目をつぶれば3軸の回転角度も出るしなぁ・・・
90名前は開発中のものです。:2006/12/11(月) 01:35:22 ID:vTBYyTmm
>>88
俺も3回転中の2回転という表記を見たときは一瞬3つの軸回転の事が脳裏をよぎったぞ
もちろん君が言いたいのはそういう意味ではない事はわかったが
3回という表記が誤解を招きやすかったり、説明が足りないという印象は否めない

文章じゃ伝えたいことが思ったほどうまく伝わらないのは当たり前だが
それを馬鹿とか切り捨てるのはどうかと思うぞ
91名前は開発中のものです。:2006/12/11(月) 05:45:27 ID:33d6g8SG
>>90
ありえねぇんだよ。死ねよ。
92名前は開発中のものです。:2006/12/11(月) 10:39:57 ID:gFWpLplq
ああ、回転角の定義、というか、どこからの回転角なのかが食い違っているのね。
93名前は開発中のものです。:2006/12/11(月) 20:28:02 ID:33d6g8SG
>>92
はぁ?食い違ってる?
俺にはちょっと考えれば矛盾が見えるような馬鹿な醜態(>>80)晒したことを必死で誤魔化してるようにしか見えないよ。
こういう誤魔化し方を一度でもした奴とは俺は技術的な会話を継続しない。
はっきりいって技術者として不適切。

人に対して偏屈なのは別にかまわないけど、
匿名掲示板のこんなところでまでくだらん曲解使って自分の考慮の無さを隠してるようじゃ伸びない。
技術に対してはいつも素直でいなきゃ駄目。
技術者にはそれが伝わるし、隠せ無い。
1から出なおせといいたい。
94名前は開発中のものです。:2006/12/11(月) 21:35:07 ID:RPVZVReg
どうしちゃったのこの人?
95名前は開発中のものです。:2006/12/11(月) 21:47:31 ID:2BhDwr1p
「失敗の原因を素直に認識し、『これは非常にいい体験だった。尊い教訓になった』
というところまで心を開く人は、後日進歩し成長する人だと思います」

松下電器産業創業者 松下幸之助



とりあえずあれだな。仲良くしろやカスども。
96名前は開発中のものです。:2006/12/11(月) 22:51:37 ID:C6DDmuyj
九、謙虚に反省せよ 向上へのクッションである

旺文社創始者 赤尾好夫
97名前は開発中のものです。:2006/12/11(月) 22:59:47 ID:rflZNTCU
「これでいいのだ!」

無職 バカボンのパパ 
98名前は開発中のものです。:2006/12/12(火) 01:55:44 ID:xUTy3Kf3
99名前は開発中のものです。:2006/12/12(火) 06:32:21 ID:8epOU40A
それで結局3回転中の2回転目ってどういう意味なの?
理解している人が居るなら後学のために教えてもらいたい。
33d6g8SGは答えなくて良いから。
100名前は開発中のものです。:2006/12/12(火) 07:05:12 ID:NFGEvJ+0
>>99
マジでわからんの?
例えば、キャラが3回転するとき回転角は0〜1080になる。
この2回転目を判断するには360〜720を判断する必要がある。
これを行列に変換してしまうと、どうやって逆変換かけてもこの0〜360と360〜720というのは判断しようがない。

つまり、>>80
>回転角が必要な場合になるのは、比較する対象がどの方角にあるか、というときくらいじゃないでしょうか
なんていってるけど、2回転するだけで回転角(またはそれにあたるパラメータ)が必要になるっちゅー話。
101名前は開発中のものです。:2006/12/12(火) 18:47:06 ID:6BpJk5LX
お前ら下らない争いになるととたんに元気になるよなw
102名前は開発中のものです。:2006/12/12(火) 21:42:02 ID:muYOaPvx
そんな熱くなることじゃねぇよ。万能の回転技法はない、場面に応じて使い分けるもの。
103名前は開発中のものです。:2006/12/12(火) 23:49:03 ID:vbp0HzNj
SDK付属のメッシュを見るためのMeshViewについてお聞きしたい。
このソフトでスキンメッシュを読み込んだ時、右下に表示される
Vertの値が、Xファイルに書かれている頂点数と微妙に違うのですが、
これはいったいどういうで何を表しているのでしょうか?
具体的な例を出すと、tiny.xのファイルには、
Mesh {
  4432;
のように、頂点は4432個と記述されているのに、
MeshViewで読み込むと4884vertと右下に表示されます。

よろしくおねがいします。
104名前は開発中のものです。:2006/12/13(水) 00:14:25 ID:5VkPThlK
>>103
位置座標は同じなんですけどUVと法線は別なんですとかそういうのじゃね?
結局、DrawPrimitiveに突っ込む形にしてみないとわからないんじゃねの?
105名前は開発中のものです。:2006/12/13(水) 00:20:43 ID:lFno5IQa
>>103
自分でXファイルを展開して表示するところまでコードを書いてみれば分かる。
106名前は開発中のものです。:2006/12/14(木) 05:49:35 ID:UgT6nhgH
3Dスプライトクラスのレンダ処理は、テクスチャ毎で管理して描画したほうがいい?
107名前は開発中のものです。:2006/12/14(木) 07:41:46 ID:GvQx2Dou
>>106
3Dスプライト?ビルボードだったらモデルといっしょじゃね?
108名前は開発中のものです。:2006/12/14(木) 20:03:10 ID:UgT6nhgH
>107
板ポリにテクスチャはっ付けている奴です。疑似2D用の。
そっかビルボードを参考にすればいいのか。ありがとうございます。
109名前は開発中のものです。:2006/12/14(木) 20:33:23 ID:8Qdr6/24
あれ?同じテクスチャーが続くように気を配るのって紳士のたしなみじゃねーの?
110名前は開発中のものです。:2006/12/14(木) 21:46:34 ID:UgT6nhgH
じゃあ同じテクスチャを使ってる板ポリ達を、バッファに詰め込めばマダムにモテモテ?
111名前は開発中のものです。:2006/12/14(木) 21:51:12 ID:8Qdr6/24
紳士の背景に薔薇が咲き乱れます。
112名前は開発中のものです。:2006/12/21(木) 15:49:27 ID:pvteBlEy
過疎って増すが質問。
D3Dで、BeginScene を実行したかどうかを取得するにはどしたらいい?
113名前は開発中のものです。:2006/12/21(木) 16:06:02 ID:3yBHm1wl
static bool fBeginScene = false;

inline HRESULT MyBeginScene(なんちゃら) {
 fBeginScene = true;
 return d3ddevice->BeginScene(なんちゃら);
}

inline HRESULT MyEndScene(なんちゃら) {
 fBeginScene = false;
 return d3ddevice->EndScene(なんちゃら);
}

inline bool D3Dで、BeginSceneを実行したかどうかを取得する(void) {
 return fBeginScene;
}
114名前は開発中のものです。:2006/12/21(木) 16:11:46 ID:r6vu12AT
inline bool D3Dで、BeginSceneを実行したかどうかを取得する(void) {
    return d3ddevice->BeginScene() == D3DERR_INVALIDCALL
}
しかしなんでもないときはBeginSceneされてしまうという罠
115名前は開発中のものです。:2006/12/21(木) 19:03:00 ID:pvteBlEy
>>114
そんなの既に考えたわ。
そうゆう外人系の発送じゃなくて、
ちゃんとD3Dの初期化処理の内部にフラグとかがあって
BeginScene をフラグを取得ってか、
そういや、BeginSceneを2重に実行するとどうなったっけ?
116名前は開発中のものです。:2006/12/21(木) 19:12:29 ID:iCkkZVoa
考えたんならドキュメントくらい読めよw
117名前は開発中のものです。:2006/12/21(木) 20:31:54 ID:l07XXTQQ
そもそも、そんな判定が必要になること自体が間違い。
118名前は開発中のものです。:2006/12/22(金) 01:51:57 ID:1OvCp0Hc
すいません、↓のように1MBの一枚のテクスチャを二つのテクスチャステージに設定した場合ってビデオメモリには1MBぶんのテクスチャが確保されるのでしょうか?それとも二倍の2MBぶんのテクスチャが確保されるのでしょうか?

LPDIRECT3DTEXTURE9 g_pMeshTexture;

〜中略(1MBのテクスチャをg_pMeshTextureに読み込む)〜

g_pD3DDevice->SetTexture(0, g_pMeshTexture);//ステージ0では色のみ使用
g_pD3DDevice->SetTexture(1, g_pMeshTexture);//ステージ1ではαのみ使用
119名前は開発中のものです。:2006/12/22(金) 18:26:10 ID:Q/NfrM/M
久しぶりにDXSDK取りにいったら、
色々変わってるのぅ。
やはりDecember 2006 SDKは様子見だよな?
October 2006 SDKこっち使ったほうが無難だよな?
魅惑のビスタなんて糞食らえだぜ。
120名前は開発中のものです。:2006/12/22(金) 18:44:41 ID:hprlzGc1
>>117は非同期処理もしらない無垢なクソガキ
121名前は開発中のものです。:2006/12/22(金) 20:28:59 ID:r5hyVZgI
SM1.1切り捨てってなんやねん!!
DirectX8世代(4Tiとか)はゲームするなっちゅーことか!!
122名前は開発中のものです。:2006/12/22(金) 21:31:35 ID:G4QmQh5L
>>120
最近グラマになったクソガキなのかもしれないが、
昔から状態確認するためにGet・・・とかIs・・・には頼るなとMSが言っている。
もっともカンファとか行かないだろうから知らんだろうけど。

MSの名言を2つ。
最も高速にレンダリングする方法は、レンダリングしないことだ。
最も高速に状態確認する方法は、自分で何したのか覚えておくことだ。
123名前は開発中のものです。:2006/12/22(金) 22:52:04 ID:igGRT8du
>>121
>SM1.1切り捨て

まじかそれ。えらい困るんだが。
124名前は開発中のものです。:2006/12/23(土) 02:42:48 ID:tJHKf9MA
つーか、1.xピクセルシェーダだけ切り捨てなのね・・・
正直、3.0未満はアウトとかじゃなくてヨカタ
未だにゲフォFX5200なので・・・
125名前は開発中のものです。:2006/12/23(土) 02:53:46 ID:EewZUbpJ
SM1.1は制限が多すぎて使い物にならん。
結局2.0の有無で分岐が現実的な線引きになっちまう。

初代箱のSM1.1も専用拡張がされてるしな。

>>120
非同期うんぬんの前に別々のスレッドから同じデバイスに
同時に書き込みを行おうとする事自体がおかしい。
126名前は開発中のものです。:2006/12/23(土) 08:01:26 ID:nacJYpBA
自分のアプリが糞なのも認識できずにマルチスレッドの問題にしようとするぐらい馬鹿なら
スレッドなんか作るなといいたい。
127名前は開発中のものです。:2006/12/23(土) 10:10:50 ID:ZHr9j/ja
つまり 糞スレ立てんな っつーことだな。
128名前は開発中のものです。:2007/01/02(火) 22:39:04 ID:lFOAwFAt
すみません。「D3DXLoadMeshHierarchyFromX」周りで行き詰ってるので質問したいのですが、
症状は、

ビルドは成功します。それでMSVCからF5で起動しても上手くいきます。
ですが、生成された実行ファイルを直に起動すると落ちてしまいます。
デバッガでアタッチしたところ、「D3DXLoadMeshHierarchyFromX」直後で
落ちていました。

「ID3DXAllocateHierarchy」の派生クラスは、サンプルのSkinnedMesh
を引用しています。変更した所は、
CreateMeshContainerとGenerateSkinnedMeshだけですが、
D3DXLoadMeshHierarchyFromX後にどちらも呼び出されることなく落ちるので
そこが原因ではないと思います。

D3DXLoadMeshHierarchyFromX後、4回目のCreateFrame内で
pFrame = new D3DXFRAME_DERIVED;
を処理しようとしたところnew内のmallocでエラーが発生し、
ヒープが壊れているとアナウンスされました。
ファイル自体は読みに行っているので、パスが間違ってるということはないと思います。

読み込ませているXファイルはSkinnedMeshで正常に読み込め、表示されます。(デバイスはHAL(SW vp)です)
似たような症状があったので参考にしたのですが、
http://www.shader.jp/xoops/html/masafumi/cbbs/cbbs.cgi?mode=al2&mo=207&namber=206&space=15&rev=1&page=0&no=0

D3DDEVTYPE_REFでもダメで、D3DCREATE_SOFTWARE_VERTEXPROCESSINGでもダメでした。

行き詰ってしまったので質問させていただきました。
思い当たる点がありましたらご指摘ください。

129名前は開発中のものです。:2007/01/03(水) 00:11:31 ID:WUf1mB34
>>128
きっちり読まずに勘で答えるけど、
D3DDEVTYPE_REFじゃなくて
D3DDEVTYPE_HALはどう?
130名前は開発中のものです。:2007/01/03(水) 01:14:02 ID:YqMAaEXo
>>129
やってみましたが、それでもだめでした。
ハイエンドなグラボの友達のPCでもダメだったので
やはりヒエラルキの実装に問題があるのでしょうか。
もう一回ソース洗いなおしてみます。。。
何か気づきましたらまたお願いします。
131名前は開発中のものです。:2007/01/03(水) 03:54:25 ID:z0c+FGaT
変更が多くないなら再現するコードを上げたら?
132名前は開発中のものです。:2007/01/03(水) 08:54:41 ID:NNKpeQ1h
つーかそれはそのままヒープぶっ壊してるだけなんじゃ?
133名前は開発中のものです。:2007/01/03(水) 12:21:21 ID:VJaAEY5u
DirectXのバグじゃないのか?
134名前は開発中のものです。:2007/01/03(水) 18:42:13 ID:NNKpeQ1h
D3DXLoadMeshHierarchyFromXで落ちるってのが納得逝かない。

今まで使ってきてD3DXLoadMeshHierarchyFromXで落ちるなんてなかったし、
SDKのサンプルプログラムで同じファイル読み込んでみりゃ判るんじゃないかね。

どっちみちヒープエラーってVCに言われてるならどっかでメモリのアクセスが間違ってんだろう。
135名前は開発中のものです。:2007/01/03(水) 19:56:50 ID:ibn1TUIB
そもそもD3DXのXファイル関係の機能を使うなんて気が狂っているとしか思えない。
136名前は開発中のものです。:2007/01/03(水) 21:27:54 ID:Yqqhb3rL
つーか俺がこの世に生きている時点で世の中が間違ってるに違いない。
137名前は開発中のものです。:2007/01/03(水) 22:04:01 ID:z0c+FGaT
外人さんで似たようなのがいたので貼り。
まぁ、お前がヒープぶっ壊してるんじゃねぇの?という同じような流れのようだが。

http://www.gamedev.net/community/forums/topic.asp?topic_id=376836

4回目で落ちるよウワーン、という辺りが似てて不覚にもワロタw
138名前は開発中のものです。:2007/01/04(木) 01:30:44 ID:a0F351u3
そういやD3DXはSquadもバグってたな
139128:2007/01/04(木) 22:21:17 ID:ObCbN5Q8
みなさんありがとうございます。
やはりメモリ操作でトンチンカンなことをしていました。

エラーが発生したところより前ばかりをトレースしていたのですが、
発生点よりも後ろのコードでのメモリ操作が原因でした。
ヒープを壊すのは初めてなので、まだ実行していない所が原因
になることもあるのだと、とても勉強になりました。

高級言語での統合開発環境の温床でヌクヌクと育った者としては、
抽象化されて隠蔽されているスタック操作やヒープの動作が
今ひとつよく分からないものですが、
これからはまじめに勉強せねばと思いました。
みなさんありがとうございました。
140名前は開発中のものです。:2007/01/10(水) 18:13:17 ID:o7h3y59i
まだ実行していないところが、影響あるもんなんですか?ww
141名前は開発中のものです。:2007/01/10(水) 18:38:01 ID:4WpzaT6j
今頃突っ込むのもちょっとな・・・
142名前は開発中のものです。:2007/01/14(日) 04:21:21 ID:gu/ia/06
>>136
厳しい競争を勝ち抜いて生まれてきたはずなのにな。
143名前は開発中のものです。:2007/01/14(日) 05:57:46 ID:MKAkOouq
おまえのために干からびて死んでいった精子たちに謝って来い
いますぐお父さんのチンコに額を擦り付けておkい
144名前は開発中のものです。:2007/01/16(火) 09:23:35 ID:KHP7pGgl
DrawIndexedPrimitiveで矩形ポリゴンにテクスチャ貼り付けて
2Dスプライト表示、みたいなことをしたいんですが、
キャラクタを10種表示したいとすると毎フレームで

キャラクタの動きを頂点座標に反映させて
頂点バッファをロックして転送してアンロックして
テクスチャ変えてDrawIndexedPrimitive、

ってのを10回することになるんでしょうか?
145名前は開発中のものです。:2007/01/16(火) 14:56:49 ID:gP9L1vRW
最初はそれでいいんじゃないかな
146名前は開発中のものです。:2007/01/16(火) 15:03:01 ID:YPdaz3ag
頂点バッファも最初は使わないほうが良いと思うよ
147名前は開発中のものです。:2007/01/16(火) 18:06:17 ID:Qw3el5gz
2Dでは頂点バッファは使う意味が薄いと思う
148名前は開発中のものです。:2007/01/16(火) 20:20:13 ID:vyE0zc7j
なんで頂点バッファを使う使わないなんて、どうでもいい話に流れていくんだろう?
149名前は開発中のものです。:2007/01/16(火) 20:25:02 ID:tnQFmMuu
頂点バッファはそう頻繁に書き換えるものではないし、
そもそもDrawPrimitiveの類の命令は何度も呼び出すなと
リファレンスに書いてあるんだが。
その程度のことも知らない奴がいるのか…
150名前は開発中のものです。:2007/01/17(水) 03:37:34 ID:E2w/eAk+
かと言ってまとめすぎるのもよくない
151名前は開発中のものです。:2007/01/17(水) 03:45:40 ID:ebYcO/DE
>>149は煽り方が実に拙いなぁ
でも
最初はそれでいいんだよ
152名前は開発中のものです。:2007/01/17(水) 07:12:47 ID:YqVdowji
まとめるより、一番早いのはそもそも描画しない=クリッピングではじくって方を覚えておかないと
ワールド上に存在するモデルをすべてまとめようとか頓珍漢なことをやりだす。
描画しない(=クリッピングではじくこと)が一番早い。これはとても重要なことだ。
153名前は開発中のものです。:2007/01/17(水) 07:55:50 ID:ebYcO/DE
>>152
そうですか、で、実際はどうでしたか?
154名前は開発中のものです。:2007/01/17(水) 08:46:07 ID:Hr0+Jc9n
さぁまたまた 2 D ス プ ラ イ ト の話からずれてきましたよ!
155名前は開発中のものです。:2007/01/17(水) 19:41:55 ID:nMjirDWm
>>152
(それくらいグラボに勝手にやってくれるだろwww
と思ったのだがグラボごとに実測しないと確証とれないし、
書き込むのやめよう…)

昔自力でポリゴン描いたり、テクスチャーマッピングしようとしたときは、
画面外の描画はスキップしてましたがX68kなので、移植はできません。

DirectXでは車輪は勝負どころではないので、
できれば車輪の再発明は避けようと思います。
スマートなやりかたがあったら是非ご教授いただけませんでしょうか?




で、実際はどうでしたか?
156名前は開発中のものです。:2007/01/17(水) 20:19:12 ID:6kOFoQzY
重要だとか発明だとかではなくて描画の最適化における常識。
それらをやった上で速度が出ないのならわかるけど、
いきなり教えろとか言われても、面倒だから他人に教えてもらうような
単なる手抜きにしか見えないなぁ。
157名前は開発中のものです。:2007/01/17(水) 22:51:12 ID:ebYcO/DE
常識とはしらなんだ
158名前は開発中のものです。:2007/01/17(水) 23:01:12 ID:64NzxfZu
常識っていってもあくまでD3Dでの話だな。
159名前は開発中のものです。:2007/01/17(水) 23:46:05 ID:h6VYY8T/
>>144
板状のメッシュ作ったほうが楽な気もする。
と、頂点情報からメッシュを作れることを3日前に知った俺が言ってみる。
160名前は開発中のものです。:2007/01/18(木) 07:25:24 ID:zIj4yGTP
>>155
お前馬鹿なの?
せめて頂点変換まではしないと座標が最終的にどこに配置されるかわからないじゃん。
範囲外なのか範囲内なのか。
だからDrawPrimitiveに突っ込んだもんは全部頂点処理だけはかかるだろ?
その前にはじかないと駄目だろ?
グラボができるわけねーじゃん。頭悪い?
161名前は開発中のものです。:2007/01/18(木) 08:49:32 ID:UqJYwdN5
ああ、やっぱりいつのもお方だ。
162名前は開発中のものです。:2007/01/18(木) 08:54:48 ID:5A7iMsVM
>>160
OBB、ビューフラスタムカリング。
まぁそれ以前に2Dスプライトの話で座標変換とかありえねぇけどな。
163名前は開発中のものです。:2007/01/18(木) 09:12:36 ID:1oM7pzGB
恒例のgdgd議論になってきましたね。
164名前は開発中のものです。:2007/01/18(木) 19:42:33 ID:zIj4yGTP
てか、マジでDrawPrimitiveに突っ込んだもんが画面内にあるかどうか
頂点毎にアクセスせずに済むと思ってるならあまりの馬鹿さにヒクw
ちなみに>>160の話しは3Dも込み。
165名前は開発中のものです。:2007/01/18(木) 19:57:22 ID:ZyeNC73I
で、実際はどうでしたか?
166名前は開発中のものです。:2007/01/18(木) 19:59:00 ID:zIj4yGTP
>>165
そりゃ描画しねぇのが一番早いに決まってるだろ?
やってみなきゃわからんか?w
そりゃおめ重症だろw
167名前は開発中のものです。:2007/01/18(木) 20:01:58 ID:ZyeNC73I
良くわからんのだが、
どういう人生を送ればDirectXにコンプレックスを抱けるんだ?
168名前は開発中のものです。:2007/01/18(木) 20:10:12 ID:zIj4yGTP
>>167
つかなんでそんな無駄にまとめちゃうの?
理解してないからそういう見てて恥ずかしすぎることやっちゃうんじゃん。
てか、別に仕組み理解しなくても関数みてわからんか?w勘でよw
169名前は開発中のものです。:2007/01/18(木) 20:29:54 ID:ZyeNC73I
>>167
いや、ハナからお前には聞いてないよ?
170名前は開発中のものです。:2007/01/18(木) 20:47:12 ID:uNJoGW3B
プログラム以前にコミュニケーション能力の向上が重要であると切に思う。
171名前は開発中のものです。:2007/01/18(木) 23:19:34 ID:Jif4h1vT
成長期に何かが満たされなかったんだね、可愛そうに。
172名前は開発中のものです。:2007/01/19(金) 00:24:53 ID:rESBohHJ
両者の言い分の意味が分からん
だれか詳しく解説してくれ
173名前は開発中のものです。:2007/01/19(金) 00:30:06 ID:jEs42mha
(´・ω・`)<ええ?マジで言ってんの?
174名前は開発中のものです。:2007/01/19(金) 02:25:22 ID:RsBU2cJ/
漏れもわからん
175名前は開発中のものです。:2007/01/19(金) 08:23:19 ID:rp/CozZr
どちらもお互いを煽り合ってるからね。どうしようもなく。
176名前は開発中のものです。:2007/01/19(金) 08:54:33 ID:6Swg19CX
バッファにまとめるのと単体で描画していくのとではどっちが早いの?
     ↓
画面外のものは描画しないのが最速なんだよモラー
     ↓
頂点変換しなきゃ画面外かわからないだろプギャー
     ↓
   今ここ?

まぁ描画しないのが最速なのはえらそうに語ることではない。
2Dに関していうなら頂点変換もないし、ガードバンドクリッピングで
弾かれるので大して意味はない。GPUキャッシュくらいか?

こういうと3Dではどうこう言いだすが、
そもそもの話は2Dスプライトでの話だ。
177名前は開発中のものです。:2007/01/19(金) 10:22:45 ID:p8kEpZuq
どっかの人もウォークスルーもまともに出来上がらんうちからカリングのことを心配してたし
素人を惹きつけるなにかがあるんだろうか
178名前は開発中のものです。:2007/01/19(金) 12:44:58 ID:GhuqtFuN
モデルはメタセコイアなりフリーのがあるけど、アニメはどのツール使ってるの?
アレな人は、げふんげふんとでも言っておいてクダサイw
フリーのがいいのだが、無いよねぇ?
179名前は開発中のものです。:2007/01/19(金) 12:53:37 ID:uGFxs9XR
ググるとけっこうあるようだけど
180名前は開発中のものです。:2007/01/19(金) 14:59:50 ID:GEhX5dAq
181名前は開発中のものです。:2007/01/19(金) 19:27:21 ID:CAY7VyBY
>>178
RokDeBoneとかエルフレイナとかは?
182名前は開発中のものです。:2007/01/19(金) 19:34:16 ID:jEs42mha
>>176
で?そんな少量のポリゴンでなんかまとめるといいことあるの?

>>177
残念ながら別人なんですが、
ゲームプログラマなんてとっくに辞めてほとんどこんなスレ来てないし。
似たような人に似たようなこと言われただけでしょ?
ちなみにゲームプログラムの話題なんて他の掲示板でした覚えも無し。
183名前は開発中のものです。:2007/01/19(金) 20:01:40 ID:ahkdpMpE
いやいや身分を隠そうしても私にはわかってしまうのですよ。

バッチ処理ぐらいしかやることのない2Dスプライト話の最中に
まとめるよりクリッピングが大事なんだとあさって向きながら
切り込んでは罵倒を繰り出すアナタは間違いなくあの時の勇者様。
184名前は開発中のものです。:2007/01/19(金) 20:20:25 ID:D/0P80ds
たとえばシューティングとか視野をプレイヤーが自由に動かせない
+大量のビルボードを一個づつdrawprimitiveしまくりな場合に限って
視野に入ってないエンティティの描画処理を除外するとすさまじい効果があがるだろうな
そりゃもう興奮してどっかの掲示板でがんばっちゃうくらい

エンティティのモデル一個の描画そのものが結構な負荷になっててしかも視野が自由に
振り回せるような環境でfrustum cullingなんてやってもFPSが不安定になるだけで逆に迷惑
そんなのに割ける労力があるならprogressive meshとかoccluder cullingの
導入を検討したほうがいいよ

ほいでもってそもそも最適化とか言う以前にアマチュアの3Dゲーは
なぜかMIPMAP使ってないのがやたらと多い
使ってくださいお願いだから
185名前は開発中のものです。:2007/01/19(金) 20:42:47 ID:WCWaaWRi
PCなら大抵ドライバ側でmipmap強制できるから別にいいんじゃない?
186名前は開発中のものです。:2007/01/19(金) 20:44:51 ID:WCWaaWRi
途中送信

特にPCは出来る限り低スペックのマシンでも動かすためにVRAM節約したほうがいいし
187名前は開発中のものです。:2007/01/19(金) 20:56:51 ID:0ZxvZ0cX
>>179
>>181
ありがとうございます。
探したらまとめっぽい良い感じのを見つけました。
188名前は開発中のものです。:2007/01/19(金) 21:12:48 ID:9faX+yAN
http://www112.sakura.ne.jp/~kaientai-project/voice/6-4.mp3
バスケのゲーム作れるPGいない?いたら、メールくれ。

ただ今、鋭意開発中。セブン〜エアガーデンへの招待〜
http://www112.sakura.ne.jp/~kaientai-project/seven.htm
189名前は開発中のものです。:2007/01/19(金) 21:38:23 ID:eUMc5cOg
企業ってのは利潤の追求が最終的な義務であり責任でもあるわけで…。
給与の支払いによる支出が原因で、本来の企業活動ができないというのは
本末転倒であって、経費以外の支出はあってはならないんだよ。

今の日本には、自分ことしか考えられない自己中心的な一般人が多くて、
給与額の増大による支出が原因で、経営が圧迫されるケースが多いし。
このまま一般人を野放しにしたら、本当に日本の将来が危うくなってしまうよ。
190名前は開発中のものです。:2007/01/19(金) 21:39:26 ID:eUMc5cOg
誤爆失礼
191名前は開発中のものです。:2007/01/19(金) 21:47:16 ID:m9q22FbK
Direct誤爆
192名前は開発中のものです。:2007/01/19(金) 21:51:08 ID:jEs42mha
>>184
視野が自由に振り回せるならなおさらはじいたほうがいいじゃん。
例えばサッカー場みたいなモデルをまとめて一つドスンとおくよりは
いくつかに分割して、視界に入るもんだけDrawPrimitiveしたほうがあきらかに速いよな?
つーか、モデルを1つに固めたらあんまり遅くて動かなかったけどな。
193名前は開発中のものです。:2007/01/19(金) 21:59:33 ID:CAY7VyBY
>>192
俺の場合はサッカー場みたいな土台になる部分は1モデルをドスンと置いてそこに生えてる草木なんかを視線との内積で処理からはじくかはじかないかを決めてるなぁ。

まぁサッカー場に木は生えないけど。
194名前は開発中のものです。:2007/01/19(金) 23:00:20 ID:f5zQO4FE
>>193
グランドに木の生えてるサッカーゲームやってみたい。
195名前は開発中のものです。:2007/01/20(土) 05:03:26 ID:xn0RwbJ6
>>185,186
OK貴様には死ぬまでmipmap使わないことを許してやる
絶対に使うなよ
196名前は開発中のものです。:2007/01/20(土) 06:42:01 ID:f3G4h5T2
何でファビョってるのか知らないけど俺は普通に使ってるから
197名前は開発中のものです。:2007/01/20(土) 09:59:19 ID:6O6mWNrJ
ミップマップ使うより、ミップマップなしで異方性フィルタのほうが数倍きれいなんだけどな。
ミップマップは異方性フィルタがない&テクセルレートのない貧弱環境用だな。
198名前は開発中のものです。:2007/01/20(土) 10:25:37 ID:xn0RwbJ6
>>192
そのサッカー場のモデルをみせてごらん
199名前は開発中のものです。:2007/01/20(土) 17:17:46 ID:xn0RwbJ6
>>197
>数倍きれい
ミップマップなしで異方性フィルタ と
ミップマップありで異方性フィルタ を比べて言ってるの?

最適化のことを言ってるのにテクセルレートのない貧弱環境用とか言われてもこまる
節約できるところはどんな環境でだって節約したいんだよ他にやらなきゃならないことが
いくらでもあるんだから
200名前は開発中のものです。:2007/01/21(日) 22:20:21 ID:9mLhEG6s
同次座標x,y,z,wのwって何を意味してるんでしょうか?
なんかテクスチャを伸ばすような感じに利いてるような気がするですが。
たぶん手で設定するようなものでなく行列演算で設定されるもんだとは思うんですが、
意味は理解しときたいと思いまして
201名前は開発中のものです。:2007/01/21(日) 22:32:04 ID:cEcsRmiV
(x,y,z,w) = (x/w,y/w,z/w,1)
202名前は開発中のものです。:2007/01/21(日) 23:12:02 ID:nGi3p95A
すみません
LPDIRECT3DDEVICE9で作成したデバイスのサーフェイスをLPDIRECT3DTEXTURE9に
コピー(というかレンダリング)したいのですが、どうやったらいいのでしょうか?

IDirect3DDevice9::GetRenderTarget() でデフォルトのサーフェイスから取得して
IDirect3DSurface9::GetContainer(IID_Direct3DTexture9, ...) でテクスチャインターフェイスを取得しようとしても
E_NOINTERFACEになってしまいます。

バックバッファからテクスチャにレンダリングするよい方法はないでしょうか?

203名前は開発中のものです。:2007/01/21(日) 23:20:32 ID:cEcsRmiV
>>202
・バックバッファからGetRenderTargetでサーフェス持ってくる
・テクスチャからGetSurfaceLevelでサーフェス持って来る
・StretchRectでコピー
これで駄目かな?

ってか、Windowsならバックバッファからテクスチャに持ってくるよりは
先にテクスチャをSetRenderTargetで設定してそいつに書けば良い気がするが
それじゃ駄目なんかね
204名前は開発中のものです。:2007/01/21(日) 23:26:20 ID:nGi3p95A
>>203
ありがとうございます!
やってみます!!
205名前は開発中のものです。:2007/01/22(月) 19:12:56 ID:F8tuaha1
次スレ立ってることに2ヶ月間気付かなかった俺
206名前は開発中のものです。:2007/01/29(月) 11:21:37 ID:pA/1Ehhk
教えて先生。

しばらくWindows開発から離れてたら、噂には聞いていたけれど DirectDrawが無くなってた。
ちょっとウェブめぐってみたんだけど、あくまでも3Dゲーの中での2D処理用な気が。
2Dゲーを作ろうとしてるんだけど、DirectGraphics(DX9)で作るべき?

ちょっと とっかかってみたけれど、今までバックバッファに描いてたのを
テクスチャに描くようにしてD3DXSPRITEで表示…って これじゃすんげー遅くなりそう。。。
207名前は開発中のものです。:2007/01/29(月) 12:13:50 ID:pA/1Ehhk
自己解決です。
動的にテクスチャをいじるのではなくて、レンダリングターゲットの指定が出来るのですね。
(DirectDraw時代より冗長な気がしますが) トライしてみます。お騒がせしました。
208名前は開発中のものです。:2007/01/29(月) 13:02:57 ID:dXEwqYYZ
>>206,207
バックバッファに描くという方法を考えてたなら普通にGDIでやるべきじゃないか?

そうじゃなくていわゆる昔ながらのスプライト(矩形の切り張り)がやりたいなら
4頂点の板ポリ使った方がハードウェアアクセラレーション効くんで断然速いよ。
半透明も回転も拡縮もグラボにやらせるほうがいい。

なんで3Dの中の2Dとかややこしい事思ったのかしらんが、
ビューマトリクスを平行投影(D3DXMatrixOrtho系)にすれば
座標で悩む事もない。
209名前は開発中のものです。:2007/01/29(月) 17:04:45 ID:gjiHxWHs
そのタケイシケイスケって中国人こそ死ぬべき
210名前は開発中のものです。:2007/01/30(火) 07:18:09 ID:durbSHnI
Microsoft DirectX SDK (December 2006) から、同梱されている
DirectX Viewer が起動すると落ちるんだが、おまいらの環境はどうですか?

うちの環境はざっくり書くと、こんな感じ

Athlon64x2 4800+
2GB Memory
GeForce7900 GT

前のバージョンのやつ持ってくると動くんだよなー
同梱しているソースをビルドすると、DX10要求されるんだよなーw
わけわかんねーw
211名前は開発中のものです。:2007/01/30(火) 07:31:43 ID:wAiNWVnk
>>210
vista専用
212名前は開発中のものです。:2007/01/30(火) 10:34:02 ID:c33eI9Ua
ゲームのバックミュージックとして、DirectMusicでMidiファイルを
再生してるのですが、それだけで
CPU使用率を40〜50%も消費してしまいます‥

当方の環境は、Pentium4 1.8 でメモリ 256M です。
たかだかBGMを鳴らすだけでこんなにもCPU使用率が上がってしまう
ものなのでしょうか?
もっとその負荷を軽減する方法はないでしょうか?
213名前は開発中のものです。:2007/01/30(火) 10:39:38 ID:RaYmE1RN
昔DirectX5の時代にDirectX3DIMいじっていてサーフェイスの管理がめんどくさすぎて
挫折したへたれなんですが、最近のバージョンでもIMはそんなもんですか?
VC++Expressが無料ということで再挑戦しようと思っているのですが、MFC使わないで
組み方を説明しているサイトや本でお勧めのがありましたら教えてください。m(_)m

214名前は開発中のものです。:2007/01/30(火) 11:13:00 ID:G09dYyDG
今はライブラリも結構出てるからそれ使えば問題ない
215名前は開発中のものです。:2007/01/30(火) 11:19:31 ID:mSsPPcjQ
>>212
MIDI自体がCPU消費しまくる
Pen4 1.8Gじゃそんなもんだろ
216名前は開発中のものです。:2007/01/30(火) 11:34:29 ID:G09dYyDG
WinのゲームでのMIDIってネット環境が貧相だった時代の苦肉の策って気がするな。
MIDIは専用ハードが無いと厳しいし今ならOggがベストなんじゃないかねぇ。
217名前は開発中のものです。:2007/01/30(火) 12:07:26 ID:bT9TxsoI
>>213
DirectX3DIMはDX7のしかやった事ないけど、DirectXGraphicsの方が簡単だと思う。
サイトはこの辺がいいんじゃね?

ttp://www.plustarnet.com/aspil/Programming/
ttp://www.twin-tail.jp/
ttp://monsho.hp.infoseek.co.jp/index.html

まあ、ちょっと古いからそのままだとコンパイル通らなさそうだけどw
218名前は開発中のものです。:2007/01/30(火) 12:50:43 ID:RaYmE1RN
>>217
ありがとうございます。
いつのまにかDirectXGraphicsに3Dも2Dも統合されていたのか・・・かなりウラシマですorz
あと、上記サイトの中で最新のDirectX9SDKではwin2000が未対応になったという記述がありますが、
これは開発環境だけで、実行環境ではwin2000でも98でも問題ないですよね?
219名前は開発中のものです。:2007/01/30(火) 12:54:32 ID:4gHdVOHh
一度でも質問に答えが返ってくると、調べればすぐ分かることまで、
調子に乗って延々と質問し続けるんだよね。
220名前は開発中のものです。:2007/01/31(水) 09:58:57 ID:n451U0UK
>>218
問題ないよ。
221名前は開発中のものです。:2007/01/31(水) 19:17:53 ID:kII7Zcj2
>>218
98はDirectX9がインストールできないかな?
でも98自体使ってる人がほぼ皆無の状態って感じ。
エロゲでも2000 XPのみサポートってのが結構ある状態。
こっから先を調べたけりゃ自分で探すしかない。
おそらく誰に聞いても同じ。
222名前は開発中のものです。:2007/01/31(水) 20:09:25 ID:Oa6nAGvx
ランタイムのインストールができませんですた@2k。(さっき)
223名前は開発中のものです。:2007/01/31(水) 23:45:10 ID:NKCnpIjT
SDKはともかく、
2000でも、DirectX9は動く。

SDKに関しては、

http://pc10.2ch.net/test/read.cgi/tech/1132965206/65
によると、

>日本語ヘルプがある最新版 = 2004OCT
>Win2000サポート最新版 = 2004DEC
>実際にWin2000で使える最新版は? = 手動で解凍してincludeとlibを設定すりゃ新しい奴

らしい。

224名前は開発中のものです。:2007/01/31(水) 23:48:30 ID:2NGbPsUX
両方 Extra update が出てるね
225名前は開発中のものです。:2007/02/01(木) 01:20:23 ID:62s13ds+
ライタイムならDirectX9は初代Windows98からサポートしてんぞ。
226名前は開発中のものです。:2007/02/01(木) 10:04:40 ID:VVBfqW3G
SDKのバージョンアップって開発環境へのサポートとバグフィックスだけなんだろうか?
機能追加したらランタイムの方も同じようにアップデートされないといけないはずだけど
9.0c以降は変わってないし・・・(最新のは10になったけど)
227名前は開発中のものです。:2007/02/01(木) 10:11:31 ID:62s13ds+
9.0cの変更は基本的にD3DX部分だよ
228名前は開発中のものです。:2007/02/01(木) 20:06:59 ID:bfeNRfzV
つまりDirectXはWindowsVistaにしか対応してないってこと?
229名前は開発中のものです。:2007/02/01(木) 20:53:57 ID:+wT1NZuz
バージョン名が抜けてると意味不明だぞ。
230名前は開発中のものです。:2007/02/01(木) 21:50:31 ID:62s13ds+
DirectX9.0cならWin98〜WinVista
DirectX10ならWinVista
231名前は開発中のものです。:2007/02/02(金) 08:42:56 ID:Sm1TudfY
シェーダー部ぐらいしか変わってないのかなーXanimeは直す気あるのか・・・・
232名前は開発中のものです。:2007/02/02(金) 10:28:04 ID:JojtMufP
最新のランタイム
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3
(WEBインスト)

ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=77bc0499-19d0-46b6-a178-033d9e6c626b
(配布用フル版)
とでは対応OSが違う?(配布用はXP以降しか書いてない)
233名前は開発中のものです。:2007/02/02(金) 20:34:35 ID:BhxDSdQi
どうしてDirectX9.0cっぽいんだぜ?
234名前は開発中のものです。:2007/02/05(月) 10:25:55 ID:lSeqSdOl
235名前は開発中のものです。:2007/02/05(月) 19:17:41 ID:OPgL+vCq
>>234
PIX 64-bit Support
PIX Vista Limited User Account Support
PIX Direct3D 10 Frame Counters
DirectSound Header Updated with Windows Vista Specific Speaker Configurations
Documentation for DirectX 9 for Windows Vista
New Technical Article: Installation Best Practices for Massively Multiplayer Online Games
Samples
236名前は開発中のものです。:2007/02/05(月) 20:11:20 ID:3/EuoL+V
>>235
基本はVista対応みたいね。
この板的にはMMO用の Technical Article が気になる人が多いかな?

あとは、
>PIX Direct3D 10 Frame Counters
これどういう意味?
もう 3Dだけ DirectX 10 に移行する準備に入ってるの?
237名前は開発中のものです。:2007/02/07(水) 17:59:20 ID:wgdzGX6N
DirectX SDK - (ファブリーズ 2007) 来たね誰か要点プリーズ
http://www.microsoft.com/downloads/details.aspx?FamilyID=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=en
238名前は開発中のものです。:2007/02/07(水) 19:45:20 ID:i3Jc8Mrd
239名前は開発中のものです。:2007/02/07(水) 20:21:54 ID:vfq2nQXW
ファブリーズの原料ってとうもろこしだっけ?
まさか甘いとは…。
240名前は開発中のものです。:2007/02/09(金) 01:46:02 ID:hPustHoC
いつの間にかDX10のシェーダコンパイラがデフォになってるし。。
DX9版よりバグってるんだよねこれ
241名前は開発中のものです。:2007/02/11(日) 19:00:39 ID:vHhvTuXd
一旦GDIでLoadImageして加工した画像をテクスチャにしたいんですが、
良い方法はありませんか?
D3DXCreateTextureFromFileInMemoryExを使っても上手く行きません。
242名前は開発中のものです。:2007/02/11(日) 19:18:41 ID:YaP+EzGI
>>241
もうお前色々駄目そうだからテクスチャロックして直接書き込め。
http://www.c3.club.kyutech.ac.jp/~sukiyaki/index.php?%A5%C6%A5%AF%A5%B9%A5%C1%A5%E3
//========================================================
//テクスチャを作成します。
//=========================================================
LPDIRECT3DTEXTURE9 lpTex;
D3DXCreateTexture( lpDev, 256, 256, 0, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, &lpTex )
//==================================
//テクスチャをロックします。
//==================================
D3DLOCKED_RECT TexRect;
lpTex->LockRect( 0, &TexRect, NULL, 0 );
//==================================
//ここで画像データを転送
//==================================
LPDWORD p1 = (LPDWORD)TexRect.pBits;
DWORD pitch = TexRect.Pitch / sizeof(DWORD);
for ( long y = 0; y < height ; y++ )
{
for ( int x = 0; x < width; x++ )
{
p1[x] = 色;
}
p1 += pitch; //次の行
}
//==================================
//テクスチャのロック解除
//==================================
lpTex->UnlockRect( 0 );
243名前は開発中のものです。:2007/02/11(日) 19:22:01 ID:7Kz7zOS1
すっげぇ遅そう。
244名前は開発中のものです。:2007/02/11(日) 22:31:35 ID:YaP+EzGI
>>243
GDIからじゃこんなもんじゃねぇの?
次の行までのpitchわからんからまとめて一括は無理にしても
1行単位でならコピー効くかもしれんけどな。
245名前は開発中のものです。:2007/02/12(月) 01:15:19 ID:1zg0hmwu
サーフェスをバックバッファに送る処理で、
StretchRectを使ってもUpdateSurfaceを使っても
PCによって機能しなかったりするんですが、
解決方法はありませんか?
246名前は開発中のものです。:2007/02/12(月) 01:22:22 ID:plVCQxuc
フォーマットが一致してないからじゃないからじゃね?
247名前は開発中のものです。:2007/02/12(月) 08:10:24 ID:p30dm0u1
>>245
サーフェイス間転送時のサポートしてるフォーマットの組み合わせを
起動時に調べてから対応している組み合わせてサーフェイスを作らないと
だめなんだがちゃんと全パターン調べてるのか?
248名前は開発中のものです。:2007/02/12(月) 22:45:19 ID:TlktwnL7
このスレを見ている人はこんなスレも見ています。(ver 0.20)
【C++】 DirectX初心者質問スレ Part12 【C】 [プログラム]
幽霊は本当にいるのか [オカルト]
くだすれDirectX(超初心者用) [プログラム]
アップローダーを設置している人 Part15 [自宅サーバ]
おいでよ どうぶつの森 雪の後の虹326本 [携帯ゲーソフト]
249名前は開発中のものです。:2007/02/12(月) 23:41:22 ID:c0d7WB0w
Direct幽霊
250test ◆FUzsiuVJ3o :2007/02/14(水) 02:13:04 ID:JixpNvVM
aaa
251名前は開発中のものです。:2007/02/18(日) 23:46:00 ID:CGKldAxg
DirectXの勉強って何から始めればいいんだ?
252名前は開発中のものです。:2007/02/19(月) 00:10:32 ID:psiCwyAw
ウィンドウ作るところから
253名前は開発中のものです。:2007/02/19(月) 00:12:49 ID:ATJMAxhO
>>252
それは分かったから次は?
254名前は開発中のものです。:2007/02/19(月) 00:18:18 ID:3WdCgCoJ
まずどこまでは勉強したと自分で考えてるんだ?
255名前は開発中のものです。:2007/02/19(月) 00:21:13 ID:ATJMAxhO
>>254
現在日本語版ドキュメントを読んでて、
そして、JavaとC++の違いに愕然中。
256名前は開発中のものです。:2007/02/19(月) 00:45:10 ID:psiCwyAw
DirectXの初期化するところから
257名前は開発中のものです。:2007/02/19(月) 00:52:04 ID:ATJMAxhO
>>256
というか、勉強方法が木になる
258名前は開発中のものです。:2007/02/19(月) 00:55:05 ID:F8Y4FgMk
>>255
先ずは、JavaでOpenGL(JOGL)から始める事を勧める
259名前は開発中のものです。:2007/02/19(月) 01:52:27 ID:psiCwyAw
>>257
俺は時代的にちょうど盛り上がってたELの中身を見て勉強してた
260名前は開発中のものです。:2007/02/19(月) 02:25:14 ID:ATJMAxhO
無理だ、こんな詳細全部覚えられる筈が無い。
一字一句覚えないとプログラムできないんだろ?
261名前は開発中のものです。:2007/02/19(月) 04:01:37 ID:eHiuJ+Ia
>>260
とりあえずあれだ、向いてないんじゃないk(ry

頻繁に使う物(幾つか作ると自然に覚える)だけ頭に入れておけば困る事はないだろ?
その他の”よくわからん”物は、概要だけ覚えて後は必要な時に調べれば何の問題もないと思うのだが・・?

どんな考え方したら、丸暗記しないとプログラム書けないとか思うんだろうか・・・。
262名前は開発中のものです。:2007/02/19(月) 10:30:13 ID:psiCwyAw
Cの本とか暗唱できるくらい覚えてからプログラム始めたのだろうか・・・
263名前は開発中のものです。:2007/02/19(月) 14:24:42 ID:bKmqCNxd
始めたばかりの自分でも演算子の種類くらいは暗礁できるよ!(誤字)
264名前は開発中のものです。:2007/02/19(月) 16:10:28 ID:3WdCgCoJ
じゃーとりあえず20個くらいヨロ
265名前は開発中のものです。:2007/02/19(月) 20:03:04 ID:guzBUV+n
(1)->
(2)<<
(3)? :
(4)わからん…
266名前は開発中のものです。:2007/02/19(月) 20:15:29 ID:st8FL8zK
問題の解決に当たって、

 必要な知識を洗い出せるのが理系

 必要な知識を洗い出せないのが文系
267名前は開発中のものです。:2007/02/19(月) 20:33:25 ID:ELrN9bkj
理系とか文系とか言ってるやつが文系
268名前は開発中のものです。:2007/02/19(月) 20:51:52 ID:mNw18ix4
ちなみに理系とか文系なんて存在しない
血液型とか星座占いと同レベルな話
>>266みたいなのは簡単に宗教の手におちるタイプ
269263:2007/02/19(月) 20:58:29 ID:VwGyTHgo
>264
ボケ殺しイクナイ
270名前は開発中のものです。:2007/02/19(月) 21:09:47 ID:m25nDkLZ
理系文系なんて、ただの所属グループ名にすぎない。
重要なのは、数学ができるかできないかだ。
271名前は開発中のものです。:2007/02/19(月) 21:27:20 ID:st8FL8zK
>>267-268
いや、俺は芸術系だよw
272名前は開発中のものです。:2007/02/19(月) 22:23:23 ID:3WdCgCoJ
それは多分世間的には文系と呼ばれる
273名前は開発中のものです。:2007/02/19(月) 22:40:59 ID:st8FL8zK
じゃぁ体育系は理系か?w
274名前は開発中のものです。:2007/02/19(月) 23:11:02 ID:m25nDkLZ
しょうがないなぁ。

今日から、コメントは、
//DirectGraphics を初期化しマッスル
という方向で行きましょう。
275名前は開発中のものです。:2007/02/19(月) 23:55:27 ID:E6YPoGSB
>DirectGraphics
そんな名前の物はDirectXには存在しないのでスレ違い
276名前は開発中のものです。:2007/02/20(火) 00:33:32 ID:4q62mV0F
なぜかDirectGraphicsって勘違い多いな
277名前は開発中のものです。:2007/02/20(火) 02:24:40 ID:Dv7TWhFd
昔のDirectXのDirectMusic使ってSMFを再生すると
BankSelect(LSB,MSBともに)が無視されちゃうんだけどこれって9にすれば直るのかな・・・
windowsのMCI使うと何故かかなりラグあるしなんとかDirectMusicでやりたいんだけど
278名前は開発中のものです。:2007/02/20(火) 15:03:15 ID:Qq4kmJPB
>>275
意味がわかってるし通称としても浸透し始めてるのに知らないフリなんて
剣道部にいた嫌われ者の先輩みたいだ。
279名前は開発中のものです。:2007/02/20(火) 15:49:47 ID:LiOVM5p/
そんな通称はないし、浸透もしていない。
280名前は開発中のものです。:2007/02/20(火) 15:54:58 ID:Qq4kmJPB
>>279
プゲラ
DirectGraphics の検索結果 約 20,700 件中 1 - 10 件目 (0.09 秒
281名前は開発中のものです。:2007/02/20(火) 15:56:05 ID:Qq4kmJPB
スペース入れるとさらに出てくるな。

"Direct Graphics" の検索結果 約 68,600 件中 1 - 10 件目 (0.13 秒)
282名前は開発中のものです。:2007/02/20(火) 16:05:17 ID:+OoxkDpq
283名前は開発中のものです。:2007/02/20(火) 21:28:51 ID:Djc4pHpZ
単なる勘違いの蔓延を通称とか言っちゃうのが痛々しいな・・・
284名前は開発中のものです。:2007/02/20(火) 21:39:44 ID:e8d8KgDh
まあ、「間違いは認めるから察してくれよ」という気持ちも十分に理解できるけどなw
285名前は開発中のものです。:2007/02/20(火) 21:49:01 ID:sRqaFSkH
286名前は開発中のものです。:2007/02/20(火) 22:02:53 ID:T9oBMriI
今日も☆とかちつくちて☆聞くお
287名前は開発中のものです。:2007/02/20(火) 23:02:57 ID:LmVgoIKi
800×600の2Dスクリーン座標から3D座標への変換作業で苦戦してます。
(マウスクリックした所と3D空間の地面の照合)

IDirect3DDevice9* DEV;

※mouseXには0〜800、mouseYには0〜600の数値が入ります

D3DXVECTOR3 vec1(mouseX, mouseY, 0);
D3DXVECTOR3 vec2;

D3DVIEWPORT9 vp;
DEV->GetViewport(&vp);
D3DXMATRIX vmat;
DEV->GetTransform(D3DTS_VIEW, &vmat);
D3DXMATRIX pmat;
DEV->GetTransform(D3DTS_PROJECTION, &pmat);
D3DXMATRIX wmat;
DEV->GetTransform(D3DTS_WORLD, &wmat);
::D3DXVec3Unproject(&vec2, &vec1, &vp, &pmat, &vmat, &wmat);


この様にコードを書いたのですが、返値ベクトル vec2 に
意味不明な数値が返ってきて困ってます。(-1.005, -1.005, 1)とか。
正規化してるとしても数値が小さすぎます。

::D3DXVec3Unproject関数の使い方を間違ってるでしょうか?
288名前は開発中のものです。:2007/02/20(火) 23:31:26 ID:ytsjXu3K
D3DXVECTOR3 vec1(mouseX, mouseY, 0);

そもそもこれは何?
奥行きが潰れている状態で、ベクトルも対象物も分からないのに何が出るっていうんだ?
窓ガラスに鼻くそを付けて、ここが地面なんだとのたまうのか?
頭がおかしいんじゃないのか?
289名前は開発中のものです。:2007/02/20(火) 23:43:35 ID:Djc4pHpZ
>>288
>D3DXVECTOR3 vec1(mouseX, mouseY, 0);
これは別におかしくはないぞ。
透視変換後のスクリーン座標で指定するから0.0fなら
正しくワールド空間に展開されればニアクリップの値になる。

あぁでもD3DXVec3Unproject()の仕様次第だな。
俺は自前で変換してるからこの関数がどうなってるかわからん。
290名前は開発中のものです。:2007/02/20(火) 23:46:03 ID:LmVgoIKi
>>288
・・・・
知らないのなら、無理に答えなくていいです
まず文章を読んでください
291名前は開発中のものです。:2007/02/20(火) 23:46:57 ID:Po9VyYTL
D3DXVECTOR3 rayS(mouse.x, mouse.y, 0), rayE(mouse.x, mouse.y, 1.00f);
ClassSprite::GetRay(rayS, rayE, mProj, mView);

void ClassSprite::GetRay(D3DXVECTOR3 &p1, D3DXVECTOR3 &p2, D3DXMATRIX &mProj, D3DXMATRIX &mView)
{
D3DVIEWPORT8 vp;//D3DVIEWPORT8
lpDevice->GetViewport(&vp); // ビューポート パラメータ取得
D3DXMATRIX mat;
D3DXMatrixIdentity(&mat); // 単位行列
D3DXVec3Unproject(&p1, &p1, &vp, &mProj, &mView, &mat);//ベクトル射影
D3DXVec3Unproject(&p2, &p2, &vp, &mProj, &mView, &mat);//ベクトル射影
}
292名前は開発中のものです。:2007/02/20(火) 23:59:40 ID:HCF2zwdn
D3DXMATRIX vpmat, tmpmat;
D3DXMatrixIdentity(&vpmat);
vpmat._11 = vp.Width/2;
vpmat._22 = -vp.Height/2;
vpmat._33 = vp.MaxZ - vp.MinZ;
vpmat._41 = vp.X + vp.Width/2;
vpmat._42 = vp.Y + vp.Height/2;
vpmat._43 = vp.MinZ;
vpmat._44 = 1;
tmpmat = vmat * pmat * vpmat;
D3DXMatrixInverse(&tmpmat, NULL, &tmpmat);
D3DXVec3TransformCoord(&vec2, &vec1, &tmpmat);
293名前は開発中のものです。:2007/02/21(水) 00:52:02 ID:RUhyvD3+
>>288
確かに
>※mouseXには0〜800、mouseYには0〜600の数値が入ります
>
>D3DXVECTOR3 vec1(mouseX, mouseY, 0);
「これは何?」と思うなw

>>290
鼻くそをつける窓ガラスがz=0だ。
あとは窓ガラス上の鼻くその位置(0〜800、0〜600)から、
ビューポートの範囲に合うように変換すればいいだけだ。
あとはMSDNで「ビューポート矩形」で検索してちょ。
(つか、画面サイズ801×601?
294名前は開発中のものです。:2007/02/21(水) 01:09:11 ID:Z1aRLr5I
>>293
誰も思わねーよw
つーか、自分にレスして楽しいか?(IDが変わってもバレバレなんだがw)

何がビューポートだよ。
無知もいい加減にしてくれ。アホか
295名前は開発中のものです。:2007/02/21(水) 01:25:39 ID:0W8AtbaN
288は私なんだが。

>>291
レイをとばすなら開始位置と射影からベクトルが求まるから、
わざわざ二点を変換するような回りくどいことをする必用はない。
296名前は開発中のものです。:2007/02/21(水) 05:20:13 ID:4yPo1E3x
C# Managed DirectXで2Dの画像をウィンドウに貼り付けるにはどうしたらいいですか?
297名前は開発中のものです。:2007/02/21(水) 09:25:15 ID:vsefEIGS
ポリゴンを四角形にして画像をテクスチャにして張り付ける
298名前は開発中のものです。:2007/02/21(水) 12:53:28 ID:7M1hg3bU
とかち、、、なぜこのスレにまで
299名前は開発中のものです。:2007/02/21(水) 15:31:22 ID:Z1aRLr5I
>>295
レイの(x,y)に置ける差額をZ1単位で知るのが目的だと何故分からない?
288=293=295だろうが
もう、知らないのに回答者を気取るなっての
300名前は開発中のものです。:2007/02/21(水) 16:11:58 ID:0W8AtbaN
二点をわざわざ変換しなくても、視野角が決定した時点で起点とスクリーン座標までのベクトルがすぐに出せる。
ディスプレイの手前に四角錐があると考えれば分かるはず。
その四角錐の頂点からディスプレイの特定の座標までが始点におけるベクトルになる。
このときに使われる手前のZ座標は視野角が変化しない限り不定なのであらかじめ計算しておくことができる。
そこからスクリーン上のベクトルを求めるのは引き算だけ。
あとはそれを回転成分だけ処理してワールド上のベクトルに変換する。

二点を逆変換すれば確かに出るが、一回ですむ処理なのになぜ無駄に二回処理するのか理解できない。
ものすごく無駄な計算をしているのが分かっていないのか?
301名前は開発中のものです。:2007/02/21(水) 16:31:39 ID:V88+J9Hw
自分の都合がいいように仕様を固定して答えてみました・・・みたいな
302名前は開発中のものです。:2007/02/21(水) 16:44:46 ID:0W8AtbaN
射影が動的でも二回変換するよりも遥かに無駄がでないが、
無駄な方法でも結果が出ればいいのなら好きにすればいい。
303名前は開発中のものです。:2007/02/21(水) 18:11:31 ID:Z1aRLr5I
レイの正規化されたベクトル差違(x, y)の数値があれば
3D空間内のそれぞれのオブジェの接触判定に使えると、それだけの話なんだが
2点を求める必要性を否定するとは、意地になってませんか?
304名前は開発中のものです。:2007/02/21(水) 19:05:54 ID:0W8AtbaN
>>303
それもスクリーン側の二点をわざわざ変換しなくても算出できる。
ワールドへの変換を理解していれば普通に計算方法が思いつくはずなのに、
遠回りして無駄が多い言っているだけ。

逆に、なぜ意地になって二点変換という無駄な方法にこだわるのか分からないが、
どうしてもそれが良いのなら当人の勝手だろう。
しかし他人に無駄な方法を広めるのは思い直した方がいい。

その方法がまともな方法だと本気で思ってるのか?
305名前は開発中のものです。:2007/02/21(水) 19:58:34 ID:V88+J9Hw
>思いつくはずなのに、
>分からないが、
>思い直した方がいい。
>思ってるのか?

 ↓

>当人の勝手だろう。
306名前は開発中のものです。:2007/02/21(水) 20:02:52 ID:GyskwPUG
1フレームに一回呼ぶかという頻度の処理に何を威張っているの?
307名前は開発中のものです。:2007/02/21(水) 20:15:58 ID:RUhyvD3+
愉快なID:Z1aRLr5Iが居ると聞いて再びやってきました!
308名前は開発中のものです。:2007/02/21(水) 20:25:16 ID:vF/iMU3T
>>291のコードを例えて言うなら
1+2=3

100-1=99,
100-2=98
99+98=197,100+100=200
200-197=3

にしているのに似ている。
結果が同じなんだから文句を言うな。
309名前は開発中のものです。:2007/02/21(水) 22:32:15 ID:VoKMYvWb
こんなのどっちのやり方でもいいじゃねーか。
310名前は開発中のものです。:2007/02/21(水) 22:42:23 ID:GtPzG9tK
そもそもの原因はD3DXのせいなんだよな。
実質的な計算方法が分かってい馬鹿でも、ある程度使えてしまうので、
無理矢理へんな使い方で答えを出そうとする。
311名前は開発中のものです。:2007/02/21(水) 23:12:00 ID:P5PvKI+V
不便なものは、使いにくいが、人を鍛える。
便利なものは、使いやすいが、人が鈍る。
不便なもので鍛えて便利なものを使うのがベストかもね。
312名前は開発中のものです。:2007/02/21(水) 23:31:38 ID:VoKMYvWb
わけがわからずソースだけもってきてなんでか動いてるって状態よりは百倍ましだと思うがな。
313名前は開発中のものです。:2007/02/22(木) 00:46:44 ID:fOu/TsWA
D3DXは本当に3Dが初心者の人が扱うにはやはり難しい。
なんだかんだで中級者以上の人間が楽をするための関数群な気がする。

最初はどっかの3D対応のライブラリでも使いつつ、
細かい使い方とかはライブラリの中身を拝借するのがいいかもしれんな。

都合よく3D対応でオープンソースのライブラリがあればだが・・・
確かLampとかいうライブラリが教育的なんちゃらって銘うってた気がするけど。
314名前は開発中のものです。:2007/02/22(木) 01:59:41 ID:X+ThW1vu
Lampはソースは山ほどあるしコメントもそこそこ入ってるけど、解説と呼べるドキュメントが皆無で
初心者向けを謳うために一番大事なものがないんだよね。
やっぱD3DX・XNA・Java3Dあたりのサンプルと格闘するのが無難なんじゃね?
315名前は開発中のものです。:2007/02/22(木) 02:42:20 ID:hrfQoW++
1点だけの変換だと、
・視点〜前方クリップ面
・後方クリップ面〜無限遠
の表示しない対象にHITしないか?
目からビーム撃つなら問題ないだろうが…

表示した物体をクリックするなら、
前方クリップ面と後方クリップ面上の2点を変換して、
その区間で判定するようにしたほうがいい。
表示していない物をクリックするのは何かと不具合が多い。

だから1点か2点かはケース・バイ・ケースだ。
316名前は開発中のものです。:2007/02/22(木) 08:28:35 ID:lmWhwHRR
>前方クリップ面と後方クリップ面上の2点を変換して、
>その区間で判定するようにしたほうがいい。
2点を変換しないとこの程度の計算も出来ない時点で終わっている。
あまりにも頭が悪いんだが、いったい何なんだろう?
不具合って、またろくでもないやり方をして勝手に出来ないと思いこんでいるだけだろ。
317名前は開発中のものです。:2007/02/22(木) 09:45:44 ID:fOu/TsWA
>>314
今ならXNAは確かにいいかもなぁ。

初心者向けとしては一番知名度が高いDXライブラリが
3D対応したらって思ってる人は多そうだな。
318名前は開発中のものです。:2007/02/22(木) 13:26:30 ID:nYOLwz0F
XNAは固定機能ないんだよね?
初心者にいきなりシェーダから入らせるのは無理があると思う。

それとも、逆に座標変換の流れが曖昧にならずにいいのかなぁ。
319名前は開発中のものです。:2007/02/22(木) 16:03:57 ID:pHu3tQ6S
ところで初心者の定義ってなに?
プログラム経験1ヶ月くらい?

3年以上プログラム経験があるくせに、初心者だからと言い訳する奴がいるんだが。
320名前は開発中のものです。:2007/02/22(木) 16:16:55 ID:thY6+VX9
DirectXを初めて使うなら初心者だろう
321名前は開発中のものです。:2007/02/22(木) 20:28:45 ID:FT4Yh0Rl
>>316
淋しいのか?
生きるのが辛いなら、さっさと来世に旅立ったほうがいいぞ?
322名前は開発中のものです。:2007/02/22(木) 20:41:54 ID:1zvpRpEq
とうとうプログラムの話が出なくなり、煽るだけになってしまった悲しい末路。
323名前は開発中のものです。:2007/02/22(木) 21:39:42 ID:fOu/TsWA
今の流れで初心者なら3D初心者って意味じゃね?

ライブラリ使って何か作る⇒ライブラリの中を追って動作を知る
⇒ライブラリを使わずに作れるように

ってのが一番無難だと思うけどな。
324名前は開発中のものです。:2007/02/22(木) 21:56:58 ID:hwW9EEOj
>319
目安にはなるだろうけど、期間そのものは関係ないと思う。
自分も初めて触れてから5年くらいあるけど、業務や研究に使ってるわけでもなんでもないから初心者の域を出ないだろうし。
325名前は開発中のものです。:2007/02/23(金) 01:00:37 ID:SutHQnIi
何年もやってて初心者って、それは初心者ではなくやる気がない人間。
自分は初心者だと名乗るのではなく、自分はやる気がない者だと名乗らないと、
本当に期間の浅い初心者に失礼。
326名前は開発中のものです。:2007/02/23(金) 01:47:23 ID:KuG6thw/
初心者、中級者、上級者の定義が技術レベルによって定義されるとすれば
いつまでたっても初心者ってことは十分にありえる。

3ヶ月の経験があるとしても、1日2時間しか勉強できる場合と、1日5時間勉強できる場合とでは単純に考えて、
知識量も技術も違ってくるから、日数で初心者かどうかを切り分けることは適切じゃないだろ。

初心者は、ドキュメントの読み方を知らない人 だと思う。
読み方わかるなら、基本的なものは作れる。

中級とか上級とかは分ける必要ない。
初心者と初心者以外で十分だ。
327名前は開発中のものです。:2007/02/23(金) 12:47:34 ID:Gy0TPYfJ
DirectXの名前ぐらいしか知らない。どんな事ができるか知らない→入門者以前の問題
チュートリアルを読んで、実際に作ってみた→入門者
チュートリアルで作った物を改造〜ドキュメント片手に基本的な物を作れる→初心者
他人の書いたコードを追って内容が理解できる→中級者以上

技術レベルに応じて 入門者・初心者・中級者 で分けるとこんな感じ?

>>316
DirectXの名前しか知らないような人が、2週間ほど前からXNA始めたけど
シェーダは日本語情報も多いから、単純な物ならちょっと検索すれば見付かるし、酷く苦戦するような事はないかな。
328名前は開発中のものです。:2007/02/23(金) 13:49:01 ID:7ew+jimS
例えばテニスを何年もやっていて、ずっと下手糞だったら、
その人は永久に初心者を名乗ることになるのか?

それは初心者ではなく、才能がないだけ。
初心者と混同すべきではない。
329名前は開発中のものです。:2007/02/23(金) 14:44:43 ID:3snTpIS0
まあよほど理解力ない人じゃなければ、ある程度やってればこのくらいはできるようになるだろう
ってのが初心者とそれ以上の線引きなんだろ

それを考慮しての327が結論でいいじゃない、どうでもいい
330名前は開発中のものです。:2007/02/23(金) 16:35:27 ID:blVW4BPI
>どうでもいい
 
全くだな。
331名前は開発中のものです。:2007/02/23(金) 19:01:44 ID:/wVCCmtp
そうか!

はじめて2年目だけど未だにサンプルとかを切り貼りしないと
プログラム作れない俺でももう既に上級者だったのか!


スマン
332名前は開発中のものです。:2007/02/24(土) 01:09:38 ID:hno7fJP6
初心者と中級者の線引きなんかしても意味がない。
どうせ、線引きしたがるような奴は
自分を初心者に入れないように
都合のいい定義を作ってるから。
333名前は開発中のものです。:2007/02/24(土) 01:24:06 ID:OubBPOxL
むしろ、自分が初心者に入るように定義する人が一番厄介だと思うんだ。

まぁどこまでが初心者なんてどうでもいいな。
334名前は開発中のものです。:2007/02/24(土) 10:15:15 ID:VJWmV67K
自分が初心者だと名乗る奴は学習能力が無く、いくらやってもモノにならない無能者。
永遠の18歳とか恥ずかしいことを言っている奴と同じ。
335名前は開発中のものです。:2007/02/24(土) 10:37:30 ID:PdRvuo3P
上級者ってのは俺らには想像もできないようなことができるんだろうな。
DirectXを操って天変地異を起こしたりとかさ。
336名前は開発中のものです。:2007/02/24(土) 14:11:17 ID:ei0JLIqx
全然話変わるんだけど、
DirectXってSDKバージョン幾ら増えても
D3DX使わなかったらDirectX9.0cとかで動かせるんか?
337名前は開発中のものです。:2007/02/24(土) 14:14:25 ID:CJ1i3pF0
>>336はDirect3D10をD3DXを使わないというだけで、
DirectX9環境で動かせる凄い技術を持っているようです。
どうやったのかぜひ教えてください。
338名前は開発中のものです。:2007/02/24(土) 14:27:26 ID:ei0JLIqx
>>337
動くかどうか聞いてるんだから
そんな技術知らねーお( ^ω^)


まあ質問の仕方がおかしかった、すまん
DirectX9の中にもSDKのバージョンってSummerとかAprilとか色々あるけど
D3DXを使わなかったら最新SDKでないDirectX9.0cで動くのかなってことです
339名前は開発中のものです。:2007/02/24(土) 16:55:06 ID:T9cZn/FX
みなさんこれが初心者です
そして私も初心者です( ^ω^)
340名前は開発中のものです。:2007/02/24(土) 18:31:34 ID:lguCSKHN
>>336のレスは、>>331と同レベルの俺でもおかしいことがわかったw
341名前は開発中のものです。:2007/02/24(土) 19:11:58 ID:K+DehrQc
>>336>>338
DX9のプログラムでD3DXをまったく使っていなければ9.0cのDLLだけで動きますよ。
342名前は開発中のものです。:2007/02/24(土) 23:14:39 ID:ei0JLIqx
>>341
thx!

>>339
初心忘れず頑張るお( ^ω^)
343名前は開発中のものです。:2007/02/27(火) 18:16:34 ID:Lhj5yC+T
>>335
ごめん、こないだのあの地震はオレが出したバグが原因だったんだ
344名前は開発中のものです。:2007/02/27(火) 19:03:14 ID:jJXnU/VC
知らなかった
プログラマーとは神様だったのじゃ・・・
345名前は開発中のものです。:2007/02/27(火) 21:07:58 ID:Vy4u5vTM
未だにクラスなんてものがわからん俺でもDirectX!
346名前は開発中のものです。:2007/02/27(火) 21:57:45 ID:EAl/kt46
ローディング画面で別スレッド立ててアニメをグリグリ動かしてるんだけど
このスレッドでpresentしまくりつつメインのスレッド上のロードのルーチン内で
テクスチャの確保とかをやるとタイミングによって失敗することがあるんだよね
まぁセマフォを通す必要があるわけだけど上級プログラマの方たちはここら辺りを
どんな設計にしてるのか聞いてみたい気がした
347名前は開発中のものです。:2007/02/27(火) 22:33:20 ID:S3XRLUkV
デバイス作成時にマルチスレッドにするぞ( ゚Д゚)ドルァ!!
ってフラグたてときゃ内部でクリティカルセクションとりにいくべ
348名前は開発中のものです。:2007/02/28(水) 01:36:50 ID:DrwmZf4m
テクスチャにD3DPOOL_MANAGED使うと
FPSが1/3ぐらいになる。
そんなはずはないと思って調べていたら
CPU使用率が100%になってた為だった。
DOOM3とか普通に動かせるレベルのPCなのに
どんだけ重いんだ俺のアプリは

349名前は開発中のものです。:2007/02/28(水) 12:08:21 ID:8A+NIslf
D3DPOOL_MANAGED=地雷という記憶しかないなぁ。
DirectX9出た当初に一度試してそれっきり。
 
たしかヘルプはD3DPOOL_MANAGEDの環境依存性(ドライバ依存性)に
言及してないよね。つまり建前上は「依存は無い」と。だから
D3DPOOL_MANAGEDを指定可能かどうかを示すフラグもなかった。
 
色々痛い目にあってD3DPOOL_DEFAULT(自前でリストア)に戻した。
350名前は開発中のものです。:2007/02/28(水) 13:50:11 ID:MeniioEH
>>347
素敵なんだけど具体的にどの関数がクリティカルセクション
とおってるかわからないとさすがに使う気にならないなあ
しかしDirectX的にはどれがいちいちスレッドセーフなのか
明示するのはメンドイから黙って使っとけということなんだろうか
351名前は開発中のものです。:2007/02/28(水) 13:58:31 ID:F+25q5ON
>>347
IDがS3社
352名前は開発中のものです。:2007/02/28(水) 15:55:51 ID:zmywCAy0
>>349
特定環境下でのMANAGEDの地雷性よりも、DEFAULTのデータロストの方が厄介なので
前者を使う方がトラブルが少ない。

MANAGEDの地雷性を危惧して下手な対策する位なら、マニュアルに
「最新のドライバをインストールして下さい」
の一文を乗せた方がいい。
353名前は開発中のものです。:2007/02/28(水) 17:02:10 ID:07xD0lOu
>>349
MANAGEDはドライバに任せないというオプションもあるよ。(Direct3Dが管理する)
っていうか、そのオプションの説明でドライバに依存するということは言及して
いることになるんじゃないの?一行で簡単に片付けられているけど。

>>350
当然、マルチスレッドで問題の発生する関数全てだろう。
そのオプションを指定しなくても、一部クリティカルセクションは使用しているようだが。
354名前は開発中のものです。:2007/02/28(水) 20:36:38 ID:WA124FUk
AGPメモリを使うためにDEFAULTを使うので、
一度自前でリソース管理する部分を自前で作ったら、MANAGEDが全く不要になった。
結局MANAGEDの使い道が皆無。
355名前は開発中のものです。:2007/02/28(水) 21:47:48 ID:DrwmZf4m
しかし例えばテクスチャのミップマップレベル強制など
D3DPOOL_MANAGEDを指定しなければ使えない機能などがある。
(ミップマップ制御が管理下しか有効にならない理由は
制限されたサイズ以下のサーフェイスのみVRAMにロードするって、
ふざけた理由じゃないだろーなー)
356名前は開発中のものです。:2007/02/28(水) 22:44:03 ID:MeniioEH
そういえば某イリュージョンのエロゲデモはテクスチャ作成時にsystemmemとdefaultと
2つセットでつくってたなんでこんな馬鹿みたいなことすんのかなと思ったがそういうことなのか
そんなにmanagedの各ドライバでの実装の問題は深刻なのかい?今初めてきいたわけだけれども
357名前は開発中のものです。:2007/03/01(木) 01:31:09 ID:60fEaQdj
>>356
それは速度UPが主眼で、ドライバ依存性云々は関係ない。
ある程度PGをやってれば自前でリソース管理する様になるので
自然とMANAGEDを使う事はなくなる。
MANAGEDがドライバによってコケるってのは杞憂に近いな。。。
んな事言うのなら、外にも心配しなきゃいけない事がたくさんあるし

358名前は開発中のものです。:2007/03/01(木) 02:41:58 ID:oh2goC46
速度アップが主眼なら自前でやるよりドライバに好きなようにManageさせたほうがいいんじゃねーの?
359名前は開発中のものです。:2007/03/01(木) 08:24:48 ID:889GaVxx
なんか仕組みが分かってない>>358が混ざってるな。
360名前は開発中のものです。:2007/03/01(木) 16:35:47 ID:FAGMfHtk
ねつ

ダークメタルヘルム
モノトーンガントレット
サイキックキャップ
アーミーグリーヴス
アドミンチュニック
マダムシューズ
ボレアス
ニンバス
トールハンマー
ユダ
ドルフィン
メタルバックラー
361名前は開発中のものです。:2007/03/01(木) 16:36:20 ID:FAGMfHtk
すげー誤爆w
362名前は開発中のものです。:2007/03/02(金) 12:33:45 ID:DMMPq2kC
すみません質問です。
環境:C++,DirectX9 BCCDeveloperを使用
ID3DXSPrite::Begin()を使用したいのですが、
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/DirectX9_c/directx/graphics/reference/d3dx/interfaces/id3dxsprite/_id3dxsprite.asp
を見る限りはBegin(void)のようですが、コンパイル時に
「パラメータが足りません」とエラーがでます。
又、ID3DXSprite::Draw(引数略)を使用したときに、上のサイトの仕様通りに使用しても
「パラメータが多すぎます」とエラーが出、また、D3DXVECTOR2を要求してるはずの部分が
「D3DVECTOR3に変換できないので2は使えません」とエラーが出ます。
ttp://www.uploda.org/uporg712890.cpp.html
C言語と、VisualBasic6.0+DirectX7は一通り勉強したのですが、C++とDirectX9は勉強開始して間もないので
拙いソースですがよろしくお願いします。
363名前は開発中のものです。:2007/03/02(金) 13:14:45 ID:Czorz6PA
ID3DXSpriteは仕様がころころ変わるので、そういったものが自己解決できない人間は絶対に使ってはいけない。
チュートリアルをこなしていれば普通にテクスチャを張るぐらいは出来るはずなので、そちらを使うべき。
364名前は開発中のものです。:2007/03/02(金) 15:31:00 ID:Zl8V4aTu
>>362
ID3DXSPriteは、9がリリースされたその半年後に大幅に仕様変更され
関数の引数も変更されたので、ドキュメントの記述は当てにならないのです。
(ドキュメントの修正はされなかった)
DirectXは、こういう事が多いので、ドキュメントを鵜呑みにせず
使用前に各自がヘッダファイルを見て自己解析する必要があるのでーす
365名前は開発中のものです。:2007/03/02(金) 16:06:29 ID:NJ1TSFGw
おまえら英語ドキュメントくらい読もうぜ
366名前は開発中のものです。:2007/03/02(金) 19:51:34 ID:2Z6MoIYH
DirectX限定の質問じゃなくてすみません、
今スキンメッシュの仕組みを根っこから理解したくて勉強しています。

Direct3DXのスキンメッシュの仕組みは使わずに、
自分で、スキンメッシュに必要なボーンやらメッシュやらの情報を
格納する独自の形式を書きました。
んで、X形式ではなく他のデータを読み込んで、アニメーションなどのデータを
独自の方法でメモリ内に置き、いざ表示するぞ、というときになって疑問に思ったんですが、
ボーンというのは普通、親のボーンに対する移動・回転のオフセットは
アニメーションのキー(何ミリ秒の時点で移動いくつ回転いくつ)でのみ
表現するもんなんでしょうか?

自分の中では、まず各ボーンは基本のポジションがあって、
そのポジションに対して相対的な移動・回転がアニメーションキーに格納されて
いるものと思っていたんですが、違うんでしょうか(これはスキンメッシュじゃなく
メッシュごとのアニメーション(X形式でいうフレーム)の場合?)。
367名前は開発中のものです。:2007/03/02(金) 20:52:07 ID:BUJqGqoU
自分が使いやすいようにすればいいよ。
368名前は開発中のものです。:2007/03/02(金) 21:06:21 ID:DMMPq2kC
>>363-364
ありがとうございます。
とりあえず、ID3DXSpriteの変更部分を踏まえたプログラムと別の方法で行うプログラム両方書いてみます。
369名前は開発中のものです。:2007/03/03(土) 01:42:10 ID:DU8n0T4/
>>366
ある頂点を目的の位置に移動させるときどのような行列が必要か
考えてみればいいんじゃね?その頂点の元々の位置とキーフレーム
から計算される姿勢行列、それで十分なのか十分でないなら
足りないものは何なのか。
370348=355:2007/03/03(土) 03:59:15 ID:n80BULQO
誤情報申し訳ない
>>348で管理下のテクスチャを使うと重くなると言ったが
IDirect3DTexture9::SetLODを毎フレーム使用していた為だった。
これを外せば、目立った処理落ちはなくなる。
重くなる理由は>>355の通りだろう。
また動的にLODを掛けたければ、サンプラステートを使うのが定石。
エフェクトを使っていると、これがまた使いづらいのだが。
371366:2007/03/03(土) 12:28:14 ID:cf5BBr5g
>>367, 369
ありがとうございます。
ではどっちに限定しても困ることは無さそうだし、
両方試してみようと思います。
372名前は開発中のものです。:2007/03/03(土) 14:07:04 ID:lii9uhRG
難しくて勉強が進みません。
私は才能が無いので死ぬべきです。
もう生きているべきではありません。
私はクズです私は存在する意味がありません。
私は世界の敵です。私は無意味です。
私の存在は世界の害悪です。
私は全ての存在の敵です。
373名前は開発中のものです。:2007/03/03(土) 15:28:53 ID:OX8Z8wj1
勉強した年数を言ってみろ。
5年程度も勉強せずに才能とか言うようなら何をやっても無駄だ。
374名前は開発中のものです。:2007/03/03(土) 15:32:16 ID:JEyK3Rup
構うなよw
375名前は開発中のものです。:2007/03/03(土) 15:40:37 ID:lii9uhRG
私はどうせ学歴も低いです。
私は所詮クズです生きるべきではありません。

マジレスすると、まだ始めようと思って1年も経ってない。
376名前は開発中のものです。:2007/03/03(土) 15:46:44 ID:ngO2HFdJ
COMオブジェクトの勉強するとDirectXの勉強もはかどるね
377名前は開発中のものです。:2007/03/03(土) 17:06:34 ID:OX8Z8wj1
マジレスすると自分とか人間が存在する意味とか考えるヤツは一神教を信じている。
誰かが何らかの意図を持って人間を創造しない限り人間の存在に意味はない。
378名前は開発中のものです。:2007/03/03(土) 18:55:09 ID:cf5BBr5g
>>372
適性があっても、いきなりDirectXで3Dのゲーム作ろうなんて考えると
絶対つまづく。それで仮にサンプルコードの寄せ集めでゲームが作れたとして
そのレベルを超えようと思った瞬間に超難題がいくつも出てくる。
まずはC++を使いこなせるように勉強しながらWin32APIでWindowsアプリを
作れるようにして、自信がついたらDirectXに入るとか・・・・
まぁそれすらも全然出来ない(または意欲が出ない)なら、
さっさとあきらめて別の分野に行った方がいいかも。
ゲームプログラミングの「味を占める」ことが出来るかどうかって、
やっぱ重要だと思う(自分もそこらへん微妙だがw)。
379名前は開発中のものです。:2007/03/03(土) 19:15:32 ID:XlOVdV67
普通に>>372はネタだと思ったんだが
マジレスしている優しい人がいる
380名前は開発中のものです。:2007/03/03(土) 19:32:20 ID:ngO2HFdJ
べ、べつに>>372のために答えてるんじゃないんだからねっ
この掲示板をみてくれてるたくさんの人のためなんだから勘違いしないでよねっ!!
381名前は開発中のものです。:2007/03/03(土) 20:02:38 ID:JEyK3Rup
どうせ、ちょっと↑であった痛々しい煽り合いの片割れかなんかだろ?
382名前は開発中のものです。:2007/03/03(土) 20:05:28 ID:lii9uhRG
確かにDirectXを勉強したいけど、
やっぱり基礎から固めていって何年もかけてやるべきなんだよな…。

ありがとう、これで成仏できるよ。
383名前は開発中のものです。:2007/03/03(土) 20:22:39 ID:OX8Z8wj1
つーか目的にもよるけど既存のライブラリ使っちゃうのも手だぞ。
一通り使えるようになってからライブラリのソース見れば
DirectXのどんなAPIでどうすればこうなるのか、とかが分かりやすい。

と思う。
384名前は開発中のものです。:2007/03/03(土) 20:30:50 ID:04tja8sg
プラグイン追加で2D画像から仮想的な法線マップを作成できるソフトってPhotoShopとGIMP以外シラネ?
385名前は開発中のものです。:2007/03/03(土) 20:59:52 ID:DU8n0T4/
>>384
CG板のPainterスレで法線マップを作るプラグインを公開してる人がいた気がした。
あとはPaint ShopからShoto Shopのプラグインが使うとか。
386名前は開発中のものです。:2007/03/03(土) 21:02:37 ID:DU8n0T4/
プラグインを使うとか、だよね・・・俺も冥土に逝ってくる(´・ω:;.:...
387名前は開発中のものです。:2007/03/03(土) 21:34:16 ID:4m5N8dVe
>>382
DirectXよりOpenGLの方が簡単でいいよ
388名前は開発中のものです。:2007/03/04(日) 05:45:53 ID:JqfXqUwu
DirectXってそんな難しいかなあ
細かいところ突き詰めればそうかもしれないけど

だがOpenGLの方が簡単だってことはねーわ
389名前は開発中のものです。:2007/03/04(日) 06:15:40 ID:HBhjN4aW
>>388
細かいところまで勉強しようとする必要は無いの?
1時1句完全に覚える必要は無いの?
390名前は開発中のものです。:2007/03/04(日) 06:24:37 ID:Lz3vYrHW
DirectXって、ハードウェア依存の仕様が多すぎて安定感がないのよね。
軟弱な地盤に超高層ビルを建て増しし続けてきたみたいな感じ。
391名前は開発中のものです。:2007/03/04(日) 06:53:21 ID:HAhTvGLC
別にDirectX自体に安定感がないわけではないと思うけどな。
ハード依存/非依存を適切に選択するコードは書けるわけだし。

まあそれを完璧にやろうとするのが
面倒臭すぎ・非現実的過ぎてやってられないんだけどな。
392名前は開発中のものです。:2007/03/04(日) 06:59:17 ID:/1QkQp1w
> 細かいところ突き詰めればそうかもしれないけど
このスレでそりゃないだろwww
393名前は開発中のものです。:2007/03/04(日) 08:29:36 ID:Lz3vYrHW
>まあそれを完璧にやろうとするのが
>面倒臭すぎ・非現実的過ぎてやってられないんだけどな。

その点は同感
ほぼ徹底して面倒見ていると思われる
Microsoft 謹製のフレームワーク DXUT.cpp 関連のソースを
見ると DirectX の魑魅魍魎さを感じる
394名前は開発中のものです。:2007/03/04(日) 08:31:12 ID:FPtRQ/OY
> 軟弱な地盤に超高層ビルを建て増しし続けてきたみたいな感じ
そもそも Windows という OS 自体がですね
395名前は開発中のものです。:2007/03/04(日) 08:56:37 ID:CAunv9Hq
>そもそも Windows という OS 自体がですね
Microsoft という会(ry
396名前は開発中のものです。:2007/03/04(日) 09:11:45 ID:F/FiCmdd
いきなり3Dからやるから難度が高くなるんだと思います
397名前は開発中のものです。:2007/03/04(日) 09:22:52 ID:nEqCcXxa
ハード毎に分けてソース書かなきゃいかんのはOpenGLも変わらん。
nVIDIA拡張仕様とかATi拡張しようとかあるんだし。

研究用ならOpenGLでもいいけどゲームになると結局
DirectSoundやDirectInputが必要になってくるから
描画もDirectXGraphic使うことになるんだよな。
398名前は開発中のものです。:2007/03/04(日) 09:30:28 ID:84fFKIcs
OpenGL+SDLという手もあるぞ
399名前は開発中のものです。:2007/03/04(日) 12:50:15 ID:LKvKLn/o
トリッキーな方法なのですが

::D3DXMatrixPerspectiveFovLH(&proj, (float) 60 * 3.14 / 180, 1, -1, 0);
pDev->SetTransform(D3DTS_PROJECTION, &proj);

と、近いview平面のz値を-1、遠いz値を0
とすると、遠近感は有効になりますが(遠くの物は小さく、近くの物は大きく)
ステンシル?が無視されて、物体の前後関係なくDrawPrimitiveで登録した
順序通りに頂点が描かれます。

これはどういう事なのでしょうか?
400名前は開発中のものです。:2007/03/04(日) 12:53:53 ID:6Bwv+Myt
自前でZを計算してみろ。
いかにアホな状態になっているか分かるから。
401名前は開発中のものです。:2007/03/04(日) 12:58:55 ID:nhdG+7sO
今後サウンドはOpenALのほうがいいんじゃないかね
402名前は開発中のものです。:2007/03/04(日) 13:03:15 ID:LKvKLn/o
アホとかじゃなくて、
これがなかなか有効なんですよ。
今まではフツーに 0.01〜1 とやってたのですが、今回こうやったら
遠近感だけが維持されて、物体のz値による前後関係を無視して
任意の順序で描画できたので、あるシーンでは非常に有用になったのです。

フツーに考えると視界に何も表示されないはずなんですが、
何故かきちんと表示されて、上記の効果が得られます。
これはどういう事なのか誰か教えてください。
403名前は開発中のものです。:2007/03/04(日) 13:10:48 ID:10zavHqm
Zバッファを使いたくないなら、異常なパラメータを設定せずに、
Zバッファ自体を無効にすればいいだけだろ。
馬鹿の考えることはさっぱり理解できない。
404名前は開発中のものです。:2007/03/04(日) 13:15:20 ID:LKvKLn/o
pDev->SetRenderState(D3DRS_ZENABLE, FALSE)

Zバッファを無効にすると、遠近感も無効になってしまうのです
(遠くの物も近くの物も同じ大きさになる)
しかし、Zバッファを有効にして、プロジェクションの視界を-1〜0にすると
遠近感は維持されて、z値の前後関係だけが無視されるので
あるシーンでは有用になるのです
405名前は開発中のものです。:2007/03/04(日) 13:19:36 ID:nhdG+7sO
>>404
それは嘘だ。
ZENABLEをONにするということは
ピクセル単位のZバッファカリングを有効にするということ。
遠近感の計算はプロジェクション行列で決まる
406名前は開発中のものです。:2007/03/04(日) 13:27:24 ID:oUrRIoe1
ワロス
407名前は開発中のものです。:2007/03/04(日) 13:28:21 ID:6Bwv+Myt
D3DXのせいで仕組みがさっぱり分かっていな状態でプログラムを組む馬鹿が増えすぎ。
すぐに途中で詰まって馬鹿なことを触れ回るし。

>>404はまずD3DXを使わず、自前で計算する部分を作れ。
射影行列を作るくらい大して時間はかからんから。
408名前は開発中のものです。:2007/03/04(日) 13:28:41 ID:hg79D5IH
>>404
ttp://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c_Dec_2005/D3DXMATRIXperspectivefovlh.asp
これの下に書いてあるのが射影行列ね。
これでzを計算すると(3列目ね)
Zp = zf/(zf-zn) - zn*zf/(zf-zn), Wp = z
zf が 0 だから 最終的な Z(Zp/Wp) は常に0になるわね。
同じz値の場合、後から描画したポリゴンが上書きされるわけよ。
逆にこの式では、znとzfは遠近感(x,y)には関係してないはずなのよね。
409名前は開発中のものです。:2007/03/04(日) 13:30:10 ID:LKvKLn/o
>>405
嘘じゃないです。
試してみれば分かります。
とにかく、プロジェクション視界を-1〜0にすると、
遠近感のみが維持されて、z値の前後関係が無視されます。

これはどういう事なのか、誰か知ってる人がいたら教えてください。
410名前は開発中のものです。:2007/03/04(日) 13:33:09 ID:LKvKLn/o
>>407
馬鹿、馬鹿って、とにかくそうなるのは事実なのだから
(やってみればすぐに分かります。計算云々の問題じゃなくて
 現実がそうなのだから仕方ないのです)
それについて、誰か「知ってる人」がいたら教えてください
411名前は開発中のものです。:2007/03/04(日) 13:34:47 ID:nhdG+7sO
>>410
>>408に答え出てるんだから、それ見てから返事したら?
412名前は開発中のものです。:2007/03/04(日) 13:50:04 ID:LKvKLn/o
>>408
なるほど。
zfを0にしての計算そのものが、単純に結果反映されてたのですね。サンクスです。
413名前は開発中のものです。:2007/03/04(日) 14:03:14 ID:LKvKLn/o

無知な人ほど、口汚く罵る、という事も分かりました。
414名前は開発中のものです。:2007/03/04(日) 14:13:19 ID:nhdG+7sO
>>413
逆に聞くけどZENABLEがOFFの時に遠近感が計算されなかったのは何故か説明できる?

ついで言うとその手法でZカリングを無効にするのはZENABLEをOFFにした場合より遅い。
間違いの根本を改善せずにパッチワークで修正してるようなものでお勧めは出来ない
415名前は開発中のものです。:2007/03/04(日) 14:20:18 ID:WcQXXfjj
3Dプログラムを作る上で、あまりに基本的な部分をすっとばしいたら、
今後何かやろうとしたときにすぐにダメになることは目に見えているのに、
何故、基礎から学習していこうとしないんだろう?
416名前は開発中のものです。:2007/03/04(日) 14:22:31 ID:mELvsFnZ
基礎から学習していたらいつまで経っても前に進めないからだよ。
背伸びしてナンボ。
過去書いたコードのダメな点は、後から気付けばいい。
417名前は開発中のものです。:2007/03/04(日) 14:27:39 ID:LKvKLn/o
>>414
単純に、z関係を計算しないからじゃないですか?
遠近感によるXスケールとYスケールを計算する分、
ZENABLEをOFFにするより遅いのは当然ではないですか?
しかし、上レスで繰り返し述べてる通り、
遠近感によるスケーリングのみを有効にしてそのカリングを無効にできるので
特定シーンの表現時に非常に有用だった訳です。
根本?はそれです。
お勧めできないとの事ですが、外に正規のやり方があるのなら何とぞ教えてください。
418名前は開発中のものです。:2007/03/04(日) 14:33:14 ID:LKvKLn/o
>>415
基礎の必要性はもっともですが、その基礎すら説明できない癖に
口汚く罵るだけの、自称エキスパートがいるから問題なのです。
罵倒するのは良いが、>>408氏の様に具体的回答も同時に併記すべきなのです。

ロクに知識もない癖に分かってる気分で、結局は罵倒するだけの
中2病患者は、このスレで回答者を気取るべきではない、
とそういう事です。
419名前は開発中のものです。:2007/03/04(日) 14:37:44 ID:Ef0hz5Fj
回答する人間の気分を悪くして回答が得られると思ってるのか?面白いやつだなw
420名前は開発中のものです。:2007/03/04(日) 14:43:09 ID:nhdG+7sO
>>417
え?まじ?ほんとにそうなってる?
それはむしろDirect3Dの固定機能パイプラインの実装を疑うな…

D3DRS_ZENABLEが使えないなら、他に手はもうない。

SetRenderState(D3DRS_ZENABLE,FALSE);
が使えないなら、
SetRenderState(D3DRS_ZFUNC,D3DCMP_ALWAYS);
が適当かと。
(高速かどうかは不明。GPUによっては速いのもあるかもね)

固定機能パイプラインの挙動が変ならシェーダできちんと遠近計算は行って
ZENABLEをOFFするのが最もパフォーマンス的に有利だと思う。
(Zバッファとの比較をする必要がないから、当然速い。)
421名前は開発中のものです。:2007/03/04(日) 14:43:46 ID:mELvsFnZ
別にいいんじゃね?
一人が回答を返せばそれで十分だし、
わざわざ相手のことを罵る人間には期待せんでも。

まぁ、俺だったら、いちいち罵倒表現を挟む奴はシカトするが…。
422名前は開発中のものです。:2007/03/04(日) 14:44:56 ID:nhdG+7sO
あ、変なところで書いちゃった。

>D3DRS_ZENABLEが使えないなら、他に手はもうない。
この続きで
>射影行列で0に射影すると考えれば理論的には正しいのでその手法でよいと思う。それ以外に、

が続く
423名前は開発中のものです。:2007/03/04(日) 14:58:38 ID:gjS6j+/i
>>ID:LKvKLn/o
いい機会なので、透視変換について勉強すれ
これがわかれば世界が広がるぞ
誰しもが通ってきた道だし
424名前は開発中のものです。:2007/03/04(日) 14:59:49 ID:HAhTvGLC
回答を求めているのに偉そうに振舞う常識のない質問者もいれば、
煽るだけで何の知識のない似非回答者もいるってことだ。
こういう場だと納得した上で利用せんと神経が擦り切れるだけだ。
425名前は開発中のものです。:2007/03/04(日) 15:01:01 ID:nhdG+7sO
って、修正したって明らかに文脈変だ。なんか泥沼orz
このSHIFT+Enterで書き込みって機能いらねぇ…

で、正当性を確かめるためD3Dのサンプルで実験したけど、ちゃんと遠近計算されてるぞ。

プログラムはこちら
C:\Program Files (x86)\Microsoft DirectX SDK (April 2006)\Samples\C++\Direct3D\Tutorials\Tut06_Meshes

ここのD3DRS_ZENABLEをFALSEにした結果と
プロジェクション行列の計算を言うとおりに変更した結果のプログラムは同等に見えるけれど。

D3DRS_ZENABLEの値を変更したときに行列設定のパラメータも弄ってたんじゃないの?
426名前は開発中のものです。:2007/03/04(日) 15:06:01 ID:Xjqd8ZGI
バグによる未定義な結果を前提にする意識をも
情報統合思念体は存在を許容するのだろう
427名前は開発中のものです。:2007/03/04(日) 15:15:07 ID:nhdG+7sO
このまま話続けたいが会社いってくるお(;^ω^)
428名前は開発中のものです。:2007/03/04(日) 15:16:57 ID:LKvKLn/o
>>425
失礼。
先ほどテストした時は、他の平面シーンでの行列を設定したままでした。
D3DRS_ZENABLEをFALSEでも遠近感OKでした。
速度的にも速いので変な引数指定しないで、そっちにします。
429名前は開発中のものです。:2007/03/04(日) 15:18:36 ID:nEqCcXxa
勉強するのがいやなら、ありもののライブラリで楽をするのがよい。
おかしくてもライブラリのせいにできるしな。
430名前は開発中のものです。:2007/03/04(日) 20:44:06 ID:OhfMbprN
単純なXファイルでID3DXMesh::DrawSubsetを使って描画するオブジェクトと、
ボーンが入っていて、プログラムシェーダーを使って描画するオブジェクトが混在しています。

オブジェクトごとにID3DXEffect::Begin 、ID3DXEffect::Endを使って切り替えて描画するのでしょうか
それとも、Xファイルを描画できるプログラムシェーダーを用意するのが一般的なのでしょうか?
431名前は開発中のものです。:2007/03/05(月) 01:11:36 ID:fwkSKMEt
場合による、どうせ重いのはDrawPrimitiveとSetTextureなので状況にあわせて変えればよい。
432名前は開発中のものです。:2007/03/05(月) 01:18:54 ID:rVqHvG+2
2D限定で
最近のビデオメモリの転送速度なら裏画面のサーフェイスをメインメモリに置くようにしたり
裏画面を二つ用意してトリプルバッファリングする
とかいう面倒くさいことしなくても大丈夫なの?
433名前は開発中のものです。:2007/03/05(月) 04:43:15 ID:/YNg+U8t
5年前くらいに
DirectDrawのbltに頼るより自前の方が早いし
ハードの不具合に煩わされないと言われていたな。
434名前は開発中のものです。:2007/03/05(月) 05:38:47 ID:fNMjlOXO
>>428
それは嘘です。
Zバッファを無効にすると、遠近感も無効になってしまうのです。
試してみれば分かります。やってみればすぐに分かります。
現実がそうなのだから仕方ないのです。
435名前は開発中のものです。:2007/03/05(月) 06:42:21 ID:eb35G08G
特定の環境では、バグの動作も一定の再現性を持つ
経験則を疑うことを知らない井の中の蛙は
信じているものがオマジナイにすぎないとは知らず
いつか自作プログラムを世に出したときにDirectXが不安定だと騒ぎ出す
436名前は開発中のものです。:2007/03/05(月) 06:54:08 ID:zGyru/L8
でっていう
437430:2007/03/05(月) 08:04:49 ID:EbZTllJt
>>431
サンキュー
438名前は開発中のものです。:2007/03/05(月) 08:46:10 ID:FgDKutHE
ニンテンドーDSでマリオカートをやったんですが追い抜いたり追い抜かれたりすると音が真横を通って後ろから聞こえます。
最初はドップラー効果で錯覚させてるのかなとも思ったけど本当に真横から聞こえてくるので不思議なんですが(それに携帯機だし)
たとえばDirectSound3DやEAXやドルビーデジタルやドルビープロロジックIIxなんかで実装されてる技術で
どういう概念や理論や数式が使われてるんでしょうか?

たとえば耳と耳の感覚が20cmとすると波長がそれより長い音波はある瞬間において音圧の差が左右の耳で発生しないため指向性が無くなる、
とかいろいろ音の理論はあったと思います。

----------------------------------------
たとえばドップラー効果は

f * { (O + v1) / (S + v2) } = f'

みたいな式だったと思います。
------------------------------------------

まあそれを勉強できる良いサイトや本でもいいんですが・・・・
439名前は開発中のものです。:2007/03/05(月) 08:58:09 ID:e8K416qn
音響理論はスレ違いでしょう。
DirectXでは音源位置やエフェクトを設定するくらいしかやること無いんだし。
440名前は開発中のものです。:2007/03/05(月) 09:19:26 ID:FgDKutHE
DirectXは現状EAX2.0のオクルージョンとかに対応してませんでしたっけ?
たしかEAXはOpenALにオープンソース化で使いやすく!とか言ってたのはどうなったんだろう。

これはDirectXの実装の質問ですがモデルのxファイルと3D音響データと
コリジョン計算用のデータ(多くの場合球か直方体でしょうか?)ってどっからでもアクセスできるように同じレベル(クラス)で保存しとくんでしょうか?
同じキャラをたくさん出すのにジオメトリックインスタンシング等の技術は同じく使えるのかな?

それから米国にはGamasutra(ガーマスートラ?カーマスートラのもじり?)とかいうゲーム開発者専用の雑誌がありますが日本には無いんでしょうか?
441名前は開発中のものです。:2007/03/07(水) 19:46:48 ID:YBqNPnG0
>>LKvKLn/o
亀レスだが、大学中退して線形代数をちゃんと勉強しなかったことを
ド後悔したお兄さんが、周りの言ってたことの意味を教えてあげよう(/ω\

まずZバッファについてだけど、”Zバッファは”遠近感(遠くのものが小さく見え、
近くのものが大きく見えるという意味だよね?)には関係無い。
Zバッファというのはもっとハードウェア寄りの概念で、
最終的に2Dに変換された座標を、ディスプレイの平面上にピクセル(点)を描くときに、
ピクセルAとBどっちが手前にある&どっちが隠れるかをビデオカードが判別するためのもの。
ちなみにだいぶ昔はZバッファではなくZソートという手法が使われてて、
頂点ごとではなくポリゴンごとにZ値を保存していた。
だから交差するポリゴンは正常に描画できない(ちらつく)という問題があった
(プレステ1やサターンを思いだせばわかる)。

もうひとつは、行列について(プロジェクション行列やら透視変換やら言ってたやつね)。
もし高校で行列を習ったことがあるなら教科書をひっぱりだしてくるべし。
行列というのは、線形代数に使われる計算で、
「ベクトル(≒座標と考えて良い)を、ある空間から別の空間に変換する」性質がある。
あるオブジェクトのローカル座標を、ワールド空間における座標に変換できるのもソレ。
回転や移動もそう。ある座標Vに対し、
cosΘ 0 -sinΘ 0
0 1 0 0
sinΘ 0 cosΘ 0
0 0 0 1
この行列を掛けると、Y軸を中心としてVをΘ度だけ回転した座標が出てくる。
手計算でやってみそ(めんどくさいがw)。
この行列を作ってくれる関数が、D3DXMatrixRotationY()なのね。
442続き:2007/03/07(水) 19:47:36 ID:YBqNPnG0
透視変換(カメラから見た3次元座標を、スクリーンの2D座標系に
変換する行列計算)も、同じように4×4行列の計算で出来ている。
D3DXMatrixPerspectiveFovLH/RH()がそう(>>408)。
今調べてみたんだが、本当はその行列自体で遠近感を表現できるわけでは
ないらしい。が、その計算結果のw((x, y, z, w)のw)でxとyをそれぞれ割るらしいのだ。
そしてそのwはzに比例する(z/d dは前面クリッピング距離)ので、
遠いところにある=zの大きい座標ほど、xとyが小さい値になるのだ(つまり小さく見える)。

それぞれの行列の何行何列が何になってるかを暗記してるような人は
そうそう居ないと思うが、大抵この辺りの基礎は漠然と知ってるのが普通なんだな。
というわけで突っ込まれても当たり前ということだw
突っ込まれたら、とりあえずは自分のコードや知識を疑ってみるべし。そしてちゃんと礼も言えw
何の回答にもなってないレスは無視する他ないけどな。

ところで透視変換行列で出てきたwでx, yを割る処理は、
シェーダのコードですら見たことないから、
「最終的に出てきた(x, y, z, w)のxとyをwで割り、zをzバッファに入れる」
という処理はシェーダでもいじれない、完全にDirectXが勝手に行う
処理なんだろーか??

長文&スレ汚しスマソ、久々に回答しようとして調べてたら
楽しくなってダラダラ書いてしまった・・・
443名前は開発中のものです。:2007/03/07(水) 21:24:07 ID:UUMgQQxe
>「最終的に出てきた(x, y, z, w)のxとyをwで割り、zをzバッファに入れる」
>という処理はシェーダでもいじれない、完全にDirectXが勝手に行う
そうだね、基本的にVertexShaderは同次座標を返すもんらしいので。
xyzwのwの概念は難しい、座標(4,4,4,2)と座標(2,2,2,1)は
3次元の世界では同じ位置になるらしい。よくわからんが。

ところで、GPUにはサーフェス⇔サーフェイスまたはテクスチャ⇔テクスチャの
コピーって機能はないのかな?これがあればやGPUだけでやれることの幅が広がるのだが。
444名前は開発中のものです。:2007/03/07(水) 22:14:56 ID:0khnIMkk
>>443
StretchRect
445名前は開発中のものです。:2007/03/07(水) 22:37:55 ID:UUMgQQxe
>>444
それはレンダーターゲットじゃなきゃだめだよねえ
もっと具体的に言うと、頂点バッファレンダリングがやりたかったんだが
最新の環境じゃなきゃ無理かなぁ
446名前は開発中のものです。:2007/03/08(木) 00:55:20 ID:zcCc+Hd8
頂点バッファレンダリングってなんぞ?
447名前は開発中のものです。:2007/03/09(金) 00:21:48 ID:qOYzm1K7
唐突の質問でごめんなさい。
DirectXを使ったポリゲーとかのモデルデータは主にどんなソフトを
使用して造られてますか?
色々調べたのですがPOSERで基本的なモデルを造ってShadeで加工して
骨を入れたりできるんですかね?
448名前は開発中のものです。:2007/03/09(金) 00:35:06 ID:Ya7Ueb4l
3DSMAX
449名前は開発中のものです。:2007/03/09(金) 00:43:05 ID:Tl/woHHE
俺、LightWave。 たまにメタセコも使う。
450名前は開発中のものです。:2007/03/09(金) 00:47:34 ID:/n6RX9Pm
Carrara5
セーブデータがテキストなんでコンバータ作るのが楽。
451名前は開発中のものです。:2007/03/09(金) 01:06:26 ID:qOYzm1K7
現実的な値段で言うとCarrara5ですね・・・POSERも対応できるし・・・
452名前は開発中のものです。:2007/03/09(金) 09:47:29 ID:P7ZfHw9e
俺はLightwaveだな。
何気に今かなり安いし。
453名前は開発中のものです。:2007/03/09(金) 13:39:54 ID:tm+8i02+
Lightwaveが多いな・・・俺もだが。
4大ソフト以外を選ぶときは、XFileが吐けるかどうかぐらいはチェックしとけよ。
454名前は開発中のものです。:2007/03/09(金) 16:16:04 ID:Mw7HUeps
つまりBlenderを使う私は生きていてはいけない。
私は死ぬべきだ私はゴミでありクズだ。
私は死ななければならない私は存在してはならない。
私の価値は存在しない私は消滅しなければならない。
455名前は開発中のものです。:2007/03/09(金) 16:42:20 ID:yjNEgUL7
>>372
>>375
>>382
>>454
 
そのネタつまらないから。
456名前は開発中のものです。:2007/03/09(金) 20:22:31 ID:7fh0DRhm
>>446
頂点バッファをレンダリングターゲットにして
GPUで構築する技術
まあ過渡期のもので気にすることなし
457名前は開発中のものです。:2007/03/09(金) 21:09:00 ID:pn+lVbB3
XNAでゲーム造りたい人で一番安上がりなモデリングソフトは何ですか?
ぶっちゃけ統合環境は只同然で手に入るけど3dソフトが馬鹿高いので敷居は
そのままのような・・・
458名前は開発中のものです。:2007/03/09(金) 21:29:38 ID:Vgip0Dq9
>>457
フリーので十分
459名前は開発中のものです。:2007/03/09(金) 22:34:05 ID:vMIm7ZEs
んーでもWindowsは描画系が弱いから、ボードゲームみたいな感じのもの以外の
ゲームを動かすのはかなりきびしいんじゃないかな。
昔はプログラムからハードを直接叩いて描画の高速化とかできたけど、
今のWindowsXPとかではそんなのは不可能だし、正直ゲームには向いてない気がする。
460名前は開発中のものです。:2007/03/09(金) 22:36:19 ID:Od3skjf3
ねーよw
461名前は開発中のものです。:2007/03/09(金) 22:45:00 ID:P7ZfHw9e
>>459が何をいってるのか分からない
462名前は開発中のものです。:2007/03/09(金) 23:21:12 ID:Tl/woHHE
10年前ぐらいからタイムスリップしてきたのか?
463名前は開発中のものです。:2007/03/09(金) 23:37:49 ID:7fh0DRhm
W・I・N・G! W・I・N・G!

え?WinGってウインジーじゃなくてウイングって呼ぶの??
464名前は開発中のものです。:2007/03/09(金) 23:49:47 ID:yjNEgUL7
>>459
ねーねー、誤爆さん。
本当はどこに投下するつもりだったの?この珍発言。
465名前は開発中のものです。:2007/03/10(土) 07:39:47 ID:IHxsq4g+
>>459
おまえはWindowsのゲーム見たことないのか
466441:2007/03/10(土) 07:52:35 ID:fxxUTe2c
>>443
同次座標調べてみますた。
むず;;;;;;
まぁありがとっすー。また一つ賢くなったかも?(つ´∀`)つ

>>459
Windows3.1〜95までしかまともにさわったことのない上司のウンチクを
真に受けてしまった可哀相な人発見
何の分野でコード書いてるのか気になって眠れなかったじゃないか
467名前は開発中のものです。:2007/03/10(土) 10:21:09 ID:aZsLnSu1
>>459の釣りしっぷりにワロタ
468名前は開発中のものです。:2007/03/10(土) 11:37:08 ID:K6+AX9DF
>>447
モデルを造るソフトから造った。
469名前は開発中のものです。:2007/03/10(土) 12:53:31 ID:OTVyj9gf
>>447
モデルはLightwave、テクスチャはPhotoshop
ビックカメラやヨドバシカメラならほどほどのお値段で買えて
ボーンやアニメーションなど機能的にも満足。
470名前は開発中のものです。:2007/03/10(土) 15:26:03 ID:8yWGcQvG
>>459の人気ぶりにshit!!!
471名前は開発中のものです。:2007/03/10(土) 18:09:23 ID:3mW/G7bm
AliceSoftあたりってまだそんな感じじゃないの?
472名前は開発中のものです。:2007/03/10(土) 18:57:34 ID:fxxUTe2c
数年前あたりのAliceSoftのゲームやったことあるけど、
グラボ弱い環境の人のために2D描画はDirectGraphicsは使わずに
MMXやSSEでのみ高速化してるっぽかった。
DirectSoundは使ってたけどソフトウェアエミュレーションがデフォになってて、

3Dのダンジョンなんかは、ソフトウェアの自前レンダラーがデフォで、
Direct3Dはオプションだった(ダンジョン自体ローポリだから余裕っぽい)。
最近出てるのはどうなのか知らない
473名前は開発中のものです。:2007/03/10(土) 19:33:07 ID:eQx0raz1
そういうのは、もうFlashでいいんじゃないかと思うw
474名前は開発中のものです。:2007/03/10(土) 19:49:48 ID:y/DSJn38
昔の人は大変だったんですね
475名前は開発中のものです。:2007/03/10(土) 20:34:09 ID:5mQlchkH
いや、今でもアリスのソフトはそんな感じ。
476名前は開発中のものです。:2007/03/10(土) 20:45:32 ID:sC7+1Y6R
新作ではさらにグラフィックの負荷落ちてるからな。
477名前は開発中のものです。:2007/03/10(土) 20:49:12 ID:AS2L6Xwu
それでやっていけるのはむしろ羨ましい。
DirectXのバージョン追っかけるのはもう疲れたよ('A`)
478名前は開発中のものです。:2007/03/10(土) 21:55:58 ID:OTVyj9gf
逆に言えば今の状態がアリスの限界ということになるな。
ゲーム自体は10年前からまったく進化してないしな。
479名前は開発中のものです。:2007/03/10(土) 22:05:01 ID:AxN7PzLa
そもそもそんな3Dバリバリは求められてないだろうしなあ。
3Dエロゲはネタとしては面白いけど客層選ぶし。
自前でレンダリングした方が環境差は出にくそうだし、
限界っていうか最適解の一つって感じじゃないかな。
480名前は開発中のものです。:2007/03/10(土) 22:06:42 ID:bINPNEs6
つまり学歴が一番重要なのですね
私は生きていてはいけないのです
481名前は開発中のものです。:2007/03/10(土) 22:39:56 ID:OTVyj9gf
まぁアリスはエロゲ会社だしな。
路線としては正しいわな。

入りたいとは思わないがw
482名前は開発中のものです。:2007/03/10(土) 22:40:04 ID:7XKop8cx
じゃあ死ねばいいじゃん。
483名前は開発中のものです。:2007/03/10(土) 22:59:13 ID:S5IuAcGa
>>480
きめぇ!
484名前は開発中のものです。:2007/03/10(土) 23:25:32 ID:HBi+aoex
>>372
>>375
>>382
>>454
>>480

そのネタもう秋田から。
485名前は開発中のものです。:2007/03/11(日) 02:39:14 ID:XrMw7Nja
ADVは仕方ないとしても、戦○ランスはSLGなんだから
幾らでも3D演出の必要性があるはずなのに、
戦闘シーンなんか、完全2Dだったからな‥

ちなみに昔のアリスは決して保守的(懐古的)じゃなく、エロゲ初の
HD専用ゲームを出したり、マニア以外誰も持たないような
256色Gボード専用のゲームを出して、ファンに購入させたりと
結構無茶な事をやってた。
486名前は開発中のものです。:2007/03/11(日) 03:26:53 ID:o/QN6OSX
アンケート結果で、ユーザーの大半が低スペックマシンを使ってたんじゃね?
エロゲユーザーはFPSユーザーと違って、ゲームのためにマシン買い換える
なんて人少ないだろうし。
そんなうちのPCもつい最近までラデ8500LEでCPU1Ghz未満だったもんなw
487名前は開発中のものです。:2007/03/11(日) 09:13:58 ID:0yF7Gtd2
8500なら全然ましだぞ?
エロゲやってるヤツの中にはMatroxのG400とかもいたりする。
488名前は開発中のものです。:2007/03/11(日) 17:48:19 ID:RIjSHdOe
G400なんて、もう絵描きくらいしか使わんよなw
489名前は開発中のものです。:2007/03/11(日) 18:01:47 ID:9MyuhvAF
>ADVは仕方ないとしても、戦○ランスはSLGなんだから
>幾らでも3D演出の必要性があるはずなのに、

いや、面白かったよ。
面白さは2D、3Dあんまり関係ないなと思った。
490名前は開発中のものです。:2007/03/11(日) 18:22:00 ID:QeaxsuGA
戦略SLGでマップを3Dにしても見づらいだけだからな・・・。
491名前は開発中のものです。:2007/03/11(日) 18:51:09 ID:XrMw7Nja
どう見づらくなるのか理解できん
3Dの舞台に板ポリゴンを配置するだけでも、臨場感は
全然違うものになるはずだが
492名前は開発中のものです。:2007/03/11(日) 18:51:39 ID:f7G63TIz
3Dにして見づらいのは全部そうだから逃げにすぎない。
プログラマの社内権力は>>459の思想でガッチリ固めてるだろうな。
でももう偏屈な頑固職人でしかないだろ。あんまり誉めそやしてもな。
Leafなんかはもっと柔軟そうじゃないか。
493名前は開発中のものです。:2007/03/11(日) 18:54:06 ID:gEpHv7Ve
エロゲはもういいよキモヲタども
494名前は開発中のものです。:2007/03/11(日) 19:08:34 ID:0yF7Gtd2
Leafは調べもしないでGPLのライブラリ使って
関連ゲーム全部ソース公開する羽目になったジャマイカ。
495名前は開発中のものです。:2007/03/11(日) 19:24:09 ID:JhogO1ac
ソースは実費負担だったけど誰か応募した?
496名前は開発中のものです。:2007/03/11(日) 19:45:06 ID:8VgxmEMs
エロゲーなんて全くやらない
497名前は開発中のものです。:2007/03/11(日) 19:48:55 ID:IwsMJ2IK
GPLだから普通にその辺で誰かが配布してたよ
つかLeafもDirectXとかに頼らず自前で描画してたと思うが
498名前は開発中のものです。:2007/03/11(日) 20:06:20 ID:JBiyLwiL
GamDevPukiWiki - ToHeart2ほかAquaPlus/LeafのGPLゲーをいじるスレ
http://gamdev.org/w/?%5B%5BToHeart2%A4%DB%A4%ABAquaPlus%2FLeaf%A4%CEGPL%A5%B2%A1%BC%A4%F2%A4%A4%A4%B8%A4%EB%A5%B9%A5%EC%5D%5D
ToHeart2 ほか AquaPlus/LeafのGPLゲーをいじるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1134405228/
499名前は開発中のものです。:2007/03/11(日) 21:03:03 ID:1s5jqUot
>MatroxのG400
それでも3Dは頂点シェーダまで普通に動く
500名前は開発中のものです。:2007/03/11(日) 21:49:01 ID:c2UwHAkE
>>499
GeForce3から4世代ぐらい前のボードで
シェーダー動かせる訳ないだろ、このマンカスッ!!
501名前は開発中のものです。:2007/03/11(日) 22:00:55 ID:0yF7Gtd2
>>499
G400はHardwareTnLすらないからCPUでエミュレートだぞw
502名前は開発中のものです。:2007/03/11(日) 22:05:47 ID:BCZsqp4H
さすがにもうシェーダー1.1も搭載してないのは切っていいと思う
503名前は開発中のものです。:2007/03/11(日) 22:08:13 ID:Ix6i9Asc
G400みたいな糞、見捨てればいいじゃない
504名前は開発中のものです。:2007/03/11(日) 22:13:43 ID:0yF7Gtd2
1.1も微妙じゃない?
6600レベルで3.0積んでて5000円ちょいで買えるし其の位を最低基準にしてもらいたい・・・
505名前は開発中のものです。:2007/03/11(日) 22:15:12 ID:4P16aE+T
G400は別に糞じゃないだろ
古いから乗り換えした方が良いと思うけど
506名前は開発中のものです。:2007/03/11(日) 22:43:47 ID:003CAqML
G400は当時のビデオカードとしては2Dそこそこ、3D激遅、唯一バンプマップの対応だけ早かった。
507名前は開発中のものです。:2007/03/11(日) 22:58:42 ID:0yF7Gtd2
誰かパフェリアのコトを思い出してやれ
508名前は開発中のものです。:2007/03/11(日) 23:34:41 ID:5IKTBOpL
>>504
とはいっても、どの世代でも廉価版カードのメモリ帯域とフィルレートは最低だからなぁ。
ファン無しロープロファイルの最新のカードでSM3.0動きますよーたって本当に「動くだけ」。
結局、重いのに耐えられなくて2世代前のカードのような使い方しかしない。
SM3.0対応ゲームを買っても画質設定を最低にして遊ぶでしょ。
509名前は開発中のものです。:2007/03/11(日) 23:39:57 ID:5IKTBOpL
ちなみにゲフォ6600ってメモリバス64bitの地雷カードあったでしょ。
510名前は開発中のものです。:2007/03/12(月) 13:14:57 ID:MzZOMuiu
2Dスプライトメインなら6600でも十分だぜ
拡大縮小回転はバーテックスシェーダーに、
加算合成やモーフィング、トランジエントはピクセルシェーダーに投げてやれば
4年前買った安物PCでも500fpsとか出てうっひょーってなる
511名前は開発中のものです。:2007/03/12(月) 14:24:51 ID:uJYlfYqG
64bitあればマシだな。
俺が買った牛丼PCに入ってる6200TCはメモリバス32bitだよ。
画面のプロパティ->アダプタ ではメモリサイズ128MBって表示されるけど
実際にはローカルメモリ16MBだから。オンボじゃないのにUMAだから。
SM3.0対応だけどIntel製チップセットの内蔵グラフィックス機能より重いから。
512名前は開発中のものです。:2007/03/12(月) 14:35:05 ID:uJYlfYqG
あぁ、でもフルスクリーンモードでテクスチャ最小限で
ローポリモデルを複製描画すると超速だよー。
市販ゲーでは考えられない運用方法だから気を付けようねー。
513名前は開発中のものです。:2007/03/12(月) 17:56:02 ID:zK5nhBwb
>>510
6600でなくても十分だからw
514名前は開発中のものです。:2007/03/12(月) 18:20:59 ID:6NBbxUOZ
固定機能のレンダリングパイプでも余裕で出来るエフェクトまで
わざわざピクセルシェーダを組んでやろうとするのは不毛。ただのイジメだよ。
515名前は開発中のものです。:2007/03/12(月) 20:54:04 ID:bu4IlNBA
だって楽じゃん。
516名前は開発中のものです。:2007/03/12(月) 21:45:08 ID:/9snhbnf
[Geforce4MX].。oO(ボクは要らない子。。。ボクは要らない子。。。ブツブツ
517名前は開発中のものです。:2007/03/12(月) 23:30:28 ID:HajQNKIb
SetTransformすら面倒なんだもん。だから固定機能いらない
518名前は開発中のものです。:2007/03/12(月) 23:39:32 ID:e4v1vCnS
2DゲームならGeForcre2でも十分だ。
そんなん作りたくないけど。
519名前は開発中のものです。:2007/03/13(火) 01:40:52 ID:B+EseDYM
>>517
SetTransformはあまり関係ねーな。
あれはジオメトリパイプラインに渡すデータだから頂点シェーダーの話。
頂点シェーダーはソフトウェアエミュレーションで対応できるから問題なし。
520名前は開発中のものです。:2007/03/13(火) 01:45:32 ID:B+EseDYM
あれはジオメトリパイプラインに渡すデータだから頂点シェーダーの話。
 ↓
あれは固定機能のジオメトリパイプラインに渡すデータだから
お前の話は単に頂点シェーダーを使いたいってだけの話だろ。
521名前は開発中のものです。:2007/03/13(火) 19:06:45 ID:4Usw485+
>>500-501
だから、動くだろ?
522名前は開発中のものです。:2007/03/13(火) 19:58:52 ID:ah3UgWir
動くわけがねぇw
523名前は開発中のものです。:2007/03/13(火) 21:37:29 ID:lWHwU9kx
CPUでエミュレートすれば動くだろ。
524名前は開発中のものです。:2007/03/13(火) 22:03:20 ID:+0rUPtK4
CPUエミュはハード関係ないじゃんw
525名前は開発中のものです。:2007/03/14(水) 06:24:23 ID:RdPF1rbo
>>524
だから動くだろ?っていってるわけ。大丈夫?
べつにハード使って動くとは言ってない
526名前は開発中のものです。:2007/03/14(水) 06:59:43 ID:x0XPn/Hb
シェーダってDirect3Dでソフトウェアエミュレーションできるんですか?
知らんかったっていうか自分のコードだとDrawSubset(i)でバグる・・・
何か指定せんとあかんのでしょうか?
527名前は開発中のものです。:2007/03/14(水) 10:05:26 ID:mKFPUahz
バグってるのはあーたのソースだ。
528526:2007/03/14(水) 11:00:21 ID:x0XPn/Hb
出来ました、CreateDeviceでD3DDEVTYPE_REFを指定するだけじゃなくて
D3DCREATE_HARDWARE_VERTEXPROCESSINGを指定しないとダメなんですね。
理屈はよくわからんけど・・・
リファレンスラスタライザの中で、ハードウェア頂点処理(のエミュレーション)を
させることにしておかないと、プログラマブルシェーダのエミュレーションも
出来ねーよ、ということかな。
529名前は開発中のものです。:2007/03/14(水) 14:10:45 ID:BJsdBxOP
>>526
>シェーダってDirect3Dでソフトウェアエミュレーションできるんですか?

スレ嫁この文盲。
「シェーダー」じゃなくて「頂点シェーダー」のソフトエミュの話だよ。

>>528
なんでリファレンスラスタライザなんて糞重いものの話になるんだよ。
「頂点シェーダー」はHALデバイスでもCPUで処理させることできるだろ。
530528:2007/03/15(木) 05:29:33 ID:j+wPN36O
>>529
やってみたんですが出来んかった・・・

・D3DDEVTYPE_HALとD3DCREATE_SOFTWARE_VERTEXPROCESSINGを指定してCreateDevice
・ピクセルシェーダは使わずに頂点シェーダのみ指定
これ以外に何か条件あります?

自分のコードがDX9のHLSL用なんでエフェクトファイルの中で
アセンブリ記述のVSだけを
VertexShader = <asm_hoge_vs>;
みたいに指定してやってみたんですが動きませんでした・・・

HLSLのSetTechniqueじゃなくて従来のSetVertexShaderとかじゃないと
ダメってことですかね。
できれば詳しいこと教えて欲しいっす
531名前は開発中のものです。:2007/03/15(木) 15:27:49 ID:jzVAuBv3
>>530
SkinnedMesh Sampleも動かないの?
532530:2007/03/15(木) 23:57:01 ID:j+wPN36O
>SkinnedMesh
むむ、HLSLで動きました・・・原因がよくわからないなぁ・・
ありがとうございます、色々書き直して試してみます〜
533名前は開発中のものです。:2007/03/15(木) 23:57:53 ID:TN1GcWwx
原因ってそんな難しいことはしてないと思うぞ・・・・・・
534530:2007/03/16(金) 00:02:20 ID:pTy0H8yj
いや、自分のソースで動かない原因ですw
多少ごちゃごちゃしてるので見直さないと・・・
535名前は開発中のものです。:2007/03/16(金) 04:09:31 ID:XUdjwM1j
Displacement mappingってあるっしょ
あれって前もってある程度ポリゴンが細かくないと凹凸は表現できない?
それともかなりのローポリでも自動でポリゴン分割とかしてくれるわけ?
536名前は開発中のものです。:2007/03/16(金) 08:55:32 ID:7mkJ+b6S
>>535
自動的に分割される。
そして分割をハードウェア的にサポートしてないと利用できない。
さらに分割をハードウェア的にサポートしていたのはパフェリアしかなかった悪寒。

今はSM3.0を使えば頂点テクスチャが使えるので、ディスプレイスメントマップは
自分でシェーダーで組むのがスマート。
537名前は開発中のものです。:2007/03/17(土) 01:22:11 ID:XKWZxZIh
皆さん学歴高いですね
538名前は開発中のものです。:2007/03/17(土) 15:39:04 ID:HeAUHxbe
低学歴は生きていて恥ずかしいから自殺しちゃうんじゃない?
539名前は開発中のものです。:2007/03/17(土) 16:10:10 ID:TyyMxKM+
なんでいきなり学歴の話になるのか
540名前は開発中のものです。:2007/03/17(土) 18:41:56 ID:lbqpj+aJ
いまは誰でも入れるから>大学
541名前は開発中のものです。:2007/03/17(土) 20:21:33 ID:jNbIBuSe
その割には予備校は依然儲かっているようだがな
542名前は開発中のものです。:2007/03/17(土) 20:55:48 ID:kEyD4AMv
予備校に入ればが前提なんだろう
543名前は開発中のものです。:2007/03/17(土) 21:06:20 ID:XKWZxZIh
人間の価値は学歴です
私は死ななければなりません
私はゴミです私はカスです
皆さんエリートです
544名前は開発中のものです。:2007/03/17(土) 21:32:08 ID:lbqpj+aJ
ああ、MIT以外は虫けらだw
545名前は開発中のものです。:2007/03/17(土) 23:55:17 ID:36g91tlK
>>372
>>375
>>382
>>454
>>480
>>537
>>543

そのネタもう秋田から。
546名前は開発中のものです。:2007/03/18(日) 11:55:37 ID:jK2wyBdR
インド人が脳ミソ、学歴ともに最強なので、我々低脳民族は死ななければならないな。
547名前は開発中のものです。:2007/03/18(日) 12:55:53 ID:USRHS709
MITよりインド工科大が最強ってあったな
548名前は開発中のものです。:2007/03/19(月) 00:19:26 ID:E/iV7keB
はいはい。武蔵工武蔵工。
549名前は開発中のものです。:2007/03/19(月) 12:51:33 ID:uOo7bnaR
IQ高くて賢くても、現実では余り生産性に繋がりにくいよね。
まぁ大学の研究室でシコシコ教授の手伝いして十年位奉仕してから独自の
研究とかして日の目を観るみたいな事で還元はできるだろうけど、
必ずしも万人がその事に従事するわけではないので大半の人間が学歴は高い
けど中途半端な業で終わってしまうという現実。
550名前は開発中のものです。:2007/03/19(月) 14:54:22 ID:J9joQcTS
>>544-549
釣る奴も釣られる奴も荒らしなんだぜ

■学歴板
  http://tmp6.2ch.net/joke/
■大学受験板
  http://ex21.2ch.net/kouri/
551名前は開発中のものです。:2007/03/19(月) 23:38:54 ID:7joJYtKj
荒らし認定されるのを恐れることなく、書きたいことは書くべき。
552名前は開発中のものです。:2007/03/20(火) 00:07:06 ID:QyN8sP08
なぁ、SM4.0がVistaでしか使えないのは何でなんだぜ?
未だにEAXもまともに使えないVistaになんか移行できねーよ。
553名前は開発中のものです。:2007/03/20(火) 00:11:30 ID:aAZJuoaV
>>552
Direct3D10がVISTAでしか動かないから。

というのはいいとしてXPのときだって最初かカオスだったんだし
MSのOSはSP1がリリースされてからが本番さ。
554名前は開発中のものです。:2007/03/20(火) 00:24:56 ID:riEl90pf
俺はXPで8800の新機能を使うためにOpenGL使い始めたよ。

そういや二強GPUメーカーのガチ対立の構図になって以来
OpenGL対Direct3DみたいなAPIの比較論はすっかりどうでもよくなったな。
555名前は開発中のものです。:2007/03/20(火) 00:38:49 ID:/khoWpUe
技術的にはWin98でもDirectX10動くの?MSが出し渋ってるだけで。
556名前は開発中のものです。:2007/03/20(火) 00:55:10 ID:9onZdUjp
そりゃ頑張れば対応できるけど
頑張っただけの対価に見合わないとかいろんな事情があるんだろ
557名前は開発中のものです。:2007/03/20(火) 01:30:08 ID:y2E6pDqC
>>555-556
そんな話にはならんだろ
そもそもグラボ、オンボードならマザボのドライバがwin98に対応してないじゃん
MSだけ頑張っても駄目だし、ドライバだけ作っても駄目だし。
558名前は開発中のものです。:2007/03/20(火) 01:38:43 ID:UsHMxmEA
>>555
つーか、お前。未だにWin98とか使ってるゴミユーザーが
DirectX10必要だと思うか?SM4.0使わない限りDirectX9以下で
十分なんだぞ?Win98ユーザーがゲフォ8800買うか?wwww
559名前は開発中のものです。:2007/03/20(火) 02:18:49 ID:Oxrufs6c
とりあえずSM4.0がXPで使えないまま放置になったのはMSの都合だな。
Vistaへの乗り換えを促すため。それ以外に何があるってんだ。

NVIDIAは8800用にOpenGL拡張命令を定義してるし。XPでも使えるし。
560名前は開発中のものです。:2007/03/20(火) 08:54:47 ID:9onZdUjp
>>557
だからそういうのを含めて頑張ったところで対価に見合わないってことだよ
561名前は開発中のものです。:2007/03/20(火) 09:27:54 ID:vTKc7Ybj
つか>>556の書き込みってMS様の忠犬ぶりを無駄にアピールしてて
釣り臭いんだがw

>そりゃ頑張れば対応できるけど

テメェごときがMS様の気持ちを分かったつもりになってんじゃねーよカスw

>頑張っただけの対価に見合わないとかいろんな事情があるんだろ

テメェごときがMS様の気持ちを分かったつもりになってんじゃねーよカスww
562名前は開発中のものです。:2007/03/20(火) 09:36:45 ID:riEl90pf
>>560-561

お前達は黙ってゲイツ様のチンポでもしゃぶってろです。
Win98環境はネットに接続せずにレトロゲー(Voodooゲーとか)
専用機として使うのが通のたしなみ。
563名前は開発中のものです。:2007/03/20(火) 10:12:10 ID:9gIFowgi
Voodooナツカシス
Voodoo系のゲームって、なんか画面が明るくて
テクスチャが細かくて、Direct3Dのゲームとは違う味があったような。
ああいうのってどういうとこから来るんだろう?
テクスチャのサイズ制限がきついからどうしても
小さいテクスチャを敷き詰めた感じになりやすいのかな
それを差し引いてもなんか独特の味を感じるんだよなぁ
564名前は開発中のものです。:2007/03/20(火) 10:52:09 ID:aAZJuoaV
Windows2000ですら何年前のOSだと思ってるんだw
565名前は開発中のものです。:2007/03/20(火) 15:44:56 ID:8ysPz3d9
>>563
ビデオカードによって色味が違うのは基本的にはDACの違い。
Voodoo系カード独特の発色はDACでのガンマ補正・コントラスト調整が
ちょっとおかしかったから。(フレームバッファのカラー値は平凡なもの)
16bitカラーのフレームバッファを綺麗に出力するための工夫だと思う。

今時のGPUでもドライバ設定でガンマ補正やコントラストを調整すれば
Voodooぽい色味で出力させることができるよ。
566名前は開発中のものです。:2007/03/20(火) 18:29:59 ID:BHO8nIJ7
他人を罵るしか脳がない低学歴が湧いたかと思えば、
次の瞬間には技術トークに戻っている…。
ダブルバッファリングかよ。
567名前は開発中のものです。:2007/03/20(火) 19:04:59 ID:NzT0P/8J
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
..................................................................................................................................
568名前は開発中のものです。:2007/03/20(火) 19:05:31 ID:NzT0P/8J
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
..................................................................................................................................
569名前は開発中のものです。:2007/03/20(火) 19:09:01 ID:NzT0P/8J
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
..................................................................................................................................
570名前は開発中のものです。:2007/03/20(火) 19:24:01 ID:NzT0P/8J
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
..................................................................................................................................
571名前は開発中のものです。:2007/03/20(火) 19:48:17 ID:NzT0P/8J
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
..................................................................................................................................
572名前は開発中のものです。:2007/03/20(火) 20:43:23 ID:uC1rolnd
もう飽きたのか
573名前は開発中のものです。:2007/03/20(火) 22:05:09 ID:pAU66CZO
>>559
OpenGL/GLSLならWinXPでもジオメトリシェーダーでウハウハみたいだな。
HLSLとGLSLの文法がほぼ同じだし、移行は案外楽そうだね。
574名前は開発中のものです。:2007/03/20(火) 22:18:55 ID:WJl1AaLj
どっちみちハードウェアが1種類しかないし。
10.1がリリースされるあたりまでは微妙だねぇ。

研究用にはいいがゲームは使えないんじゃしょーがない。
575名前は開発中のものです。:2007/03/20(火) 23:09:22 ID:NzT0P/8J
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
..................................................................................................................................
576名前は開発中のものです。:2007/03/21(水) 20:33:00 ID:yK9VorQU
Displacement mappingってマトモに使われてるタイトル無いな
nVIDIA DemoのLunaしかしらねえ
なんかDx11でも未だにDisplacement mappingとか出てるし
577名前は開発中のものです。:2007/03/21(水) 21:32:34 ID:qBzxfa9Q
DirectXの機能として実装されたDisplacement Mappingは確かにぜんぜん使われてないが、
頂点テクスチャ参照機能を使ったものなら幾つかあるぞ。

汎用性をみても頂点テクスチャを使う方法が今後の主流になると思われ。
578名前は開発中のものです。:2007/03/23(金) 16:10:53 ID:0grPuo5Y
ポーズしたときその時点の画面をぼかしたりセピアにしたりのエフェクトかけたいんですけど
テクスチャのピクセルはどうやったら直接いじれるんでしょ?無理?
579名前は開発中のものです。:2007/03/23(金) 16:42:23 ID:vxAgs8Dc
画面全体にエフェクトをかけるのなら
テクスチャのピクセルをいじる必要がないと思うんだが
580名前は開発中のものです。:2007/03/23(金) 19:41:07 ID:7KTQlOlm
そんなエフェクト使ったところでゲームの面白さとは全く無関係。
やろうとするだけ無駄。別の部分に労力を割くべきだな。
581名前は開発中のものです。:2007/03/23(金) 22:35:20 ID:mIw6Ast/
A StretchRectでバックバッファをテクスチャにコピーしてピクセルシェーダで色々する
B GetFrontBufferDataでシステムメモリのサーフェイスに取り込んで手動で加工

582名前は開発中のものです。:2007/03/23(金) 22:40:10 ID:V2teaCuf
>>581
Aは最初からテクスチャにレンダリングしたほうがよくね?
583名前は開発中のものです。:2007/03/24(土) 09:42:47 ID:DMHxOwzb
まぁ普通はピクセルシェーダー使うよな。
584名前は開発中のものです。:2007/03/24(土) 10:18:41 ID:tGvcqcYg
・R8G8B8A8のフォーマット
・変換擬似HDR
・アルファブレンディング対応

以上の条件で良い方法を探しているんだが
何かありますか?

< 単位ベクトル, 長さ >
< 指数, 仮数 >
この変換ではアルファブレンディングに対応できないようで・・
585名前は開発中のものです。:2007/03/24(土) 10:37:18 ID:DMHxOwzb
エンコード
Color.rgb /= MAX_HDR_RANGE;

デコード
Color.rgb *= MAX_HDR_RANGE;


フィルタリングやアルファブレンドが可能で、
クロック数も少ない方法でございます。
586名前は開発中のものです。:2007/03/24(土) 10:37:56 ID:A+8o2yvG
>>584
単位ベクトルなら1成分省略できるが。 z=√(1-x^2-y^2)
587名前は開発中のものです。:2007/03/25(日) 03:33:26 ID:l+gPwhY6
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
..................................................................................................................................
588名前は開発中のものです。:2007/03/25(日) 13:57:45 ID:JcCcGURC
>>585
その方法は思いつきませんでした。
例えば8倍のダイナミックレンジを要する場合
R5G5B5の精度まで落ちるということですか?
んー微妙な値ですね。

>>586
それは知ってます。
さらにルックアップテーブル化するといい感じですよね。
589名前は開発中のものです。:2007/03/25(日) 14:46:05 ID:5YXDte4s
精度がほしけりゃ素直にA16R16G16B16使いなさいよ。

ピクセルシェーダーでの圧縮解凍が必要な時点でPS2.0は
最低条件なんだから浮動小数点バッファが使えないわけないじゃろ。

浮動小数点バッファでメモリ使用量を気にしてるのか、
バンド幅を気にしてるのかはしらんが、
圧縮解凍のコストが高くなると結局処理は遅くなる。
590名前は開発中のものです。:2007/03/25(日) 15:01:10 ID:JcCcGURC
>>589
自分の描画エンジンはマルチパスブレンディングが主になってます。
1パス目:ポイントライト
+ 2パス目:スポットライト...
+ nパス目:デカーリング のような感じです。

LDRではこれで問題なかったんですが
HDRではFPバッファへのレンダリングが必要となり
自分のマシンではFPバッファのアルファブレンディングが出来ない為
何か打開案が必要になったという理由です。

マルチパスブレンディングをシェーダ代替することは出来なくはないですが
エンジンの大幅な改修を要すること、LDRの場合無駄が大きい、描画負荷が大きい
以上の理由でなるべくやりたくないんです。

591名前は開発中のものです。:2007/03/25(日) 15:15:37 ID:5YXDte4s
んじゃ素直に精度を犠牲にするかPPP法あたりを使うかじゃね。
592名前は開発中のものです。:2007/03/25(日) 16:01:08 ID:2Qj5KCvv
PPP法ってなんすか?
593名前は開発中のものです。:2007/03/25(日) 21:44:38 ID:OIzvC3ku
光ファイバーが当たり前の時代にPPPって…
594名前は開発中のものです。:2007/03/25(日) 22:30:10 ID:p2ZtJbYg
595名前は開発中のものです。:2007/03/25(日) 23:30:30 ID:5YXDte4s
正規化して保存するやつっすね
596名前は開発中のものです。:2007/03/26(月) 00:07:41 ID:ZRzet7aU
PPPが何の略かくらい教えてくれよ
597名前は開発中のものです。:2007/03/26(月) 00:24:10 ID:QP0b+gS5
PPP、PPP、PPP、PPP

ろくなもんじゃねぇ!
598名前は開発中のものです。:2007/03/26(月) 04:34:30 ID:EniKBaJ0
prerenderred perspective primitives
599名前は開発中のものです。:2007/03/26(月) 04:49:18 ID:+Zp6AFa7
右下のテクスチャ座標を(2.0,2.0)とかにすると元のテクスチャを4個並べたテクスチャで
いっきに描画されるんですけど、この挙動って保証されてないんでしょうかね?
600名前は開発中のものです。:2007/03/26(月) 05:18:05 ID:OZH/E5ln
601名前は開発中のものです。:2007/03/31(土) 17:08:24 ID:0ZxPFMPP
3dsmaxからXproterを使用して出力したX形式のファイルを読込み、座標変換することなく
画面出力したら、正面ではなく真下から見下ろした画像が出力されたのですが、これは仕様
なのでしょうか?
602名前は開発中のものです。:2007/03/31(土) 17:58:13 ID:f/r8flYl
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
===========================終了===========================
603名前は開発中のものです。:2007/03/31(土) 18:49:31 ID:TNGIpbBT
MAXは座標系が独特。
特許の問題で金払うのが嫌でそうなってるとか
604名前は開発中のものです。:2007/03/31(土) 19:56:35 ID:0ZxPFMPP
>>603
そうだったんですね…。諦めて座標回転させようと思います。
ありがとうございました。
605名前は開発中のものです。:2007/03/31(土) 22:22:34 ID:WIp8QkMZ
MAXが独特とか何でそんな無茶苦茶な発言が出るのか全く理解できないが、
単に右手座標系と左手座標系の違い。
Direct3Dのサンプルと座標系が逆になっていて、奥行きと高さの軸が入れ替わっているだけ。
モデラーとしてはMAXの方がスタンダード。
606名前は開発中のものです。:2007/03/31(土) 22:31:37 ID:TNGIpbBT
俺が知る限りZが奥行きじゃないのはMAX含むCAD系だけ。
左手右手に関してはどっちもあるが殆どのソフトやAPIがZ=奥行きだし。

左右の違いなら別に面倒なことは何もないが、
MAXが特殊だっていってるのはZが高さになってる所だよ。
607名前は開発中のものです。:2007/03/31(土) 22:39:23 ID:AJlZKyET
スタンダードとかどうでもいい
608名前は開発中のものです。:2007/04/01(日) 00:56:50 ID:5xbsw0Fn
右手座標系 - OpenGL
左手座標系 - Direct3D
609名前は開発中のものです。:2007/04/01(日) 03:15:14 ID:FSiZmz8d
>>606
>左手右手に関してはどっちもあるが殆どのソフトやAPIがZ=奥行きだし。

OpenGL等のAPIで「Z=奥行き」の規定があるのはビュー変換以降(カメラ空間・同次クリップ空間)だけで、
ワールド空間でZ軸をどっちに向けようが勝手なんだけど・・・。
(厳密に言えば、射影行列に回転要素を含めればカメラ空間さえも「Z=奥行き」である必要はない。)
ただ単に、ゲーム系ではワールド空間でY軸を上方向にする慣習が根付いてるというだけで、
APIの仕様とは一切無関係の話として理解すべき。

同様に、右手系・左手系についても、
APIの仕様で縛られているのは射影変換後の一番最後の同次クリップ空間だけなので、
それ以前のカメラ空間やワールド空間に関しては、
Direct3Dで右手系を使ったりOpenGLで左手系を使ったりも自由にできる。
そのためにD3DXに*LH系と*RH系の関数が用意されているわけで。
610名前は開発中のものです。:2007/04/01(日) 14:50:26 ID:nIfaTm4X
プログラムを作る上では、右手か左手かは自由に決めることができるが、
モデラーの仕様は自分で自由にカスタマイズというわけにはいかないからな・・・
611名前は開発中のものです。:2007/04/01(日) 18:11:27 ID:aK7v4JwN
最終的にメタセコに通して座標変換すりゃおk
612名前は開発中のものです。:2007/04/01(日) 18:37:40 ID:hk6fX80X
>>611
ボーンアニメーション付きのものとかどうするんだよw
613名前は開発中のものです。:2007/04/01(日) 21:38:22 ID:kV/Aqaxx
>>612
mikoto
614名前は開発中のものです。:2007/04/01(日) 22:05:17 ID:A+VmlKGc
全てはメタセコで解決。maxはどうもなぁ…shadeはお話にもならない。
615名前は開発中のものです。:2007/04/01(日) 22:17:05 ID:kV/Aqaxx
俺は、半分くらいはposerで解決。
616名前は開発中のものです。:2007/04/02(月) 10:31:22 ID:W832FfnK
Xproter自体にも問題ありだよな。テクスチャ情報は関連付けられないし。
maxダメポ。
617名前は開発中のものです。:2007/04/03(火) 08:09:39 ID:hF4sSZUF
ぷよーん作?
サイトの色彩感覚とかもそんな感じなんだけど
618名前は開発中のものです。:2007/04/03(火) 11:07:53 ID:7FICuwgc
>>616
テクスチャ情報はちゃんと入ってるぞ。
なんか情報が逆っぽいから読み込んだ後プログラム側で直してるけど。
619名前は開発中のものです。:2007/04/03(火) 13:02:21 ID:Ogv1WI+l
DirectShowサンプルのVMR9Allocatorで使ってる
IVMRSurfaceAllocatorNotify9::SetD3D()がE_NOINTERFACEを
返す原因を誰か知りませんか?

リファレンス見てもS_OKしか返さないとか書かれていたり、
サンプルは動いているのでウィンドウの作り方か。

グラボに依存して出たりでなかったりのようなので、
デバイスの作り方が怪しいのではないかとおもって色々変更しても分からず・・・。
620名前は開発中のものです。:2007/04/04(水) 23:52:03 ID:blwwOFCK
ヘボいオンボードのビデオカードとかサポート切りたい。
でもスペック表見ないで買うバカもいるからなぁ・・・。
621名前は開発中のものです。:2007/04/05(木) 00:39:53 ID:9/d65znz
透明で発光してるレーザーとかどうしたらきれいに描画できるかね
普通にBLEND_ONE + BLEND_ONEだとどうしても白飛びしすぎる気がするんだ
DEST INVSRCALPHA + SRC BLEND_ONE だと素材作りがめんどい
622名前は開発中のものです。:2007/04/05(木) 03:24:22 ID:yq32FDa6
手を抜くな
623名前は開発中のものです。:2007/04/05(木) 16:18:17 ID:LS8ekt+6
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
624名前は開発中のものです。:2007/04/05(木) 23:48:43 ID:GMOXuMwI
「透明で発光してる」て何だ?

透明ならアルファを0にして描画すればいいよ。
たぶんすっごく速いよ
625名前は開発中のものです。:2007/04/06(金) 00:55:36 ID:fcx4x3sf
>>621
背景を暗くしろ。
626名前は開発中のものです。:2007/04/07(土) 02:28:01 ID:FsbkXvcC
DirectsoundでADPCMのデータを再生したい場合、
自力でPCMにデコードしないとダメなんでしょうか?
627名前は開発中のものです。:2007/04/07(土) 03:09:23 ID:t+zn14TA
DirectSoundを使う場合は、そうです。
DirectShowを使う場合h
628626:2007/04/07(土) 04:18:05 ID:FsbkXvcC
>>627
thanks

ADPCMのデコードか…。
アルゴリズムの情報全然見つからないし、きついですね…。
629名前は開発中のものです。:2007/04/07(土) 04:20:42 ID:MrbAuQFe
ADPCMなんて小学生でもデコードできると思うが
630626:2007/04/07(土) 04:29:24 ID:FsbkXvcC
うーん、
概要だけで具体的な圧縮方法がわからないから、結構苦戦。(ググっても見つからないし)
soxのソースとか見たんだけど、
「こうすればうまくいくっぽい」って事が分かっただけで、
結局意味はわからないし。
631名前は開発中のものです。:2007/04/07(土) 04:38:25 ID:gl3C/wSB
ACM使うんじゃ駄目なん?
632名前は開発中のものです。:2007/04/07(土) 08:06:35 ID:HytXRFHy
えーマジADPCM !?
ADPCMが許されるのは小学生までだよねー
633名前は開発中のものです。:2007/04/07(土) 08:37:37 ID:RpVJ2DmT
DiretctMusicでよめばかってにデコードしてストリーム再生してくれるだろ。
いまさら圧縮WAVなんて使わないけど。
634名前は開発中のものです。:2007/04/07(土) 11:56:45 ID:lW/a3cZ6
DiretctMusictってまだMicrosoftが見捨ててないの?
635名前は開発中のものです。:2007/04/07(土) 12:02:57 ID:RpVJ2DmT
見捨ててないっつーかDirectXAudioに統合されてそれっきり。
その時にDirectMusicでのWav読み込み&再生がサポートされた。

とはいっても大体市販も含めてゲームで使うならOggが殆どじゃね。
636名前は開発中のものです。:2007/04/08(日) 21:08:18 ID:lOITIHQA
Geforce7900GSに換えてからDirectX Texture Toolを使うと
Unable to create Direct3D Device. Please make sure your desktop color depth is 16 or 32 bit.
と16bitか32bitか、確認して下さいとでので
カラー品質を弄くってるのですがなかなかエラーが消えない

これは新しいSDK入れるとかしないといけないのでしょうか
ググっても日本語は1件しか引っかからない、しかもスルーされていた・・・!
637名前は開発中のものです。:2007/04/08(日) 21:18:35 ID:JfLqqKs4
カラー品質ってどんな頓珍漢なところをいじっているんだ?
638名前は開発中のものです。:2007/04/08(日) 21:23:02 ID:j6RR8wzY
>636
そのエラーメッセージに続きは無いの?
d3dref.dllとか
639名前は開発中のものです。:2007/04/08(日) 21:31:47 ID:lOITIHQA
>>637
なんと・・・!
>>638
続きは無いです、Unable〜のみです。
640名前は開発中のものです。:2007/04/08(日) 22:18:40 ID:k+Prmo/h
>>646
カラー品質とか関係ないだろ。
641名前は開発中のものです。:2007/04/08(日) 22:26:09 ID:Qnpo4lXz
>>636
> ググっても日本語は1件しか引っかからない、しかもスルーされていた・・・!

http://www.gamedev.net/community/forums/topic.asp?topic_id=255261
642636:2007/04/09(月) 18:32:21 ID:0DdP67BR
>>640
color depth とあったもんで
>>641
エキサイトにぶち込んだ所再インストールをやってるみたいですね。
ダウンロードに4時間かかるみたいなので、結果はまたその内
643名前は開発中のものです。:2007/04/09(月) 18:35:29 ID:0DdP67BR
30分だった、変な所みてたなw
644名前は開発中のものです。:2007/04/09(月) 20:07:29 ID:0DdP67BR
4時間とか表示されてた割には速く済んだ
Feb2007のを入れたらDirectX Texture Toolは問題なく起動しました。
数々のレス有難うございました。
645名前は開発中のものです。:2007/04/11(水) 15:20:09 ID:J3mbPVHZ
>>642
>color depth とあったもんで

depthに品質という意味は全く無い。
color depthは直訳すれば色「深度」。
色「品質」ならcolor qualityだよ。
646名前は開発中のものです。:2007/04/12(木) 09:51:31 ID:F+rRbvjN
LightWave上で作成されたNULLオブジェクトをXファイルで出力して、
プログラム上でそのXファイルから座標を取り出す方法ってあるんですか?
647名前は開発中のものです。:2007/04/12(木) 09:59:55 ID:fA3Ep4gK
NULLオブジェクトつってもXファイル上じゃただのFrameなわけで、
普通に座標とってくりゃいいだろ。


まぁLightwave使ってるならそのままコンバーター書いたほうが便利だけど。
UV複数持ったりアニメーションの補間処理も細かく制御できるし。
648名前は開発中のものです。:2007/04/12(木) 10:09:23 ID:F+rRbvjN
Frameっていうとスキンメッシュのフレーム関係と同じ意味ですか?
649名前は開発中のものです。:2007/04/12(木) 11:30:06 ID:3lU7kW7h
つーかBBXとのマルチやめろ

内容読んでも答えてやる人に対しての敬意がまったく感じられん
650名前は開発中のものです。:2007/04/12(木) 12:57:12 ID:/E7QuyzB
SDKのヘルプのXファイルの項目を読んでいないのなら問題外だし、
読んだ上で理解できないのなら頭が悪すぎる。
651名前は開発中のものです。:2007/04/13(金) 20:48:43 ID:LAL+zJf0
Directplay Voiceを使ってボイスチャットを実装したいと思ってるのですが
マシンAで開いたセッションに、

lpDirectPlayVoiceClient->Connect( &sndConfig ,&clientConfig, DVFLAGS_SYNC );

って感じの関数で、マシンAとマシンBからセッションに接続して

DVID dvid = DVID_ALLPLAYERS;//全員と会話
hr = lpDirectPlayVoiceClient->SetTransmitTargets(&dvid, 1, 0);

で話し相手を指定してあげればボイスチャットが開始されると思って
いたんですが、相手のPCに声のデータが届きません。
会話の開始にはさらに何かの処理が必要なのでしょうか?

接続やマイクテストは上手く言っており、ボイスチャットに利用したピア
インターフェースを利用して文字列データ等は相手のPCに届くのですが…。

ボイスチャットの良いサンプルソース等無いでしょうか?
652名前は開発中のものです。:2007/04/13(金) 20:50:07 ID:vmpCsFRA
DiretPlayを使うなんて、神々しくて直視できないくらい眩しい。
653名前は開発中のものです。:2007/04/13(金) 21:06:10 ID:LAL+zJf0
>>652
まぁ、DirectPlayはメモリリーク等の悪い噂も良く聞きますね。
メインの通信にはwinsockを使っているのですが、ボイスチャットに関しては
Directx以外の手段を知らないのでとりあえずDirectPlayを選択しています。

とはいえ、セッション開始マシンが抜けた後のセッション引き継ぎ処理
なんかを自動でやってくれるのはなかなか良さ気な気配はしてます。
(まだ動くとこまでいってないので説得力無いですが…)

ボイスチャット関連で他に良さそうなライブラリ等ありましたらご教授
くだされ。
654名前は開発中のものです。:2007/04/13(金) 21:06:25 ID:GM1Kbu2L
DiretPlay!!!!
DiretPlay!!!!
DiretPlay!!!!
DiretPlay!!!!
DiretPlay!!!!
655名前は開発中のものです。:2007/04/13(金) 21:14:09 ID:LAL+zJf0
何このDirectPlayのおちょくられっぷり。

やっぱり。「DirectX9実践プログラミング」もう一冊買うしかないのか!?
あれにDirectPlayVoiceのサンプルがあるのは知ってるんだがCDを
紛失してしまったんだよなぁ…。orz

誰か!DirectVoiceのサンプルソース知ってたらご教授くだされ!
656名前は開発中のものです。:2007/04/13(金) 21:25:33 ID:GM1Kbu2L
DirectVoice!!!!
DirectVoice!!!!
DirectVoice!!!!
DirectVoice!!!!
DirectVoice!!!!
657名前は開発中のものです。:2007/04/13(金) 21:27:03 ID:LAL+zJf0
「DirectPlay は不適切となり、旧式のものとみなされています。
DirectPlay ランタイム コンポーネントは、オペレーティング
システムでサポートされていますが、ヘッダー・ライブラリ・
ドキュメントは将来のリリースの SDK で削除されるでしょう。
既存のアプリケーションを修正するとき、このコンポーネントへの
依存性を削除することを強く推奨します。」

  DXreadme (December 2004) より。



なるほど、そういうことかー。(^^

Fuck!
658名前は開発中のものです。:2007/04/13(金) 22:40:10 ID:LAL+zJf0
サンプルはDirectXSDK2003summerのサンプルの中にありましたので自己解決です。

いや、しかしですよ。winsockは低レベル言語過ぎて、実装が結構大変。
そう考えるとセッションとかその辺をDirectX側でやってくれるDirectPlayは
悪い選択ではないと思うのです。

ボイスチャットはSkypeAPIとかで代用できるとしても、データ転送は
DirectPlayの選択肢が無くなったら大分マズいというか、何か他に便利な
通信ライブラリとか存在するんでしょうか
659名前は開発中のものです。:2007/04/13(金) 23:04:17 ID:+v9bRoDy
ないない
無いから作って
660名前は開発中のものです。:2007/04/13(金) 23:04:57 ID:vmpCsFRA
嫌味でもなんでもなくID:LAL+zJf0氏にはDirectPlayを極めて、
伝道師になってもらいたいくらいだが、
何かで躓いた時に原因追求or回避策を練るくらいなら、
WinSockで書いたほうが早いと信じきってる俺ガイル。
なんと言っても既に使い尽くされて、
バグの泉が枯れきってるあたりがいい。
661名前は開発中のものです。:2007/04/13(金) 23:11:11 ID:GM1Kbu2L
>>658

>悪い選択ではないと思うのです。
悪い選択か良い選択かは最終的にお前さんが判断するべきことだろうが、
ヘルプははかなり以前からDirectPlayの項目が存在しないだけでなく
明確に「使うな」と書いてある。(日本語ヘルプは知らん)

3年前のヘルプなんぞ読む暇があるのなら少しは
今の時代の資料を調べることに費やそうとは思わないのかね
662名前は開発中のものです。:2007/04/13(金) 23:11:47 ID:f52vIr5q
DirectPlayのロビーとボイスチャットは魅力的だけどねぇ。
ボイスチャットはともかく、ロビー機能はMSが作ってくれないと
どうしようもないな。
まぁ、DirectPlayのロビーが流行ってたのなんて8年くらい前の話だが。
663名前は開発中のものです。:2007/04/13(金) 23:37:43 ID:vmpCsFRA
ま、個人開発≒個人運営=個人回線だから、
ボイスチャットなんて重くなりそうなものは、
メッセンジャーでもなんでも他の鯖上で動くモノを使うのがいいし、
ぶちゃけメンドウ。
664名前は開発中のものです。:2007/04/14(土) 01:31:41 ID:FDzlpsgS
>>658
データ転送こそWinSockの方がらくだと思うんだが。
VoiceChatをWinSockで実装するのはテラメンドクサスだが・・・。
665名前は開発中のものです。:2007/04/14(土) 09:29:00 ID:cVR64/6s
SDK(April 2007)でまたHLSLコンパイラの挙動が変わったようだ。

以前は以下のパスはOKだった。
#include "HLSL Programs\SkinningFunctions.hlsl"

今回はこうしなきゃNGになった。
fxc ... /I"HLSL Programs" ...
#include <SkinningFunctions.hlsl>

いい加減、VerUPの度にソース修正させるのは
やめよろよといいたい・・。以上グチ
666名前は開発中のものです。:2007/04/14(土) 10:04:48 ID:wBYE7l37
外部から入ってきた連中が主導権を握るようになってからDXはボロボロ
98荒してDX荒してXP荒して・・・何がしたいのかね
667名前は開発中のものです。:2007/04/14(土) 10:14:03 ID:FDzlpsgS
今のDLL祭りとか最低だしな
668665:2007/04/14(土) 10:24:31 ID:cVR64/6s
>>665は変更ではなく機知の問題だそうだ。
いずれ直るかな?

>>外部から入ってきた連中
誰?
669名前は開発中のものです。:2007/04/14(土) 13:49:55 ID:gdYcVZb5
CAsyncSocket はダメですかねぇ?
670名前は開発中のものです。:2007/04/14(土) 17:04:15 ID:DxD2uRz/
おま、、、まさかMFCじゃ、、、
671名前は開発中のものです。:2007/04/14(土) 17:45:05 ID:C1mzRzhH
>>667
ちゅーか、DirectXのWebUpdator再配布させろと・・・
672名前は開発中のものです。:2007/04/14(土) 17:47:24 ID:XY65nRJZ
みんなでoct2004と心中しようぜ
673名前は開発中のものです。:2007/04/15(日) 12:42:51 ID:a2CLl5H7
ROやスターオーシャンセカンドのキャラクターってビルボードで実装されているんですかね?

当たり判定とかってやっぱり3D座標軸で行っているんですよね
674名前は開発中のものです。:2007/04/15(日) 14:04:40 ID:Y6gb8zOd
行っているんですよね、ってあんたはそのゲームの開発者がここにいると思ってんの?
675名前は開発中のものです。:2007/04/15(日) 14:07:13 ID:6KICv/wU
ROに関して言えば、どう見てもビルボードだけど
スターオーシャンはプレイしたことないから分からん。

ROって当たりは取ってるの?あれって立体交差なかったよね?
それなら単なるHeightFieldみたいなのを使えばいいだけの話のような。
(そのデータが狂ってれば、キャラが埋まったりするはず。
そういえば以前そういうマップがあったような…)
676名前は開発中のものです。:2007/04/15(日) 14:14:53 ID:fiD8fIV3
ROはどう考えても単純な二次元配列でしょ
ファミコン時代のFFとかと大差ない
677名前は開発中のものです。:2007/04/15(日) 14:48:28 ID:6KICv/wU
あ、そういやカーリッツバーグとか出てくる場所って立体交差あったっけ?
それだと単なる二次元配列だと上手くいかないかも。
もう何年も前のことで正確に覚えてねぇ
678名前は開発中のものです。:2007/04/15(日) 15:07:24 ID:Lk/dbfRE
ROクライアントのデータの中に各マップのグレイスケール画像があったような
あれが高さ情報になってるんかなと思ってたよ
679名前は開発中のものです。:2007/04/15(日) 15:23:21 ID:W1PnAJQl
RO厨UZEEEEEEEE!!!

ROは立体交差ないよ。俺の行った範囲内ではね。
高度は表示上の問題で、鯖処理では考慮されてる形跡はない。
進入不可セルは高度差を考慮して定められているようだけど、
ウンバラは高度差無視して往復できる場所があるし、
たぶん手で設定してるし。
つかキャラが埋まるセルもあったし高度も手で設定臭い。
680名前は開発中のものです。:2007/04/15(日) 15:40:51 ID:cpBv4BtU
>>673
スターオーシャンは見た目3Dだけど判定はどう見ても2Dだろw
681名前は開発中のものです。:2007/04/15(日) 16:48:02 ID:9E0cCVXZ
SO2は単純にビルボードじゃん。
一応戦闘では高さの概念があるけどあれは単にAABBで判定してるだけじゃん。
682名前は開発中のものです。:2007/04/15(日) 21:14:26 ID:bzLlTmPF
グラフィックが2Dなら、普通はビルボードだろうな

多間接もビルボードって言うんだろうか?
683名前は開発中のものです。:2007/04/15(日) 21:49:09 ID:oywZxiHD
立体交差のフィールドってどう持つのが一般的なの?
ポリゴンから直接計算?
684名前は開発中のものです。:2007/04/15(日) 21:58:28 ID:yJSXz/I0
単純に上下2階層分の配列を持って、坂道の途中で切り替えりゃいいだろ
685名前は開発中のものです。:2007/04/15(日) 22:08:29 ID:PZ7LLaYq
変なのやらせんで普通に3Dやれって
686名前は開発中のものです。:2007/04/16(月) 02:19:57 ID:KVnGasJ1
ポリゴンとレイの判定直接取るのが一番簡単だろうな。
コリジョン用に別にまびいたデータもっときゃいいし。
687名前は開発中のものです。:2007/04/16(月) 02:36:11 ID:UeRmQS4b
>>188
恐らくLuaの事だと思われ
ツクールのRGSSはRubyよん
688名前は開発中のものです。:2007/04/16(月) 02:37:23 ID:UeRmQS4b
誤爆
689名前は開発中のものです。:2007/04/16(月) 02:51:54 ID:m3GoECzb
3Dでも立体交差の無いほうが微妙に単純だし、処理もある程度早い。
690名前は開発中のものです。:2007/04/18(水) 19:14:18 ID:1sdaorfM
DirectPlayのPeerセッションについて質問させて下さい。

Peerセッションが下の三人つのマシンで構成されていた場合
●(静的IPアドレスを持つユーザーA「ホスト」)
○(静的IPアドレスを持たないユーザーB)
○(静的IPアドレスを持たないユーザーC)

Aのマシンがセッションを抜けた場合、ホストの引継ぎが行われ、以下の構成に
なります。

○(静的IPアドレスを持たないユーザーB「ホスト」)
○(静的IPアドレスを持たないユーザーC)

この場合、両者共に静的IPアドレスを所持していないマシン同士での
通信になりますが、通信できるのでしょうか?
(一度静的IPアドレスを持つマシンを介せばskype等のように静的IPアドレスを
 持たないマシン同士でも通信ができる手法があるらしいので恐らくは可能
 だと思うのですが…)

そして、その場合ユーザBのWAN上でのIPアドレスが分かれば別のマシンから
セッションに参加する事が(理論上)出来ると思うのですが可能なのでしょうか?
691名前は開発中のものです。:2007/04/18(水) 19:49:15 ID:fRUuA+cS
Winsockなら
・Bのポートを開放済み
・BのIPアドレスをCに通知
でいけると思うが、DirectPlayは全く知らないし知りたいとも思えないスレ違い。
692名前は開発中のものです。:2007/04/18(水) 20:23:54 ID:T3zlb2DE
>>691
すいません、どこに書き込んだら良いものか迷ったもので。

ちょっと思ったのですが、ホストであるAのマシンはBCのマシンのWAN上の
IPアドレスと接続ポート番号を把握しているはずです。
という事はホストであるAのマシンが抜けた後も次にホストとなるBの
マシンにCのIPアドレスと接続ポート番号を通知してあげればBとCの
マシンで通信が可能だと思うんです。
(DirectPlayはこのホスト引継ぎ作業をDirectX側でやってくれる)

この場合、Bのポートを開放しておく必要は無いので面倒なポート開放の
作業をカットできるはず&上記の理論が証明される(?)と思うのですが
テストする環境が無く、なんともかんとも。
693691:2007/04/18(水) 20:38:23 ID:fRUuA+cS
いや、すまん。俺の書き込みのほうがスレ違いなんだw

Bのルーターでポートブロックしてたらだめなんじゃないかな?

かと思ったがピアツーピアなら、ポート開放しているはずだから、
問題無いのかw失敬失敬。
694名前は開発中のものです。:2007/04/18(水) 20:38:39 ID:KetjIJQd
スレ違いではないんじゃないか
695名前は開発中のものです。:2007/04/18(水) 20:39:46 ID:KetjIJQd
696名前は開発中のものです。:2007/04/18(水) 20:42:28 ID:fRUuA+cS
いや、DirectXスレなんだからWinSockネタはスレ違いd(ry
697名前は開発中のものです。:2007/04/18(水) 20:43:51 ID:KetjIJQd
誤解されてるようだがまあいいや
698名前は開発中のものです。:2007/04/18(水) 21:59:35 ID:MqJgD3zj
そもそも制作メーカー自らDirectPlayは廃止するから使うなと言っているのに、
未だに使い続ける脳味噌の構造が理解できない。
699名前は開発中のものです。:2007/04/18(水) 22:51:48 ID:DK45eTjw
世の中にはWinSockが使えない方のたくさんいるんです。
通信までサポートしてるライブラリってのもあんまり見かけないしね。
700名前は開発中のものです。:2007/04/19(木) 00:33:59 ID:I1WIL8wh
DirectXに長けてらっしゃるスレ有志の方々にお願いがあり
書き込みをさせていただきます。

今まで枯れていなさそうなライブラリをつかって開発してきたのですが
最近パソコンの機種により画像が乱れてしまうバグを見つけてしまいましたorz

ttp://wahiko-web.hp.infoseek.co.jp/cppdou.lzh

ここまで開発してきましたが(注、洞窟物語のクローンです)
枯れているDXライブラリで1から組みなおそうかかなり悩んでいます。
今期冬コミに向けて販売する予定なので、かなり切迫しています。
何卒、アドバイスをお願いいたしますm(__)m
701名前は開発中のものです。:2007/04/19(木) 00:41:04 ID:ya7XaUhy
ソース無しでどんなアドバイスを期待してるのかわからん
702名前は開発中のものです。:2007/04/19(木) 00:58:59 ID:4RHfKML6
>>700
DXライブラリってコレ?
ttp://homepage2.nifty.com/natupaji/DxLib/
名前はしってるが、俺は使ったことない。

てか、スレちがいじゃねーか?w
703名前は開発中のものです。:2007/04/19(木) 01:00:07 ID:ioouviCL
>>700
冬コミ諦める
704名前は開発中のものです。:2007/04/19(木) 01:00:25 ID:I1WIL8wh
>>701
すみません、
ライブラリの方は
ttp://www.plustarnet.com/aspil/Programming/
の方のを利用させていただいてます。

実装の方はここに書いているとおりにしてみました。
(DirectXはライブラリ任せで直接弄った経験が無いです)

バグは拡大、縮小するときに強制終了してしまうのと
      拡大時に画像が乱れてしまうバグの二つです

OSかグラボの仕様で出るのかと考えましたが詳しいことは
分かりません、同じような経験をされた方がいましたらぜひ
ご教授をお願いいたします。
705名前は開発中のものです。:2007/04/19(木) 01:05:20 ID:ioouviCL
>>704
つーか質問下手だな。
どの環境で強制終了・画像が乱れるのかわからんし、
そもそもそのHPのどこを見てどういう実装したんだよ?
706名前は開発中のものです。:2007/04/19(木) 01:05:30 ID:0ieSi5xR
ライブラリってのは
自分でも作れるけど時間がないからとりあえず使う
くらいの心持ちで使うのが常套

手に余る内容なら背伸びし過ぎたと諦めろ
707名前は開発中のものです。:2007/04/19(木) 01:11:42 ID:4RHfKML6
回答側がエスパー能力全開しないと話が進展しない希ガス。
708名前は開発中のものです。:2007/04/19(木) 01:13:35 ID:I1WIL8wh
>>705
OSはMeのノートパソコンで画面乱れ
98のデスクトップで拡大縮小時以上
XPのDELLパソコンでも画面乱れ
グラボは勉強不足でよく存じていません

>>706
たしかに
箴言です。
709名前は開発中のものです。:2007/04/19(木) 01:48:02 ID:ZAoBPihf
>>708
逆にどの機種なら正常にでるんだ?

というかビデオカードの名前も知らないでゲームプログラムできるのか・・・。
710名前は開発中のものです。:2007/04/19(木) 02:06:39 ID:wEYjVTb6
>>700
グラフィックとかマップとか、ほぼ、そのまんまなクローン・ゲームを
冬コミで販売するのはマズイだろ・・・常識的に考えて・・・
711名前は開発中のものです。:2007/04/19(木) 02:07:57 ID:I1WIL8wh
>>709
詳しくは知らないのですが
ライブラリ本家サイトではV-Syncの有無で結構差があるらしく
ハードウェアT&L、3Dハードウェア・アクセラレーション
という機能が導入されていないと難があるようです。
(2Dでの開発なので些事なことと考えていましたがorz)

少々スレ違いではありますが、キーレスポンスや画像がしっかり描写
されているか書いていただけるとありがたいです。

失礼ではありますが、明日早いのでそろそろ落ちます。
有難うございました
712名前は開発中のものです。:2007/04/19(木) 02:10:50 ID:I1WIL8wh
>>710
無償目的で借りることで承諾をいただきました。
有償目的には使いません。
713名前は開発中のものです。:2007/04/19(木) 02:20:49 ID:wEYjVTb6
>>712
許可もらってるなら、いいけど、そういうことは付属のテキストにでも
書いておいたほうがいいよ。
714名前は開発中のものです。:2007/04/19(木) 03:36:17 ID:mMfmhvnG
Geforce7600+XPではキーレスポンス、画像描画共に上手くいってるっぽい。

それにしてもなんという質問下手…
「画面の乱れ」っていうのがどんな症状なのか具体的に書いてあればアドバイス
しやすいかもね。
715名前は開発中のものです。:2007/04/19(木) 03:53:09 ID:4RHfKML6
そのくせ下手に触るとすぐ暴発するパターンだから、
暴発上等で触るべきかどうか、他の住民の出方待ちw
半年ROMれとは言わないが、もうちょっと過去ログ読んで、
他の質問者のやり取りを研究したほうがいいのにな。
716名前は開発中のものです。:2007/04/19(木) 07:39:46 ID:I1WIL8wh
質問の書き込みをした者です

>>713
次回、気をつけます

>>714
98は短冊状にぶつ切りにした状態で現れます
MEのノートでは描写がうまくいっていないのか
ぼやけた状態で描写されるときがあります。
DirextXのバージョンを最新版にしてみても、状態は変わりませんでした

Winmainでは以下の関数でウインドウ作っているようなのですが

g_pFormat->Init(MainWndProc, hInstance, nCmdShow, WINDOW_NAME, MENU_SETTING, SAVE_CONFIG, CONFIG_FILE_PATH,
WAIT_V_SYNC, WINDOWED, WIDTH, HEIGHT, FILTERING_ON, ACTIVE_SOUND, &g_pSprite)

仕様が無いのでどう処理しているのか詳しく分かりません


情報が少なくて申し訳ないです
スレ汚しになるのでROMしなおします
717名前は開発中のものです。:2007/04/19(木) 10:05:51 ID:jc4ZqAA7
>>716
こういう事がありえるから使うライブラリには気をつけたほうがいい。
「ソースが公開されていない」
「ソースの変更が認められていない」
「作者がすでにサポートを打ち切っている」
このどれかに当てはまるような無償のライブラリは使うのは危険。
有料のミドルウェアなんかは話は別だけどそんなん趣味で使う人いないし。


個人的な偏見と評価

EL:無料、サポート×、ライセンス○、使い勝手△「hにすべて書かれていてインクルードするだけ、作者製作サポート打ち切り」
DX:無料、サポート○、ライセンス○、使い勝手○「ごく普通のhとLibで提供、C言語ベース、開発も活発で3Dやらないなら有力」
Lamp:無料、サポート×、ライセンス○、使い勝手△「フレームワーク形式、2年位前から放置されてる」
Luna:無料、サポート○、ライセンス○、使い勝手△「C風で書かれてC++、中身がでかすぎて分かりづらい」
Selene:無料、サポート○、ライセンス○、使い勝手?「インターフェイス形式ですっきりしてるが、C++前提、ツール系そこそこ、3D含めると一番?」
Lue:無料、サポート○、ライセンス○、使い勝手○「知る限り完全にC言語オンリーで利用可能な唯一のライブラリ、ツール系そこそこ、3D含めると一番?」
YJ:有料、サポート○、ライセンスは知らん、使い勝手?「まったく知らん、ツール系は充実してるらしい、3Dもかなり対応ぽい」

海外製のものだとSDLやIRRなんかもあるね。
718名前は開発中のものです。:2007/04/19(木) 12:21:22 ID:DEdgO7bQ
>>717
詳しいライブラリスペック表、ありがとうございます。
おかげで問題が絞り込めてきました。

問題のライブラリはソース、プログラム共、フリーですが
最終更新が2004.01.08ですから頻繁に更新していないようです

ライブラリから組みなおす改善案となると
枯れてそうなDXライブラリかSeleneがよさそうですね。
719名前は開発中のものです。:2007/04/19(木) 18:49:18 ID:1yo5s7cm
>>700
>ここまで開発してきましたが(注、洞窟物語のクローンです)
>枯れているDXライブラリで1から組みなおそうかかなり悩んでいます。
>今期冬コミに向けて販売する予定なので、かなり切迫しています。
~~~~~~~~~~~~
>何卒、アドバイスをお願いいたしますm(__)m

>>712
>無償目的で借りることで承諾をいただきました。
~~~~~~~~
>有償目的には使いません。

販売するのに無償って意味不明、俺が読解力がないだけ?
720名前は開発中のものです。:2007/04/19(木) 19:07:26 ID:k1lgBlkf
無償目的で借りて、有償で売るんだろ?

良心的に判断すれば、素材は一時的に借りただけで、
販売するまでには、自分で素材用意するって事だろうが、
クローンで「自分で素材用意」しましたって言われても、
誰も信用しないよなw
721名前は開発中のものです。:2007/04/19(木) 19:47:56 ID:oukjBr6y
722名前は開発中のものです。:2007/04/19(木) 20:23:45 ID:+mOYjuOG
フリーゲームの劣化移植を
金を出して買う奴がいるとは思えん。
が、元が良いだけにちょっとはいそうだね。
723名前は開発中のものです。:2007/04/21(土) 17:11:10 ID:I2K8YFpV
なんだかんだで一番かれてるライブラリってWinGLな希ガス
724名前は開発中のものです。:2007/04/21(土) 18:28:28 ID:cJtjiAWJ
それは枯れ過ぎw
725名前は開発中のものです。:2007/04/21(土) 21:07:59 ID:PVGTAnRB
質問。DirectX7で、DPlayで、IDirectPlay4インターフェイスが取得できません。
ヘルプにあるコードをコピペしてやってますが、エラー値が帰ってきます。
エラー値の値は、-2147221008 です。
どうやればうまくいきますか?
726名前は開発中のものです。:2007/04/21(土) 21:14:17 ID:RyA7uo8u
CO_E_FIRST -2147221008 0x800401F0 CoInitialize は呼び出されていません。
727名前は開発中のものです。:2007/04/21(土) 21:17:27 ID:I2K8YFpV
COMの初期化してないのかw
728名前は開発中のものです。:2007/04/21(土) 21:36:42 ID:PVGTAnRB
そうです。初期化してませんでした。i|||i
ついでですが、ヘルパー関数を使用せずに、使わないでいるNICのMACアドレスを取得するにはどしたらいいですか?
729名前は開発中のものです。:2007/04/21(土) 21:59:39 ID:I2K8YFpV
WinSockで取れなかったっけ?
730名前は開発中のものです。:2007/04/21(土) 22:07:37 ID:RnSewYgK
netbiosじゃね?
731名前は開発中のものです。:2007/04/21(土) 22:23:54 ID:PVGTAnRB
NetBIOSでできるのは、実際にIPアドレスを取得してるとかのNICだけで
機能しないで刺さってるだけのNICは取得されません
732名前は開発中のものです。:2007/04/21(土) 22:41:50 ID:BJmxw0pU
733名前は開発中のものです。:2007/04/21(土) 22:45:45 ID:a/kECHYx
DirectXを使ってキャラクターをレンダリングしたいのですが、どこから手をつけていいのかわかりません。
作りたいのはゲームのキャラクターを1体表示してそのまわりをカメラでぐるぐる回るアプリケーションです。
基礎的な3Dの知識(透視変換とかzバッファーとか)は勉強しましたが、
ボーンとかメッシュとかデータ構造(テクスチャーをどういう形で誰が保持するのか)がわかりません。
そこでキャラクターを1体表示する完全なサンプルとその解説が欲しいのですが、
どなたか手に入る場所を教えていただけないでしょうか?
734名前は開発中のものです。:2007/04/21(土) 22:51:15 ID:PVGTAnRB
>>732
よく分からんけど、C++のコードから実行できる形オンリーで。
735名前は開発中のものです。:2007/04/21(土) 22:59:31 ID:q2yYBGUf
キャラクターよりまず、
三角ポリゴン1枚を描画して、それの周りをカメラが回るのは作れるのか?
736733:2007/04/21(土) 23:00:44 ID:a/kECHYx
それは作れました(OpenGLで)
サイコロ+テクスチャーまでは作れました。
737名前は開発中のものです。:2007/04/21(土) 23:01:11 ID:jzAAbee2
>>728
#pragma comment(lib, "Iphlpapi.lib")

738名前は開発中のものです。:2007/04/21(土) 23:02:49 ID:jzAAbee2
>>733
DirectXのSDKのサンプルじゃだめなの?
メッシュ表示できるよね?
739733:2007/04/21(土) 23:05:33 ID:a/kECHYx
あれは何をやっているのかわかりません。
740名前は開発中のものです。:2007/04/21(土) 23:17:17 ID:jzAAbee2
>>739
あのサンプル(DXUT部分は置いておいて)で何やってるか分からないと言われちゃうと・・・

http://twin-tail.jp/
ここの
http://luna.sumomo.ne.jp/
このライブラリをお勧めするよ
3DEX_00.exeあたりのサンプルで実現できるでしょう?
741名前は開発中のものです。:2007/04/21(土) 23:38:21 ID:jzAAbee2
追加

メッシュなんてXファイル吐けるモデラ使えばすぐ作れるので(技量にもよるけど)キャラ表示させたいなら。まず、モデリングからじゃないかな
まあ、どうしてもプリミティブ使ってキャラを表現したいなら話しは別ですけど・・・

742名前は開発中のものです。:2007/04/22(日) 03:32:38 ID:Sj08wy5M
人体モデルのスケルトンを動かすには、色々な手法があって
1)CADでメッシュ作って、骨入れて、モーション入れて、Xファイルを出力する。Xファイルをアニメする。
2)プログラムでスケルトン作って、読み込んだメッシュをコントロールする。
他にも新しい技術が色々あるけど、最終目的に繋がる方法を選ぶことでしょう。
743名前は開発中のものです。:2007/04/22(日) 05:00:30 ID:YZWy+Lh2
>>704
ここのライブラリって、他のスレでも、バグ持ちなんで使うなって言われてたけど。
どこだったかな?

>>716
よかったら、こっちも更新してあげてください

GamDevPukiWiki - ライブラリ
http://gamdev.org/w/?%5B%5B%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%5D%5D
744名前は開発中のものです。:2007/04/22(日) 05:40:24 ID:YZWy+Lh2
D3DX使ってると、CPUごとの勝手な最適化のために、
環境によって、リプレイがずれる問題があるようなのですが、
この辺は、みなさんどう処理しておられますか?

参考URL

NyaRuRuの日記 - Deterministic Bullet Works - ■[DirectX]PSGPの無効化
http://d.hatena.ne.jp/NyaRuRu/20040819

CodeZine:DirectX Graphicsの隠し設定を利用した開発テクニック(API Hook, DirectX Graphics, D3DX, C)
サンプル3. DirectXランタイムのProcessor Specific Graphics Pipeline(PSGP)を無効化する
http://codezine.jp/a/article/aid/235.aspx?p=4

とびつきひめ&まじあん けいじばん - ご意見ご感想スレ
http://www.01step.net/tobitsuki/bbs/test/read.php/tobi_bbs/1116256631/1-19

745名前は開発中のものです。:2007/04/22(日) 05:41:58 ID:ShoBxYoW
フレーム毎に各キャラクターの絶対座標をシリアライズ
746名前は開発中のものです。:2007/04/22(日) 05:51:47 ID:YZWy+Lh2
解決策としては、

・D3DXの算術演算ライブラリをエンテティの実行処理に使わない
 つまり、D3DXの計算をリプレイの影響範囲には使わない
 算術周り自前処理?
>>744にあるように、APIをHookして、PSGPを無効化
・レジストリ書き換えで、PSGP無効化('A`)
・面倒なので無視('A`)


サンプル3. DirectXランタイムのProcessor Specific Graphics Pipeline(PSGP)を無効化する
http://codezine.jp/a/article/aid/235.aspx?p=4
とりあえず、↑ページのサンプル3の実行結果を貼ってみる。

環境: Windows XP SP2 Pen4 2.66GHz
        case 1       case 2 case 3
PSGP ON:  0          1.#INF  1.#INF
PSGP OFF: 2.22045e-016  1.#INF  1.70141e+038
747名前は開発中のものです。:2007/04/22(日) 06:55:01 ID:Ohm+ofTu
>>744
最初からズレない形式で保存しておく。
748名前は開発中のものです。:2007/04/22(日) 07:08:10 ID:eQdZ/kWg
固定小数点
749733:2007/04/22(日) 08:07:51 ID:U6UI3zGG
>>740-743
ありがとう。
とりあえずライブラリは使わない方向で考えてます。
あと表示するだけでないDirectXの本とかゲーム開発の本とか教えてください。
理想はゲーム1本まるごとソースが入っていて解説がある本がいいです。
値段はいくらでもいいです。
750名前は開発中のものです。:2007/04/22(日) 08:19:15 ID:H09ubkuC
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
751名前は開発中のものです。:2007/04/22(日) 08:21:17 ID:CENVEWNH
少しは自分で(ry
752名前は開発中のものです。:2007/04/22(日) 08:30:20 ID:YZWy+Lh2
>>745
マジでそれやってるの?
それやってるの見たことないんだけど('A`)
つーか、座標以外の状態もシリアライズしないといけなくないですか?


リプレイって、キー入力とか、イベント処理を記録して再生するものだと思ってました。

>>747
kwsk

>>748
マジデ(゚Д゚)
753名前は開発中のものです。:2007/04/22(日) 08:50:37 ID:CENVEWNH
>それやってるの見たことないんだけど('A`)
まるで全てを知り尽くしたような言い方だな
754名前は開発中のものです。:2007/04/22(日) 09:30:11 ID:RW5VCSAs
>>749
SDKのサンプルが訳ワカメでライブラリも使いたくないって言う時点で
もう自力でどうにかするのも難儀だと思うんだが・・・

自力でやることにはそれほど意味はないぞ。
まずは完成させることに意味がある。
755名前は開発中のものです。:2007/04/22(日) 09:41:35 ID:Sj08wy5M
ゲームの作り方を教えてくれる所があるんだよね。費用が数十万円から数百万円だけどね。
756名前は開発中のものです。:2007/04/22(日) 09:59:22 ID:ShoBxYoW
>>754
「まずは」が重要だな
この副詞がないといろいろ曲解されてしまいそう
757名前は開発中のものです。:2007/04/22(日) 10:48:00 ID:zmxA0Lb/
>>755
9割がゲーム製作に挫折する人である環境で、その悪影響が怖い。
758名前は開発中のものです。:2007/04/22(日) 10:55:06 ID:lvPS3FuZ
遊ぶのは好きだが作るのは好きじゃなかった、それを教えてくれるんだよ。
759名前は開発中のものです。:2007/04/22(日) 11:57:14 ID:RW5VCSAs
ゲームやるのが好き>途中で断念
ゲーム作るのが好き>適当なフリーのライブラリを使って作る
プログラムが好き>DirectXを叩くようになる。
760733:2007/04/22(日) 11:57:45 ID:U6UI3zGG
>>754
Direct10のサンプルはいきなり WNDCLASSEX とか LPDIRECT3D9 とか出てきて初心者が一から勉強するにはつらいなと
この通り見ていけばDirectXが理解できる解説ないですか?
やる気だけはあります。
目標はUnrealEngineよりすごいものを3年後ぐらいに完成させたいです。

761名前は開発中のものです。:2007/04/22(日) 12:18:48 ID:4Cp/kF21
>>760
本買ったほうが良いかも。
WEB上にも解説してるところあるけど。内容が中途半端で更新が終わってたり
テクニックがDirectX7とか8とか古かったりするから

良書にめぐり合えばWEBを数時間巡回するより簡単に答えに行き着くよ
762733:2007/04/22(日) 12:23:06 ID:U6UI3zGG
その良書を教えていただけますか?
763名前は開発中のものです。:2007/04/22(日) 12:41:06 ID:4Cp/kF21
>>760
良書っていうのは抱えてる問題やその人のスキルのレベルによって違ってくるから
自分で大きな書店に行ってパラパラめくってみるのが一番はやいと思うけど

例えばで良いなら最近のでは
「工学社のDirectX9実践プログラミング」
かな。あとは
「秀話システムのDirectX逆引き大全500の極意」
は、あれ?どうやるんだっけ?ってときに使います

ただし、何度も言うけど小説とかと違って技術書は個人個人、良書が違うと思うから
参考程度に聞いて下さいね。
自分で読んでみるのが一番良いと思います。参考書選ぶのと同じ感覚ですw
764名前は開発中のものです。:2007/04/22(日) 12:45:16 ID:eQdZ/kWg
>>762
http://www.amazon.co.jp/dp/4797303522/

これ一冊で全てが学べる。後は全部ゴミ。
765名前は開発中のものです。:2007/04/22(日) 14:23:12 ID:ckHQhBhI
>>764
WNDCLASSEX とか LPDIRECT3D9 が出てくるのがつらいってヤツがその本読めるのか?
MSDNもDirectXのヘルプも読まないようなヤツが対象ってことだぜ
766名前は開発中のものです。:2007/04/22(日) 16:21:18 ID:YZWy+Lh2
>>764
まて、それは、「ゲームプログラマになる本」に並ぶゴミぼ(ry

Amazon.co.jp: ゲームプログラマになる本: 本: 山崎 由喜憲
http://www.amazon.co.jp/gp/product/4789835642/
767名前は開発中のものです。:2007/04/22(日) 16:23:40 ID:zmxA0Lb/
山崎式正弦跳躍法でぐぐれ
768名前は開発中のものです。:2007/04/22(日) 16:28:49 ID:YZWy+Lh2
>>767
2chのスレしか出てこなくてワロス
769名前は開発中のものです。:2007/04/22(日) 16:54:06 ID:eQdZ/kWg
ボケたのにつまんないマジレスが返ってきたときは
どうしたもんかと思ったよホント、助かった
770733:2007/04/22(日) 17:55:12 ID:U6UI3zGG
みんな冷たいね (´・ω・`)
結局みんな俺流できちんと教わってないから
初心者に適切なアドバイスができないわけだ
日本のゲーム開発者のレベルが低いわけだ
771名前は開発中のものです。:2007/04/22(日) 18:03:23 ID:jOjaX+48
そう煽る文を最後に載せるなよ鎖国ってるけどさ
772名前は開発中のものです。:2007/04/22(日) 18:15:15 ID:Sj08wy5M
日本には、3Dの基盤が無いからほとんど情報が無い。
洋書ではやたら多く出版されているので英語を読んだ方がいい
プログラム書のほとんどが、
ソースリストを付けるから勝手に理解してくれよのスタンスだ
Windowsの時代になってからは、APIに振り回されるくらいなら
ライブラリーに全部を任せてしまう方向にある。
現実にiAPX386の時代も終わろうとしているし
773名前は開発中のものです。:2007/04/22(日) 18:16:04 ID:CENVEWNH
>>770
>みんな俺流で
右へ倣えがお好みで?

>きちんと教わってないから
誰か教えてくれるとでも?

>あれは何をやっているのかわかりません。
>理想はゲーム1本まるごとソースが入っていて解説がある本がいいです。
君にはゲー専がお似合いだよ
努力せず他人頼って何かを得ようとするやつにはゲー専がお似合いだ
金はかかるが入社に必要なゲームプログラムを丸ごと貰えるぞ

>値段はいくらでもいいです。
じゃあ大丈夫だな

今すぐ行け
早く行け
行け
774名前は開発中のものです。:2007/04/22(日) 18:17:49 ID:PiGegWxe
2chでの回答が冷たいってのも鎖国ってるってのも一応同意しとく
775名前は開発中のものです。:2007/04/22(日) 18:20:52 ID:J/HGGp21
>>770
お前痛いな
びっくりするほど昨日からみんな親切に対応してくれてるのに
サービスを無償で受けるのが当たり前の
ガキかにーと君だろうが
真面目に答えてくれてる人にありがとうの一言も言えないようじゃ
どこ行っても相手にされないよ
776名前は開発中のものです。:2007/04/22(日) 18:21:50 ID:v/ich/HT
>>770
マジレスするとゲームプログラムって総合芸術みたいなもので、
3D・AI・サウンド・スクリプト・ネットワークetc いろんなものを抱えすぎてる。
これを見ればOKって本を作っても内容が薄くなって実用性がなくなるだけ。
地道に個々の分野を漁るしかないよ、みんなそうやってる。
777名前は開発中のものです。:2007/04/22(日) 18:22:07 ID:0pTEN09P
まぁまぁ、一生ゲーム作れないタイプの人間の遺言なんだから、
生暖かく見送ってやれよ。
むしろ「日本のゲーム開発者のレベルが低い」には同意する。
初心者向けに綺麗に切り分けして動作確認までしたソースコードを、
ボランティアで用意しろと要求するとか、日本の教育制度の歪みだよ。
778名前は開発中のものです。:2007/04/22(日) 18:22:40 ID:aF9z9yRP
DirectX10
779名前は開発中のものです。:2007/04/22(日) 18:31:41 ID:4Cp/kF21
うは
煽られたら一斉にレス付くってw

>>770
自分が理解できないことを人のせいのように書くのはよくないよ

さっきも書いたけど。自分にあった本でも探してがんばりな。
780名前は開発中のものです。:2007/04/22(日) 18:32:45 ID:ckHQhBhI
>>770
とりあえず適当なライブラリ使ってやってみればいいだろう。
そこにはある種求めている答えがそのままあるんだから。

できるようになったらそのライブラリの中を見て具体的に理解すればいい。

まずはELでも使って望みのものが作れるかやってみれ。
781名前は開発中のものです。:2007/04/22(日) 18:39:12 ID:aF9z9yRP
綺麗なモーションブラーのやり方教えてくれよー
782名前は開発中のものです。:2007/04/22(日) 18:56:26 ID:Sj08wy5M
カレイでなくともヒラメでいいだろう。
783名前は開発中のものです。:2007/04/22(日) 18:56:29 ID:0pTEN09P
DirectX8あたりから始めた俺としても、正直>733の書き込み見て
「あぁ、今時のクールなやり方ってどうだろう?」とは思って静観はしても、
手持ちのソースコードを整理して出す気にはならなかったな。(解説付きで?w
そもそもアニメーションがDirectXの範疇かどうかも知らんし、
自分でやるもんだと思ってる。いや、オールドタイプの愚痴書いてすまんねw
784名前は開発中のものです。:2007/04/22(日) 19:08:17 ID:QxPBFcUw
プログラムが好きな奴じゃないとどうせ続かないだろ
>733がしたいこと程度ならぐぐってれば調べられる程度のことだし
785名前は開発中のものです。:2007/04/22(日) 19:41:35 ID:YZWy+Lh2
>>773
これはひどい。

本気にする奴いるから、書いとくけど、
ゲー専だけは絶対にやめとけ。

情報系の大学のコンピュータ系サークルにもぐりこむ方が、仲間も見つけられて、手っ取り早い。
786名前は開発中のものです。:2007/04/22(日) 20:29:02 ID:dYgoG/JI
両方いったことがあるのか
787名前は開発中のものです。:2007/04/22(日) 20:30:17 ID:ckHQhBhI
>>785
俺ゲー専だけど一応就職はできたw
788名前は開発中のものです。:2007/04/22(日) 20:31:35 ID:Sj08wy5M
まぁ、説明する為のコードと実際に使うコードは別物だから
丁寧に説明されるほどにそのコードは使えない。

スケルトンモデルについて他の人で知りたい人もいるだろから、
書いとく 研究用には使えると思う。
DirectX9 3Dゲームプログラミング〈vol.2〉C#によるキャラクタの歩行アルゴリズム
789名前は開発中のものです。:2007/04/22(日) 23:27:26 ID:IFDxOYuU
>>787
一般学生は就職できなかったことが最低の恥になる。
ゲー専生は就職できたことが最大の自慢になる。
790名前は開発中のものです。:2007/04/22(日) 23:49:20 ID:ckHQhBhI
>>789
わかる気がするw
大抵は実家に帰るとか全然PG関係ない職に付くとかだしな。
791名前は開発中のものです。:2007/04/23(月) 07:05:58 ID:0pWNIKTQ
結局は本人のやる気次第だけどな。
まあ、そのやる気を削ぐ環境が
バッチリ揃っているのがゲー専なわけだが。
792名前は開発中のものです。:2007/04/23(月) 10:23:33 ID:J3HGZUDO
>>788
その本はオススメできない。
無駄にハードコーディングしてるし、同じようなコードをまとめずに
ダラダラとコピペしてあったりと、コードのできが悪すぎる。
あと、スキンメッシュも扱ってないし、他にも問題がありまくり。

普通にDirectX SDKのサンプルやMSDNの記事を読んだほうが良いと思う。
793名前は開発中のものです。:2007/04/23(月) 10:39:58 ID:0pWNIKTQ
DirectX関連の本は大抵、説明をわかりやすくするために
わざとハードコーディングのサンプルを載せてるものが多いと思うんだが。
とかなんとか書いていたら>>788が1〜2行目で言ってるじゃないかorz
794名前は開発中のものです。:2007/04/23(月) 12:52:06 ID:7FTd6465
>>792みたいな奴がイチイチ状況を理解せずに文句を言うから、
アメリカのマニュアルみたいに最初に注意書きをいっぱい書いておけば良いんだよ。
生き物は乾燥させられません、説明用にコーディングしているため最適なコードではありませんと。
795名前は開発中のものです。:2007/04/23(月) 13:49:46 ID:J3HGZUDO
分かりやすくなっているのなら良いけど、>>788の本に限って言えば
特に分かりやすくなっていなかった。(だから「無駄に」って書いた)

その本とDirectX SDKのサンプルやMSDNの記事を両方を読んでみて
SDKのサンプルやMSDNの記事の方が分かりやすかったし、役にも立った。
796名前は開発中のものです。:2007/04/23(月) 14:26:03 ID:OWFbmL7a
そりゃSDKサンプルとかMSDNの方が分かりやすいとは思うけども、やっぱ本は必要だよ
画面小さいといちいち窓切り替えて見比べたりしづらくて、うがー、ってなる
あと暇なとき寝ながらでも読んでいられるし
797名前は開発中のものです。:2007/04/23(月) 15:00:28 ID:tsYZMPWC
WUXGA+UXGAの環境だと
窓を切り替えたり画面小さくしたり
することに逆に憧れる
798名前は開発中のものです。:2007/04/23(月) 20:34:58 ID:VAXcyTmS
環境は人それぞれ


ゲーム作って実感しましたorz
799名前は開発中のものです。:2007/04/27(金) 15:48:01 ID:n7RHrMRn
エグゼクートバッハー復活希望。
800名前は開発中のものです。:2007/04/28(土) 00:58:45 ID:Z/Gf1X1D
外人のコミュニティで言って来い
801名前は開発中のものです。:2007/05/02(水) 14:11:20 ID:KXh7uMcr
スキンメッシュのフレーム情報の管理に関して質問でつ。
ボーンとか仕込むとメッシュが階層構造持つことになるけど、
それぞれのフレームが持つ情報へアクセスする方法はどうやるのが一般的?

自分はいま全フレームへのポインタを一次元配列で確保しといて、
そのポインタを通じてフレーム内情報の読み書きをしてるんだけど。。。
階層構造とか再帰とかあんまり経験無いからどうすればいいのか……。
802名前は開発中のものです。:2007/05/02(水) 15:23:45 ID:AUBROcJl
一番簡単な実装方法は再帰でツリーをたどる関数を作る
オーバーヘッドが気になるならば
ロード時にフルパス名を作ってそれをキーにしてマップに登録
803名前は開発中のものです。:2007/05/02(水) 19:23:04 ID:KyLZIh1Z
好みの問題じゃないか?

基本は1つの頂点バッファで管理。
派生クラスでは体のパーツ(ボーン?)毎に、
頂点バッファ上での範囲を管理していて、
体の中心から変換マトリックスを更新しつつ、
範囲ごとに表示。

ローポリでいくつもりなので、
俺の場合はこんなもん。
804名前は開発中のものです。:2007/05/04(金) 17:40:46 ID:0dDZmDLF
DirectX 9.0cでアプリケーションを作ってるのですが
普通に動かすと40FPSぐらいですが
Windows Media Player11を起動させておくと
60FPSに跳ね上がります。なんで??
805名前は開発中のものです。:2007/05/04(金) 17:47:27 ID:rCIAddhL
普通に動かして40fpsってどんなスペックやねん
806名前は開発中のものです。:2007/05/04(金) 17:49:11 ID:YK9pHZvN
>>804
タイマーの分解能の設定は?
807804:2007/05/04(金) 18:15:02 ID:0dDZmDLF
>>806
timeGetTime()で設定とかはとくにしてないですが
40FPSだと見た目でガタガタになるのがわかるので
おおよその値はあってると思います。
808名前は開発中のものです。:2007/05/04(金) 18:17:03 ID:7nXNmJ5J
>>807
いや・・・・・・・・そうではなくて
設定してないなら設定しろと言っていると思われます
809804:2007/05/04(金) 18:22:57 ID:0dDZmDLF
>>806、808
はうあ! MediaPlayerを立ち上げなくても速くなりました!
MediaPlayerが共通のタイマーの設定をしてたということでしょうか。
ふしぎふしぎ。ありがとうございました。
810名前は開発中のものです。:2007/05/04(金) 18:54:44 ID:AOCsVjjH
ふしぎーのもーりーはー
811名前は開発中のものです。:2007/05/04(金) 21:33:47 ID:kIqerJ6I

メディアプレーヤーを起動してると速くなる系の質問はかなり頻出

某掲示板で検索してもわんさか出てきた
ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=49&vew=100

様はtime**系の設定はシステムグローバルだってことね
812名前は開発中のものです。:2007/05/04(金) 22:20:15 ID:+fXYp4ha
>>804
もう解決したが、
timeBeginPeriod(1)
timeEndPeriod(1);
だな
813名前は開発中のものです。:2007/05/04(金) 22:20:59 ID:+fXYp4ha
これ、Win98から、Win2000に移ったころハマったよ。懐かしい(昔話)
814名前は開発中のものです。:2007/05/05(土) 22:52:08 ID:JPwlhljg
自分の環境では、サイズを自由にしてテクスチャを生成できるのですが
そういう環境でも、テクスチャサイズを2のべき乗にした方が
スピードアップできるのでしょうか?
815名前は開発中のものです。:2007/05/05(土) 22:53:55 ID:esePaGjw
何故実験環境があるのに、自分で測定しようとしない?
816名前は開発中のものです。:2007/05/05(土) 23:13:52 ID:JPwlhljg
今は、指定数値のままの自由サイズでテクスチャを作成できるように
してるだけで、それを2のべき乗に拡大して(余剰分は透明色にする)
生成するルーチンの実装はまだやってないのです。
2のべき乗にした方が速くなると分かれば、そのように実装しますが
そうでないなら無駄な労力を使いたくないという事です。
817名前は開発中のものです。:2007/05/05(土) 23:16:34 ID:WrGZaJEA
じゃぁ、お前の環境とやらを住人全員に配布しないとだめだな。
818名前は開発中のものです。:2007/05/05(土) 23:24:16 ID:DhyAmmhw
>>817
>>816は別に配布するんじゃなくて自分専用の何かを作るってるんでないの

2の整数乗でないサイズのテクスチャに対応したハードなんて
持ってる人どんだけいるんかね
819名前は開発中のものです。:2007/05/05(土) 23:39:41 ID:7/qHIZUN
2のべき乗の方が速い。
820名前は開発中のものです。:2007/05/05(土) 23:45:51 ID:JPwlhljg
おお。サンクスです。
自分のPCのグラはオンボードなので、現代じゃ一般的だと思ったのですが
そうじゃないのですかorz
821名前は開発中のものです。:2007/05/06(日) 00:01:04 ID:Z93//tsU
速い遅いというのが何を指しているかによるが
Directt3Dサーフェイスには幅の他にピッチという概念があるので
テクスチャ作成に関わる部分では、サイズがいくつだろうが変わらないと思う。
フィルタリング(ミップマップ)は2^nサイズだと、最適化ルーチンが使えるので
そっちの方が速そうだ。
テクスチャサンプリングはGPUのリッチさによりけりだな。
822名前は開発中のものです。:2007/05/06(日) 00:02:33 ID:6yYXhBO8
自分で試すまでどっちが早いかなんて分からない。
823名前は開発中のものです。:2007/05/06(日) 00:03:58 ID:8J0PSu8D
>速い遅いというのが何を指しているかによるが

テクスチャの表示です
824名前は開発中のものです。:2007/05/06(日) 00:36:27 ID:a/Y3MxCW
>>804-813
自分も同じことにはまってました。
なぜか特定のマシンだけ極端にFPSが上がらなくて、VirtualPCを立ち上げると
FPSが高くなってました。

timeBeginPeriod、timeEndPeriodはアプリケーションの開始と終了に書いてましたが、
それを変更したら直りました。
どうもありがとう。
825名前は開発中のものです。:2007/05/06(日) 12:47:32 ID:RU6zDoh8
>>816
テクスチャの内容なんて影響ないと思うから重要なのはテクスチャのサイズだけじゃないの?
サイズが2のべき乗かそうでないかの違いしかないんじゃない?
だから現状指定数値で実行できるなら

わざと2のべき乗のサイズにしたテクスチャの場合

2のべき乗のサイズでないテクスチャの場合

で速度を測ってみればいいじゃない
とりあえず表示はちゃんとしてなくても速度だけ測れればいいんでしょ?
ならこれで測れば問題ないんじゃない?

ただ、上の人も言ってるけど何が影響するのか要素が多すぎて
やってみてナンボってところあると思うよ
ミップマップとか、バイリニアフィルターとか、UVのアドレッシングモード、
1フレームでテクスチャ切り替えを頻繁に行ったとき、
1フレームでテクスチャ切り替えを頻繁に行わなかったとき
とかなんかちょっとした条件の変化で速度変わるかもわからんしね
テスト画面作ってるときは影響なかったけどゲーム作ってみたらモリモリ重くなったとかありがち。

ちなみに俺の環境ではたいして違いは無かった
826名前は開発中のものです。:2007/05/06(日) 20:25:23 ID:Ehnv/+Iu
>>818
GF6600以降のグラボは全部自由サイズのテクスチャに対応してる。
ただし範囲外サンプリングはCLAMPに限定され、
ピクセルシェーダー命令が一部使えないけどな。
827名前は開発中のものです。:2007/05/06(日) 20:58:18 ID:rhIxqW9P
>>826
GF6600は含まれてますか?
828名前は開発中のものです。:2007/05/06(日) 21:01:14 ID:99tSTB5S
GFは、か・・・
829名前は開発中のものです。:2007/05/06(日) 21:10:39 ID:brQOxHaj
これがゆとりか。
830名前は開発中のものです。:2007/05/06(日) 21:48:05 ID:eoXP2/pR
>>826
制限があるのはNONPOW2CONDITIONAL
これはGF6600どころか、もっと前から使える。
というのも、この機能の制限をよく考えれば分かるが、POW2テクスチャの
一部を使えば実装できるようになっているので、ドライバが対応すれば
どんなチップでも対応できる。

GeForceは6シリーズから、真のNon-Pow2テクスチャに対応したから
細かい制限は無いよ。(仕様上テクスチャ圧縮は使えないが)
831名前は開発中のものです。:2007/05/06(日) 22:19:49 ID:iZbcH5zM
TextureCaps の D3DPTEXTURECAPS_POW2 と D3DPTEXTURECAPS_NONPOW2CONDITIONAL は
(Yes, No)、(Yes, Yes)、(No, No) の3パターンがあるから注意しないとね。

dxinfoで調べた限りでは、無条件の (No, No) なのはNVIDIAのGeForce6シリーズ以降だけで、
ATIは最新のRADEON X1000シリーズでもいまだに条件付きnon-pow2しか使えないみたい。
http://www.netsphere.jp/dxinfo/
832名前は開発中のものです。:2007/05/07(月) 10:07:13 ID:5DQ2mBLB
自分で3Dエンジン組めば分かるけどpow2のテクスチャはビット演算だけでrepeatとか可能で非常に便利。

俺はゲームで使うテクスチャは3D絵はpow2、2D絵は自由サイズにCAMP限定でエンジン組んでる。
non-pow2対応してない場合はpow2のテクスチャに拡大転送してUVは内部で自動再計算。
833名前は開発中のものです。:2007/05/08(火) 13:27:17 ID:RIeDnWhP
GetIndicesについてなのですが、英語版MSDNでは引数が二つで、日本語版では一つです。

英語版MSDN
ttp://msdn2.microsoft.com/en-us/library/bb174391.aspx
日本語版MSDN
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/graphics/reference/d3d/interfaces/idirect3ddevice9/getindices.asp

D3D8からD3D9に書き換える上でこの問題にぶつかりました。
D3D8では英語版のものと同じで引数が二つです。

二つ目の引数を取得したいのですが、GetIndicesで取得する方法、もしくは他の関数がありますか?
よろしくお願いします。
834名前は開発中のものです。:2007/05/08(火) 17:35:02 ID:mVBGg0iS
ヘルプが間違っているんだから、ヘッダを確認するのがプログラマの常識。
835833:2007/05/08(火) 19:07:00 ID:c2lqje6h
ヘルプが間違っているのですか…。ということは英語版のMSDNも。
ヘッダの確認もしたのですが、なにぶんあまり知識がないものでよくわからなかったのです。
なのでこちらで質問させていただきました。

BaseVertexIndexの取得についてですが、自己解決しました。
この引数を検索したら、DrawIndexedPrimitiveで使ってますね。

ありがとうございました。
836名前は開発中のものです。:2007/05/08(火) 23:17:50 ID:yEwVRv2d
2のべき乗にしたがるのはswizzlingを一発で通したいからなんじゃないの
837名前は開発中のものです。:2007/05/09(水) 10:09:33 ID:51Ld+rsF
RTSみたいなゲームを作ってる者なのですが
描画速度が思うように速くならずに、非常に困っております。

画面サイズは800×600で、フィールドは32×32の板ポリゴンをタイル状に敷き詰めてます。
その上で動くユニットと小物オブジェクトも全て板ポリゴン(一部ビルボード)です。
それを1フレームごとに
Clear
フィールド描画 = SetTexture()→DrawPrimitiveUp()を各タイルごとに約500回
ユニット&オブジェ描画 = Vertex配列に座標数値を代入して
              SetTexture()→DrawPrimitiveUp()を平均500回(500オブジェ分)
Present
と描画してるのですが、当方の環境はP4 1.8GHzでオンボードのグラボですが
せいぜい28FPSまでしか出せません(ポーズ中の描画Onlyのみで)。

たかだか1000個の板ポリゴンを描画するだけでFPS30もいかないものなんでしょうか?
これで本来の内部処理を加えると、20FPSが限界になってしまいます。
1フレームごとに
頂点配列に数値代入(フィールドタイル以外)→SetTexture()→DrawPrimitiveUp()
を板ポリの数だけ繰り返すやり方では駄目なのでしょうか?
838名前は開発中のものです。:2007/05/09(水) 10:54:03 ID:rTpY446L
Direct3Dはテクスチャの切り替えとDraw系関数のコールがびっくりするくらい遅いので、
板ポリゴンはなるべくひとつの頂点配列に溜め込み、
テクスチャはなるべく一枚のテクスチャに詰め込み座標ずらしで対処して、
Draw系関数のコールとテクスチャの切り替えを少なくすればそれなりに改善されると思うよ。
まぁ1000回程度ではそこまでガタ落ちしないから、他にも問題抱えてそうだけど・・・。

パフォーマンスまわりの話は文面だけだと話しが拗れがちだから、
こーゆーとこで質問するよりプロファイラの読み方覚えた方が良いかと。
839名前は開発中のものです。:2007/05/09(水) 14:05:17 ID:mwYHV51h
2chでDirect3Dのパフォーマンス絡みの話題となると、
ステートの変更を減らせとかDraw系関数の呼出回数を減らせとか、
結局そんな一般的なことしかなかなか書けないんだよね

プロファイラの読み方というかプロファイリングについての基本的なことなら、
とりあえずここを最後まで読んでみることをすすめてみる。

http://msdn2.microsoft.com/en-us/library/bb172234.aspx

長いけど、中でやってることは単純
840名前は開発中のものです。:2007/05/09(水) 14:14:56 ID:kPjUjaY4
グラボの名前とテクスチャの解像度も書こうぜ
トライアングルセットアップがボトルネックとは限らん
841名前は開発中のものです。:2007/05/10(木) 23:34:29 ID:mOs/ZOHf
IDirect3DDevice9::CreateOffscreenPlainSurfaceで作った
サーフェイスにレンダリングすることってできますか?
842名前は開発中のものです。:2007/05/10(木) 23:53:06 ID:3Zh/e+WU
no you can do it
843841:2007/05/11(金) 00:17:56 ID:XDYeDF5T
>>842
僕の質問に対する回答でしょうか?
844名前は開発中のものです。:2007/05/11(金) 00:47:00 ID:lpID6sKi
no i did
845名前は開発中のものです。:2007/05/11(金) 01:05:36 ID:JAYMlBr0
英語の "Yes/No" は、日本語の「はい/いいえ」と
厳密に対応してはおりません。

842と844は
"All your base are belong to us"
レベルの英語もどきですね。
846名前は開発中のものです。:2007/05/11(金) 01:51:06 ID:tUcXbWHz
no this engrish is yours
847名前は開発中のものです。:2007/05/11(金) 01:56:20 ID:AeMEV9bt
>>845
842も844もネタだろ?
そのまま「はい」「いいえ」に置き換えたとしても
質問文の内容から考えて意味が通ってないしw
848名前は開発中のものです。:2007/05/11(金) 02:40:30 ID:EKcw+E3D
>>841
できません。
849名前は開発中のものです。:2007/05/11(金) 09:50:20 ID:FgQCKaVQ
>>841
できないし、そんなことをするような状況が存在しないだろう。
850名前は開発中のものです。:2007/05/11(金) 17:53:19 ID:MwuPxxrI
>>849
GPU使った汎用演算で使いたいのかも。
まあ、その場合でも普通のテクスチャ使うか。。。
851841:2007/05/11(金) 23:05:46 ID:XDYeDF5T
>>848,849,850
ありがとうございました
852名前は開発中のものです。:2007/05/11(金) 23:22:19 ID:0n1zgmNP
>>838
>>839
どうもありがとうございました。
853名前は開発中のものです。:2007/05/11(金) 23:45:13 ID:vswfU1qI
>>838-839
>>837の問題に対してまとめたところで意味あるのか?と聞きたい
例えばこの処置で速度が2〜3倍になったとしてもそれでも60FPS多分届かないぐらいなんだぜ
チップを敷き詰めるならロード時にチップ敷き詰めたデカイテクスチャを作ることだってできると思うんだが
こういうゲームではどうなんだろうか?
まあ、ゲームのマップ全体を作れとは言わんがある程度のまとまりで逐次ロードしつつ作れれば
描画時のポリ数に悩まされることはないんじゃないだろうか?

少なくとも俺はDrawPrimitiveにポリゴンをまとめて突っ込むなんてのはなんの解決策にもなってないと思うんだけど?
だってDrawPrimitiveって普通に何回も呼ぶぜw
呼ばなきゃゲーム作れねぇじゃんw
エフェクトによって2度描き3度描きよくやるぜw
やっぱさ、このまとめる形の最適化ってなんかおかしいと思えってw
854名前は開発中のものです。:2007/05/11(金) 23:54:11 ID:otpRAX3c
そうえいば、DirectX10でDrawPrimitiveのボトルネックが無くなるとか
噂を聞いたがどうなったんだ・・・・?

855名前は開発中のものです。:2007/05/12(土) 00:29:50 ID:8iMaV2en
>>853
いやー、結構効果あると思う。以前おれも同じ状況になったし。
その時はスプライト?(ポリゴンx2の四角形、画面上で32x32ピクセルくらい)
一枚一枚でDraw〜()呼んでたら数百枚で60fps割った。

でもテクスチャが同じスプライトをまとめて、Draw〜()の回数減らしたら
30000枚くらい描画しても60fpsをキープできるようになった。
856名前は開発中のものです。:2007/05/12(土) 00:57:05 ID:8iMaV2en
なんか思い出してきた。

たしかその時は同じ頂点バッファを使いまわしてたんだ。(=頂点4つを数百回反復使用。。。)
1フレーム間に同じバッファで何回もLock → Drawを繰り返したのが悪かった気がする。
だからDraw〜()の回数もあると思うけどバッファのLockにも注意すべきかと。
857名前は開発中のものです。:2007/05/12(土) 01:02:49 ID:Dzr5JW1q
>>853
おたくのゲームの作り方に関係なく「DrawPrimitive」には
相当のCPU負荷が存在するのは現実世界での事実だ。

だからあの手この手でDrawPrimitiveを減らすための努力や
システムを組むのに時間をかけるんだろう。

そのためだけにわざわざMSが専用APIが実装したり、
GPU Gemsにそれを扱った章が掲載されたりしている。

DirectX10では改善されているが、DirectX9まではそこがボトルネック
なのだからそこをいかに減らすのかもプログラマの腕の1つ。

858名前は開発中のものです。:2007/05/12(土) 01:08:37 ID:gQi1O0td
fbxやtga等のファイルを作成する開発環境でフリーで良いのありませんか?
859名前は開発中のものです。:2007/05/12(土) 01:14:19 ID:LW0FYzwB
>>857
いや、重いのはわったけどさ
劇的に早くはなんねーってことよ。

なんつーの?DrawPrimitiveにまとめて突っ込むとかやりだすようになったら
手法を根本的に変える必要があるときだと思うのよ(まあ、例として>>853つーことで)

例えば、ソートをバブルソートが遅いからってクイックソートに変えて解決する問題って少ないと思うんだよね。
そりゃオーダーが全然違うし、クイックソートの方がはるかにはえーよ。それはわかる。
でも、実用的じゃないでしょ?
そういう話よ。

ゲームに限らずよ、ただ目先の数値につられてホイホイ最適化しちゃうのってまずいと思うぜ。
もう、これやるっきゃねーよ。って状況が意外と少ないと思うのよね。
860名前は開発中のものです。:2007/05/12(土) 01:47:38 ID:rTYk//u9
861名前は開発中のものです。:2007/05/12(土) 02:40:52 ID:LW0FYzwB
でだ、そうはいってもまとめなきゃ動かんようなものもある
弾幕STGの弾とかやるっきゃないね
ただ、こういうのは俺の中ではええねんw

だってこんなのもともと普通じゃできねぇような量を描画しようとしてるじゃん
しかも、普通だったら全部カメラに入るなんてまずないのに2Dであるために全部描画しなくちゃいけないとか特殊事情
だからこれはどうでもええねん。
できないような量を無理やり動かすんだから大いに最適化してくれって感じじゃん。
魂までもすり減らせって感じだ。

ただ、マップなんかは普通じゃん。

俺がいうところの何を普通っていって何が異常かってのがわからん?
これはオブジェクト単位で普通とかどうとか言ってると思うw

パーティクルやらちょっとまとまった単位でのもんってのは他のやり方があると思うんだよね。
もう、パーティクルなんてやめてアニメーションテクスチャにとっかえちゃうとか、
マップチップも3D空間にもってきたら下地じゃん。これもやりようがあると思うんだよね。
ただ、弾幕STGの弾は弾1つでオブジェクトなんでやりようがないと思うんだよね。
この場合は妙ちくりんなワザ使って最適化する必要があると思うんだよね。
って感じ。

だからやらなきゃいけんところはやらなきゃいけんと思うんだけど
そういうところって少ないと思うんだよね。
ああ、で、やっちゃいけないところをやっちゃうと
今度は身動きとれなくなっちゃうって感じなので(やってることが最適化なので当然だが)あんまりこの
DrawPrimitiveにまとめて突っ込む手法ってのはやる前に別のやり方がないかちょっと考えたほうがいいと思うんだよね。
862名前は開発中のものです。:2007/05/12(土) 05:31:59 ID:s6MTii/R
凄いぞ。書けば書くほど論旨がぼやけていく。
863名前は開発中のものです。:2007/05/12(土) 06:02:47 ID:NH4reycD
噛めば噛むほど旨みが出てくるのなんてするめくらいだろ

大抵のものは噛めば噛むほど不味くなる。
それと同じ
864名前は開発中のものです。:2007/05/12(土) 06:58:58 ID:bENb6ppL
またこの話題か
CPUがネックになってるかGPUがネックになってるかでどっちがいいのかなんて変わるだろ
865名前は開発中のものです。:2007/05/12(土) 07:04:06 ID:jgOYrxmU
バッチの話題になると妙に血気盛んに意味無い論語り出すアホがいるよな

そんなもんケースバイケースだ、で終わるのに
866名前は開発中のものです。:2007/05/12(土) 08:51:13 ID:LW0FYzwB
>>865
>ケースバイケース
それだってある程度法則があると思うんだけど
まあ、こんなDrawPrimitiveに全部突っ込むなんてのは稀だよ
867名前は開発中のものです。:2007/05/12(土) 09:37:22 ID:l19wAVj/
まぁ、少なくともこのケースはDrawPrimitiveが原因だと思うが・・・。
868名前は開発中のものです。:2007/05/12(土) 09:48:15 ID:Dzr5JW1q
ケースバイケースでもあるし程度の問題でもある。
何も画面描画を1回のDPで行えなんて無茶は誰も言ってないだろ。

描画数が多くてある程度まとめられるものをまとめようぜ、って話だろ。
背景のマップチップや弾幕STGの弾みたいなものはソートがそれほど重要でもなく
数だけはべらぼうに必要な場合が多いからそういうものはまとめる。

フォント描画のときだって1文字ずつDP呼び出すなんてまずしないだろ。
最近のD3DXFontですらキャッシュするように改良されてるんだから。

GPUがネックの場合はまとめようがまとめまいが処理落ち確定だから意味ないけどな。
GPUがネックなら基本的に数を減らすしかねぇ。
869名前は開発中のものです。:2007/05/12(土) 09:48:27 ID:LW0FYzwB
>>867
解決策のアプローチの話なんだが・・・
870名前は開発中のものです。:2007/05/12(土) 09:55:02 ID:LW0FYzwB
>>868
>数だけはべらぼうに必要な場合が多いからそういうものはまとめる
こうかくと1フレームのこういうモデルの描画すべてをまとめようとする奴がいる
あくまでオブジェクト単位でまとめるだけって書いておきたいw
871名前は開発中のものです。:2007/05/12(土) 10:04:33 ID:jgOYrxmU
>>868
日本語読解力の欠けた俺に
ケースバイケースと程度問題の違いを教えてくれ

なんて不毛な論争なんだろうか
872名前は開発中のものです。:2007/05/12(土) 10:40:39 ID:YCiJgexp
通訳しよう。

「他人の話はどうでもいい、俺様の話を聞け」
873名前は開発中のものです。:2007/05/12(土) 10:54:26 ID:LW0FYzwB
>>871
横から突っ込むけど明らかに違うだろ、日本語的にも
874名前は開発中のものです。:2007/05/12(土) 10:58:01 ID:tqnBkZXU
アイデンティティの問題ってのもあるから難しいよね。

身の程に合わないほど自意識を肥大化させたオッサンって、
現実では、 実際の待遇>>>自己評価  という状況に必ず直面する。
そうなると、普段抑圧している分、こういう場で
必要以上に自尊心を満たそうとし始める。

メンツに固執し、自分がトップに立つ形で決着がつかないと暴れ始める。
自分が一番でないとアイデンティティが崩壊するから、妥協できない。
相手の意見を認める、見解の違い・表現の違いを容認する柔軟性がなくなる。
そしてネットでも加齢臭をまき散らし、嫌われる。

「匿名の状況下では君の自尊心は何の意味も持たない」
という単純な現実を受け入れてくれればよいのだが。
875名前は開発中のものです。:2007/05/12(土) 11:12:42 ID:LW0FYzwB
このタイミングでそのレスはさすがになにがいいたいのかわからない
876名前は開発中のものです。:2007/05/12(土) 11:37:34 ID:cBzS5oT5
実際の待遇>>>自己評価 なら文句ないぜ
877名前は開発中のものです。:2007/05/12(土) 12:59:37 ID:JD4dohcN
あーもー、この流れが嫌だからわざわざ予防線張ってアドバイス書いたのに・・・。
相変わらずID:LW0FYzwBは意味不明だな。

>>853
>描画時のポリ数に悩まされることはないんじゃないだろうか?
>>837は少ないポリ数なのに遅くて困ってると書いてるのに
どうしてポリ数削減の最適化をお勧めしてるんだろうか。人の話を全然聞いてない。
仮に>>837>>853の方法を適用したら、結果としてDPコールも減るから
問題の切り分けができないまま状態が改善してしまうかもしれないよ?

最適化の一般論を語るその口で出てくる具体的なアドバイスが
「目先の数値につられてホイホイ最適化」そのものってのが涙を誘う。
毎回思うんだが、あんた本当に2Dゲーム作ったことないだろ?
878名前は開発中のものです。:2007/05/12(土) 15:41:09 ID:/AE2E85c
no i have never and will never do any of them
879名前は開発中のものです。:2007/05/12(土) 16:45:54 ID:LW0FYzwB
>>877
でも、DrawPrimitiveにまとめて突っ込むだけじゃここまでの速度はでないよね?
また、それで解決するかも怪しいよね?
>>853の方法なら確実でしょ。
その件に関しては文句あるの?
880名前は開発中のものです。:2007/05/12(土) 18:30:45 ID:Dzr5JW1q
>>879
そのやりかたの場合システムが複雑になる。
別スレッドでリアルタイムに状況判断して新しいテクスチャ作らないといか。
間に合わない場合なども想定して組まなければならないわけだしな。

あと使うかどうかは別として高速スクロールが出来ない。

ポリゴン数には悩まされなくてすむがテクスチャメモリや
テクセルレートに関しての悩みがあることを忘れてもいかん。

だからケースバイケースだというわけで。
881名前は開発中のものです。:2007/05/12(土) 18:38:13 ID:LW0FYzwB
>>880
>あと使うかどうかは別として高速スクロールが出来ない
いや、できると思うけど俺は
882名前は開発中のものです。:2007/05/12(土) 22:52:39 ID:RM9U51VB
どんな精度の絵を描こうとしてるんだ???
883名前は開発中のものです。:2007/05/12(土) 23:29:53 ID:kVzI9kl0
>>881
やったとこないけどできると思うとか
んな推測をもとに今までグダグダ言ってたのか?

STGスレで「DirectXはスクリーン限定でラスタースクロール可能」等と
胡散臭い主張して突っ込まれてフェードアウトしたロートルがいたが
お前はとてもよく似ている
884名前は開発中のものです。:2007/05/12(土) 23:32:38 ID:kVzI9kl0
s/スクリーン/フルスクリーン/


で、質問者>>837の数値を参考にして
例えば800*600フルカラーのゲーム画面で
フィールド一画面分(27x18のマップチップ)を描くとして
例えば以下の2つの手法を検討したとする

 @テクスチャにSetRenderTargetでスクロール分差分更新
 A30*20のメッシュのUVをスクロール分だけ差分更新

口先だけでないならこの両者のパフォーマンスを速やかに比較して
速やかに結論が出せるはずだ
885名前は開発中のものです。:2007/05/12(土) 23:35:32 ID:kVzI9kl0
前者について補足すると、これはおそらくお前がやろうとしてる
画面と同じかそれよりも大きいサイズのテクスチャにフィールドを
描いて、それをフレームバッファに転送とかいう方法
886名前は開発中のものです。:2007/05/12(土) 23:48:20 ID:kVzI9kl0
後者について補足すると、これはおまえが嫌っている
一画面分のマップチップをマテリアル単位でまとめて
DrawPrimitiveする方法だ。比較の便宜上差分更新としてるが
予めフィールド全域分を用意しても構わない。
887名前は開発中のものです。:2007/05/13(日) 01:29:23 ID:1Qws1EBM
>>883
君、そうやっていつも掲示板で見えない敵と戦ってるの?w

いきなり高速スクロールを適用ことを前提にしてるけど
CDなりDVDなりHDDの容量が許す限りどこまでもいくんだから
環境の制限でもしない限りなんでもできるだろw

スクロールなんて貧乏臭いことしなくても、
市販のゲームのアリガチ演出みたいに背景にムービー流してもいいぜw

別にロード時にテクスチャこさえなくてもすでにこさえたもん保存しておいてもいいわけだし
また、別にスクロールするときにテクスチャを生成しなくちゃいけないなんてのはお前だけの妄想だ
別にあらかじめすべての絵を完成させた状態でもいい

それとこの条件だとお前に振りだぜ、俺は別にチップにこだわらなくていいって考えだし
でかいテクスチャをチップ的な使い方もできるから要はお前のやり方も俺のやり方の中に含まれてしまっている

それと30*20のメッシュとか条件ついてるけど
俺の方法なら4頂点の2ポリでもいいしw
この場合のパフォーマンスは最速だ。
もっと変化がほしけりゃ好きにサイズを変えたらいいし、その場合ゲームによりけりになってしまうな。
888名前は開発中のものです。:2007/05/13(日) 01:35:05 ID:1Qws1EBM
要はチップってのがどういう性質のもんかってことだよね?ちがう?
昔はメモリが少なかったからできるだけ使いまわしていい絵を完成させようってのが
あったけど今は容量はアフォみたいに増えちゃったけど処理速度はそれにおっつくぐらい
上がってないって状況じゃないの?
889名前は開発中のものです。:2007/05/13(日) 04:13:16 ID:YhPUR9BZ
こんな時間に質問です。

今、"Special Effects Game Programming with DirectX"って本を読んでいるんですが
添付されているCDのDirectXはVersion 8.1です。
ネットで検索すると最新はVersion 9.0cらしいですね。

皆さんならどちらをインストールしますか?
(それらの違いをよくご存知の方が答えてくださると光栄です。)
890名前は開発中のものです。:2007/05/13(日) 07:37:01 ID:SnrZits5
>>888
マップチップでやるっつーのは質問者の意向だろう
その前提を覆すなら初めからそういっときなよ
苦しくなったからって今更一枚絵でーとか逃げんな

お前の主張

一枚絵でやってもいんじゃね。ローカルメモリに全部読み込むと楽でいいよ

で片付く話。長文でぐだぐだ書かなくていいよ
891名前は開発中のものです。:2007/05/13(日) 09:34:18 ID:qSV8MiSt
>>888
お前まさかマップチップの利点がVRAMの節約だけだと思ってんのか?

すくなくとも画面いっぱいにチップ描画をする程度なら素直にバッファまとめてDPすりゃいい。
1024x768程度の画面を32x32のチップで埋め尽くしても余裕で60FPS出る程度の速度にゃなる。

元のチップを1枚のテクスチャにまとめるというデータ的な最適化は必要だがな。

背景に動画だとかユーザーの入力に反応してスクロールするときとか、
地形が変化するときどうするつもりだよ。
そもそも画質が劣化するしチップごとにアトリビュート持たせるために別のエディター用意すんのか?
892名前は開発中のものです。:2007/05/13(日) 09:38:17 ID:Ll0xyx+i
>背景に動画だとかユーザーの入力に反応してスクロールするときとか、地形が変化するとき
質問者はそこまで想定してんの?
893名前は開発中のものです。:2007/05/13(日) 09:48:08 ID:o7qNUyB+
>DrawPrimitive
結局、頻繁に呼ぶと遅く、まとめて呼ぶと早いのなら、
APIそのまま使わず、
ラッパー一段かませれば済む話でもないのかな?
まあ、構造同じにならないから、同じようには組めないだろうけど

あと、試すのもいいけど、他の3DライブラリでDirect3Dの扱いどうなっているかも見た方がよさげですね。

普段OpenGL使ってて、DirectX使うおうか悩んでて覗いている者なので適当に流してくれていいけど。
894名前は開発中のものです。:2007/05/13(日) 10:17:17 ID:hldRPPX0
>>892
え、RTSってそういう処理が必要な筆頭じゃないの?

>>893
まあそのラッパー内部をどう実装するかの話でもあるわけで。
GL実装のシーングラフでも、ステート変更削減を優先としたソートと
遮蔽カリングを優先としたソートみたいなのがあるじゃん。
あれに「DPコール数」が加わる感じ(実際にはステート変更削減にほぼ含有されるけど)。
895名前は開発中のものです。:2007/05/13(日) 12:35:00 ID:1Qws1EBM
>>891
>背景に動画だとかユーザーの入力に反応してスクロールするときとか、地形が変化するとき
これでも問題ないぜ
動画はユーザーの入力に反応させて再生時間を進めてやればいいぜ
地形が変化するときは変化するときするところだけポリ数が多いもん使えばいいぜ
896名前は開発中のものです。:2007/05/13(日) 14:38:41 ID:Ll0xyx+i
>>894
いや発端の837にそこまで書いてなかったからさ
どの程度までやろうとしてるのかは質問者じゃないとわかんないでしょ
やりもしないことに対してアドバイスしてもと思って
897名前は開発中のものです。:2007/05/13(日) 14:41:27 ID:qSV8MiSt
>>895
おまいさんは地形が変化する場合の全パターンを動画でつくるのか?

あと地形に高低差があって前後関係からソートが必要なときどうすんだ・・・
対応するZバッファも動画に作っておくのか?

>地形が変化するときは変化するときするところだけポリ数が多いもん使えばいいぜ
2Dのマップチップの話でポリ数?
898名前は開発中のものです。:2007/05/13(日) 15:03:58 ID:1Qws1EBM
>>897
地形の話と動画の話は別でなw(別にやってもかまわんけどw)
なんでくっついたんだ?w

>対応するZバッファも動画に作っておくのか?
そういうライブラリあったなぁ・・・自分で作りゃいいけどw

>2Dのマップチップの話でポリ数?
そうそう、マップチップてのも所詮格子状のメッシュを表示してるに過ぎない
だから変形させるときだけ変形させたいメッシュに挿げ替えてもいいわけ
地形が変形するのはこれで対応できる
899名前は開発中のものです。:2007/05/13(日) 16:59:10 ID:+AlEORLF
>>889
>出版社: Premier; Pap/Cdr版 (2001/12/1)
古!もっと新しい本読んだほうがいい。
グラフィックス技術に関する本は進歩が早い。3年も経つと役に立たないとおも。

DirectX8 → 過去の遺産
DirectX9 → 現役
DirectX10 → ?

DirectX9の最新を入れるのが望ましいけど、
初めての場合は日本語マニュアルのあるバージョン入れればいいんじゃナイン?
(今見た感じではOctober 2004か?これも結構古いね。。。)
900名前は開発中のものです。:2007/05/13(日) 17:01:43 ID:G1Q8MypF
確かに古いグラフィックス技術は役に立たなくなるな
業務系はMDXからWPFに変わるだろうし、
ゲームはMDXからXNAに変わるからな。
基本的にDirectXをラッピングしただけなんだけどね。
901名前は開発中のものです。:2007/05/13(日) 17:05:06 ID:r63fo3XD
C++をそんなに切り捨てたいのかな
902名前は開発中のものです。:2007/05/13(日) 17:22:44 ID:n9ubTWNv
MSにからするとC++だろうとC#だとうと製品が売れてくれれば良いと考えてるから、
別にC++を切り捨てたいと考えているわけではない。
本国の開発者が簡単に開発できるようにしてくれと言う要望が多いから自然とC#に
取って代わっているだけだ。
903名前は開発中のものです。:2007/05/13(日) 17:57:09 ID:o7qNUyB+
>>901
C++が簡単に覚えられて、セキュアなら切り捨てないだろうな
904名前は開発中のものです。:2007/05/13(日) 18:33:28 ID:qSV8MiSt
D3D10触るなら結局C++じゃなきゃだめだし全然切り捨てられてないだろ。
XNAはD3D9が前提だし。
905名前は開発中のものです。:2007/05/13(日) 18:35:38 ID:KHtOAKRB
HSP
906名前は開発中のものです。:2007/05/13(日) 18:44:52 ID:um5/oy7y
>>904
バージョンアップすれば良いだけだよ。
907名前は開発中のものです。:2007/05/13(日) 18:53:14 ID:Ddw6YCjh
比較的に習得難易度の高いC++を喜んで使っているのは日本人位だぞ。
海外では、習得難易度の低い言語を喜んで使っているのに。
日本人の変な職人意識がされせてるんだろうけどね。
908名前は開発中のものです。:2007/05/13(日) 19:03:29 ID:WaANxxN8
>日本人の変な職人意識がされせてるんだろうけどね。

日本人を語る前に日本語でおk
909名前は開発中のものです。:2007/05/13(日) 19:04:55 ID:s2cymDK6
ベターCと思えば難易度なんて零に等しい。
910名前は開発中のものです。:2007/05/13(日) 19:08:25 ID:KHtOAKRB
HSP
911名前は開発中のものです。:2007/05/13(日) 20:14:52 ID:cBAd95/m
>>907
ツクールなんて使うなんて日本人ぐらいだぞ、海外ではプログラミングバリバリ
912名前は開発中のものです。:2007/05/13(日) 20:24:58 ID:xUYhEzLu
>>911
RPG-Tsukuruでググってみろw
913名前は開発中のものです。:2007/05/13(日) 20:45:00 ID:cBAd95/m
>>912
ツクール2003でそんなに売れてないと思うんだけど・・・平均は高かったが
あっちはfpsとかが主流でsdkで配布してmodでいろいろ拡張してとかだし
大学卒でゲームエンジン会社作る人も入るからレベル地学ね?
914名前は開発中のものです。:2007/05/13(日) 20:45:42 ID:o7qNUyB+
>>912
かなり、引っかかってビビタ
915名前は開発中のものです。:2007/05/13(日) 20:46:13 ID:o7qNUyB+
>>909
そのベースのC言語が難しいとは思わんのだろうな・・・これだから・・・
916名前は開発中のものです。:2007/05/13(日) 21:07:52 ID:pf2aaMdX
ツクールってTsuだったのか・・。
917名前は開発中のものです。:2007/05/13(日) 21:13:25 ID:s2cymDK6
C言語なんて、
コンピュータの大まかな仕組みが判っていればすんなり理解できるはず。
各種のテクニックについては、必要に応じて知識増やしていけば大丈夫だろ。

PGなら最低限コンピュータの大まかな仕組みを考えて、
実行速度が早くなるよう予測しながらコーディングするわけだから、
PG資質に自動的についてくる程度のものだろ、C言語スキルなんて。

というわけだから、そろそろDirectXネタに軌道修正してくれ。後はROMるからw
918名前は開発中のものです。:2007/05/13(日) 21:14:51 ID:TqtnwnbW
>>907
今海外にいるが同意しかねる
919名前は開発中のものです。:2007/05/13(日) 21:21:58 ID:qSV8MiSt
まぁコンシューマー機でC#やJAVA使うことはまずないからな・・・
920名前は開発中のものです。:2007/05/13(日) 22:18:16 ID:Ll0xyx+i
>>919
XBoxを仲間はずれにしないでください。・゚・(ノД`)・゚・。
921名前は開発中のものです。:2007/05/13(日) 22:32:09 ID:wxcsKR97
GUIツール制作はもうC#一択でもいいかしら、って気がしないでもないわ。
922名前は開発中のものです。:2007/05/13(日) 22:36:03 ID:qSV8MiSt
>>920
XBOXでも商用はC++だっつーの。
XNAは商用に使うもんじゃねぇw
923名前は開発中のものです。:2007/05/13(日) 22:44:17 ID:1Qws1EBM
正直、C#は何がいいのかよくわからない
924名前は開発中のものです。:2007/05/13(日) 22:47:22 ID:Rmwcgt3j
>>923
オブジェクト指向言語、GC、ジェネリック、デリゲート、マネージ・アンマネージを両方使える。
これくらいかな?
925名前は開発中のものです。:2007/05/13(日) 22:49:59 ID:1Qws1EBM
>>924
いや、C++と比べて
926名前は開発中のものです。:2007/05/13(日) 22:52:48 ID:Njnbtq5T
ヘッダファイル→イラネ
かなw
927名前は開発中のものです。:2007/05/13(日) 22:53:39 ID:1Qws1EBM
C++で全部ヘッダーに書いてみるとかw
928名前は開発中のものです。:2007/05/13(日) 22:58:56 ID:+lZI1v+3
一番は参照型、値型を意識しないでプログラミングができることだろうね。
929名前は開発中のものです。:2007/05/13(日) 23:05:55 ID:+c7Xo/Fh
C#で
int* p = new int;
と同等のコードってどうなるの?
930名前は開発中のものです。:2007/05/13(日) 23:09:09 ID:1Qws1EBM
>>928
それなんかいいの?
大事なことがぼやけていくような
931名前は開発中のものです。:2007/05/13(日) 23:09:59 ID:d9Lz/MLC
>C++で全部ヘッダーに書いてみるとかw

テンプレートだらけにすればほとんどのコードはヘッダに
ビルドに時間かかるけどッギモヂイイ
932名前は開発中のものです。:2007/05/13(日) 23:10:49 ID:d9Lz/MLC
>>928
それ最悪じゃね
933名前は開発中のものです。:2007/05/13(日) 23:17:44 ID:1Qws1EBM
なにも考えずに文字列連結していったら大変なことになりそうだ

str += buff[i];

みたいな。
前後みて適切な動作してくれるならいいけど一文字ずつ領域確保しなおすとか
マゾい仕様に仕上がっててこんなのが今後の主流とかなったら泣く
934名前は開発中のものです。:2007/05/13(日) 23:20:08 ID:wxcsKR97
>>929
Object i = new int();
たぶんこうかしら。ボクシングってやつね。
値型うんねんはちょっとは意識した方がいいかもね。
935名前は開発中のものです。:2007/05/13(日) 23:27:39 ID:G3x2P80e
936名前は開発中のものです。:2007/05/13(日) 23:36:10 ID:1Qws1EBM
>デストラクタ : C# では、デストラクタはガベージ コレクタによって自動的に呼び出されるため、デストラクタが呼び出されるタイミングを制御できません。
俺、これすっげー嫌だわ
なんでこんな仕様にしたんだろ?
誰か好きな奴いんの?

>C# では、ビット フィールドはサポートされていません。
これ、便利なときもあるからなくさないでほしいな
移植のときとかあると便利だし

>switch ステートメント : C++ の switch ステートメントとは異なり、C# は、ある case ラベルから下にある case ラベルへの移動をサポートしていません。
なんでみんなが慣れた動作を変えようとするのかわからん

あと、ポインタと文字列関連嫌な臭いがする
937名前は開発中のものです。:2007/05/14(月) 01:01:24 ID:yjPo2K0+
一度CやC++に慣れたら、わざわざC#やる気は起きないよなw
938名前は開発中のものです。:2007/05/14(月) 01:17:19 ID:L8cLvTAn
そうでもない
ケースバイケースで使い分ける。

使い捨てアプリは C# で創ったほうがずっと楽だし
外部に公開するアプリは C++ で書いたほうが良いだろう。
939名前は開発中のものです。:2007/05/14(月) 01:25:19 ID:5kwfmOE5
>>938
いやー、ライブラリに蓄積って形がなれてるから
別言語使う必要のないところで使いたくないなー
940名前は開発中のものです。:2007/05/14(月) 01:26:22 ID:5kwfmOE5
>>937
同意だ
941名前は開発中のものです。:2007/05/14(月) 02:07:06 ID:yjPo2K0+
> 使い捨てアプリはC#
使い捨てアプリは板違いだから、ゲ製的にはC系使いはC#イラネって事か…
942名前は開発中のものです。:2007/05/14(月) 02:38:58 ID:vfAgKAOX
>>936
そのためのDispose

>>switch ステートメント : C++ の switch ステートメントとは異なり、C# は、ある case ラベルから下にある case ラベルへの移動をサポートしていません。
>なんでみんなが慣れた動作を変えようとするのかわからん

諸悪の根源だからな。

基本的にC++と互換性はないよ。そのまま移植はありえない。
943名前は開発中のものです。:2007/05/14(月) 02:57:05 ID:k6jq6JKI
C#というより.NETFrameworkのランタイム使えれば.NET使えば良いだろう。
使えなければC++のネイティブが良い。
DirectX環境でランタイム使えないのはさすがにありえないけどね。
944名前は開発中のものです。:2007/05/14(月) 04:48:22 ID:U4grSrCx
Managed使ってみてもなんか気持ち悪いしな
慣れればいいんだろうけど
945名前は開発中のものです。:2007/05/14(月) 08:41:13 ID:Rbwmu53K
>>898
>だから変形させるときだけ変形させたいメッシュに挿げ替えてもいいわけ
ねえ・・・結局最初からマップチップで描画すりゃいいじゃんソレ・・・。
946名前は開発中のものです。:2007/05/14(月) 14:03:54 ID:IqWECu0g
>>941
>使い捨てアプリは板違いだから

心の狭い香具師だな
947名前は開発中のものです。:2007/05/14(月) 23:17:43 ID:czGrVvYN
.NETの参照型、値型の縛りは気持ち悪い。
何でヒープ型とスタック型にしなかったんだろ。
こっちの方が自然だし、自由度が高い。
948名前は開発中のものです。:2007/05/14(月) 23:33:34 ID:5kwfmOE5
>>945
変形させるとなるとかなり目の細かいメッシュが必要だから常時だしてると重くなるよ
949名前は開発中のものです。:2007/05/15(火) 00:18:54 ID:b6S1ChH/
>>947
それだとユーザ定義型でスタック型とヒープ型を混ぜられなくなるんじゃない?
無理矢理混ぜられるようにあれこれ弄りだすと結局今の値型になりそうだけどその辺どうよ?
それとも混ぜられなくておkにするの?
950名前は開発中のものです。:2007/05/15(火) 00:29:10 ID:b6S1ChH/
>>947
それともC++みたいに確保時にスタック上とヒープ上の選択ができるようにするってこと?
ヒープ型とスタック型って響きは自然だけど、どういう仕様を意図してるのかいまいち分からん。
951名前は開発中のものです。:2007/05/15(火) 01:03:08 ID:kfJ7M9rT
{
value_t value0; // スタック型

value_t value1 = value0; // スタック型は常にコピー

value_t^ pValue0 = new value_t(); // ヒープ型

value_t^ pValue1 = pValue1; // ヒープ型は参照カウント増加

value_t^ pValue2 = ^value0; // オートボクシング
} // スコープを外れるとスタック型は、Disposeコール

っていうかC++/CLI?
952名前は開発中のものです。:2007/05/15(火) 09:45:05 ID:ySPPyGNu
>>948
CPUかフィルレート律速の状況なのに、頂点数減らすために
わざわざ柔軟性の無い実装に変えても意味ないでしょ。
953名前は開発中のものです。:2007/05/15(火) 10:03:15 ID:4as9xAPK
まぁ一般的に頂点シェーダーが吊る事ってまずないからなぁ・・・。
元は画面いっぱいのチップが重いって話なんだしDP量に比例するCPU負荷の話だろ。
954名前は開発中のものです。:2007/05/15(火) 15:46:48 ID:247W4gkD
すみません
>717のLueというライブラリは何かの略称でしょうか?
ぐぐっても出てきませんです。
955名前は開発中のものです。:2007/05/15(火) 16:46:21 ID:wufws/3W
>>954
Lunaライブラリ系列についてはつい最近出来た
http://gamdev.org/w/?%5B%5B%A4%AA%A4%DE%A4%A8%A4%E9%B2%B6%A4%CBLuna%5D%5D
956名前は開発中のものです。:2007/05/15(火) 16:59:52 ID:247W4gkD
ありがとうございます
Blue Impulse に突っ込むところでした
957名前は開発中のものです。:2007/05/15(火) 19:08:35 ID:f7G5sIdD
>>951
くだらねw
それじゃ、C++じゃねーか。
C#のいいところが抜け落ちてる
958名前は開発中のものです。:2007/05/16(水) 02:04:24 ID:mcxT4s5r
3Dモーションモデルの作成はやはり、photoshopを使うべきなんでしょうか?
959名前は開発中のものです。:2007/05/16(水) 02:18:04 ID:Lzqa97Xd
DCC(Digital Content Creation)ツール
http://3dcg.homeip.net/3d_products/

この中のお勧めはどれかな?
960名前は開発中のものです。:2007/05/16(水) 02:31:59 ID:VSHkmsP8
ゲームやるならXSIFndか 金あるならMaxいっとけば?
・・・その人使い込んでないソフトのことも記事にしてないか?中立視点のようで温度差けっこうあるなw
961名前は開発中のものです。:2007/05/16(水) 08:55:24 ID://Z4Ymn2
俺はLightwave信者
962名前は開発中のものです。:2007/05/16(水) 11:15:12 ID:y5FykLvg
ツールの信者は結構いるよな。
一度使ったら、他のツールを使うつもりにならないなぁ。
とりあえず、Max使い始めました。
963名前は開発中のものです。:2007/05/16(水) 18:25:55 ID:6mx3tuvt
俺もLightWaveだな
まぁこればっかりは好みだから仕方ない
964名前は開発中のものです。:2007/05/16(水) 18:51:08 ID:LCXuH5pB
Lightwaveって、一昔前にトゥーンが強いって聞いたけど、
今でもLightwaveがトゥーン最強?
965名前は開発中のものです。:2007/05/16(水) 18:53:35 ID:VBs2TFGD
>>963
好み以前に、趣味レベルだと価格の問題がw
趣味でMaxは手が出ないな。まぁ、gmaxで十分かもしれないが。
966名前は開発中のものです。:2007/05/16(水) 20:54:55 ID:7cJo3Vs6
ビルボードを実装しようとしているのですが、上手くいかないので
どうか教えてください。
ビュー行列のm41、m42、m43 を0にして、その逆行列を
ワールド行列に設定して描画したのですが、
遠くの板ポリも近くの板ポリも全く同じ大きさに表示されてしまいます‥orz
と言うか、カメラ位置をフィールドに対しズームアウト、ズームインしても
遠くの物も近くの物もカメラの目前に張り付いてるように、常時同じ大きさと位置で表示されてしまうのです。

ビルボードに遠近感を持たせるにはどうすればいいのでしょうか?
RHWが何たらとも読んだのですが、具体的な実装法が全く分かりません。
何とぞご教授をお願いします
967名前は開発中のものです。:2007/05/16(水) 20:59:16 ID:X+5WGjdi
射影行列を設定しろ。
968名前は開発中のものです。:2007/05/16(水) 21:12:44 ID:CrdwKTEd
射影行列だっけ?
ビルボードってカメラ行列(ビュー行列?)のm41,m42,m43の以外の部分を
コピーしてビルボードを置きたい座標をm41,m42,m43に入れるだけだと思ったけど
メッシュは-z方向に向ければ、別に行列いじらなくてもそのまま使えたような・・・
969名前は開発中のものです。:2007/05/16(水) 21:20:24 ID:X+5WGjdi
射影変換無しでどうやって遠近のサイズを設定するんだ?
そのビックリな方法を言ってみろ。
970名前は開発中のものです。:2007/05/16(水) 21:25:59 ID:bB+r/QzK
位置に応じて単純なスケーリングを
まあ射影変換のことだけどな!
971名前は開発中のものです。:2007/05/16(水) 21:35:44 ID:lSuw7PNY
>>966
逆行列をとった行列が、
実はビュー行列じゃなくて、ビュー行列とプロジェクション行列の積
だったんじゃないの?

いかにもありそうだが
972名前は開発中のものです。:2007/05/16(水) 22:38:21 ID:7cJo3Vs6
>>970
そのスケーリングの方法を教えてください。

ちなみに、IDirect3DDeviceにプロジェクション行列は設定してます。
ビュー行列の逆行列を、Deviceのワールド行列に設定して
描画すると、ビルボードの遠近感だけが全くなくなってしまうのです。
(DSpriteで描画したのと同じ感じになる)
具体的な方法を何とぞご教授くだされ
973名前は開発中のものです。:2007/05/16(水) 22:40:04 ID:CrdwKTEd
>>969
え?意味がわからん。
普通の、まーよくある描画までの一連の流れは辿ってるってこと前提だと思ったんだけど
ビルボードじゃなくてモデルの表示まではできてるって俺は勝手に思ってたけどそうじゃなくて
質問者は射影行列つーかワールドから画面に表示するまでの一連の流れができてない状態の人だったってこと?

俺は、ビルボードのローカル座標のあり方について聞いてるかと思った
974名前は開発中のものです。:2007/05/16(水) 22:41:26 ID:CrdwKTEd
>>972
てか、ビルボードじゃない普通の3Dモデルは表示できてる?
てか、3D空間は構築済み?
975名前は開発中のものです。:2007/05/16(水) 23:00:16 ID:7wvGwwEk
>>972
ビルボードの場合、オブジェクトの向きは、カメラの向きによって決まるけど、
オブジェクトの位置は変えちゃだめよ。
とりあえず、ビュー行列の逆行列(=カメラの姿勢行列)を求めてから
その平行移動成分(m41,m42,m43)に、位置座標を上書きすれば多分おkね。
今はきっと、全部のビルボードが、ワールドの原点に配置されているんじゃないかしら。
976名前は開発中のものです。:2007/05/16(水) 23:11:29 ID:CrdwKTEd
やっぱそうだよなぁ
#ああ、俺もビルボードのローカル座標とか違うこと言ってるわw

カメラの姿勢行列のm41,m42,m43以外の部分をコピーして来て
ビルボードを置きたい座標(ワールド)をm41,m42,m43に突っ込んで
できたもんがビルボードのワールド座標だよな

射影行列使ってやる方法もあるってことなんかな?
977名前は開発中のものです。:2007/05/17(木) 00:19:03 ID:+BYlvm7I
シェーダで演算してその結果をID3DXEffect::GetIntで
取得できないかといろいろ試しているのですが
この方法は無理ですか?誰か助けて。
978名前は開発中のものです。:2007/05/17(木) 00:33:34 ID:/T2VJZC8
無理じゃね?
979名前は開発中のものです。:2007/05/17(木) 00:59:13 ID:hoPxXnJ+
>>977
どっかのテクスチャに描画してその描画結果を取得するんじゃ駄目なの?
980名前は開発中のものです。:2007/05/17(木) 01:25:44 ID:LzmNTBWG
>>975
それが無理なんです‥
やって見ればわかります。
ちなみに、カメラの位置は地面から垂直な天上から30度下げた位置にあり
つまり、地面とその上に立つキャラを斜め上から見下ろしてる状態です。

キャラをビルボードにすると、丁度キャラが地面に立ってるようになる訳で
ビルボードにした場合は、カメラに対して手前のキャラは大きく
奥のキャラは小さく表示されるべきなのに、上の方法を使用しただけでは
全部のキャラが手前奥関係なしに同じ大きさになってしまうのです。

ビュー行列の逆行列(シフト成分ゼロ)に加えて、もう一つ何かの計算が
必要だと思うのですが、どうかそれをご教授ください。
981名前は開発中のものです。:2007/05/17(木) 01:45:40 ID:kp/jlzet
視線ベクトルと単位垂直ベクトルの外積を、単位化して水平ベクトル
            ^^^^^^^^^^^^@            ^^^^^^^^^^^^A
@とAで3D空間上にポリゴン表示。
982名前は開発中のものです。:2007/05/17(木) 07:29:25 ID:hoPxXnJ+
>>980
>それが無理なんです‥
>やって見ればわかります。
いや、俺>>975じゃないけど感覚でそうはならんはずってわかるっしょ
だってカメラの姿勢行列ってワールドに普通に存在するモデルとなんも変わらないじゃん。
その行列の位置座標を変えるだけなんだからこれでおかしいってことないでしょ。
仮にカメラの回転成分を
1000
0100
0010
にして位置座標だけ変えてみたら描画までおかしくなりそうか?ならないっしょ?

なにか別のことしててそれがバグってるんでしょ。
983名前は開発中のものです。:2007/05/17(木) 07:38:22 ID:hoPxXnJ+
書いてて気付いたけど
もしかして>>980ってワールドの拡大縮小を利用して描画のサイズを決定してるんじゃ・・・
984名前は開発中のものです。:2007/05/17(木) 09:45:28 ID:mphBkoz/
要は、木のビルボードみたいに軸回転だけにしたいわけね。
985名前は開発中のものです。:2007/05/17(木) 09:58:55 ID:LzmNTBWG
>>983
そうなんです。
もともとD3DTS_WORLDに、::D3DXMatrixScaling(1 / 1280, 1 / 960, 1 / 480)で生成した
スケーリング行列を設定してたので、先のビュー逆行列とスケーリング行列の積を
D3DTS_WORLDへ、新たに設定してます。
それはダメなのですか?
986sage:2007/05/17(木) 14:11:34 ID:rJQ9Pieq
各オブジェクトの D3DTS_WORLD は共通で、代わりに位置座標は、
DrawPrimitiveUPかなんかで描画するときに、ポリゴンの座標を直接変更してるってこと?
もしそうなら、ポリゴン座標の変更はやめて、
各オブジェクトごとに、ビルボード行列*平行移動を求めて
D3DTS_WORLDに設定しないとだめね。
987名前は開発中のものです。:2007/05/17(木) 21:08:08 ID:hoPxXnJ+
>>985
>それはダメなのですか?
うん
別にそのままでも動くっちゃ動くけど、色んな行列変換ができなくなるよ
こういうのははじめにデザイナさんと打ち合わせして寸法決めとかないと駄目
んでワールドの原点に普通に表示したときには
1000
0100
0010
0001
で普通に表示できないと苦しい
スケール使って調節するってのは普通はやんない。と思う。
988名前は開発中のものです。:2007/05/17(木) 21:22:58 ID:i1w2om/x
スクリーン座標に対応させたビルボード用のビュー行列を用意しておいて、
必用なときだけ切り替えれば済む話。
989977:2007/05/17(木) 23:31:15 ID:+BYlvm7I
>>978、979
テクスチャに書いてgetrendertargetdataでシステムメモリに
コピーというのはやったのですが遅いのでgetintを試したの
ですけど、getintは無理のようですね。ありがとうございました。
990名前は開発中のものです。
次スレから関連スレにここも加えてください。
過疎スレになってるんで^^;

【Xbox360】 XNA Game Studio その3 【C#】
http://pc11.2ch.net/test/read.cgi/gamedev/1176692259/l50