[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/06 20:32 / Filesize : 251 KB / Number-of Response : 956
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part24 【C】



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/

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スレがないのだがここでいいのかな






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<251KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef