07/03/10 23:03:20
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
DirectX使いが優しくコメントを返しますが、
お礼はDirectXの布教と初心者の救済をお願いします。
DirectX Home Page
URLリンク(www.microsoft.com)
前スレ:スレリンク(tech板)
2:デフォルトの名無しさん
07/03/10 23:07:47
2
3:デフォルトの名無しさん
07/03/10 23:08:14
前スレの999に書き込んでしまったので、再度書き込みます。
DirectShowを用いたプログラムを組んでいるんですが、
この、エラーコードの一覧というのはあるんでしょうか。
4:デフォルトの名無しさん
07/03/11 02:17:47
>>1乙
>>3 このエラーコードて、どの?
DirectShow全般ってことなら
ヘルプにある、「DirectShowに固有のHRESULT値」ってやつがそうじゃないの?
5:4
07/03/11 02:20:49
>>4
目次でいうと、
[DirectShow]-[DirectShowリファレンス]-[定数とGUID]の下の
[エラーコードと成功コード]ってとこに書いてある。
6:デフォルトの名無しさん
07/03/11 13:11:16
>>4
>>5
ありがとうございました。ありました。
これで、ミスの原因がわかる と思います。
7:デフォルトの名無しさん
07/03/11 14:28:59
独自フォーマットの画像データを読み込んでテクスチャとして登録したいのですがどうすればいいのでしょうか?
D3DXCreateTexture()で空のテクスチャを作れる所まで分かりました。
あとは、読み込んだデータをどのようにテクスチャとしてDirectXに登録するかなんですが、よろしく御願いします。
8:デフォルトの名無しさん
07/03/11 14:39:01
テクスチャをLockRectでロックしてデータを書き込む
9:デフォルトの名無しさん
07/03/11 15:01:36
ベタデータなら先頭にDDSヘッダつけてFromInMemory系で読み込む。
10:7
07/03/11 15:31:54
>>8-9
有り難うございます。
試してみます。
11:デフォルトの名無しさん
07/03/12 01:34:08
質問です
direct x 診断ツールで
direct xの機能が全部利用できませんになってます
ラグナロク?オンラインやろうとしたんですけど FAQみたらdirect xの問題ぽかったので
調べてみましたがよくわかりません
ぐらふぃっくはIntel Graphics Media Accelerator 900(915G)です
お願いします
12:デフォルトの名無しさん
07/03/12 01:41:21
915か・・・・・・
13:デフォルトの名無しさん
07/03/12 01:54:45
>>11
スレ違いじゃない。
板違いでもない。
そう、気違いだ。
14:デフォルトの名無しさん
07/03/12 02:12:34
問題ありなんですかね。。。
15:デフォルトの名無しさん
07/03/12 02:25:31
まずオンボードのチップでゲームをやろうという考え方を改めるところからだ。
今は安く買えるんだから適当なのを買いなさいよ。
16:デフォルトの名無しさん
07/03/12 02:43:45
【ネガティブ派遣根性チェック】
3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□奢ってくれる派遣先正社員は尊敬する
□自分の月額金額を知らないのは当然だ
□派遣先正社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ
17:デフォルトの名無しさん
07/03/12 07:09:45
普通にノートPCについてるもんだってラグナロクぐらいなら動くよ。
どんだけ古いPCでゲーム動かそうとしてるんだ?
最近売ってるPCならオンボードでも十分動く場合が多い。
18:デフォルトの名無しさん
07/03/12 08:13:44
>>11
ム板にプログラムを組まない奴が何の用だ?
19:デフォルトの名無しさん
07/03/12 15:34:39
>>11
マジレスすると、オンボードのグラフィック能力だと、いまどきのゲームはキツイ。
デスクトップなら、安めなグラフィックボードを増設しな。
ノートPCならあきらめる
あと、板違いな
ネトゲ質問
URLリンク(live25.2ch.net)
20:デフォルトの名無しさん
07/03/12 22:24:37
>>19
そら昔のオンボードの場合で今のオンボードは大抵シェーダー2.0が動くびっくり性能。
21:デフォルトの名無しさん
07/03/12 23:40:44
>>20
元の話題のはIntelの915だぞ。
22:デフォルトの名無しさん
07/03/13 00:34:28
裏切派遣って知ってる?
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて派遣やってるバカのことw
前の会社を裏切り、結局派遣先からも騙されてる。まさに裏切派遣人生
そもそも信頼されてるなら直接契約するか正社員にするはずだが、派遣会社経由って舐められ杉
自分でも騙され裏切れられてることは薄々わかってるから派遣問題の話が出るとウッキー!って逆ギレw
自分で決めて派遣やってる癖に逆ギレしちゃって人間として本当に恥ずかしい
23:デフォルトの名無しさん
07/03/13 01:07:29
>>21
915GはPixelShader2.0に対応しているが?
24:デフォルトの名無しさん
07/03/13 02:00:46
>>23
915Gはピクセルシェーダーは2.0を搭載しているが
頂点シェーダーに関してはまったく搭載してないからな・・・
ただでさえCPUはボトルネックになりやすいのに
頂点処理をCPUエミュレートだけでやれってのが無茶な話だよ。
25:前スレ997
07/03/13 11:01:03
>>前スレ998
指示に従って設定したら、その問題は解決しました。
ありがとうございます。
しかしながら、付録CDのソースをそのままビルドしてもまだエラーが出ます。
'char [~]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
という物なのですが・・・・新しい機能? という事はこの本が古いという事なのか・・・
DirectX9とVC++.NET対応となっているのに・・・・
static charまたはconst char型の変数を変換するところでいくつもこのエラーが出ています。
もちろんヘルプも色々探しましたが、始めたばかりなのでどこも意味不明です。。
他の本でDirectXを学べばそのうち分かるのかもしれませんが、まずは真似事でも
プログラムを組んでみたいので、このエラーを解決する方法があれば
ご教授くださいませ。
26:デフォルトの名無しさん
07/03/13 11:05:15
古いよ。君が使ってるのはVC++.NETじゃなくてVC++2005だからね。
プロジェクトのプロパティを開いて構成プロパティ→全般→文字セットで
マルチ バイト文字セットを使用するに変更。
27:前スレ997
07/03/13 13:43:10
>>26
見事に解決いたしました! ありがとうございます。
最後に、もう一つエラーが残ってまして・・・・
ID3DXSprite::Draw' : 関数に 7 個の引数を指定できません。
という物なのですが、MSDNで見ても引数七つあったんですが・・・
これも解決策があればお教えください。
あと、警告で
ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。
データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
とあったので、メモ帳からソースファイルを開いてUnicode形式で保存したのですが、
何度やってもこの警告が出てしまいます。
警告なのでこれは無視してもかまわないのでしょうか?
28:デフォルトの名無しさん
07/03/13 14:58:12
>>27
なんだっけなー。 d3d9types.hの1800行目付近にある
コメント消せばおkだとおもたけど細かいトコ忘れたわ。
「d3d9types.h FOUR_CC」とかでぐぐってみたらでてくるんじゃね?
29:前スレ997
07/03/13 17:11:24
>>28
それで検索したら、同じような事例が見つかり、警告はなくなりました!
そして、ID3DXSprite::Drawの引数の事ですが、調べていったところ、
どうやらMSDNの内容が日本語と英語ので異なっていたようで、
英語の方のサイトに行って、引数を正しい五つに直したところまで行ったのですが、
今度は
'ID3DXSprite::Draw' : 3 番目の引数を 'D3DXVECTOR2 *__w64 ' から 'const D3DXVECTOR3 *' に変換できません。(新しい機能 ; ヘルプを参照)
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
というエラーが出ました。。さっきと同じようなエラーなのですが、
文字セットは確かにマルチバイト文字になっているし・・・
これさえ解決すればビルドできそうなのですが。。
30:デフォルトの名無しさん
07/03/13 17:27:53
Sprite関係はしょっちゅう引数や仕様が変わるうえに、日本語MSDNが
なかなか更新されないので、英語MSDNを見るのが定説なんだっけ。
もしくは使わない。
>>29
DirectXを勉強する前に学ぶべき事があるようだ。(型関係)
31:デフォルトの名無しさん
07/03/13 22:32:47
>>29
そのエラーが理解できないって相当まずいぞ・・・
32:前スレ997
07/03/14 00:14:37
すいません、とりあえず猿真似から覚えていこうと思っていたのですが、
この本は自分にはまだ早いくせに時代的には古いという物だったようです。
正直、やったのはC++の入門だけで、DirectXを勉強し始めてもいないので、
出直してきます。
33:デフォルトの名無しさん
07/03/14 01:28:03
C++の入門
34:デフォルトの名無しさん
07/03/14 09:24:40
生でDirectXSDK使うのと
イルリッヒとかseleneとか噛ますのとどっちが楽?
35:デフォルトの名無しさん
07/03/14 10:06:35
仕事とかで生DirectXを使わざるを得ない状況でないなら
ライブラリに手を出すほうが楽だろ思うけど、
そのへんは使うライブラリ次第かもな。
36:デフォルトの名無しさん
07/03/15 06:24:19
派遣プログラマ、高卒、身長163cmです
この先どうしたらいいですか?
37:デフォルトの名無しさん
07/03/15 11:48:58
>>36
身長を伸ばす
38:デフォルトの名無しさん
07/03/15 12:07:58
1hyde以上あるから問題ない。
39:デフォルトの名無しさん
07/03/15 18:01:16
回転行列をクオータニオンに変換するやり方教えて
40:デフォルトの名無しさん
07/03/16 01:24:57
ネットにあるDirectXのサンプル実行しても、エラーばっかで死ぬ・・・
構文エラーとか、そういうのがずらーーーーーーーーっと。
2007年2月のSDKをインストールしただけなんだが、何かやり忘れてることある?
41:デフォルトの名無しさん
07/03/16 02:16:28
根本的にry
42:デフォルトの名無しさん
07/03/16 02:51:45
根本的にって何だよ
あと、C++のコンパイラはVC++ EE使ってます
43:デフォルトの名無しさん
07/03/16 02:56:14
やり忘れ:ググレカス
44:デフォルトの名無しさん
07/03/16 03:19:45
一応DirectXの入門サイトで、「やれ」って書いてあるのはやってみたはずなんですが、やり忘れがあるみたい・・・
45:デフォルトの名無しさん
07/03/16 03:50:19
まずは質問の仕方から勉強だろうな。
最近の若い衆は質問の仕方が下手で困る。
いきなり何かを指さして「スミマセンこれわからないんですけど?」
と言われたって、こっちは何がわからないのかわからないんですけど^^;
すまん愚痴ったorz
46:デフォルトの名無しさん
07/03/16 03:50:21
今までプログラミングした事は?
いきなりDirectXやろうとしてるようみえるんだが
47:デフォルトの名無しさん
07/03/16 03:57:31
・DirectXでつまづいているのか?
・普通のプログラムのコンパイルはできるのか?
・どんなエラーがでるの?
48:デフォルトの名無しさん
07/03/16 08:57:26
補足すると。
・そのサンプルはいつ作られたものなのか。
DirectX9.0は無駄に長い歴史があるので
マイナーバージョンアップでも仕様変更が結構入っていて
時期によってはサッパリ違うこともある。
49:デフォルトの名無しさん
07/03/16 17:24:06
DirectX9で
ウィンドウモードで描画していて
ウィンドウサイズ変更すると
描画が引き伸ばされるんですが
回避するにはどうしたらいいですか?
50:デフォルトの名無しさん
07/03/16 17:27:46
ウィンドウサイズ変更できないようにしろよチンカス
51:デフォルトの名無しさん
07/03/16 17:32:28
>>50
ツールの描画として使ってるからウィンドウサイズ変えまくり前提なんだよチンカス
>>49
WM_SIZEでPARAMのWidthとHeightにサイズを入れて
device->Reset
52:デフォルトの名無しさん
07/03/16 17:36:45
なにこれ?自演?ワロスwwwwww
53:デフォルトの名無しさん
07/03/16 17:38:39
ツールねぇ・・・・
54:デフォルトの名無しさん
07/03/16 17:41:29
>>51
おまえは誰なんだよ
55:デフォルトの名無しさん
07/03/16 18:21:39
あー、でもそういうツール作ったときって
ウィンドウの縦横比も中身の絵の縦横比に合わせて変化させるみたいな仕様にしたら地獄みたなぁ
AdjustWindowRectだっけ?
なんか中身にあわせてウィンドウサイズを確定する仕様にするとすげー作りにくい
なんでウィンドウのサイズは自由に変更できるようにして中身の絵の縦横比の比率は
デフォルトを維持したままウィンドウと中身の絵とで隙間ができた部分は
別の色で埋めるようにしたほうが綺麗にいくかも。
まあ、仕様にまで踏み込むので仕様を決めた担当者と話しあう必要が出てくるけど
なにいってるかわからん?
56:デフォルトの名無しさん
07/03/16 18:54:12
言いたいことは分かるが、そんなの難しくないし。
57:デフォルトの名無しさん
07/03/16 19:58:08
>>56
難しいよー。
まず、どのメッセージ拾ってサイズ変更するのが適切か?ってのを見定めなきゃならん
んで多分変更後のウィンドウのサイズが流れてくるからそこから中身の絵のサイズを算出して
それに対して今度はウィンドウのサイズを調節してってやると結構面倒だと思われ
ウィンドウのサイズ取得→クライアントのサイズを算出→中身の絵のサイズを合わせる
→中身に合わせてクライアントのサイズを算出→クライアントからウィンドウのサイズを決定
って順にやらなきゃいけないから
中身の絵の比率を維持したままウィンドウのサイズを決定するようにすると
ちょっと面倒な計算になるよ。
固定幅の枠もあるから、単純に比率ってわけにもいかんし、メッセージごとよくわからんし。
俺はこの計算がなんかうまくいかんかった。
完璧にサポートしようとするとすげーきつい
WM_SIZINGとかWM_SIZEとかWM_EXITSIZEMOVEとか
なんかメッセージごと処理の仕方違うし結構苦戦した覚えがある。
58:デフォルトの名無しさん
07/03/16 21:10:03
いや普通に出来るだろ・・・
ツール作る時にウィンドウサイズ変えるたびReset()呼び出すなんてアホの子がすることだ。
59:デフォルトの名無しさん
07/03/16 21:37:11
>>58
え?何の話してるの?
もしかして>>55,57の話しじゃない?
60:デフォルトの名無しさん
07/03/16 22:05:14
>>51のレスについてだ。
4分割画面の可変サイズウィンドウのモデルビューアーを
作った時は画面サイズや比率に関しては全く苦労しなかったぞ。
中身の絵の比率を維持したままウィンドウサイズを決定するのではなく、
変更されたウィンドウサイズに合わせて中身の絵が同じ比率になるようにすればよい。
61:デフォルトの名無しさん
07/03/16 22:17:00
バックバッファをVGAとか固定解像度で持ってやって、
転送時にstretchbltなり使ってやって描画領域にあわせてやるというやり方か
62:デフォルトの名無しさん
07/03/16 22:19:55
ごめん忘れて
63:デフォルトの名無しさん
07/03/17 02:59:58
俺が昔作ったときはWM_SIZEをフックしてBackBufferWidthとかを書き換えてたかなぁ。
そうしないとピクセルと1:1にならんから汚く見える
64:デフォルトの名無しさん
07/03/17 03:29:16
メインスレッドとは別のスレッドからCreateDeviceをやろうとしているんだけど
ウインドウモードは成功、だがフルスクリーンは失敗
(CreateDeviceから永久に戻ってこない)
メインスレッドでやれば両方成功するのは確認した
ひょっとして別スレッドってのはタブーなのか???
65:デフォルトの名無しさん
07/03/17 08:41:41
>>63
バッファの大きさに関係なくSetViewportで1:1にすりゃいいだけじゃん。
それじゃ4分割ウィンドウで4つのウィンドウの大きさが別々の時とか対応できないだろ。
66:デフォルトの名無しさん
07/03/17 08:47:25
普通にスワップチェインで好きなサイズを割り当てればいいだけ。
67:デフォルトの名無しさん
07/03/17 09:14:30
>>64
CreateとResetはウィンドウ生成と同じスレッドの必要がある。
リファレンスに書かれていた希ガス。
68:デフォルトの名無しさん
07/03/17 11:22:26
メタセコの場合、透視図と三面図では、ウィンドウサイズに対する
可視範囲の決め方が違うわね。どうでもいいけど。
69:デフォルトの名無しさん
07/03/17 11:31:51
>>64
CreateDeviceのところにもResetのところにも、フォーカスウィンドウを作成したスレッドとは
別スレッドのからは駄目ってしっかり書いてあるだろう。ついでにReleaseも駄目。
70:デフォルトの名無しさん
07/03/17 12:25:42
デバイスはウィンドウスレッドと一緒にして
他のスレッドからは完全に隔離するようにしないとね
でも同人ソフトとかで描画が別スレッドになってそうなソフトって見たことない
71:デフォルトの名無しさん
07/03/17 13:18:34
思考系のゲーム以外でスレッド分けを必要だと感じたことがない。
72:デフォルトの名無しさん
07/03/17 13:21:56
ゲーム以外では割と普通では?
73:デフォルトの名無しさん
07/03/17 13:46:00
D3Dの場合、対象のGPUが仮想化されてないんで
スレッド分けの意義は薄い。
次期GPUで仮想化が実現されたら、スレッド化のメリットは多少ありそう。
今までみたいにステートの保存、復帰を考えなくてよくなるみたいな。
74:デフォルトの名無しさん
07/03/17 13:58:01
もともと今のGPUはバッファにキューつっこんでから非同期に処理されるしな。
最悪2フレームくらい描画が遅延するんだっけ?
75:デフォルトの名無しさん
07/03/17 17:09:21
ファイルロード系をスレッドにしたりせんの?
76:デフォルトの名無しさん
07/03/17 19:45:29
Resetじゃなく
Presentで範囲指定すればよかった。
77:デフォルトの名無しさん
07/03/17 19:58:36
xファイルから読み込んだメッシュのレンダリングされている色を調節したいのですが、
詳しく説明されている本かサイトは無いでしょうか?
78:デフォルトの名無しさん
07/03/18 01:21:08
>>75
ファイルロードとストリームサウンドは確かに別スレッドにするな。
でもウィンドウスレッドと描画スレッドはネットワークゲームでない限り分けないな。
79:デフォルトの名無しさん
07/03/18 02:38:59
//ray pick test
VOID RayIntersect()
{
DWORD m_dwNumIntersections; // Number of faces intersected
// Rayの設定
D3DXVECTOR3 vecStart,vecEnd,vecDirection;
vecStart=Thing[1].vecPosition;
vecEnd=D3DXVECTOR3(0,-1.0f,0);
vecDirection=vecEnd-vecStart;
BOOL bHit;
DWORD dwFace;
FLOAT fBary1, fBary2, fDist;
D3DXIntersect(Thing[2].pMesh, &vecStart, &vecDirection, &bHit, &dwFace, &fBary1, &fBary2, &fDist, NULL, NULL);
if( bHit ) {
m_dwNumIntersections = 1;
MessageBox(0,"交差してます。",NULL,MB_OK);
} else {
m_dwNumIntersections = 0;
}
}
80:79
07/03/18 02:41:29
地面(Thing[2])と当り判定をするためにD3DXIntersectを使っているのですが、
bHitにTRUEが帰ってきません。
何か見落としているところはあるでしょうか?
81:デフォルトの名無しさん
07/03/18 07:34:35
vecDirectionがおかしいと思うが。
82:デフォルトの名無しさん
07/03/18 15:30:46
>>36-37
今すぐ派遣をやめて履歴書を書け!
そして就職しろ
身長や学歴は今更変えられないが、職歴は努力でなんとでもなる
派遣はまったく職歴にならんぞ
83:デフォルトの名無しさん
07/03/18 15:38:20
学歴も努力でなんとでもなるけど・・
84:デフォルトの名無しさん
07/03/18 17:53:31
学歴は今更どうにもならんだろ・・・
今から医学部受験しろとかいうのかね
85:デフォルトの名無しさん
07/03/18 18:04:40
平成18年度の医学部入学者のうち1.3%は25歳以上の社会人経験者(除学士編入)
86:デフォルトの名無しさん
07/03/18 20:12:58
25歳前後で医学部に入学すればなんとかなったといえるだろ
だけど語学留学したりいい歳こいてバカ大学にいったりしたらもう死んだも同然
派遣を辞めて普通に就職するのが人生リストラには一番よい
87:デフォルトの名無しさん
07/03/18 20:56:48
適切な板とスレを選択できる程度の知能を持ち合わせる方が先決だろう。
まあ先天的に頭が悪いから無理だろうけど。
88:デフォルトの名無しさん
07/03/18 22:22:35
超初心者なんですが、↓の様にDirectDrawの初期設定などを済ませば
URLリンク(www.uploda.org)
もう処理速度が(Windowモードでも)高速化した状態なんですか?
89:デフォルトの名無しさん
07/03/18 23:09:07
>>88
受信PASSが不明な件
何か全然解らんが、DDrawを初期化したからと言って、
別にGDIが高速化される訳じゃないぞ。
90:デフォルトの名無しさん
07/03/18 23:23:53
>>89
pはsageです。
ではハードに接続する固有のWinAPIがあるわけですね?
91:デフォルトの名無しさん
07/03/18 23:41:57
ハードに接続する固有のWinAPIとか処理速度が(Windowモードでも)高速化した状態とか意味不明だから。
DirectDrawを魔法か何かと勘違いしていないか?
用意されているインタフェイスを適切に使用しない限り高速化もへったくれもない。
92:デフォルトの名無しさん
07/03/18 23:44:33
まさにくずたれ
93:79
07/03/18 23:59:33
>>81
レスありがとうございます。
vecStart=Thing[1].vecPosition;
vecEnd=D3DXVECTOR3(0,-1.0f,0);
vecDirection=vecEnd-vecStart;
なんですが、y軸方向だけ当り判定をしようとしています。
Thing[1].vecPotionから(0,-1.0f,0)の方向へレイをとばしているつもりなのですが、
これでは不適切なのでしょうか?
94:デフォルトの名無しさん
07/03/19 00:22:21
vecStart=Thing[1].vecPosition;
vecDirection=D3DXVECTOR3(0,-1.0f,0);
95:デフォルトの名無しさん
07/03/19 00:58:13
>>93
それはvecPositionから(0,-1,0)の座標に向かうベクトル。
vecPositionが(-1,-1,0)だったら、X軸と平行な方向(ようするに真横)に向かうベクトル。
96:デフォルトの名無しさん
07/03/19 04:50:46
質問させてください。
2種類のα値を使って抜き色と半透明を同時に実現したいのですが、
SetRenderStateでαテストをONにして不要部分を抜く(ddsテクスチャのα値を使う)
SetTextureStageStateで、頂点のα値(128)を使うようにする
SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA) で半透明化する
の方法だと、抜き色されて不透明か、半透明だけか、しか出来ません。
同時に実現するにはどうやればよいでしょうか?
97:デフォルトの名無しさん
07/03/19 07:17:19
>>96
テクスチャステージで頂点αとテクスチャαを乗算するようにする。
SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE)
SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE)
SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE)
98:90
07/03/19 10:08:14
>>91
DirectDrawに詳しいサイトを教えてください。
お願いします。神様
99:デフォルトの名無しさん
07/03/19 11:26:33
>>98
ちょっと道間違えて無い?
少なくとももう確かな資料をもってる人間からいって少ないよ
ヘルプも配布されてないだろうし
書籍も昔のみつけてくるしかないし
俺もDirectDraw触ってたけどさすがにもうほとんど覚えてないし使ってない
みんな似たような状態だと思われ
RGBのフォーマットを色々対応するだけで嫌になるよ
100:98
07/03/19 11:46:49
>>99
3Dが主流になってきてるとはいえ、
趣味で2Dのゲーム作りたいんですよ。
ノートじゃスペックも足りないし。
どうすりゃいいんだorz
101:デフォルトの名無しさん
07/03/19 12:03:35
そこらに転がってるライブラリみて覚えればいいジャン
102:デフォルトの名無しさん
07/03/19 12:21:47
>>100
もしかしてDirectGraphicsが3D専用だと思っている?
103:デフォルトの名無しさん
07/03/19 12:55:45
>>98
struct TLVERTEX_UV
{
D3DXVECTOR3 pos;
float rhw;
D3DCOLOR color;
D3DXVECTOR2 uv;
};
#define TLVERTEX_UV_FVF (D3DFVF_XYZRHW| D3DFVF_DIFFUSE | D3DFVF_TEX1)
104:デフォルトの名無しさん
07/03/19 12:56:27
GDI使えばいいじゃない
105:デフォルトの名無しさん
07/03/19 13:27:55
>>94-95
あああ、ほんと根本的な計算が間違ってましたね…
ありがとうございました。
106:デフォルトの名無しさん
07/03/19 13:45:29
>>97
出来ました!ありがとうございます。
どうやらテクスチャステージを勘違いしていたようです。
107:デフォルトの名無しさん
07/03/19 15:51:27
(モデルの上に2Dで名前表示とかする為に)
3D座標を描画される2D座標に変換するにはどうすればいいですか?
108:デフォルトの名無しさん
07/03/19 16:24:56
D3DXVec3Projectでとりあえずいけたぽ
109:98
07/03/19 17:52:58
>>101
はい。。。
>>102
同じなんですか?
>>103
構造体?
110:98
07/03/19 18:51:26
あ、スルーしてくだちい。
111:デフォルトの名無しさん
07/03/19 19:29:21
>>100
とりあえず
動作させる予定のPCのスペックと
これは諦める予定のPCのスペックを決めたらどうなの?
PC-9800とかPC98-NXとかサポートしてもしょうがないっしょw
112:デフォルトの名無しさん
07/03/19 22:31:12
Windows98とかWindowsMEのサポートも無意味だな。
どっかの調査でWindows使用者の8割くらいはXPで残りは2Kって話だった希ガス。
そもそも最近はグラボメーカーも2000/XP/VISTA用のドライバしか作ってないし。
今3Dが処理(ラスタライズすら)できないビデオカードって
一般人が入手するのは不可能な気がするんだが。
113:79
07/03/20 00:21:29
>>105で解決したと思っていたのですが、できませんでした…
vecStart.x = Thing[1].vecPosition.x;
vecStart.y = Thing[1].vecPosition.y;
vecStart.z = Thing[1].vecPosition.z;
vecDirection.x = Thing[1].vecPosition.x;
vecDirection.y = Thing[1].vecPosition.y-1.0f;
vecDirection.z = Thing[1].vecPosition.z;
上のように指定しましたが、やはり当りは帰ってきていません。
上で本当に、Startからy軸方向、負の向きにレイは伸びているのでしょうか?
114:デフォルトの名無しさん
07/03/20 00:27:20
全然違うだろ・・・
115:デフォルトの名無しさん
07/03/20 11:30:30
ワロタ
116:デフォルトの名無しさん
07/03/20 11:37:14
DXなんてver6.5~7までしか使ったことないんだが。
今はver9だっけ?
3D描画がひたすら簡単になって、
2D描画がめんどくさくなったって話をチラっと聞いたのだが、
そこんとこ軽く教えてくれ。
以前は3DをLightWaveで作って、
ファイルの拡張子をxに書き換えて、
xファイルを読み込むヘッダーを自作して、
2Dと同じようにビデオメモリに貼り付ける技法以外で3D描画は難しかったと思うたが。
117:デフォルトの名無しさん
07/03/20 11:46:11
>>116
3D描画も2D描画も非常に簡単にできる。
DirectDraw至上主義な人には理解できないかもしれないが・・・。
今はD3DXの関数1つでXファイルの読み込みができる。
118:デフォルトの名無しさん
07/03/20 11:58:59
3Dと2Dで扱い方が統一されたのはデカイ
119:デフォルトの名無しさん
07/03/20 12:41:46
>>117
へぇ、結局Xファイルを使うこと自体は変わらんのか。
D3DX?
なんか便利そうだなぁ。
新バージョンに手ぇつけてみようかな。
勉強してみる。ありがとう。
あ、もう一つ聞いてもいい?
C++6.0でしかDXは扱ったことないのだが、
VC6.0やらVB6.0やらVB.NETやらでも扱える?
120:デフォルトの名無しさん
07/03/20 16:48:14
最新版のSDKはVisualStudio.NET前提なんじゃよ・・・
今はVisualC++.NET2005の無料版もあるしVC6とか記憶から消し去ったほうがいい。
あとは別にXファイルにこだわる必要はない。
俺は自前のフォーマットに変換して使ってる。
121:デフォルトの名無しさん
07/03/20 17:10:13
>>120
そうなのか…
じゃ、職場のマシンでこっそり作るのは無理かw
Xファイルでなくてもいいのはちょっと嬉しいかも。
>VisualC++.NET2005の無料版
これ自宅マシンに入れて使ってみることにするよ。
ありがとう。
122:デフォルトの名無しさん
07/03/20 17:33:31
>>121
いやいやいや・・・Xファイル使わないでもモデル表示できるのは
初期のDirectXからずっとそうだろw
たんに自分で頂点データ、インデックスデータ、マテリアル、アニメーションを
全部フォーマット決めて管理・描画するようにすればいいだけじゃんw
無料版はWindowsのSDKが入ってないからPlatformSDKも一緒に入れれ。
123:デフォルトの名無しさん
07/03/20 17:36:27
VC6持っていれば、VisualStudio.NET Professional 2003に
4万弱でアップグレードできたんだけどな。
とっくにキャンペーン終わったからもう無理だが。
124:デフォルトの名無しさん
07/03/20 19:06:16
3Dの概念がDX上に生まれたのは7からじゃなかったか?
125:デフォルトの名無しさん
07/03/20 19:52:40
3からだ
126:デフォルトの名無しさん
07/03/21 13:57:05
>>113
>>94
127:79
07/03/21 15:24:35
>>126
レイの始点を原点とするんですか!
>>79を>>94のとおりにしましたが、TRUEは返ってきませんでしたorz
128:デフォルトの名無しさん
07/03/21 17:06:26
それはもはやデータが間違ってるかコリジョンの計算が間違ってるとしか思えん
129:デフォルトの名無しさん
07/03/21 17:28:36
いや、たんにvecPositionがメッシュの上にないだけだと思うが。
130:デフォルトの名無しさん
07/03/21 17:34:19
確かに位置座標と方向ベクトルの違いが
よくわかってないっぽいから
もっと別のところが間違っている可能性は大いにあるな
131:デフォルトの名無しさん
07/03/21 22:11:58
回転とかするときって何か行列の変換いらなかったっけ?
132:デフォルトの名無しさん
07/03/21 22:19:05
当然レイを逆行列で変換する必要はあるな。
133:デフォルトの名無しさん
07/03/21 23:11:57
D3DXMatrixInverse()。
134:デフォルトの名無しさん
07/03/25 10:38:42
ドット絵に背景3Dの擬似2Dやりたいんだけど3D部分だけ、もしくは特定シーンだけ解像度落として描画とかできます?
135:デフォルトの名無しさん
07/03/25 12:09:02
できますよ。
136:デフォルトの名無しさん
07/03/26 00:06:25
フルスクリーンで解像度かえると
画面パチン言うから
一番大きい解像度で作っておいて
小さい解像度の時小さく書いて拡大すれば
137:デフォルトの名無しさん
07/03/26 01:48:58
3Dだとパスなんで輪郭線綺麗なまま拡大されるのかと思ったらそうじゃない方法もあるのかな
返答ありがとうございました
138:デフォルトの名無しさん
07/03/26 12:13:32
>画面パチン言うから
そのアナログ的な言い回しになぜだか和んだ
139:79
07/03/26 23:56:22
VOID RayIntersect()
{
DWORD m_dwNumIntersections;
D3DXVECTOR3 vecStart,vecEnd,vecDirection;
vecStart=Thing[1].vecPosition;
vecEnd=D3DXVECTOR3(0,-1,0);
vecEnd+=vecStart;
D3DXMATRIX matWorld;
D3DXMatrixTranslation(&matWorld,Thing[2].vecPosition.x,Thing[2].vecPosition.y,Thing[2].vecPosition.z);
D3DXMatrixInverse(&matWorld,NULL,&matWorld);
D3DXVec3TransformCoord(&vecStart,&vecStart,&matWorld);
D3DXVec3TransformCoord(&vecEnd,&vecEnd,&matWorld);
vecDirection=vecEnd-vecStart;
BOOL bHit=FALSE;
DWORD dwFace;
FLOAT fBary1, fBary2, fDist;
D3DXIntersect(Thing[2].pMesh, &vecStart, &vecDirection, &bHit, &dwFace, &fBary1, &fBary2, &fDist, NULL, NULL);
if(bHit) {
m_dwNumIntersections = 1;
MessageBox(0,"交差してます。",NULL,MB_OK);
}
else {
m_dwNumIntersections = 0;
}
}
140:79
07/03/27 00:01:36
色々なD3DXIntersectを使ったコードを見ながら書いてみたのですが、やはりがTRUEが帰ってこないです。
D3DXIntersectの使い方はこれであっているでしょうか?
141:デフォルトの名無しさん
07/03/27 19:06:24
>>140
お前のアホさは黄金聖闘士の域にまで達しているようだなっ!
142:デフォルトの名無しさん
07/03/27 21:52:47
確かにひどいなw
素直にD3DXMesh使ってD3DX系の関数でコリジョンとりなよ。
リファレンスの説明の日本語もろくに読んでないんだろ
143:デフォルトの名無しさん
07/03/28 03:32:03
アナザーディメンション!
バグの迷宮に迷い込んでしまった
144:デフォルトの名無しさん
07/03/28 09:33:26
>>140
一応まじめに聞いてやる。
Thing[]ってのがなにかわからん。
145:140
07/03/28 14:22:42
ありがとうございます・・・;
リファレンスは日本語版も出ているのでしょうか。。
Thing[i]はこれです。
struct THING
{
LPD3DXMESH pMesh;
LPD3DXFRAME pFrameRoot;
LPD3DXANIMATIONCONTROLLER pAnimController;
D3DMATERIAL9* pMeshMaterials;
LPDIRECT3DTEXTURE9* pMeshTextures;
DWORD dwNumMaterials;
D3DXVECTOR3 vecPosition;
D3DXMATRIX matRotation;
D3DXMATRIX matWorld;
FLOAT fHeading;
};
146:デフォルトの名無しさん
07/03/28 16:21:18
2Dのゲーム作ってるのですが
背景を表示しようと思って400×400ぐらいのbmpファイルを
表示しようとしましたが
どうしてもCPU使用率が100%になりFPSが4ぐらいで動作が遅くなってしまいます
jpgに変えても同じでした
画像ファイルが大きすぎるのでしょうか?
それとも他に方法はありますか?
くだらない質問ですいませんorz
147:デフォルトの名無しさん
07/03/28 16:27:04
それは素材以外の問題
ソースみせろ
148:デフォルトの名無しさん
07/03/28 16:38:45
void CBACKShot::Init(void)
{ // 画像ファイルを読み込む
m_Texture.Read(g_pD3DDevice, "DataForWork/back.jpg");
// 初期位置をセット
m_vec2.x = 0;
m_vec2.y = 0;
// テクスチャの範囲を指定する
m_Rect.left = 0;
m_Rect.top = 0;
m_Rect.right = 450;
m_Rect.bottom = 450;
}
void CJikiShot::Move(void)
{ m_Texture.Read(g_pD3DDevice, "DataForWork/back.jpg");
D3DXMatrixTransformation2D(&m_Matrix, NULL, 0, NULL, NULL, 0, &m_vec2);
}
// 描画
// 引数、戻値なし。
void CJikiShot::Draw(void)
{
// 座標変換してから、スプライト描画
g_pSprite->SetTransform(&m_Matrix);
g_pSprite->Draw(m_Texture, &m_Rect, NULL, NULL, 0xffffffff);
}
すいません今はソースがうpできない状態なので
思い出して書きました
これを無限ループさせてます
まだ初めて3日なのでアホなミスしてるかもしれん
149:デフォルトの名無しさん
07/03/28 16:39:51
すいません 下の二つのクラス名はCBACKのミスです
連投スマソ
150:デフォルトの名無しさん
07/03/28 16:52:23
void CJikiShot::Move(void)
{ m_Texture.Read(g_pD3DDevice, "DataForWork/back.jpg");
D3DXMatrixTransformation2D(&m_Matrix, NULL, 0, NULL, NULL, 0, &m_vec2);
}
毎回テクスチャロードしてる予感
151:デフォルトの名無しさん
07/03/28 16:57:38
>>150
Initで読み込めばいいだけだったのですねorz
ありがとうございました
家に帰り次第試してみます
もしかしてMoveクラスそのものもいらないのでしょうか
152:デフォルトの名無しさん
07/03/28 17:04:26
何を元に作ってるのかわからんが
MoveとDrawは、分けといた方がいい
フレームスキップや3Dの半透明考慮したZソートに使える
153:デフォルトの名無しさん
07/03/28 17:11:14
>>152
単純な質問に答えていただき
ありがとうございました
そうしてみます
154:デフォルトの名無しさん
07/03/28 20:04:25
>>139
D3DXIntersectのドキュメントを読む限り
そのテストコードで間違いはないようだ。
しかし、無駄なコードが半分以上、
本質がぶれるので、テストをしたいなら
もっと、シンプルにすべき。
前半の変換は全部いらん。
以下のコードはHITするか?
しないならば、次の理由によると思われる。
・Thing[2]のメッシュがレイに当たらない形状をしている
VOID RayIntersect()
{
DWORD m_dwNumIntersections;
D3DVCTOR3 vecDirection = Thing[2].vecPositon - Thing[1].vecPositon;
BOOL bHit=FALSE;
DWORD dwFace;
FLOAT fBary1, fBary2, fDist;
D3DXIntersect(Thing[2].pMesh, &Thing[1].vecPositon, &vecDirection, &bHit, &dwFace, &fBary1, &fBary2, &fDist, NULL, NULL);
if(bHit) {
m_dwNumIntersections = 1;
MessageBox(0,"交差してます。",NULL,MB_OK);
}
else {
m_dwNumIntersections = 0;
}
}
155:デフォルトの名無しさん
07/03/29 00:22:22
>>154
ありがとうございます。
そのまま判定してみましたが、HITしませんでした。
メッシュはメタセコイヤで作った正方形の平面をxファイルにしたものです。
ネットでD3DXIntersectの頁を見ましたが、他のページで見たことしか書いてありませんでした。
156:デフォルトの名無しさん
07/03/29 00:26:13
Rayが短いとかそういうくだらない事じゃないよな
157:デフォルトの名無しさん
07/03/29 00:50:24
else{}内に、Thing[1]のy座標を0.001ずつ下げるように記述して、
当たるまで下げてみようとしましたが、
結局HITは帰ってこないままです。
158:デフォルトの名無しさん
07/03/29 01:19:24
>>157
明らかにMeshが怪しい。
・XFileではなく、D3DXCreateBox等でMeshを作るとどうなるか
次点として
・D3DXIntersectはエラーを返していないか、一応確認するべし
・他にD3Dはエラーを返していないか、デバッグモードで確認する
159:デフォルトの名無しさん
07/03/29 19:57:44
d3dx9_29.dll とかがいらない
DirectXSDKのバージョンっていつごろでしたっけ?
160:デフォルトの名無しさん
07/03/29 20:32:04
October 2004かな?
161:デフォルトの名無しさん
07/03/29 21:39:00
脳味噌ぶら~んにそこらへんまとまってたと思う。
162:デフォルトの名無しさん
07/03/30 05:35:26
webインストーラが全部入れてくれるから気にしないな
163:デフォルトの名無しさん
07/03/31 18:29:37
ほう。最近はそうなのか
164:140
07/04/01 00:27:11
>>158
ありがとうございます。
言われたとおり、D3DXCreateBoxなどでメッシュを作ってみるとTRUEが帰ってきました。
xファイルからロードしたものでは、帰ってくる気配がありませんが、もう少し粘って見ます。
165:デフォルトの名無しさん
07/04/01 00:37:46
まずはレイを可視化してみなよ。
視覚的に衝突しているかどうか見れないとわからんだろ。
166:デフォルトの名無しさん
07/04/01 00:48:57
>>165
さすがに可視化くらいはしてるだろ。
まぁ164で当りが返ってきてるところを見ると、今更メッシュの形状は関係なさそうな希ガス
167:デフォルトの名無しさん
07/04/01 00:55:52
>>165
レイも一緒にレンダリングしていましたが、CreateBoxにあたればTRUEが帰ってきます。
ロードしたxファイルのメッシュには、あたってるように見えても全く駄目です。
>>166
メッシュの形は、平らな平面のものにしてみましたが駄目でした。
168:デフォルトの名無しさん
07/04/03 18:27:14
DirectX9でXファイルから
データを読み込んでメッシュを描画しています。
平面クリッピングを行い、メッシュの切断面を
ソリッドモデルとして表現したいのですが
良い方法はありませんか?
169:デフォルトの名無しさん
07/04/03 20:28:14
>>168
ステンシルバッファを使えば簡単にできる。
170:デフォルトの名無しさん
07/04/03 20:28:19
>>168
URLリンク(www.aya.or.jp)
また、HLSLのclip()を使う方法もあるだろう
171:デフォルトの名無しさん
07/04/03 21:35:59
>>169
>>170
ありがとうございます。
調べてみます。
172:168
07/04/05 12:45:08
メッシュBをメッシュAで切り取ろうと思ったのですがうまくいきません。
まずメッシュBの切断面だけ表示しようと思ったのですが
全く変化がありません。検討違いなことをやってるのでしょうか?
m_pD3DDev->Clear(0,NULL,D3DCLEAR_STENCIL | D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET,
D3DCOLOR_XRGB(0,0,0),1.0,0);//バッファをクリア
m_pD3DDev->BeginScene();
m_pD3DDev->SetRenderState(D3DRS_STENCILENABLE,TRUE);//ステンシルバッファを有効に
m_pD3DDev->SetRenderState(D3DRS_STENCILFUNC,D3DCMP_ALWAYS);//常に合格
m_pD3DDev->SetRenderState(D3DRS_STENCILPASS,D3DSTENCILOP_REPLACE);
m_pD3DDev->SetRenderState(D3DRS_STENCILZFAIL,D3DSTENCILOP_REPLACE);
m_pD3DDev->SetRenderState(D3DRS_STENCILREF,0x1);
m_pD3DDev->SetRenderState(D3DRS_STENCILMASK,0x1);
m_pD3DDev->SetRenderState(D3DRS_STENCILWRITEMASK,0x1);
RenderMeshA();//メッシュAを描画
m_pD3DDev->Clear(0,NULL,D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET,
D3DCOLOR_XRGB(0,0,0),1.0,0);//ステンシルバッファ以外をクリア
m_pD3DDev->SetRenderState(D3DRS_STENCILFUNC,D3DCMP_EQUAL);//ステンシルが1のところを描画
RenderMeshB();//メッシュBを描画
m_pD3DDev->EndScene();
m_pD3DDev->Present(NULL,NULL,NULL,NULL);
173:デフォルトの名無しさん
07/04/05 15:38:21
>>172
全然違う。
メッシュBのZ値を描画
メッシュAの表面だけ描画しながらD3DRS_STENCILPASSでインクリメント
メッシュAの裏面だけ描画しながらD3DRS_STENCILPASSでデクリメント
これで断面の部分のステンシルが非ゼロになる。
ここでのメッシュAの描画はZ値を更新しないこと。
また、メッシュAがニアクリップにひっかからないように。
D3DRS_TWOSIDEDSTENCILMODEが使える環境ならメッシュAの処理は1回で
済ませることも可能。
174:デフォルトの名無しさん
07/04/05 15:39:09
1つ忘れてた。
メッシュAは完全に閉じた形状であること。
175:168
07/04/05 19:22:21
m_pD3DDev->Clear(0,NULL,D3DCLEAR_STENCIL | D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET,
D3DCOLOR_XRGB(0,0,0),1.0,0);//バッファをクリア
m_pD3DDev->BeginScene();
m_pD3DDev->SetRenderState(D3DRS_STENCILENABLE,FALSE);//ステンシルバッファを無効に
m_pD3DDev->SetRenderState(D3DRS_ZWRITEENABLE,TRUE);//Zバッファ書き込み可
m_pD3DDev->SetRenderState(D3DR_CULLMODE,D3DCULL_NONE);//カリング無効
RenderMeshB();//メッシュBを描画
m_pD3DDev->SetRenderState(D3DRS_STENCILENABLE,TRUE;//ステンシルバッファを有効に
m_pD3DDev->SetRenderState(D3DRS_ZWRITEENABLE,FALSE);//Zバッファ書き込み不可
m_pD3DDev->SetRenderState(D3DRS_STENCILFUNC,D3DCMP_ALWAYS);//常に合格
m_pD3DDev->SetRenderState(D3DRS_STENCILPASS,D3DSTENCILOP_INCR);//インクリメント
m_pD3DDev->SetRenderState(D3DRS_STENCILZFAIL,D3DSTENCILOP_KEEP); //そのまま
m_pD3DDev->SetRenderState(D3DRS_STENCILREF,0x1);
m_pD3DDev->SetRenderState(D3DRS_STENCILMASK,0x1);
m_pD3DDev->SetRenderState(D3DRS_STENCILWRITEMASK,0x1);
176:168
07/04/05 19:23:22
つづき
m_pD3DDev->SetRenderState(D3DR_CULLMODE,D3DCULL_CCW);//表面のみ
RenderMeshA();//メッシュAを描画
m_pD3DDev->SetRenderState(D3DRS_STENCILFUNC,D3DCMP_ALWAYS);//常に合格
m_pD3DDev->SetRenderState(D3DRS_STENCILPASS,D3DSTENCILOP_DECR);//デクリメント
m_pD3DDev->SetRenderState(D3DRS_STENCILZFAIL,D3DSTENCILOP_KEEP); //そのまま
m_pD3DDev->SetRenderState(D3DR_CULLMODE,D3DCULL_CW);//裏面のみ
RenderMeshA();//メッシュAを描画
m_pD3DDev->Clear(0,NULL,D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET,
D3DCOLOR_XRGB(0,0,0),1.0,0);//ステンシルバッファ以外をクリア
m_pD3DDev->SetRenderState(D3DRS_ZWRITEENABLE,TRUE);//Zバッファ書き込み可
m_pD3DDev->SetRenderState(D3DRS_STENCILFUNC,D3DCMP_EQUAL);//ステンシルが1のところを描画
m_pD3DDev->SetRenderState(D3DRS_STENCILPASS,D3DSTENCILOP_KEEP);//そのまま
m_pD3DDev->SetRenderState(D3DRS_STENCILZFAIL,D3DSTENCILOP_KEEP); //そのまま
m_pD3DDev->SetRenderState(D3DR_CULLMODE,D3DCULL_NONE);//カリング無効
RenderMeshB();//メッシュBを描画
m_pD3DDev->EndScene();
m_pD3DDev->Present(NULL,NULL,NULL,NULL);
これでもうまくいきません。根本的におかしいのでしょうか?
177:デフォルトの名無しさん
07/04/05 20:06:34
具体的に、どううまくいかないのか。
あと、根本的な問題としてステンシルバッファを作成してあるのか?
(デプスバッファとセットの物なので個別に作成するわけではないが)
MASK系でわざわざ1bitしか使わないようにしているのには何の意味が?
(今回は1bitでも問題ないが)
原理を理解していれば、1ステップずつ描画させていけば問題点は
すぐに分かると思うが。
178:168
07/04/05 21:43:16
>>177
すみませんでした。
おっしゃる通りでステンシルバッファを作成していませんでした。
CreateDevice()で、バッファを作成すれば
表示はされるようになったので、何とかなりそうです。
ありがとうございました。
179:デフォルトの名無しさん
07/04/06 13:50:35
>>174で思いついたのですが、D3DXIntersectで使うメッシュは、やはり閉じたメッシュじゃなければ駄目なのでしょうか?
180:デフォルトの名無しさん
07/04/06 14:05:02
閉じても駄目でした。
181:デフォルトの名無しさん
07/04/06 19:15:00
判定を取る最中にワールド変換してるとかじゃねーの?
182:デフォルトの名無しさん
07/04/08 00:16:34
最近XNAを始めて、Matrixの使い方がよくわからないのですが
3Dモデルを左右反転するにはどうすればいいのでしょうか?
Matrix.CreateScale(-1, 1, 1)でいけるかと思ったんですが
表示がおかしくなるだけでした
183:デフォルトの名無しさん
07/04/08 00:34:26
1,まず鏡を用意します。
184:デフォルトの名無しさん
07/04/08 01:00:41
>>182
カリングでググるとよろし
185:182
07/04/08 12:31:54
>>183
まじめに質問しているので、まじめに答えてください
>>184
馬鹿にしているんですか?カリングくらい知ってます
186:デフォルトの名無しさん
07/04/08 14:36:18
左右反転というが
何軸に対して反転するんだ?
表示がおかしくなるのは、それに対する考慮が
抜けてるからだろう。
187:デフォルトの名無しさん
07/04/08 15:29:13
>>185
どちらのレスもふざけてるってほどふざけたレスじゃないとおもうw
188:デフォルトの名無しさん
07/04/08 19:08:17
URLリンク(www.plustarnet.com)
ここのページでプログラムの内容はあまり理解せず、ゲームを作ってきた者です。
スケルトンソース使って大体思い通りのものは作れるようになったつもりです。
そして最近加算合成がしてみたいと思ったのですが、やり方がよくわかりません。
スプライトを使って加算合成する方法はないのでしょうか?
やり方はなんであれ簡単なサンプルソースのリンクなどを張っていただくと助かります。
189:デフォルトの名無しさん
07/04/08 20:29:58
>>188
D3DRS_ALPHABLENDENABLE, D3DRS_SRCBLEND, D3DRS_DESTBLEND
を設定するだけでできる。
設定の仕方は「ブレンドファクター121」でググれば色々例がある。
DirectX6の頃の解説だけど、画像付きでそこそこ分かりやすいと思う。
190:デフォルトの名無しさん
07/04/08 20:52:02
>>186
182ですが理解しました
191:デフォルトの名無しさん
07/04/08 21:40:20
>>189
ごめんなさい、いままでSpriteを使って表示していたので、
その画像合成定義みたいなのをどこに書けばいいのかわかりません。
どこか短くてわかりやすいソース等ないでしょうか?
192:デフォルトの名無しさん
07/04/08 21:48:29
>>191
189のキーワードでググるという知恵もないのなら、やめた方がいいと思うよ。
193:デフォルトの名無しさん
07/04/08 22:01:49
>>191
最低限の段階、Direct3Dのチュートリアルは終わらせたの?
194:デフォルトの名無しさん
07/04/08 22:13:16
>>188
そこのサイトで勉強するのはやめとけ。
そこの管理人は自分の作ったしょぼいライブラリを使わせたいだけ。
何の勉強にもならん。dllだから中身も見れんし。
195:デフォルトの名無しさん
07/04/08 22:17:46
使いやすいかどうかはともかく、
ソースつきのライブラリなんて腐るほどあるしな。
196:デフォルトの名無しさん
07/04/08 22:20:50
そーっすね
197:デフォルトの名無しさん
07/04/09 01:03:03
そこ昔は全部ソース見れたような気がするけど
見れないんだ。
198:デフォルトの名無しさん
07/04/09 10:47:25
あまりの粗雑さにクレームが耐えないから非公開にしたんじゃね?w
199:デフォルトの名無しさん
07/04/15 09:07:36
test
200:デフォルトの名無しさん
07/05/14 22:22:51
質問です、DirectInputでマウス座標を取りたいんですけど
DIMOUSESTATE2 mouseInfo;
マウスデバイス->GetDeviceState( sizeof(DIMOUSESTATE2), mouseInfo );
↑これでマウス情報を得た後にmouseInfo.XlやmouseInfo.Ylに入っている数値って
現在のマウス座標からの増減のような気がするんですけど気のせいでしょうか?
もしそうなら任意のウィンドウのクライアント領域の座標(左上が(0,0))を取りたいんですけどどうやったらいいんでしょうか?
201:デフォルトの名無しさん
07/05/14 22:31:59
Win32APIに用意されているだろ。
何故用途に応じて使い分ける程度の脳味噌が無いんだ?
202:200
07/05/14 22:39:47
>>201
GetCursorPosとScreenToClientでいけそうですね。
せっかくDirectInputを使っているのでDirectInputだけでいけないか悩んでました。
でもこれだとマウスの移動に関してはDirectInputいらないんじゃないですか?
今からやりるんでわかりませんけどクリックとホイールで使うんですかね?
203:デフォルトの名無しさん
07/05/14 23:03:34
正直マウスに関してはDirectInputの利点はまるでないと思う。
204:デフォルトの名無しさん
07/05/15 14:42:08
> でもこれだとマウスの移動に関してはDirectInputいらないんじゃないですか?
いりませんよ。
ゲーム作ってますが、マウスの場合(というかパッドもだけど)DirectInput使ってません。
205:デフォルトの名無しさん
07/05/16 00:39:54
DirectInputの利点ってなに?
206:デフォルトの名無しさん
07/05/16 01:07:17
パッド使うときはDirectInput使うだろ
207:デフォルトの名無しさん
07/05/16 02:13:53
使ってない
208:デフォルトの名無しさん
07/05/16 08:54:04
Win32APIでアナログスティック2本とか使えたっけ?
209:デフォルトの名無しさん
07/05/20 13:47:48
DirectX SDK - April 2007でDirectX9の開発は可能ですか?
210:デフォルトの名無しさん
07/05/20 14:03:12
>>209はDirectX9を開発するらしい
超がんばれ
211:デフォルトの名無しさん
07/05/20 16:10:47
>>210
日本語でok
212:デフォルトの名無しさん
07/05/20 17:07:07
DirectX9の開発は可能ですか?
DirectX9の開発
DirectX9の開発
DirectX9の開発
213:デフォルトの名無しさん
07/05/20 18:02:17
DirectX SDK - April 2007でDirectX9での開発は可能ですか?
214:デフォルトの名無しさん
07/05/20 18:13:38
DirectX SDK - April 2007でDirectX9の関数が使えますかとかw
最新版使うとランタイムも最新版要求されるような
215:デフォルトの名無しさん
07/05/21 01:13:16
windowsの開発経験ありますか?
なんて面接で普通に聞かれるじゃん
>>210はコミュニケーション能力がないと思われて就職できないよ
それに本気でそう思ったとしても出来るかどうかぐらい考えてやれよ
そうすればどんなに矛盾したミスリードをしたか理解できるから
216:デフォルトの名無しさん
07/05/21 02:29:06
>>215
>windowsの開発経験ありますか? なんて面接で普通に聞かれるじゃん
面接官は馬鹿だからしょうがない
217:デフォルトの名無しさん
07/05/21 10:01:12
>>215
単に揚げ足取りたかっただけだろうから気にするな
218:デフォルトの名無しさん
07/05/21 12:24:08
DirectXってGPUで計算してくれるわけだから
電卓作るときDirectXを使えばCPUをほとんど使わず
計算できるんですか?
219:デフォルトの名無しさん
07/05/21 13:00:18
何が計算できるのかをまず把握しろ。
220:デフォルトの名無しさん
07/05/21 17:02:47
>>219
行列の足し算引き算掛け算割り算
ですか?
directXとopenGLどっちが覚えるのに時間掛かりますか?
221:デフォルトの名無しさん
07/05/21 17:06:29
まずはSDKを入れて実際に作ってみるところから始めろ。
グダグダ聞いていても時間の無駄。
222:デフォルトの名無しさん
07/05/21 18:10:15
>>221
SDKを入れようと思うんだけど、
dirextX10はwindows vista専用らしいので
windows vistaこれからさきやっていって
9のままで大丈夫なのか不安で入れられません
223:デフォルトの名無しさん
07/05/21 18:16:51
日本語でおk
224:デフォルトの名無しさん
07/05/21 18:19:54
>>223
10はwindows vista専用なので
windowsXPは9からバージョンアップはされないけれど
openGLはバージョンアップするという理解で
あってますか?
225:デフォルトの名無しさん
07/05/21 18:27:05
グダグダ考えずにとっととプログラムを組め。
226:デフォルトの名無しさん
07/05/21 18:32:58
>>225
プログラムを組む前に計画を立ててからです
227:デフォルトの名無しさん
07/05/21 18:44:13
馬鹿の考え休むに似たり
228:デフォルトの名無しさん
07/05/21 18:58:36
わからないものの計画をどうやって立てるのか
229:デフォルトの名無しさん
07/05/21 19:06:17
計画を立てる前に、わからないといけないから
質問してるんです
230:デフォルトの名無しさん
07/05/21 20:01:23
案ずるより産むが易し
231:デフォルトの名無しさん
07/05/21 21:27:19
>>218
GPGPU
スレリンク(tech板)
232:デフォルトの名無しさん
07/05/22 18:25:26
久しぶりに見にきたらこのgdgdな流れはなんだw
directxのバージョンで悩む必要なんてねぇだろ。
それ以前にGLはスレ違い。
233:デフォルトの名無しさん
07/05/22 19:46:51
DirectXを使った他人のプログラム中のDrawText()をフックして、
文字情報を抜き出したいのですが、可能でしょうか?
できるのでしたら方法やサンプルを教えて欲しいです。。
234:デフォルトの名無しさん
07/05/22 20:39:05
DLLを差し替えるんだ
235:233
07/05/22 21:27:01
DLL差し替えは、プログラムからチェックされてるんで
できないんです・・・。
フックに頼らない方法もあるのでしょうか?
236:デフォルトの名無しさん
07/05/22 21:32:36
そこまで対策されているプログラムにどうこうしようとか考えるな。
制作者の意図通り動かせよ。
237:デフォルトの名無しさん
07/05/22 21:39:05
リバースエンジニアリングを学ぶべきでは
238:デフォルトの名無しさん
07/05/22 22:28:46
DirectXを使ったプログラムを作るスレです。
239:デフォルトの名無しさん
07/05/22 23:30:58
超初心者用スレです。
240:デフォルトの名無しさん
07/05/23 08:07:07
レス返してるのも勉強中の学生としか思えないほど
低レベルな内容だもんな。。
241:デフォルトの名無しさん
07/05/23 08:22:51
じゃあお前が答えてあげればいいじゃないか
242:デフォルトの名無しさん
07/05/23 19:12:13
>>240>>241
こういう奴らは自分が一番低レベルということを自覚しない
243:デフォルトの名無しさん
07/05/23 19:47:45
以上、低脳の発言でした。
244:デフォルトの名無しさん
07/05/23 20:45:22
引き続き、>>1000まで低脳の発言をお楽しみください。
245:デフォルトの名無しさん
07/05/23 20:52:48
DirectXを使うにはどの言語が一番いいですか?
246:デフォルトの名無しさん
07/05/23 20:58:00
Dが一番メジャー
247:デフォルトの名無しさん
07/05/23 21:54:22
現時点での、環境の充実度、学びやすさ、Web上の資料の量と質などから主観的に判断すると、
C#
C++
Delphi
D
の順かな
248:デフォルトの名無しさん
07/05/23 21:58:52
C#+Managed DirectX2.0が最高・最強
MSに製作打ち切られても平気
249:デフォルトの名無しさん
07/05/23 22:05:08
ランタイムを配る面倒さを考えると、C++とSDK2004の組み合わせがベスト。
250:デフォルトの名無しさん
07/05/23 22:19:28
>>249
C#+MDXの組み合わせは、ランタイム配布関連がごちゃごちゃしすぎて
かつては鬼門とまで言われてたからね
でD3DXのDLLがややこしくなったのは確かApr 2005からじゃなかったっけ
だとするとそういう意味でのベストは、C++とSDK Feb 2005かな
251:デフォルトの名無しさん
07/05/23 22:28:12
Oct2004はVC6をサポートした最後のSDKだから価値があったりなかったりするんだよ。
ぶっちゃけ”VC2005EE使えよ”とは思うけど。
252:デフォルトの名無しさん
07/05/23 22:45:15
へえ、そーだったんだ
Dec 2004からはVS2003以降専用になったわけね
なら、何らかの事情でVC6しか使えない、或いは英語ヘルプを読みたくないならOct 2004
D3DX関係のランタイム配布関連で、苦労したくない或いは何らかの制限があるならDec 2005
それ以外なら最新版
になるんかな
253:デフォルトの名無しさん
07/05/23 22:49:07
VS2003->VS2005EEで
コンパイラバグがあらかた消えた。
仕事でもないのに今だVS6なんて使ってるのはあふォ
254:デフォルトの名無しさん
07/05/23 22:49:12
VS2003の前にVS.netがあったことを忘れないであげてください。
255:デフォルトの名無しさん
07/05/23 22:54:43
D3DXがDLLになったところでSDKを更新するのをやめた。
256:デフォルトの名無しさん
07/05/23 23:05:03
ちなみにD3DXがDLL化される前の最終バージョンは、December 2004
2005FebからはDLL化されている。
257:デフォルトの名無しさん
07/05/24 00:00:50
>>256
ぐあ、そうなんだ、すまんかった
>>252のDec 2005はDec 2004に修正
258:デフォルトの名無しさん
07/05/24 00:13:53
逆にDirectXDLLパッケみたいなのができて楽になったと思うけどな
259:デフォルトの名無しさん
07/05/24 00:19:59
商売やってねーなら最新使えばいいじゃん
商売やってたってCDROMにつけたってたいした手間じゃない
キーワード
DirectX エンド ユーザー ランタイム Web インストーラ
でググルととりあえず取得できる
260:デフォルトの名無しさん
07/05/24 01:17:03
ユーザに余計な物をインストールさせるのは滅茶苦茶手間。
ドキュメントなんて読まないし、親切にメッセージを表示させても理解できない。
261:デフォルトの名無しさん
07/05/24 01:30:57
セットアップ用のアプリを別途用意して入ってなきゃ強制的に
DirefctXのインストーラー起動させれば流石に入れないやつはいない。
262:デフォルトの名無しさん
07/05/24 05:48:20
>>261
そうだよな。
別にインストールに選択項目があるわけじゃないし、
強制的に起動すればいいだけの話だし問題になるところじゃねぇよな
263:デフォルトの名無しさん
07/05/24 08:19:31
ユーザにしてみれば、ボコボコ色んなバージョンのDLLを入れさせられるのは迷惑以外の何ものでもない。
264:デフォルトの名無しさん
07/05/24 09:36:59
レジストリが肥大化するわけでもなしシステムディレクトリにDLLが
増える程度を気にする普通のユーザーはいねぇぜ。
そういうのはそういう知識がないと気にできない。
ゲームやるだけのユーザーは「ふーん最新版あるんなら入れとくか」
程度にしか思わん。
265:デフォルトの名無しさん
07/05/24 12:32:44
MS公式のDirectX Webインストーラは
ポコポコ色んなバージョンのDLLをとりあえず全部入れる流れですが
それが何か
266:デフォルトの名無しさん
07/05/24 13:10:20
配布するのに無駄にでかいランタイムは付けたくないな。
267:デフォルトの名無しさん
07/05/24 16:50:30
DirectXをbolrandでコンパイル出来る所(?)までは行ったのですが
エラー:未定義の関数 'sqrtf' を呼び出した
ってなるんです
僕は何をしたら良いんですか・・・
268:デフォルトの名無しさん
07/05/24 17:14:55
すいません。解決しました
#define sqrtf sqrt
そういう意味だったのか・・
269:デフォルトの名無しさん
07/05/24 19:06:42
DirectXのソースを手に入れたんだ。
すげえな。
270:デフォルトの名無しさん
07/05/24 21:56:44
>>269
271:デフォルトの名無しさん
07/05/24 22:11:49
( ゚д゚) ・・・
DirectXをbolrandでコンパイル出来る所(?)までは行ったのですが
(つд⊂)ゴシゴシ
DirectXをbolrandでコンパイル出来る所
(;゚д゚) ・・・
(つд⊂)ゴシゴシゴシ
DirectXをbolrandでコンパイル
_, ._
(;゚ Д゚) …!?
272:デフォルトの名無しさん
07/05/24 22:12:51
DirectXがbolrand?
273:デフォルトの名無しさん
07/05/24 22:16:54
sqrtf って float 用の sqrt じゃないのか?
274:デフォルトの名無しさん
07/05/24 22:17:18
bolrand
_, ._
(;゚ Д゚) …!?
275:デフォルトの名無しさん
07/05/24 22:18:16
bolrand に一致する日本語のページ 27 件中 1 - 27 件目 (0.38 秒)
もしかして: borland
276:デフォルトの名無しさん
07/05/24 22:19:24
>>273
日本語と英語の間にいちいちスペースを入れるのやめてください
277:デフォルトの名無しさん
07/05/24 22:31:39
>>276
そんな事言う奴初めて見た。
Word とかでも自動的に間隔開くのが普通だし、
それがデザインの基本だというのに。
278:デフォルトの名無しさん
07/05/24 22:36:30
デザインの基本がどうとかこうとかではなくスレの流れを読めってことだ
279:デフォルトの名無しさん
07/05/24 22:38:23
DirectXをbolrandでコンパイル の揶揄だったのか?
280:デフォルトの名無しさん
07/05/24 23:47:51
突っ込みどころ大杉
281:デフォルトの名無しさん
07/05/24 23:52:22
頭の悪い奴って、あらゆる所をとことん間違えるよな。
282:デフォルトの名無しさん
07/05/25 00:02:16
どうでもいいことで、スレを埋めるなよ。
283:デフォルトの名無しさん
07/05/25 00:06:40
さすが超初心者用のスレだ。DirectXをbolrandでコンパイルすることすらできんヤツらがこんなにいるとはw
284:デフォルトの名無しさん
07/05/25 00:09:29
まあ無理だな。
285:デフォルトの名無しさん
07/05/25 00:09:59
VC++6+Win32SDKでゲーム作ってるんですが、
パッド対応の為に、DirectXSDK(2004Oct)を入手して、
DirectInput(D8)を利用することにしました。
サンプルを流用したクラス作って、機能自体は稼働させたんですけど、
開始画面のメニュー選択などでパッド利用で選択しようとすると、
カーソルが超高速で動いてしまい、激しく使いにくいんです。
今まではGetAsyncKeyStateを使ってたので、
メニュー選択時等は最初のdownだけ拾って処理させてたんですけど、
これに似たような事できませんか?
286:デフォルトの名無しさん
07/05/25 00:44:37
>>283>>284
ワロタw
287:デフォルトの名無しさん
07/05/25 00:47:01
>>285
要するに
押した瞬間だけ1になって
押しっぱなしだと0に戻る
離したときも0をキープする
変数を作って、カーソル移動する関数はそれを読めばいいわけだ
288:デフォルトの名無しさん
07/05/25 00:47:20
>>285
DXライブラリかLunaのソースでも見とけ。
289:285
07/05/25 01:05:03
>>287-288
ありがとうございます。
>>287
やっぱりそれしかないですかね。
DirectInputの戻りでup判定とか出来る余地があるのかと
思ったんですけど。
>>288
Lunaってラッパーライブラリがあるんですね。
拾ってきたので、明日あたり覗いてみます。
290:デフォルトの名無しさん
07/05/25 02:36:57
>>285
パッド対応にDirectInputなんて必要ないけどな。
大抵の用途はjoyGetPosExで十分。
291:285
07/05/25 11:34:21
>>290
ありがとうございます。
そんなAPIあったんですね。
今調べて初めて知りました。
こっちの方がDirectXに依存しない分、もしかすると良いかもしれないですね。
ちょっと検討してみます。
292:267
07/05/25 17:45:41
borlandでしたね・・
Microsoftをミクロソフトと読んでた時期もあります
ごめんなさい
293:デフォルトの名無しさん
07/05/25 20:07:39
お前大物になるぞ
294:デフォルトの名無しさん
07/05/25 21:11:05
棒ランド
295:デフォルトの名無しさん
07/05/25 21:29:14
>>291
振動やアナログスティックを使わないのであればWinAPIで十分。
296:デフォルトの名無しさん
07/05/25 21:47:00
アナログもWin32APIで十分。
297:285
07/05/25 22:09:11
>>295,296
ありがとうございます。
教えて頂いたWin32APIで書き換えてみました。
これはこれで全く問題ないですね。
ただ、なまじDirectXのサンプルとか結構見てしまったので、
フォースフィードバックとか使ってみるのも面白い気がしてます。
皆様、親切にありがとうございました。
298:デフォルトの名無しさん
07/05/25 22:45:22
>>296
WinAPIで軸2つ以上取れるんだっけ?
299:デフォルトの名無しさん
07/05/25 22:54:56
普通に取れる。
300:デフォルトの名無しさん
07/05/26 02:40:53
DirectXゲームグラフィックスプログラミングVer2.0
これ読んでだいたいどういうものか解ったんですけど入門書って感じがしないです
良書教えてください!!
サイトでも良いです!!
301:デフォルトの名無しさん
07/05/26 03:30:07
C++とC#のソースコード付きサンプル集。
初期化の基礎からHLSLまで、段階的に広い範囲をカバーしててお勧め。
URLリンク(www.codesampler.com)
302:デフォルトの名無しさん
07/05/26 08:31:12
>>300
たしかに入門書としては簡単すぎるというか足りなすぎるというか
303:デフォルトの名無しさん
07/05/26 14:54:52
おれはemuleで見つけてるよ
ただだしオススメ
そのかわり英語がすらすら読めないと無理
304:デフォルトの名無しさん
07/05/26 17:45:26
>>300
もうその本は楽勝ってこと?
305:デフォルトの名無しさん
07/05/26 18:09:04
>>301
凄く分かり易そうです有難うございます!
>>302
機能についての資料集って感じです
>>303
よく分からないけどやってみます
>>304
書かれてる内容は分かるんですけど
まだコード繋げる事さえ出来ないので戦ってもいないです
306:デフォルトの名無しさん
07/05/26 19:24:36
なんか手を出すもん間違ってないだろうか?
307:デフォルトの名無しさん
07/05/26 20:21:18
correctかどうかは分からんが本人にとってrightなことをやってるんだろう。
308:デフォルトの名無しさん
07/05/27 18:03:21
今DirectXで2Dのゲームを作っているんだけど
フルスクリーンで実行するときとウインドウモードで実行するときの速さが違うんだけど
どうして速さに違いが出るんだろう?
309:デフォルトの名無しさん
07/05/27 18:25:25
ちゃんと同期を取れ
フルスクリーンだとフレッシュレートにあわせてFlipするが
vista 以外のウィンドウモードではフレッシュレートをあわせない
310:デフォルトの名無しさん
07/05/27 18:52:10
実に新鮮でういういしいのぅ
311:デフォルトの名無しさん
07/05/27 18:57:36
そもそもどのインタフェイスを使ってフルスクリーンにしているか不明、設定も分からない、
さらにどっちが速くなったとも書いていないのに、いったい何を答えろと言うのだろう。
それと勝手に結論を出した奴は間違いなく早漏。
312:デフォルトの名無しさん
07/05/27 18:59:54
>>309
うん?
DirectX9からは、ウィンドウモードでも、
D3DPRESENT_INTERVAL_IMMEDIATE 以外を指定すれば
(VSYNCに合わせるかどうかは別として)同期を取ってくれるようになったんだが。
313:デフォルトの名無しさん
07/05/27 22:01:48
分かりにくくてすみません!
>>309
ちゃんと同期が取れているのかは分からないのですが、
一応GetTicCountで時間を取得して1秒間に60フレームになるようにはしているのですが。
>>311
遅くなるのはウインドウモードのときです。
フルスクリーンのときはグラフィックが1秒間に60ドット移動するのですが、
ウインドウモードのときは42ドットしか移動しません。
どうして移動に差が出るのかが分かりません。
すごいですね!よく僕も早漏だって分かりましたね!
314:デフォルトの名無しさん
07/05/27 22:11:43
それウィンドモードんとき処理落ちしてんじゃねぇの?
315:デフォルトの名無しさん
07/05/27 23:03:55
>>314
最初は自分でも処理落ちかと思って表示数1枚にして
やり直しても変わらなかったんですよね。
316:308
07/05/28 01:46:19
曲でも聴きながらコードを見直そうと、
Windows Media Playerを起動して作業をしていた所、発見しました!
Media Playerを起動しているときだけ正常に動作していたのです!
ただ閉じるとまた同じように遅くなります。
なぜそのようになるのかがまだ分かりません。
同じような現象に合った方はいませんか?
317:デフォルトの名無しさん
07/05/28 01:50:57
WinMainの最初にでも、timeBeginPeriod(1)って書いてみな。
318:デフォルトの名無しさん
07/05/28 02:21:06
>>317
コンストラクタにtimeBeginPeriod(1)をデストラクタにtimeEndPeriod(1)をおいたところ見事解決しました!
このAPIでタイマーの精度を変えると起動中のソフトすべてに影響されるんですね!
こんなことも分からなかった自分が情けないです!
これですべての理由が分かりました! 本当にありがとうございました!
319:デフォルトの名無しさん
07/05/28 02:34:57
またそれかよ
某掲示板でも散々既出な話題だな
320:デフォルトの名無しさん
07/05/28 03:40:21
何もかもが釣りっぽいがなんだか憎めんのう
321:デフォルトの名無しさん
07/05/28 06:48:25
フルスクリーンとウインドウモード関係ないじゃん。
322:デフォルトの名無しさん
07/05/30 17:10:44
よくあるはなしだなw
323:デフォルトの名無しさん
07/05/30 18:20:37
すみません。AVIファイル(MPEG4)再生でコマ戻しに苦慮しています。
コマ送りはIVideoFrameStepが使えますが、コマ戻しに使えません。
そこで
IMediaSeeking *pMdaSeek;
pMdaSeek-> SetTimeFormat(&(TIME_FORMAT_FRAME));
LONGLONG pCurrent,pSTop;
DispMovie.pMdaSeek->GetPositions(&pCurrent,&pSTop);
LONGLONG NewPos = pCurrent + 1;
hRslt = pMdaSeek->SetPositions(&NewPos,AM_SEEKING_AbsolutePositioning|AM_SEEKING_ReturnTime,NULL,AM_SEEKING_NoPositioning);
if(SUCCEEDED(hRslt)) pMdaCtrl->Pause();
としましたが、8回試行毎に1回コマ戻しが効きません。(8はGOPの長さと同じ)
よい方法を教えてください。
324:デフォルトの名無しさん
07/05/30 18:42:26
DirectShowはDirectXのカテゴリから外されました。
よってスレ違いです。
325:デフォルトの名無しさん
07/05/30 19:49:21
戻したいときは直前のIフレームからそこまでコマ送りしなさい。
326:323
07/05/30 20:47:01
>324
つっこみありがとうございます。
>325
あなたが依頼主だったら、家に帰れるんだがなぁ。
327:325
07/05/30 21:51:15
ん?
手動じゃなくて自動でやるんだよ。運用でカバーさせようとするな。
328:323
07/05/30 23:00:12
直前のIフレームってどうやって探すの?
さっさと教えやがれです。
329:デフォルトの名無しさん
07/05/30 23:23:05
テキトーに指定した時間のデータしか取得したことない
俺にはコマ送りとかコマ戻しとかさっぱりだぜ
330:デフォルトの名無しさん
07/06/03 02:49:50
モーションキャプチャーで取得したデータを
画像に反映するにはどうしたらいいの?
(´・ω・`)
331:デフォルトの名無しさん
07/06/03 11:15:25
パラメータを対象データに適切に割り当てる。
332:デフォルトの名無しさん
07/06/06 12:51:26
DirectXはじめたばかりなんですが
座標がどうなってるのか良く分かりません
1.0fとか0.0fになってるんですが
XとYで左上が0.0とか、そういう概念では無いんですか?
333:デフォルトの名無しさん
07/06/06 13:04:56
自分でそのように変換しているから、そういう単位になるというだけです。
自分で変換しているのに勝手にやられているような責任転嫁はやめましょう。
334:デフォルトの名無しさん
07/06/06 13:30:15
0.0の後ろにfをつけると、0.0fになります。それだけですthat's all.
335:デフォルトの名無しさん
07/06/06 13:49:09
f は float の f
336:デフォルトの名無しさん
07/06/06 16:10:41
>>333
自分でというかサンプルソースをいじってる段階です
>>334
なる・・・ほど
>>305
そうだったんですか、始めて知りました
ソースいじってたらウィンドウの真ん中の座標が0.0fだって事がわかったんですけど
これ、なんていう単位なんですか?
337:デフォルトの名無しさん
07/06/06 17:19:34
自分にレスすんなよー
338:デフォルトの名無しさん
07/06/06 17:55:55
>>336
単位なんて無い。
自分で真ん中が0になるようにしているだけ。
全ては自分自身で決めているんだから、他人が知るわけがない。
339:デフォルトの名無しさん
07/06/06 18:40:55
> ソースいじってたらウィンドウの真ん中の座標が0.0fだって事がわかったんですけど
> これ、なんていう単位なんですか?
俺様ちゃんワールドやしぃ。
メートルにしようがぁ、ヤードにしようがぁ
自由だぁーーーッ!
340:デフォルトの名無しさん
07/06/06 18:48:58
よしもとサンサンTV
341:デフォルトの名無しさん
07/06/06 19:27:03
>>337
ごめんなさい。自分に全力レス余裕でした。
>>338-340
アーッ!
そういう事か、、、
やっぱ一番左上が0.0じゃないと違和感ありまくりでゲーム作れたものじゃない
何とか描き直します。質問に答えてくれて本当にありがとうございます。
342:デフォルトの名無しさん
07/06/06 22:29:58
>>341
いくら2Dゲームだってワールド座標も使えないで
こいついままで何やってゲーム作ってたんだろうか?
と思うのは俺だけだろうか?
343:デフォルトの名無しさん
07/06/07 01:45:02
・--------→ x
|
|
|
↓
y
344:デフォルトの名無しさん
07/06/07 06:29:57
x y
┃ ┃
┃ ┃
┣━┫
┃ ┃
┣━┫
┣━┫
┃ ┃
┣━┫
┃ ┃
┃ ┃
┣━┫
┃ ┃
あ は
た ず
り れ
345:デフォルトの名無しさん
07/06/07 12:35:48
3Dを2次元のテレビの画面に変換する
数学のジャンルってなんですか?
346:デフォルトの名無しさん
07/06/07 12:38:59
幾何代数だっけ?
あれ違うか・・・?
高校じゃやらなかったから3D関係は全部独学なんでワカンネ。
347:デフォルトの名無しさん
07/06/07 12:40:00
線形代数
348:デフォルトの名無しさん
07/06/07 12:45:39
線形代数学に3Dを2次元のテレビ画面に変換する公式は書いてありませんでした
お願いします
349:デフォルトの名無しさん
07/06/07 12:57:03
3D於テレビ画面変換工学です。
350:デフォルトの名無しさん
07/06/07 12:59:41
式が見たければ、SDKのヘルプ見れば全部書いてあるが。
351:デフォルトの名無しさん
07/06/07 13:02:04
もういいです、このすれで質問した自分が馬鹿でした
さようなら
352:デフォルトの名無しさん
07/06/07 13:02:14
TV画面なんて意味不明な物に変換する公式など存在しない。
353:デフォルトの名無しさん
07/06/07 13:07:36
どのスレで質問しても望む答えはもらえないだろ。
354:デフォルトの名無しさん
07/06/07 16:23:47
アファイン変換と射影変換だな。
代数幾何じゃないか?
355:デフォルトの名無しさん
07/06/07 16:46:42
そもそも三角関数で円を描くことは出来るが、円を描く公式だといって数学を教えたりはしない。
応用が利かず、そのまんまの公式があると思って探し回っているのは頭が悪いとしか言いようがない。
356:デフォルトの名無しさん
07/06/07 17:17:59
Direct3Dをマスターするのに最低限必要な数学のジャンルは何ですか?
例えば、物体の移動とか回転等
357:デフォルトの名無しさん
07/06/07 17:39:07
・物体の移動とか回転
・局所環付き空間
・六角四片四角孔ねじれ正多面体
・大二重斜方二十・十二面体系多面体
・皆殺しの數學
・ヤコポ・リカッチ
・ジーン・ガストン・ダルブー
・フィリッペ・ファン・ランスベルゲ
・シャルル=マリー・ド・ラ・コンダミーヌ
358:デフォルトの名無しさん
07/06/07 18:40:15
>>357
www
359:デフォルトの名無しさん
07/06/07 19:04:02
>>356
あらゆる数学・物理学に精通していないと、マスターなんてとてもとても…
360:デフォルトの名無しさん
07/06/07 22:31:51
>>356
マジレスすると、線形代数くらいしっていてもいいかもだけど、
なくても教科書読みながらでなんとかなる。
どっちかというと、ゲーム作るなら、3Dより、ゲームの方の知識がいるような
361:デフォルトの名無しさん
07/06/07 22:35:00
どうせ描画のコアの部分はメインPGが担当する場合が多いしな。
会社によっちゃライブラリ化されてるし。
362:デフォルトの名無しさん
07/06/08 19:55:45
会社でもない限り人の作った部品を使いたくないからね
できればDirectXもつかいたくないんだけど、GDPないとつらいから
OPENGLかなぁ
OPENGLの長所の一つに巨大なライブラリーをダウンロードしなくても
すぐに始めることが出来るからね
363:デフォルトの名無しさん
07/06/08 21:04:26
OpenGLの欠点はゲームを作る点に関しては面倒なとこだな。
D3DXのようなサポート関数もサウンド関係のライブラリは別途必要だし。
364:デフォルトの名無しさん
07/06/09 00:46:39
OpenGL
・SDKのサイズが小さい
・拡張ライブラリは別々にインストールしなければならない
・メーカー独自拡張部分はサポートが早い
DirectX
・SDKのサイズが大きい(バージョンによっては配布サイズも……)
・拡張ライブラリやツールなど一括でインストールされる
・メーカー独自拡張はサポートされない
365:デフォルトの名無しさん
07/06/09 01:06:01
SDKのサイズ云々言っている奴はどんなナローバンドなんだろう?
そんなどうでもいいことを言い回る辺り、駄目な香りがプンプン漂ってくるんだが。
366:デフォルトの名無しさん
07/06/09 01:33:45
ナローバンドだろうが、SDKのサイズを気にすること自体…
367:デフォルトの名無しさん
07/06/09 02:26:16
メーカー独自機能は勉強にはいいが、配布するソフトウェアには使えないしなぁ。
368:デフォルトの名無しさん
07/06/09 02:29:22
XPのDirectXはバージョン9で終わりだから
10以上の機能を使うにはVISTAを買わないといけない
OpenGLはVISTAを買わなくても良い
369:デフォルトの名無しさん
07/06/09 02:31:06
MSDNから無料でダウンロード可能なのでVISTA購入の手間は無いけどな
370:デフォルトの名無しさん
07/06/09 08:25:12
そもそもDirectX10対応のビデオカードを持っている奴が少なすぎて、
現状ではターゲット環境になり得ない。
OpenGLの独自拡張は互換性がないので使い物にならない。
しかもOpenGLでパフォーマンスを出すには、ドライバがチューニングされた、
ぼったくりの高級ビデオカードが必用なので、
一般ユーザが持っているビデオカードでの性能を考えるならDirect3Dしか選択肢がない。
371:デフォルトの名無しさん
07/06/09 08:37:35
お前らが書くような糞プログラムでそこまで速度が必要になることはないよw
372:デフォルトの名無しさん
07/06/09 08:38:54
馬鹿だな。
糞プログラムだからこそ速度が必用になるんじゃないか。
373:デフォルトの名無しさん
07/06/09 08:43:29
>>371
どちらかといえば逆だろ。
アルゴリズムの最適化の方が優先度は高いんだし。
たかが同人なんかの為にわざわざRadeon7000買ってチェックとか何やってんだろうとは思った。
つかGeForce2MXとかで動かないとか文句言うなよって感じだったがな。
374:デフォルトの名無しさん
07/06/09 10:24:45
糞プログラムでGPUの性能を使い切ることはほとんどないよ。
大抵はCPU律速。
375:デフォルトの名無しさん
07/06/09 10:31:37
頭が悪いな。
高速なビデオカードを使えば、性能を使い切らなくたって速くなるだろ。
GPUの性能を使い切るって発言があまりにも馬鹿すぎる。
376:デフォルトの名無しさん
07/06/09 11:25:45
GPUの休憩時間が増えるだけの予感。
377:デフォルトの名無しさん
07/06/09 11:29:26
どうでもいい処理をGPUに送り続ければフル稼働するだろう。
GPUの性能を使い切りたい馬鹿にはうってつけ。
378:デフォルトの名無しさん
07/06/09 11:30:31
だがユーザーが皆高速なビデオカードを揃えてるわけじゃないからな。
自分で作ってそれで満足するだけならそれでいいが、
配布するような前提ならCPUは当然として特にテクセルレートや
フィルレートは気にする必要あるだろ。
流石にDrawPrimitive大量にコールしてCPUが悲鳴上げるなんてプログラム組むやつは居ないだろうが・・・
379:デフォルトの名無しさん
07/06/09 11:57:26
DrawPrimitiveを呼ばないようにするなんて不可能だし
無駄にまとめると今度はしなくていい頂点まで計算に入ってしまって効率悪い
適度に呼べば大抵問題にはならない
PCの場合、半透明処理が異常に遅いほうが気になる
380:デフォルトの名無しさん
07/06/09 12:02:25
PCゲーム作るとき、いまだに、シェーダーがターゲットにないというのに、
OpenGLもDirectXもねえ
381:デフォルトの名無しさん
07/06/09 12:02:27
じゃあ半透明は抜きで
382:デフォルトの名無しさん
07/06/09 12:03:58
訂正
> PCゲーム作るとき、いまだに、シェーダーがターゲットにないというのに、
PCゲーム作るとき、いまだに、シェーダー使わせてもらえないのに
383:デフォルトの名無しさん
07/06/09 12:07:50
半透明つか、アルファブレンドは、
ちょっと、画面覆いつくすように描画するだけで、モタモタするからな。
(うちのはミドルエンドのカードだが)
CPU描画の方が速いのでは?って思うくらい(冗談だけどさ)
384:デフォルトの名無しさん
07/06/09 12:25:43
PCのαブレンド遅すぎるよね
DrawPrimitiveがどうとか全然問題だと感じられないぐらい
αブレンドが遅い
385:デフォルトの名無しさん
07/06/09 12:26:01
少なくともシェーダー2.0は普通に使うだろ・・・
当然ON/OFFはつける前提だが。
386:デフォルトの名無しさん
07/06/09 12:32:00
>>383
うん、画面覆うと処理オチするときある
すっげ遅い
これ、速くしてくれよって思う
いままであまり叫ばれなかったのが不思議なぐらい重い
387:デフォルトの名無しさん
07/06/09 12:39:44
>>378
前の文脈を良く読めよ。
糞プログラムを動かす時に高速なビデオカードが必用だという話だ。
まともに組んだらどんどん糞プログラムじゃ無くなっていくだろ。
なぜほんの少し前のレスすら確認する脳味噌がないんだ?
388:デフォルトの名無しさん
07/06/09 12:43:54
まあ、なんも気にせんで半透明ぼこぼこ使ってたらそりゃそれだけで遅いわな
高いボード買えばちょっとは速くなるかも
αブレンドは体感ほとんど変わらないぐらい遅いけどw
389:デフォルトの名無しさん
07/06/09 12:46:33
広領域αブレンドはメモリ帯域ベンチマークだからなあ
しかし昔に比べればメモリ自身もメモリ周りも速くなってるはずだが
やはり遅いんかね?
390:デフォルトの名無しさん
07/06/09 12:53:05
さぁ?なんたって俺のPCはRadeonの9600で時が止まってますしw
391:デフォルトの名無しさん
07/06/09 12:53:46
まあ、大抵、馬鹿が馬鹿やるところっつったらα物の描画でしょう
392:デフォルトの名無しさん
07/06/09 13:02:45
Radeon9600なら別に悪くは無いだろ。
シェーダー2.0対応だった気がするけど。
393:デフォルトの名無しさん
07/06/09 13:08:09
最低でもTNT128まではサポートすべき
じゃないと、いざ公開した後で泣きを見るぞw
394:デフォルトの名無しさん
07/06/09 13:15:55
>>392
そもそもシェーダー2.0なんてものは存在しない。
395:デフォルトの名無しさん
07/06/09 13:18:31
シェーダーモデル2.0といえば宜しいか
396:デフォルトの名無しさん
07/06/09 13:30:52
>>393
そんなのサポートしてる時間のが無駄
弱小会社いた俺でもサポートしなかった
397:デフォルトの名無しさん
07/06/09 13:32:37
加算アルファがなんか変とかそういうレベルだろ?Riva128って
398:デフォルトの名無しさん
07/06/09 13:36:59
今普通に店で帰るビデオカードだとGeForcre5000番台~とRADEON9200番台~くらいだな。
それ以上は古すぎて秋葉の中古ショップとか行かないと買えない。
5年前のノートPCですらGeForce4程度は積んでたし。
399:デフォルトの名無しさん
07/06/09 13:57:40
古いビデオカード積んでる奴は、PCゲームするな!
以上!
400:デフォルトの名無しさん
07/06/09 14:26:07
最強のビデオカードは、PowerVRで決まり!
以上!
401:デフォルトの名無しさん
07/06/09 14:30:42
逆だろう。
古いビデオカード積んでるやつは初めからエロゲーしかやらん。
同人ゲームやるような奴等はマシンスペックもそれなりだよ。
TNT128なんて世代的にPentiunIIとかの時代じゃねーの?
とりあえず表示できるように作ったとしてもCPUが悲鳴あげるだろ。
402:デフォルトの名無しさん
07/06/09 14:41:47
古PCサポートを頑張るコストってなんか無駄っぽいんだよなあ
んん、、ここって超初心者用スレじゃねえか
失礼
403:デフォルトの名無しさん
07/06/09 14:55:56
>>400
最高のゲームはバーチャロンOMGで決まりですかw
404:デフォルトの名無しさん
07/06/09 14:59:26
>>403
うむ。同梱されてるしな
最近ベーマガの一ページ目に見開きで広告だしたりと
がんばってるから、これから普及すること間違いなし
405:デフォルトの名無しさん
07/06/18 05:21:12
画像の表示
これが一体どういう事をやってんのか全然分からない
画像を表示するだけなのに、何で、こんなややこしいのか・・
誰か分かり易く説明しておくれ!
406:デフォルトの名無しさん
07/06/18 05:47:45
>>405
俺、DirectXは詳しくないから画像データ形式に関してのみ。
昔はVRAMの内容をそのまんまファイルに落とすようなこともやってた。
これならファイルの内容をVRAMにコピペするだけだから表示は超簡単だった。
しかし・・・
↓
アホ、お前のマシンじゃそれでよくても俺のマシンじゃ表示できねぇよ、馬鹿!
↓
そこで環境非依存ビットマップ DIB(DeviceIndepenedntBitmap)という考えがでてくる。
さらに・・・
↓
アホ、ネットワーク上でそんな生データのっけんな!
そのデータ落とすのにいくら通信費と時間がかかると思ってんだよ、馬鹿!
↓
で、圧縮するのが当然になる。
↓
環境非依存で圧縮されたデータ形式である gif, jpeg, png が主流となる。←いまここ。
↑
圧縮されたデータを解凍せにゃならんし、さらに解凍したデータを自分の環境に合わせた
データ形式に変換しなきゃならんのでこれはとっても表示に手間がかかる。
407:デフォルトの名無しさん
07/06/18 11:54:59
全然違うところが凄い。
408:デフォルトの名無しさん
07/06/18 19:19:50
>>406
お前にプログラムの才能はないが詐欺師の才能は十分にある。
期待しているぞ。
409:デフォルトの名無しさん
07/06/18 19:35:48
>>408
それはつまり、IT土方じゃなくてITコンサルをやれってことか?
410:デフォルトの名無しさん
07/06/18 20:26:32
D3DXはJPEG2000の読み込みには対応してますか?
411:デフォルトの名無しさん
07/06/18 20:27:41
なんで試さないの?
412:デフォルトの名無しさん
07/06/18 20:33:48
???
対応していれば、試したいと思いますが…
413:デフォルトの名無しさん
07/06/18 20:39:37
???
試せば、対応してるかどうかわかると思いますが…
414:デフォルトの名無しさん
07/06/18 21:21:54
>>410は真性か・・・
415:デフォルトの名無しさん
07/06/18 21:34:04
対応していました
ありがとうございました
416:デフォルトの名無しさん
07/06/19 04:12:41
>>406
ちょっと聞きたい事と違ったけど
解りやすい説明ありがとうございますw
ややこしくなってる原因はだいたいそういう事なんですね
417:デフォルトの名無しさん
07/06/19 07:40:38
聞きたかったことはDirectXの表示の話じゃないの?
表示にテクスチャ使うようになっただけだろ
418:デフォルトの名無しさん
07/06/20 14:13:08
DirectAudioでWAVの再生をしようと思ったんだけど、
DirectMusicとDirectSoundどっちを使った方がいいの?
コードを見る限り、DirectMusicの方が簡単そうなんだけど、
だったらなんてDirectSoundが存在するのかわからない・・・
419:デフォルトの名無しさん
07/06/20 14:21:35
>>418
歴史的な理由じゃなかったっけか
気にせず簡単な方つかっとけよ
420:デフォルトの名無しさん
07/06/20 15:25:18
>>418
ヘルプの機能比較見てみると良いよ。
でも、DirectXのSound系の将来は・・・・
421:デフォルトの名無しさん
07/06/20 20:31:03
その件については、ここの説明が割とお勧めだな。DirectSound\(^o^)/オワタ
URLリンク(www.4gamer.net)
422:デフォルトの名無しさん
07/06/21 01:57:40
うわあああああDirectX10使えねええええええ
423:デフォルトの名無しさん
07/06/21 08:42:35
どうせ3DオーディオならCreative一択だしALchemy正式版も出たから問題ないだろ
なんでMSがここまでオーディオ周りを退化ばっかさせてるのかは疑問だが
424:デフォルトの名無しさん
07/06/21 09:57:21
10年も前の仕様が現状にそぐわないから切り捨てただけ。
サウンド機能が無くなるわけではなく、今はXAudio2という次世代の
APIの準備期間だよ。
425:デフォルトの名無しさん
07/06/21 10:00:27
グラフィックに比べるとサウンドは環境そろえてるやつが少ないからなー
5.1chの環境揃えたって普通の人は結局ヘッドホンでゲームやる事になるし。
426:デフォルトの名無しさん
07/06/21 23:11:38
DirectX7のオンラインヘルプがダウンロードできる所を知っている方いませんか?
MicrosoftのDownloadセンターには見当たりませんでした。
WeybackMachineには一応あったのですがなぜか1Mまでしかダウンロードできないので使えなかったです。URLリンク(web.archive.org)
427:デフォルトの名無しさん
07/06/22 00:31:35
おおっと、うっかりupしてしまったようだ。今日仕事から帰ったら消さないとな。
URLリンク(smallup.dip.jp)
428:デフォルトの名無しさん
07/06/22 03:00:09
>>427
ありがとうございます><