- 1 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:06:29 ]
- ※回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。 【C++】 DirectX初心者質問スレ Part23 【C】 pc12.2ch.net/test/read.cgi/tech/1242977486/
- 889 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:13:48 ]
- >>887
大体そんな感じです。INTのポインタを入れたりしてみましたがダメでした。 漢字とかに変換するのが正解なんですかね?
- 890 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:18:00 ]
- >>889
まずはC言語の入門書から読もうな。 このスレに来るのは3ヶ月くらい早すぎた。
- 891 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:26:21 ]
- >>888
どうか可能か不可能かだけでもご教授を…
- 892 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:41:28 ]
- 叶
- 893 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:41:50 ]
- これは酷い
- 894 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 23:56:53 ]
- 木曽がわかってないのに応用問題を解こうとして話を難しくしてる
- 895 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:02:15 ]
- 初心者は死ね
それがこのスレの掟だ
- 896 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:07:01 ]
- それはまた、エラいスレのタイトルと矛盾する掟だな。
- 897 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:09:14 ]
- sprintf発見!確かに論外だ。
DIRECTXは続けるので、また詰まった時はお願いします。
- 898 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:12:04 ]
- 流石にCの初心者までは扱いきれんだろw
- 899 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:15:49 ]
- CがダメならC#を使えばいいじゃない
- 900 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 04:04:17 ]
- メッシュコンテナ(D3DXMESHCONTAINER 構造体)から面ごとのマテリアル対応情報を取りだそうとしてるんだけど、
pMesh->GetAttributeTable()メソッドで取り出した、属性テーブル(D3DXATTRIBUTERANGE 構造体)の中の「AttribId」ってのは pMaterials[i]の添え字(i)に対応してるんでしょうか? 同じ属性テーブル内にある「FaceStart」というのも、インデックスバッファ内の面の構成データの格納順に対応してるのか疑問です・・・
- 901 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 05:41:26 ]
- プロジェクトの設定をマルチバイト文字を使用するに変更すればいいだけじゃない
- 902 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 05:44:49 ]
- >>900
出なかったからたぶんマテリアルとは関係ない メッシュをマトリックスグループみたいに分割することが出来てそのインデックス情報を格納するんじゃないかと でDraw???って関数でそのインデックスを指定するとその面だけが描画されるという
- 903 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 05:49:18 ]
- ああ、そうか
マテリアルのインデックスを入れといてSetMaterialと連動させて その面だけを描画すればマテリアルのインデックスという意味にもなるのか まあ、ただ数字を入れて描画グループを分割出来るだけの代物だよ
- 904 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 06:36:53 ]
- うーん、pMaterials[i]の添え字(i)と頂点番号(もとい、面番号)を関連付けるデータは
メッシュコンテナ内には無いのでしょうか? メッシュデータ内の全頂点から、あるマテリアルが適用されている頂点を特定したいのですが・・・
- 905 名前:904 mailto:sage [2009/08/17(月) 08:19:54 ]
- 多分、自己解決
ボーンコンビネーションテーブル(LPD3DXBONECOMBINATION型)に サブセット番号からメッシュデータ(最適化後)の頂点インデックスまで全て格納されてたので そちらを参照することにしました
- 906 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 12:04:53 ]
- ttp://marupeke296.com/DXGSmp_No26_WorldTransMatrix.html
このサンプルプログラムを使って tiny.xを読み込んでも何もアニメーションしないのですが なぜでしょうか? ヒントだけでもいいので後生ですから教えてください・・><!
- 907 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 12:37:41 ]
- DirectXで直線を引くにはどうすれば?(´・ω・`)
ポリゴンとかXファイルとかは表示できるのに・・・
- 908 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 12:50:40 ]
- DrawPrimitiveでいけるやないかアホでんねん(´・ω・`)
- 909 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:10:51 ]
- >>906
公式ならともかく、そこのページは管理人がちゃんと質問掲示板開いてるじゃないか そっちで質問しる・;(`ε()゙
- 910 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:41:09 ]
- なんなんだ・・・
釣りなのか本気なのか・・・
- 911 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 18:35:49 ]
- 残念ながら、釣りではありません。
- 912 名前:883 mailto:sage [2009/08/17(月) 19:09:07 ]
- >>885
ありがとうございます。 基本的にはカメラを固定した状態でも動き回るものはバンプ、 それ以外はパララックスという使い方が良さそうですね。 もちろん場合に寄りますけど。
- 913 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 20:17:35 ]
- >>907
ttp://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
- 914 名前:デフォルトの名無しさん [2009/08/17(月) 21:41:59 ]
- 現在DirectXを使ってゲームを作っているのですが、
ボタンが後ろに隠れてしまっています。 なので、ボタンがある位置にスプライトを使ってボタン用の画像を 表示しているのですが、時差が出来たりしてうまく機能しません。 どうすれば、ボタンそのものを前面に表示出るのでしょうか?
- 915 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 21:45:23 ]
- DirectXにボタンなど無い
DirectXにスプライトなど無い
- 916 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:07:50 ]
- 「Direct3Dで作っているゲームのキャラと地形のことで質問ですが…」
「Direct3Dにキャラや地形などない」
- 917 名前:デフォルトの名無しさん [2009/08/17(月) 22:09:25 ]
- >>915
ボタンはウィンドウズの標準のもので、 スプライトはID3DXSpriteです。
- 918 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:21:26 ]
- ID3DXSpriteを使ってボタンの画像を描画しているのなら、
そもそも標準コントロールを使う必要性がない。
- 919 名前:デフォルトの名無しさん [2009/08/17(月) 22:51:14 ]
- >>918
それもそうですね。 DirectXのサンプルに使われているボタンは 標準コントロールを基にしてるのかと思ってましたが 今調べてみたら違いますね。 ご迷惑をおかけしました。
- 920 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:53:43 ]
- まぁ、ツールを作る際にDirectXで描画されたものとWindosのコントロール併用することがあるから
色々試しても無駄にはならないことだけどね。
- 921 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 01:52:08 ]
- Vistaか7ならどっちでも同じことだが
- 922 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 08:20:52 ]
- 同じじゃねえよ。
どれだけ馬鹿なんだ?
- 923 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 08:36:24 ]
- D3DXLoadMeshHierarchyFromX
の必要な LPD3DXALLOCATEHIERARCHY pAlloc,がインターフェイスのポインタと なっているのですが COMインターフェイスってなんでしょうか? 調べてもプログラムの再利用としか出てこないので全くわかりません。
- 924 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 08:42:21 ]
- COMインターフェイスで検索しろ
- 925 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 09:54:49 ]
- Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support)
あたりのサンプル実装がMSから出たぞ。 code.msdn.microsoft.com/WindowsAPICodePack
- 926 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 10:52:08 ]
- >>923
そのあたりは、とにかくまずはサンプルコピペして、動きを見て、内容を理解し、自分で改良するしかない。 マジ。 理解しないままゲームとか作ると、あと後絶対苦労するから
- 927 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 15:48:21 ]
- 1000に近づいてますが、質問させてください。
2D板ポリゴンの描画についてなのですが、DrawPrimitive系は重いので 1回で複数枚の板を表示するようにしてみました。 D3DXVECTOR4 vPos; D3DCOLOR color; D3DXVECTOR2 vTex; 上のようなメンバーを持った頂点オブジェクトの配列Vertexを作り、 for(int i = 0; i < Max; i++){ Vertex[i*4].vTex=D3DXVECTOR2(0.0f, 0.0f); Vertex[i*4+1].vTex=D3DXVECTOR2(1.0f, 0.0f); Vertex[i*4+2].vTex=D3DXVECTOR2(0.0, 1.0f); Vertex[i*4+3].vTex=D3DXVECTOR2(1.0f, 1.0f); } とu, vを初期化。そして、描画処理が入った数だけ Vertex[Cnt*4].vPos = D3DXVECTOR4(left, top, 0.0f, 1.0f); Vertex[Cnt*4+1].vPos = D3DXVECTOR4(right, top, 0.0f, 1.0f); Vertex[Cnt*4+2].vPos = D3DXVECTOR4(left, bottom, 0.0f, 1.0f); Vertex[Cnt*4+3].vPos = D3DXVECTOR4(right, bottom, 0.0f, 1.0f); ※color省略 Cnt++; とし、SetTextureして DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, Cnt*2, Vertex, sizeof(VERTEX); としたらテクスチャがあらぬ方向に伸びました。何故か正しく表示できてるものもあるのですが・・・。 どこか根本的に勘違いしてるのでしょうか?ご指摘いただけませんか・・・。
- 928 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 15:51:04 ]
- TRIANGLESTRIPがどういうものか調べてくるといい
- 929 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 15:56:02 ]
- >>928
さっそくのご指摘ありがとうございます。 全部プリミティブが繋がってると言うことでしょうか? 他の部分は問題ないものとしてTRIANGLELISTで実装してみます。
- 930 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 16:36:00 ]
- >>928
TRIANGLELISTでできました!1枚の板に6つ頂点使ってますが、 ちゃんとu,vと対応させたらOKでした。後は頂点インデックス使ったほうがいいですかね。 どれくらいパフォーンマンスに影響するかはわかりませんが。ともあれ即レス感謝です!
- 931 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 16:42:06 ]
- >>930
すぐに非効率性に気づいてTRIANGLELIST+IndexBufferに移行するだろうがな。
- 932 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:54:18 ]
- 解決したんじゃなくて先送りしただけという事に気づくんだw
- 933 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 06:23:18 ]
- D3DXMATRIX mat;
D3DXVECTOR3 vec; パターン1: lpdevice->SetTransform( D3DTS_WORLD, &mat ); →vec(頂点)をDrawPrimitivで描画 パターン2: vec = vec * mat; →vec(頂点)をDrawPrimitivで描画(SetTransformしない) この2つは同じ結果になると思ってたんですが、どうやら違うらしいです。 SetTransformをせず、パターン1と同じ結果を得るためにはどうすればいいのでしょう?
- 934 名前:933 mailto:sage [2009/08/19(水) 07:24:03 ]
- 計算ミスってました(ノ∀`)
サーセン orz
- 935 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 10:33:40 ]
- >>933
SetTransformしないってのは、座標変換しないって意味じゃないぞ。 初期値として単位行列が設定されているから、起動時から一度も設定してなければ 結果的に入力と出力が同じ座標になるが。 何もセットしなけいと別の場所でSetTransformした値が残っているので、 明示的に単位行列をセットすべき。
- 936 名前:デフォルトの名無しさん [2009/08/19(水) 14:55:22 ]
- ガラスのコップみたいな透明な物体を描画するには、
テクスチャーを透過するだけでいいんだな
- 937 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 15:10:03 ]
- >>966
DeffUseのαを設定する形にすれば透過率を後から変更できるけどな。 いずれにせよ描画順に制約を受けるので注意。
- 938 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 15:46:26 ]
- グラスの表現は透過率の調整だけじゃ出来ねえよ
プログラム以前に最低限のモデリングを経験してからにしろ。
- 939 名前:デフォルトの名無しさん [2009/08/19(水) 17:22:15 ]
- >>937
deffuseのアルファ値か、ありがとう! >>938 屈折の話とかかな? ヒントサンクス!
- 940 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 20:09:42 ]
- マウスの左ボタンを押しているときにprintfDx関数で"Hello C World!\n"と出力し、
押してないときはclsDx関数で消すというコードを書いたつもりなのですがうまく消えてくれません。 どうしてでしょうか?初歩的な質問ですいませんが、よろしくおねがいします。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化 char Key[256]; //ループ開始 while(ProcessMessage()==0 && ClearDrawScreen()==0 && !GetHitKeyStateAll( Key )){ //↑メッセージ処理 ↑画面をクリア //ココ↓ if( ( GetMouseInput() & MOUSE_INPUT_LEFT ) != 0 ) { // 押されている printfDx( "Hello C World!\n" ) ; } else // 押されていない { int clsDx( void ); } //ココ↑ ScreenFlip(); } DxLib_End(); return 0; }
- 941 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 20:18:12 ]
- >>940
ここはDirectXのスレです。
- 942 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 20:21:55 ]
- >>941
スレ違いでしたか、すいませんでした
- 943 名前:デフォルトの名無しさん [2009/08/20(木) 17:55:06 ]
- DirectX9とc++でゲームを作っているのだが、ゲーム会社に就職する
には、どれくらいの技術が必要ですか? よく聞く基準 ライブラリを作れるとか 簡単な3Dゲームが必要とか 2Dだったら、完成度が高くないといけない だいたいでいいから基準みたいなものはありますか?
- 944 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 17:57:57 ]
- ゲーム1本作れればおkよ
- 945 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 19:03:07 ]
- 人事担当じゃないから詳しいことは分からないけど、DirectXでゲームとして完成度の高いものを作っても意味ないよ。
一番は表現力。HLSLでSDKのサンプル以上の何かを出来ればそれだけで十分だったりも。 小規模な企業ならそれでいいけど、中規模以上の企業であれば数学・物理が人に教えることが出来るレベルじゃないとダメ。 ハードが変わっても求めたい答えとその計算方法が分かっていれば問題ないしね。 ちなみにバンナムは数学・物理中心で、簡単なC言語ソースの問題(穴埋め)。 任天堂は数学・物理中心、あとは一般常識と発想力。 大企業になると技術力をアピールする機会がなかったり、それ以前に蹴落とされるから注意してね。 まぁ、場違いな書き込みなんですけど。
- 946 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 19:38:01 ]
- 板違いな奴は入れないお
レスする方もたいがいだけどな
- 947 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 19:45:42 ]
- ゲームとして完成度の高いもの(笑)
- 948 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 21:04:59 ]
- そもそもここは進路相談のスレじゃない
- 949 名前:デフォルトの名無しさん [2009/08/21(金) 00:03:24 ]
- >>947
面白いゲーム作れなくて、数学物理が出来ても仕方ないと思うけどな。 単なる技術のデモンストレーションみたいなゲームは嫌だろ。 ゲームとしての捻りが無ければ売れんだろうし。 ま、だからって数学物理がいらないとは言わないが。
- 950 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:09:04 ]
- >>949
そういう人ばかりいたら駄目だろうが、当然面白いゲームを作るための人というのもまた別に雇用するだろう。
- 951 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:23:24 ]
- ゲームが面白いかどうかなんて、グラフィックや企画、仕様による所が大きいだろーが
つーか、ここはプログラマ板だろ プログラマ(だぶん一人)が作った、転職、就職用ゲームが面白いかどうか、 なんて言ってるのは、ロートルの分って無いオッサンにしか見えん 挙動とかタイミングなんて言うなよ? それこそ、そのサンプルプログラムで言い訳だろ つまり、数学物理とは言わないが 技術スキルが分るサンプルやデモで十分 採用に面白い完成したゲームとか言ってる奴は、マジで組織のお荷物ぽっい いい年して技術が無く、技術的な問題可決もトンチレベルの発想で 結局、若い技術ある奴が残業や休日出勤でカバーとか、ねw
- 952 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:26:00 ]
- ゲームってこれからも
どんどんどんどんどんどん 難しくなってくのかな? 昔はフォトンマップとか非線形計画問題とか考えなくても ゲーム作れたのに。 うざい、皆死ねばいいのに。
- 953 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:36:28 ]
- うんうん、板もわきまえずに語りだす奴は皆氏ねばいいね
- 954 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 02:14:38 ]
- ツールが増えてるからむしろ簡単になってるんじゃない?
- 955 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 03:28:34 ]
- Physixスレがないのだがここでいいのかな
|

|