2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

DirectX総合スレ (Part6)

1 :DirectX6:2006/11/17(金) 00:38:52 ID:lRjOsWKq
言語はC++
他の言語使ってる奴はいますぐ消えろ

■過去スレ

DirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/


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シリーズは持ってなかったなそういえば

17 :12: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
グラフィックチップにテクスチャ用のキャッシュがあるよー
近隣がよくヒットするように変な並び方になってるんだよねテクスチャ

22 :12: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
誤爆失礼、、

30 :18: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)でループしてるよ

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

こんなの見つけたから参考にしてあげて


37 :12: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
ビューボートを小さくすればいいわ。
ただし通常時と同じパースにしようと思ったら
射影行列の調整もいるわね。

43 :42: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

45 :41: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
Microsoft XNA Game Studio Express 1.0
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=a73a7e71-ff41-432d-a0eb-043e904a1905&DisplayLang=en

Microsoft XNA Framework Redistributable 1.0
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=2e136a1f-f187-478c-9da5-aaeb0904782b&DisplayLang=en

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もバグってたな

139 :128: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
http://jbbs.livedoor.jp/sports/31203/

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
DirectX SDK - (February 2007) 来たね誰か要点プリーズ
http://www.microsoft.com/downloads/details.aspx?FamilyID=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=en

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
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=en
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=kr
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=cn
↑リダイレクトされる↓できねー
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=ja

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幽霊

250 :test ◆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みたいなのは簡単に宗教の手におちるタイプ

269 :263: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
http://www.google.co.jp/search?num=100&hl=ja&inlang=ja&ie=Shift_JIS&q=DirectX-Graphics&btnG=Google+%8C%9F%8D%F5&lr=

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
化石は死ねば?w

ttp://msdn.microsoft.com/library/ja/directx9_c/directx/intro/dx9whatsnew.asp?frame=true#Graphics

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
当然、マルチスレッドで問題の発生する関数全てだろう。
そのオプションを指定しなくても、一部クリティカルセクションは使用しているようだが。

98 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)