【C++】 DirectX初心者質問スレ Part35 【C】at TECH
【C++】 DirectX初心者質問スレ Part35 【C】 - 暇つぶし2ch696:デフォルトの名無しさん
11/09/09 10:31:47.00
ポリゴン的(パネルみたいな?)動きをさせようとしたときにひっくり返すと余計酷い感じになるから
アドレッシングモードのCLAMPを指定するほうをオススメ

697:デフォルトの名無しさん
11/09/09 11:35:19.75
出したいだけならフィルタをPOINTにすればとりあえずいける。はず。
LINEARも使いたいなら、-0.5の対応が必要。

テクセル/ピクセル座標対応は、2DスプライトをDirectX9で組む場合に
大抵問題になる基本的なネタだけど、DirectX10では座標系が改められたので、
このような小細工は必要がない。
URLリンク(msdn.microsoft.com)(v=vs.85).aspx

698:デフォルトの名無しさん
11/09/09 11:47:24.84
バイリニアフィルタ使ったときにズレんじゃん>0.5
CLAMPにしときなよ
悩む必要ないから

699:デフォルトの名無しさん
11/09/09 12:01:09.60
ある特定のソフトがどのDirect Xバージョンで動作してるかを確認するツールなど、
方法があれば教えて頂けないでしょうか。

700:デフォルトの名無しさん
11/09/09 12:03:33.55
そういう他人のソフトがどうこうというのは板違いです

701:692
11/09/09 12:49:46.18
>>693-698
レスありがとうございました。
色々やったけど直らなくて
D3DXCreateTextureFromFile(g_pD3DDevice, g_szSpriteFile, &g_pD3DTexture);

D3DXCreateTextureFromFileEx(g_pD3DDevice, g_szSpriteFile,imgW,imgH,1,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,
D3DX_FILTER_NONE,D3DX_FILTER_NONE,0x00000000,NULL,NULL, &g_pD3DTexture);
にしたら直りました。

702:デフォルトの名無しさん
11/09/09 13:09:32.65
FILTER_NONEがニアレストネイバーってことじゃん

703:デフォルトの名無しさん
11/09/09 13:33:29.47
グラボのプロパティでフィルタなぞいくらでもONにできる
俺ら側で設定したものは使われない可能性がある
アドレッシングモードにしとけ

704:692
11/09/09 13:53:01.66
>>702
ニアレストネイバーってこのことだったんですね

>>703
g_pD3DDevice->SetSamplerState( 0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP );
を書けばいいんですか?

705:デフォルトの名無しさん
11/09/09 13:56:52.91
>>704
おk
ただ、ものによって使えないのでそこは経験で
今回の関数なら問題無さげ

706:692
11/09/09 15:18:30.21
>>705
ありがとうございます。
設定しておきます。
描画時間計測したら
スプライトで4.5秒かかった処理が
DrawPrimitiveだと2.2秒で終わった。

707:デフォルトの名無しさん
11/09/09 17:36:48.26
そんな当たり前なことは書かなくていい

708:デフォルトの名無しさん
11/09/09 19:22:25.02
意外とスプライト使わないって大変なことなんだな
固定シェーダのバグ取りが相変わらずイケてねぇ

709:デフォルトの名無しさん
11/09/09 20:32:02.10
わざわざ固定シェーダー使うのが理解できん

710:デフォルトの名無しさん
11/09/09 20:35:22.19
バックバッファのフォーマットをアルファ付きにして意味あるの?

711:デフォルトの名無しさん
11/09/09 20:38:45.44
固定機能を固定シェーダーとのたまう馬鹿が早く絶滅しますように。

712:デフォルトの名無しさん
11/09/09 20:40:20.33
>>710
まあ、あれだ、気分の問題だよ

713:デフォルトの名無しさん
11/09/09 20:42:22.07
>>712
気分の問題ならつかわないほうがいいのかな??

714:デフォルトの名無しさん
11/09/09 22:20:31.90
好きにすればいい。
誰も止める権利もない。

いやならやめればいい。



715:デフォルトの名無しさん
11/09/09 22:21:31.09
いやいや
意味や意図がないならやめろよ>バックバッファのα付き

716:667
11/09/10 20:35:05.87
アドバイスいただきありがとうございます。
スナップショットを撮らせない方法を質問していた者です。
調べていくうちにDirectXとは関連がない方法にて
実装する事柄のような気がしてきました。

↓下記RegisterHotKeyを使う方法があるらしいのですが、
URLリンク(msdn.microsoft.com)
[shift + PrintScreen][ctrl + PrintScreen][shift + ctrl + PrintScreen]など
にてスナップショットが撮れてしまいます。

>>668>>675
HDCPのことについてよく知りませんが、古いPCで
動作させることを想定しているので使えないと思います。

>>669-673
下記メッセージ
IDHOT_SNAPDESKTOP [デスク トップスナップ] [PrintScreen]
IDHOT_SNAPWINDOW [ウィンドウをスナップ] [Alt]+[PrintScreen]
をフックして無効にすれば可能かも知れません。
(私はフックは今まで使ったことがないので本当に推測です。)

>>674
すみませんが、何のことかわかりません

717:667
11/09/11 01:37:58.00
稚拙な知識しか持ち合わせないのに>>716のような変なことを書いて申し訳ないです。

色々調べたところ、グローバルフックのキーボードフック(WH_KEYBOARD)を使い
「PrintScreenキー押下後のスナップショットがクリップボードに貼られた後」の
タイミングを捕らえることができました。
しかし、クリップボードに貼られた後にクリップボードを消去しても、あまり意味が
無いように思っています。
いま「スナップショットがクリップボードに貼られる前」のタイミングを捕らえる方法を
探しています。

内容がスレチになってしまったので内容相応のスレに移動します。
どうもありがとうございました。

718:デフォルトの名無しさん
11/09/11 02:17:26.54
どんな場合でもチェックしたいというなら、単位時間おきに監視すれば?
要するにポーリング。


719:デフォルトの名無しさん
11/09/11 09:41:58.61
無理じゃねぇの?
スクショを効率よくとるソフトってあるじゃん
そういうのまで考えるとPrintScreenキーとかすでに関係ねーし

720:デフォルトの名無しさん
11/09/11 10:56:30.36
利用者の後ろに張り付いて監視すりゃいいんだよ。
これで解決なんだから、以後だれもレスすんなよ。

721:デフォルトの名無しさん
11/09/11 11:28:55.11
メディアプレーヤーみたいなことやんないとダメなのかもな

722:デフォルトの名無しさん
11/09/11 11:33:23.55
>>721
原理がわかっていないクズがレスするなよ。
オーバーレイはAEROでは無効なんだから、みたいなことの意味が全く不明なんだよ。
もう一度言う、クズはレスするな。

723:667
11/09/11 15:07:17.91
>>718-722
結局、RegisterHotKeyを使ってPrintScreenキーと修飾キー(ALT、CONTROL、SHIFT、WIN)の
全組み合わせ(16通り)のキー入力をすべてホットキーに登録する方法にて実装しました。
これで物理的に特殊なツールを使われない限り、色々な操作をされてもスナップショットは
撮られないと思います。

デスクトップのHDCを取得してBMPファイルに書き出すなどのプログラムにて、
クリップボードすら経由せずにスナップショットを撮るのと同じことができると思いますが、
どうにしろ防ぎようがないので妥協しました。

724:デフォルトの名無しさん
11/09/11 15:46:31.42
なぜそこまでしてSSをとらせたくないのか理解できん。
どうせキャプチャソフトで撮れるんだし。

725:デフォルトの名無しさん
11/09/11 16:49:39.41
ニコ動でよくみるみたいな画面操作の動画っぽいのを作成するソフトあったよな?
あれも防げんのかな?

726:デフォルトの名無しさん
11/09/11 16:56:39.18
キャプチャーすると真っ暗になる方法が昔あったような無かったような

727:デフォルトの名無しさん
11/09/11 19:27:01.05
tcharにするとリテラルに_Tをつけるのめんどくさいのですがどうしたらいいですか

728:デフォルトの名無しさん
11/09/11 20:57:58.27
sandyBridgeってGPUがCPU内に入ってるから
頂点座標が多くなってもDrawPrimitiveUPとDrawPrimitiveは
速度が変わらなくなったってことでいいの?

729:デフォルトの名無しさん
11/09/11 21:09:03.25
GPU用のメモリからCPU用のメモリへの転送は行われるから、さほど速くはなってないかも。
メモリ空間が完全に統一されたら分からないね。

730:デフォルトの名無しさん
11/09/11 21:26:08.49
>>727
tcharなんて使わなければいい
今のpcゲームでcharを切り替えるメリットはほぼ無い

731:デフォルトの名無しさん
11/09/11 22:31:35.84
ダイレクトドローのオーバーレイで出せばキャプできないと思う

732:デフォルトの名無しさん
11/09/11 22:54:19.88
DirectXをインストールしたいんだけど、

URLリンク(www.microsoft.com)
この中のどれをインストールしていいのか分からないので、教えてもらえませんか?

PCのスペック表です
URLリンク(store.shopping.yahoo.co.jp)

733:デフォルトの名無しさん
11/09/11 22:54:37.08
どうあがいてもDVIやHDMIでビデオキャプチャされたら
どにもならないよね
HDCPも解除できるし

そんなところより内容に力を入れろってこった
つまんないソフトに限ってコピープロテクトだけは充実しててむかつく

734:デフォルトの名無しさん
11/09/11 23:08:00.89
>>730
どうも

735:デフォルトの名無しさん
11/09/12 03:07:37.10
>>732
開発ならSDK,
ゲームしたいならエンドユーザーランタイム

736:デフォルトの名無しさん
11/09/15 02:24:31.70
Direct3D 11.1の情報: 新 masafumi's Diary
URLリンク(masafumi.cocolog-nifty.com)


737:デフォルトの名無しさん
11/09/18 04:06:26.63
>>730
どうも

738:651
11/09/19 15:41:37.81
スプライトを使うのをやめたけど
D3DXMATRIX d3dm;
D3DXMatrixTranslation(&d3dm, 0, 200.0f,0);
g_pD3DDevice->SetTransform(D3DTS_PROJECTION , &d3dm);
を使っても並行移動できませんでした。
200.0fの部分を0.2fとかにしてもダメでした。
どうすればいいでしょうか。
URLリンク(www1.axfc.net)

739:デフォルトの名無しさん
11/09/19 16:57:39.49
と言うレスが入ったんですけど
「笑えばいいと思うよ」か「まず裸になります」のどちらがいいでしょうか?

740:デフォルトの名無しさん
11/09/19 17:19:32.93
射影を平行移動?
頭大丈夫?

741:デフォルトの名無しさん
11/09/19 20:43:32.44
チュートリアルなんてやらない・・・絶対にだ!
って決意が堅そうな初心者はどうしたものか・・・

742:651
11/09/19 21:04:18.62
D3DTS_WORLD、D3DTS_VIEW、D3DTS_PROJECTIONの値をいじってみたけど何も変化が起きません。
SetTransformを有効にする設定みたいな物があるんでしょうか。

743:デフォルトの名無しさん
11/09/19 21:12:11.39
>>742
さすがにお前に教えられる猛者はなかなかいねーよ
せめてDirectXのチュートリアルぐらいはやってくれよ
トラのモデルを表示する奴な
チュートリアル通りに進めれば今日の24時ぐらいにはすべてが理解できてっからよ

っていうかお前、今月頭からそんな状態なら入門サイト探すか入門書買うとかなんかやれや

744:651
11/09/19 21:21:13.57
directX9実践プログラミングって本かったけど
全然理解できなかった。
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
チューとリアルってここですか?

745:デフォルトの名無しさん
11/09/19 21:26:17.97

この本を読んでみ
「 15歳からはじめるdirectx 9 3dゲームプログラミング教室 」

746:651
11/09/19 21:32:31.14
>>745
2500円か
2D画面の並行移動をやりたいだけなのに
新しい本を買うのは気が進まない・・・
とりあえずチュートリアルやってみます。

747:デフォルトの名無しさん
11/09/19 21:39:43.13
>>744
いんじゃねいんじゃね
でチュートリアルのサンプル プロジェクト自分のPCの中からみっかった?

748:デフォルトの名無しさん
11/09/19 21:42:05.87
>>746
おめ、チュートリアルは最期までやっとけよ
いまどき、2Dゲーだって3D空間をぺらぺらなキャラクタが移動してたりするだろ

2Dですべてを表現するのって今度は別のセンスやらなにやら必要になって
いまはもうそういう技術だれも教えてくんないから一旦3Dの方進んで2Dゲー作ったほうがなにかと楽だぞ

749:デフォルトの名無しさん
11/09/19 22:52:45.87
ようは全体を平行移動したいんだよね
カメラを動かして描画すればいいんじゃないのか

750:デフォルトの名無しさん
11/09/19 22:56:58.82
既にある方向を向いているモデルがあったとして、
任意の与えられたベクトルの向きを向くようにワールドマトリクスを変換したいのですが、
どう変換したら良いのでしょうか?

宜しくお願い致します。

751:デフォルトの名無しさん
11/09/19 23:00:57.59
視点と注視点のベクトルを任意に設定すればいいだけの話。

752:デフォルトの名無しさん
11/09/19 23:00:57.69
lookat で検索

753:デフォルトの名無しさん
11/09/19 23:03:35.48
オブジェクトの方を動かすのなら、向かせたい方に回転させるだけ。
何が疑問なのかが分からない。

754:デフォルトの名無しさん
11/09/20 01:01:58.55
アークタンジェント使えって話だろ

755:651
11/09/20 01:18:50.79
チュートリアルの三角形が回転するプログラムに
三角形を消して画像を表示してみたのですが、
回転しませんでした。
何が原因なのでしょうか。
URLリンク(www1.axfc.net)

756:デフォルトの名無しさん
11/09/20 06:56:55.84
>>755
サンプルプロジェクトと比較してみた?
sdkに動くサンプル付いてるよね?

757:651
11/09/21 22:43:17.94
2日間考えてやっと分かった。
D3DFVF_XYZRHWじゃなくてD3DFVF_XYZじゃないと
カメラは使えないのね。

758:デフォルトの名無しさん
11/09/21 23:11:39.85
当たり前だ

759:デフォルトの名無しさん
11/09/21 23:37:33.23
DirectXにカメラなど無い。

760:デフォルトの名無しさん
11/09/21 23:38:33.36
痺れた。

761:651
11/09/23 14:49:56.21
D3DFVF_XYZRHWからD3DFVF_XYZに変えたら処理速度が2倍遅くなったんですが、
普通はそんな物なんですか?

762:デフォルトの名無しさん
11/09/23 15:19:58.96
いいえ

763:デフォルトの名無しさん
11/09/23 16:30:41.61
>>761
パフォーマンスが気になったらここを読むがよろし
URLリンク(msdn.microsoft.com)(v=vs.85).aspx

それと早すぎる最適化は諸悪の根源である

764:デフォルトの名無しさん
11/09/23 17:15:28.45
>>761
お前、チュートリアルは終わったのか?
頭のおかしい発言繰り返す前にやることやれよ?

765:教えて君
11/09/24 10:38:57.59
3Dオブジェクトを背景に表示した空間の手前にテクスチャードクアッドを入れて
その面にビルボーディグをかけています。背景色が抜けず、裏の3Dオブジェクトが四角で
隠れてしまう格好となってしまいます。テクスチャを作るときD3DCreateTextureFromFileEx()で
抜け色指定したのですが、抜け色としたところが黒くなって、その黒い部分が奥の3Dオブジェクトを
透過せず隠してしまうのです。

何故こうなってしまうのですか。対処法はありますか。

766:デフォルトの名無しさん
11/09/24 11:15:06.66
>>765
URLリンク(marupeke296.com)

767:教えて君
11/09/25 21:05:46.07
ありがとうございます。アルファブレンドですか。
自分のレベルに合わないものを作ろうとしたかもしれないので、一回2Dで自分でできる
とりあえずの完成形を作ってみようと思うようになりました。

768:デフォルトの名無しさん
11/09/26 01:32:22.55
>>763
これのDX11版が欲しいなぁ。
まぁ、共通してるところもあるだろうけど。

769:デフォルトの名無しさん
11/09/26 06:54:25.66
>>767
話理解してないじゃん(笑)

770:デフォルトの名無しさん
11/09/28 10:26:24.37
最強の入門書はどれですか?

771:デフォルトの名無しさん
11/09/28 11:05:12.07
あなたのレベルに一番マッチした本

772:デフォルトの名無しさん
11/09/28 13:08:52.52
マジレスすると

 2 c h

773:デフォルトの名無しさん
11/09/28 13:41:09.80
World Wide Web

774:デフォルトの名無しさん
11/09/28 23:46:15.27
Wild Wild West

775:デフォルトの名無しさん
11/09/29 09:13:53.05
逆に情弱な入門書って何よ?

776:デフォルトの名無しさん
11/09/29 15:33:13.71
15歳

777:デフォルトの名無しさん
11/09/29 15:47:45.79
本屋で入門書を見あさっても、何がいいか分からない奴が->情弱

778:デフォルトの名無しさん
11/09/29 20:44:27.81
懐中電灯を直視したときのように、ライトの部分が光って見えるようにしたいのですが(戦闘機のアフターバーナーの表現)、
D3DLIGHT9のポイントライトを配置しても、それ自身が光って見えるようにならないようです。

素人ですいませんが、どういう風に考えればいいんでしょうか。

779:デフォルトの名無しさん
11/09/29 20:59:51.70
あーなんだっけそれ

780:778
11/09/29 21:07:57.77
自力で解決できそうなことを考えたので、やって見てからまた質問します。

781:デフォルトの名無しさん
11/09/29 21:11:04.40
おお、がんばれ。

782:デフォルトの名無しさん
11/09/29 21:11:51.02
○かいたテクスチャ貼った板をライトの場所におく

783:デフォルトの名無しさん
11/09/29 21:33:54.25
>>776
俺もあれ嫌いだわ
軽い気持ちで遊ぶ、くらいの手触りで読むなら良書だけど、
しっかり学ぶという視点からは役に立たないことこの上ない

784:デフォルトの名無しさん
11/09/29 21:42:48.84
>>783
とりあえず全体像をつかむのにはいい本ってことだな
しっかり学ぶならそれなりのしっかりした本が必要になる

わかりやすい説明サンクス

785:デフォルトの名無しさん
11/09/29 21:51:32.08
そういうスタンスの本も大事だね。

786:デフォルトの名無しさん
11/09/29 22:07:18.17
子供に重い概念仕込むの大変だからなぁ。
概要だけの本で正しい前知識があったほうが多少ましかもしれんね。

787:デフォルトの名無しさん
11/09/29 23:47:32.77
むしろ細かいこと以上に、大局的な概念が重要だったりするw

788:デフォルトの名無しさん
11/09/30 23:23:51.25
Z座標からZバッファへの変換って
Z座標からZバッファの変換が1対1でかつ描画したい部分のZバッファが[0, 1]に収まるなら
なら任意の変換でいいの?

789:デフォルトの名無しさん
11/09/30 23:34:11.07
書いたようにしかならないんだから、書けるのなら何でもいい。

790:デフォルトの名無しさん
11/10/02 08:47:15.39
DirectXでビューとデータってどういう風に分離する?

791:デフォルトの名無しさん
11/10/02 10:10:13.22
質問させてください。
DirectX9.0cを使ってゲームを作り始めたのですが、自機のモデルがうまく表示されません。
テクスチャが張られていない部分はきちんと表示されるのですが、テクスチャが張られている部分が真っ白になってしまいます。
以下、読み込み部分のコードです。
D3DXLoadMeshFromX( "data/model/myShip/myShip.x",
D3DXMESH_SYSTEMMEM, // メッシュの展開先
pD3DD, // デバイス
NULL,
&mpD3DXMaterialBuffer, // 属性バッファの設定
NULL,
&mNumMaterials, // 属性の数
&mpMesh );
// マテリアル情報を取り出す
D3DXMATERIAL* d3dxMaterials = ( D3DXMATERIAL* )mpD3DXMaterialBuffer->GetBufferPointer();
mpMaterials = new D3DMATERIAL9[ mNumMaterials ];
mppD3DTexture = new LPDIRECT3DTEXTURE9[ mNumMaterials ];

for( DWORD i=0; i < mNumMaterials; i++ ){
     mpMaterials[ i ] = d3dxMaterials[ i ].MatD3D;
mpMaterials[ i ].Ambient = mpMaterials[ i ].Diffuse;
if( D3DXCreateTextureFromFile( pD3DD, d3dxMaterials[ i ].pTextureFilename, &mppD3DTexture[ i ] ) != S_OK ){
mppD3DTexture[ i ] = NULL; // 読み込めなかったらテクスチャは無効
}
}
この部分コードが間違っているのでしょうか。他に思い当たる部分がなく、困っています。
モデル自体に問題がないことは他のプログラムを使用して確認済みです。
よろしくお願い致します。

792:デフォルトの名無しさん
11/10/02 10:14:04.62
常にテクスチャが無いってことになってたりしない?

793:デフォルトの名無しさん
11/10/02 10:24:15.22
>>792
レスありがとうございます。
他のモデルのテクスチャがどうかということでしょうか。
モデリングツールで作成したxfileを読み込んだのはこれで初めてなので、
他のテクスチャがどうかはわからないです。
DrawPrimitive()作ったポリゴンにテクスチャを貼り付けることはありましたが、正常に表示されます。

補足になりますが、今回はテクスチャが複数枚あります。
貼られ方はおかしくなりますが、「d3dxMaterials[ i ].pTextureFilename」の部分に「~.jpeg」等、
直接ファイル名を指定した場合はテクスチャは貼られます。

794:デフォルトの名無しさん
11/10/02 10:28:39.12
SetCurrentDirectoryを前に置いて、xファイルのあるパスをカレントディレクトリにしてみ

795:デフォルトの名無しさん
11/10/02 10:34:20.92
>>794
正常に表示されました!ありがとうございます!

原因を知りたいのですが、これはパスの設定を間違っていたということなのでしょうか。
また、SetCurrentDirectoryを使わずに正常に表示することは可能でしょうか。
よろしくお願い致します。

796:デフォルトの名無しさん
11/10/02 10:59:59.81
相対パスがテクスチャのパスとして設定されていると、xファイルからの相対パスとなる。
しかし、アプリケーションが起動したとき、そのプロセスのカレントディレクトリはexeファイルの場所になる。

だからカレントディレクトリのパスをxファイルに合わせる必要がある
もしくはPath周りの関数を使って相対パスをxファイル基準の絶対パスにしてあげれば良い

797:デフォルトの名無しさん
11/10/02 11:15:57.43
>>796
レスありがとうございます。
よくわかりました。

長いこと悩んでいたので本当に助かりました。
ありがとうございました。

798:デフォルトの名無しさん
11/10/02 14:55:02.45
そこはDirectXに限らず悩むことが多いところ。
良い経験になったね。

799:デフォルトの名無しさん
11/10/02 15:44:53.70
DirectInput8で複数のパッドデバイスを列挙する場合
EnumDevicesを複数回呼び出せばいいんですか?

800:デフォルトの名無しさん
11/10/02 15:59:46.30
1回で全部とれる

801:デフォルトの名無しさん
11/10/02 16:04:03.11
ありです。

ちょっと調べてきます。

802:デフォルトの名無しさん
11/10/02 16:07:17.34
キーコンフィグってどうしてる?
〇が入力されたら~って感じのソースの○を定数じゃなくて変数にしたらうまくいくんじゃないかと思うんだけど
もっと良いやり方あったら教えて欲しい

803:デフォルトの名無しさん
11/10/02 16:21:47.14
うちが昔実装した方法だと
キーコンフィグのページで全ボタンをチェックして押されたボタンの番号を変数に代入
実際に使う際にその番号を使って呼び出してた

804:デフォルトの名無しさん
11/10/02 16:28:50.97
一枚レイヤーかまして
実入力とゲームで使う論理入力?をわける

805:デフォルトの名無しさん
11/10/02 16:36:49.61
うん もっと効率的な遣り方があるかもしれないけどそうしていた。
それほど処理が落ちる訳じゃああるまいし

間に条件によっては処理を咬ませたりすることも出来るからいろいろと便利だったし

806:デフォルトの名無しさん
11/10/02 16:43:38.06
同意。
それが一番合理的じゃね?

807:デフォルトの名無しさん
11/10/02 16:48:14.77
経験者の意見は頼りになります、ありがとうございました。

808:デフォルトの名無しさん
11/10/03 07:04:05.61
すみません。
現在、直線や曲線を3D空間に描く時は、板ポリをひたすらみっしり並べて描画しているのですが
もっと良い別の表現方法ってないものでしょうか?

809:デフォルトの名無しさん
11/10/03 09:04:38.71
D3DXVec3Projectで3次元の座標から画面の位置を取得してるんですが
真後ろに物体があった時にX,Yが普通に画面内に収まってくるんで困ってます
真後ろかどうかってどうやって判定すればいいですか?

810:デフォルトの名無しさん
11/10/03 09:36:39.46
D3DXVec3Dot関数に、カメラから注視点へのベクトルとカメラから対象座標へのベクトルを与えれば
返り値のフロートの符号の正負で前後が判断できたはず。

811:809
11/10/03 09:43:11.49
今見てたら2次元スクリーンのZが0.5~1.5くらいに変化してて
背後にあるときは1.0を超えるように見えるんだけど
これって判定に使っても大丈夫?

812:デフォルトの名無しさん
11/10/03 10:38:39.99
PIXが対応しているD3DXのバージョンは一緒のSDKに入っていたもの、
つまりその時点で最新のD3DXだけなんでしょうか。

813:デフォルトの名無しさん
11/10/04 06:18:49.22
GetTransformでプロジェクション行列を取り出してアスペクトとか距離とか逆算することって出来る?

814:デフォルトの名無しさん
11/10/04 07:34:55.74
できるはず

815:デフォルトの名無しさん
11/10/06 14:57:45.96
Windows標準のテキストボックスとかボタンの外見をカスタマイズしたいんだけど
DirectXSDKのサンプルがBCCじゃコンパイルが通らない
助けてくれ

816:デフォルトの名無しさん
11/10/06 15:04:53.85
だったらVC使えばいいだろう
いったい何を言っているんだ?

817:デフォルトの名無しさん
11/10/06 18:44:29.11
      /.|   /.|   ./.|                         反日教育↓
     /核/  ./核/   /核/ ←日本照準
  _ / / _ ./ / _../ /                        || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|∧∧
.  \/ /ヘ \/ /ヘ\/ /ヘ                     || 愛国無罪 。    /中 \
   ◎ 丶i   ◎丶i  ◎丶i.   .|\_______/| ←捏造 ||   日本猪 \ (`ハ´  )
                   _|    3000000  |_       ||_______⊂   ⊂)
   ∧∧/ ̄ ̄ヽ     _ \ ._______ /_           ∧∧ | ̄ ̄ ̄ ̄|
  /中 \資源 i     \ ._南京大屠殺記念館_ /          (   ,,)      |
 (`ハ´  ) ⊂二 ̄⌒\   | ∩ ∩ | ̄| ∩ ∩ |           ~(___ノ  ̄ ̄ ̄ ̄
  (つ とく__,;;ノ)\   ヽ  | ̄ ̄ ̄ ̄ 口  ̄ ̄ ̄ ̄|      llコ
   /⌒__) /__   )   ∧∧        ノ)      , ‐-ll、
   レ' ゝ( ////  /|.  / 中 \       / \ ~~l _ l~~~~~~~
        / / / //\ \( `ハ´ )   _/ /^\)    ,! . ̄ l  「l
 ↑盗掘  / / / (/   ヽ、        ⌒ ̄_/  /漢級 ̄二二二二`γ_、 三二―
      ( ( (/      ノ      / ̄     (`ハ´)        ,`~ソ 三二―
                ./     /           `ー―――一'´
                    |\                  ↑領海侵犯
              / ̄ ̄ ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
              | 日中関係改善のために我が国は並々ならぬ
              \努力をしており、日本に分かってもらいたい
               \________________



818:デフォルトの名無しさん
11/10/06 21:31:28.63
コールバック?

819:デフォルトの名無しさん
11/10/06 22:20:59.30
>>815
馬鹿じゃね
そんな予防注射みたいな名前のコンパイラ使ってるのお前ぐらいだぞ

820:デフォルトの名無しさん
11/10/06 22:48:58.04
BCC知らないとか

821:デフォルトの名無しさん
11/10/06 22:57:09.09
Boost C Compiler

822:デフォルトの名無しさん
11/10/06 23:16:03.78
Bust C Compiler

823:デフォルトの名無しさん
11/10/07 00:26:13.99
BCC馬鹿にすんなハゲ

824:デフォルトの名無しさん
11/10/07 00:29:32.82
B ババア
C クラスタ
C コンパニオン

825:デフォルトの名無しさん
11/10/07 05:31:39.43
さすがに今はMinGWのがいいんじゃね。

826:デフォルトの名無しさん
11/10/07 08:24:31.78
VisutalStduioが無料なんだからそれでいいじゃないw

827:デフォルトの名無しさん
11/10/07 08:53:54.46
>>826
リソースエディタがないとかそーゆーはなしだったりして?

828:デフォルトの名無しさん
11/10/07 11:37:03.45
VC Expressは商用コード作成無理じゃなかったっけ。

829:デフォルトの名無しさん
11/10/07 11:41:10.71
んな制限ない

830:デフォルトの名無しさん
11/10/07 13:02:18.31
金田して買ったアカデミック版は商用不可でタダのexpress 版は商用可能なんだよな

831:デフォルトの名無しさん
11/10/07 13:25:11.64
Academic Editionにそんな制限ないぞ
DreamSparkやAcademic Allianceはダメらしいが

832:デフォルトの名無しさん
11/10/07 13:31:34.28
今はDreamとかついて制限増えたのか。
vs2003の時は制限もなくサービス終了時に2005proをタダでくれたぞ
と思ったら昔やってたのはspokeだった

833:デフォルトの名無しさん
11/10/07 13:56:36.56
>>831
あるよ。

URLリンク(msdn.microsoft.com)

「3. MSDN AA 修正使用許諾主契約書」の「プログラムの制限事項」を見るべし。

834:デフォルトの名無しさん
11/10/07 14:06:54.24
奥にある物体が描画されないのはプロジェクションの奥行きの問題だけじゃない?
プロジェクションの奥行きをデカクしても一定ラインより先が描画されない
他に影響するものがあるの?

835:デフォルトの名無しさん
11/10/07 14:16:09.86
>>833
お前Academic EditionとAcademic Allianceの区別できてないだろ

836:デフォルトの名無しさん
11/10/07 15:39:18.49
アカデミックエディションに関してはいろいろ不明瞭な部分もあったので、MSのカスタマーセンターに聞いてみた。
それによると、VisualStudioのアカデミックエディションは、購入時点における購入者の身分だけに制限があって、
その後の使用や、開発したプログラムに関する取り扱いに制限はないそうだ。
つまり身分が購入の要件を満たさなくなってもそのまま利用できるし、商用ソフトの開発も自由だそうだ。

よかったな。


837:デフォルトの名無しさん
11/10/07 16:41:55.74
>>836
ありがとう!

838:デフォルトの名無しさん
11/10/07 20:27:45.78
Direct Input に関して質問
全方位シューティング作ってるんだけど、コントローラーで詰まってる。
Geometry Warsみたいにアナログスティックの360回転に同期して自機も360度回転させたい。

8方向は普通に出来る。 (キーボードでも使えるようにするために、キー情報の変数を作ってビットで管理してる。)
8方向だったらフラグで簡単に出来るけど、360度だとDIJOYSTATE2の値を直接参照して、自機の角度を変える感じかな?
でもそれだと、lXやlYの値がどのくらいのとき何度なのかってのが分からない。

みんなはどうやってる?

839:デフォルトの名無しさん
11/10/07 20:45:23.73
>>838
どうせ最終的には方向ベクトルにするんだろうから、角度で管理するんじゃなくて
最初から方向ベクトルで扱うのが一番無駄がない。

どうしても角度で扱いたければatan2で角度を求められる。

840:デフォルトの名無しさん
11/10/07 21:12:35.42
あたんつー

841:838
11/10/07 21:39:32.58
>>839
>>840
ごめん、俺が余計な混乱してたみたいだ。 質問したかったのは、「DIJOYSTATE2のlXとlYの取り扱い方」だった。
デバッガでちまちま値調べたら分かったよ。

ふつうに
DIJOYSTATE2 joyState;
if( FAILED( directInputDevice[controller]->GetDeviceState( sizeof( DIJOYSTATE2 ), &joyState ) ) )
{
return false;
}
data->dir = atan2( ( float )joyState.lY, ( float )joyState.lX );

でぬるぬるです。
なんでこんな簡単なことがすぐに分からなかったんだろう。
本当にすみませんでしたorz

842:デフォルトの名無しさん
11/10/08 21:04:59.14
謝ったからゆるしてやるよ
ありがたくおもいなさい

843:デフォルトの名無しさん
11/10/09 04:47:50.82
ぶひぃぃぃぃぃぃぃぃぃぃ

844:デフォルトの名無しさん
11/10/09 15:19:52.68
>>839
それじゃ3回転の2回転目が表現できないとか前後の話もよく読まず食いついてみる

845:デフォルトの名無しさん
11/10/09 15:24:29.76
うんやっぱり的外れだった(笑)
無視してくれ(笑)

846:デフォルトの名無しさん
11/10/09 15:36:40.98
今どき、角度なんて使わないよね。
ラジアンの時代だよ。

847:デフォルトの名無しさん
11/10/09 15:43:49.81
ラジアンは角度の単位なんだが、使わないとか何いってんのこの馬鹿?

848:デフォルトの名無しさん
11/10/09 16:38:56.83
>>846
www

849:デフォルトの名無しさん
11/10/09 16:44:57.69
>>847
ネタにマジレスかこわr

850:デフォルトの名無しさん
11/10/09 16:51:09.38
みんな、当然自分でライブラリ作ってるよな?

関係ないけど、シューティングのオブジェクト管理にはリスト構造使うべきか?
面倒くさいしあんまり速くなりそうに思えないんだが。

851:デフォルトの名無しさん
11/10/09 16:57:59.56
恥ずかしいミスを指摘されるとネタとか言い出して恥の上塗りする奴っているよな

852:デフォルトの名無しさん
11/10/09 17:00:51.16
おれ汎用性持たせてmapだよ。スピードいるなら変えるけどな。
たしかlistよりmapの方が遅いけど、そんなに差はなかったよ。独自リストはしらん。


853:デフォルトの名無しさん
11/10/09 17:04:05.40
>>851
自己紹介乙w

854:デフォルトの名無しさん
11/10/09 17:10:13.78
>>850
IDから検索してアクセスしたい時にリストじゃおそい
ベクタかマップを使いたいところだろう


855:デフォルトの名無しさん
11/10/09 17:13:06.31
>>849
ネタはネタでも、自分は馬鹿ですという本気の自虐ネタは哀れすぎるよ。

856:デフォルトの名無しさん
11/10/09 17:16:49.71
保守あげ

857:デフォルトの名無しさん
11/10/09 17:36:37.24
>>850
俺ライブラリは作ってるけど、STGのオブジェクトは普通に配列使って
検索も逐一検索なんだけど…

コンテナ使うべきかな

858:デフォルトの名無しさん
11/10/09 18:22:54.26
>>857
パフォーマンスが問題ないならそれでOKだね。
分かり易いのが一番だよ。

859:デフォルトの名無しさん
11/10/09 20:46:04.31
DirectXと関係あんのか、この話

860:デフォルトの名無しさん
11/10/09 21:33:05.96
DirectXはゲームで使われることが多い
シューティングはゲームの1ジャンルである
したがってDirectXとシューティングには関係があるので語ってよい

861:デフォルトの名無しさん
11/10/09 21:35:25.57
うむ。

862:デフォルトの名無しさん
11/10/09 21:57:04.18
>>860
その論法だと、時々やってくるDirectXを使ったゲームが動かないと質問しにくる馬鹿もOKだということになるぞ。
DirectXのAPIが絡まない汎用的な実装の話は完全にスレ違いだ。

863:デフォルトの名無しさん
11/10/10 00:26:25.76
じゃあプログラマブルシェーダ内の配列をどう管理するかの話題にしよう
それならいいだろ??

864:デフォルトの名無しさん
11/10/10 00:57:19.64
うむ。

865:デフォルトの名無しさん
11/10/10 01:06:23.77
>>862
お前がこの世から消えたらすべて丸く収まるんじゃね

866:デフォルトの名無しさん
11/10/10 08:46:19.85
>>858
ありがとう! これからもがんばるよ!

867:デフォルトの名無しさん
11/10/10 10:11:43.11
シューティングゲーム(非FPS)製作技術総合
スレリンク(gamedev板)

868:デフォルトの名無しさん
11/10/10 10:38:08.59
DirectX11って普及するのかな。またすぐに12とかが出てくるんじゃないかと思って。
XP+DirectX9でしばらく様子見がFA?

869:デフォルトの名無しさん
11/10/10 10:49:25.58
自分が何をターゲットにするか次第なんだからFAなど無い。
前提条件も示さずに他人に意見を求めるな。

870:デフォルトの名無しさん
11/10/10 10:51:27.20
どうせゲームが完成する頃にはWindows8+directX13位になってるから気にするな

871:デフォルトの名無しさん
11/10/10 11:03:27.66
DirectX11、興味はあるんだけど、いかんせん情報が少なくて手が出せないでいる・・・
DirectX9のときはXファイルサポートとか、アニメーション関数とかあって重宝したのもあるし。
自分でアニメーション組んだら、糞遅くて凹んだし orz

872:デフォルトの名無しさん
11/10/10 11:50:32.27
割りとマジでUnityでいいとおもう。
自分でいじるのは勉強か研究くらいじゃん?

873:デフォルトの名無しさん
11/10/10 13:45:31.31
>>872
まあ、最終的に売ることを考えた場合だよね
別にそうでないならどのゲームエンジンも触ってみることをオススメしたいね
とりあえずDirectXを素で叩くことはなさそうってのは同意

874:デフォルトの名無しさん
11/10/10 14:04:28.73
何を作るかにもよると思うけど。
テトリス作るのにわざわざゲームエンジン使うのも馬鹿らしい品

875:デフォルトの名無しさん
11/10/10 15:18:59.48
3Dゲームエンジンまともに作れる会社ってどれくらいの規模なんだろう
日本では、カプのMTやスクエニクラスだけかな?

零細会社がやるなら勉強でdirect使って
結局は有名どこのエンジン使うことになる?

directx勉強する意味合いってなに?


876:デフォルトの名無しさん
11/10/10 15:22:25.54
Windowsのアプリで描写が無駄に綺麗になる

877:デフォルトの名無しさん
11/10/10 15:53:20.45
>>874
そうは思わないな
メニューとかモデルで作ったらアニメーションでカーソル移動とか楽になるわけだし
そっから作るとなると結構大変じゃないか?
アニメーションサポートするだけでも

878:デフォルトの名無しさん
11/10/10 15:54:28.03
うん、けっこう馬鹿にならないと思うし、簡単なゲームでも意義はあると思うなぁ。

879:デフォルトの名無しさん
11/10/10 15:55:45.27
面白いな最近のゆとりは

880:デフォルトの名無しさん
11/10/10 15:58:01.14
過疎スレで連投すると自演に見えるから萎える

881:デフォルトの名無しさん
11/10/10 16:13:39.71
DirectXスレでDirectX否定ってw

882:デフォルトの名無しさん
11/10/10 16:19:36.26
URLリンク(blog.livedoor.jp)
これを思い出した

883:デフォルトの名無しさん
11/10/10 17:03:59.03
DirectXはあまりに仕様を変えすぎるんだよ
DirectX9SDKだけでもいったいいくつバージョンがあるんだよ
しかもコンパイル互換性なしとかもうね
っていう状態なのに10だの11だのポンポン出すんじゃねーよ

ってことを考えると、とてもじゃないが相手してらんないので
ゲームエンジンを使うのが正解だろう

884:デフォルトの名無しさん
11/10/10 17:08:09.70
COMなんだから自分の使いやすいバージョンつかってりゃいいんじゃねぇの

885:デフォルトの名無しさん
11/10/10 17:19:47.57
>>883

イミフ
そのゲームエンジンの使っているSDKはどうなるんだよ。
と思ったが。使うだけでゲームエンジンのソースは面倒みない人か。


886:デフォルトの名無しさん
11/10/10 17:25:54.25
ゲームを作るのが目的なので
ゲイツのアナルのお世話はゲームエンジン作者に任せたいんですよ。
DXのバージョンが変わるごとに、毎回毎回デバイスロストの処理とか
D3Dデバイスの生成とか同じことを何回も何回も同じコードを書いてる気がするわ。

887:デフォルトの名無しさん
11/10/10 17:27:45.00
ゲームエンジンのライセンス買うのは、
エンジンの機能を使いたいというのもあるだろうが、
使うだけで面倒みるのがいやだからだというのもあると思うが。

888:デフォルトの名無しさん
11/10/10 17:28:01.64
もうデバイスロストの処理なんて必要ないから。

889:デフォルトの名無しさん
11/10/10 17:29:35.06
あれ?DirectX11あたりからロストってしにくくなったんじゃねーの?


890:889
11/10/10 17:30:19.88
あ、かぶった

891:デフォルトの名無しさん
11/10/10 17:31:13.93
DirectXのSDKはすでに1年以上更新されていないが、
ボンボン出すとか、デバイスロストとか、旧世代の知識で、
その後に何の勉強もしないヤツほど、文句たらたらなんだよね。

892:デフォルトの名無しさん
11/10/10 17:34:04.34
仕方ないよXPがまだまだ現役でDirectX9の知識で止まってる人実際多いし

893:デフォルトの名無しさん
11/10/10 17:41:37.96
>>891
現実問題、XPを切り捨てることは到底できないから
XPでDX11を出してもらわないとね
デバイスロストがしにくくなったのは知らんかったわ。
だがトライアングル1つ出すまでのコードはまた作り直しなんだろうし、
その他排他モードとウィンドウモードでケアするべき項目も違うんだろう。

894:デフォルトの名無しさん
11/10/10 17:43:57.46
知識が風化しているのに文句だけ一著前。

コンパイル云々ではDirectX9時代のソース変更が必要な仕様変更は、ID3DXSpriteぐらいで、
引っかかったのは、そんな使わなくていいものを使っていた、ごく一部の馬鹿だけだし。

895:デフォルトの名無しさん
11/10/10 17:44:43.70
~だろう
ってDirectX11調べずに発言してたのかよ

896:デフォルトの名無しさん
11/10/10 17:46:43.36
DirectX9時代はDirectX本体ではなく、D3DXのあくまで補助ライブラリのアップデートをしていただけなんだから、
嫌なら使わなければいいだけの話だったのにね。
自分の知識不足のせいなのに、いったい何に文句を付けているんだよ?

897:デフォルトの名無しさん
11/10/10 17:46:49.64
つまり印象だけなのね。

898:デフォルトの名無しさん
11/10/10 17:48:03.34
つか、D3DXなんて使わないからDirectX9でも問題ないけど?


899:デフォルトの名無しさん
11/10/10 17:49:21.77
結局DirectX11時代を迎えてMSのとった対策は、
補助ライブラリを必要最小限に削って、アップデートをしない方向に。
これでサービスで付けていた補助ライブラリに文句を付ける馬鹿をシャットアウトしたんだよ。

900:デフォルトの名無しさん
11/10/10 17:51:29.35
うん、まだまともに調べてないよ。
また仕様がコロッコロ変わるなら調べる必要もないから。
現にDX10はビルドを1回もしたことがないがDX11になってしまった。
DX11はいつまでもつのかね。

901:デフォルトの名無しさん
11/10/10 17:51:34.16
ハードウェアテッセレーションをエロゲで使いたいとか

902:デフォルトの名無しさん
11/10/10 17:53:55.05
>>900
うんうんそうだよねDirectX9でいいよね新しい事覚えるの大変だもんね

903:デフォルトの名無しさん
11/10/10 17:54:42.26
>>900
だから一年以上変わってないんだって。
不勉強の言い訳をしている暇があったら、その化石化した知識を何とかしろ。

904:デフォルトの名無しさん
11/10/10 17:57:57.23
>>902
同じことしかできないのに
やり方が変わってるっていうのについていけないわ。

>>903
XPユーザーが有意に減少するまであと最低5年はかかるだろうから
それまで変わらないなら、おべんきょう、してもいいよ。

905:デフォルトの名無しさん
11/10/10 17:58:57.21
DirectXに限らず日進月歩で変わっていくIT分野で、
どうせ仕様が変わるからといって勉強しないヤツは、
どう考えても使い物にならない。

906:デフォルトの名無しさん
11/10/10 18:00:01.88
だからここで管を巻いて文句言ってるんだろうが

907:デフォルトの名無しさん
11/10/10 18:01:32.90
>>904
君が勉強しないのは勝手だ。
ただし古い知識で的を射ていない文句を、
自分の日記以外の書き込むのは恥ずかしいからやめた方がいい。

908:デフォルトの名無しさん
11/10/10 18:03:07.10
DX3~9までは文句をいいつつ、ついてきたけど、
今回はOSの非サポートだからな。さすがについていく気にならない。
XPが本当に終わったらまじめにLinuxにいくと思う。
DX10からXファイルサポートがろくになくなったようだし、
なんの未練もないよな。

909:デフォルトの名無しさん
11/10/10 18:06:14.72
こいつ自分で作るという決定的なスタンスが欠落してる

910:デフォルトの名無しさん
11/10/10 18:06:36.51
それなりの助成金がもらえりゃDX11でもいいけどね

911:デフォルトの名無しさん
11/10/10 18:06:53.76
X-Fileも複雑なパーサを通さなくてもいいように簡略化した形式にして読み込む方法もサポートされているんだけどね。
コンバータまでついているし。
知りもしないで文句だけいうヤツって、本当に救いようが無い。

912:デフォルトの名無しさん
11/10/10 18:08:25.62
大学生と厨二病の議論ほどかみ合ってないな

913:デフォルトの名無しさん
11/10/10 18:18:19.47
古い知識とか化石とか言うけど、
お前らが言ってる内容ってまるで
Windows7のコンパネの内容がXPとこれだけ違いますよw
みたいな”超ウルトラハイパーアメージングマッシブにくっだらねえ”話に聞こえるんだよ。
そんなの知りたくもないわ。
俺はゲームを作りたいだけなのだ。

914:デフォルトの名無しさん
11/10/10 18:19:58.43
そのくだらない話にかみついてるお前もくだらないな


915:デフォルトの名無しさん
11/10/10 18:29:49.77
DirectX10とか11とかにするからぱっとみ後方互換性がありそうでダメなんだよ
互換性なんか知ったこっちゃねぇっていう意思をきちんと表現した名前にしないと

916:デフォルトの名無しさん
11/10/10 19:11:59.83
9から11にAPIを移行するのに、そんな手間はかからなかったけどね。
どちらかというとxnamath用に演算部分を変更する部分に時間をかけた。

917:デフォルトの名無しさん
11/10/10 19:20:14.84
>>911
それの詳細載ってるサイト教えて~!

>>916
勇気付けられる。
がんばって移行してみるか・・・

918:デフォルトの名無しさん
11/10/10 19:26:59.85
URLリンク(i.imgur.com)
これ

919:デフォルトの名無しさん
11/10/10 19:27:23.78
サイトも何もヘルプに載っている上に日本語化済み。

920:デフォルトの名無しさん
11/10/11 01:40:35.77
エフェクトライブラリをまた標準サポートしてほしいな。使いやすくして。

921:デフォルトの名無しさん
11/10/11 05:16:06.42
ごく一部の人間にはスルーする力がないのはよくわかった。

>>920
エフェクトライブラリはミドルウェアの仕事のような気もする。


922:デフォルトの名無しさん
11/10/11 09:08:09.49
それがXNAじゃないの?

923:デフォルトの名無しさん
11/10/11 10:37:43.60
エフェクトにD3DCreateEffectFromFile()を使えばいいって言うのが調べたら出たんだけど
よーわからん!なんか特定の拡張子のファイルを読み込めるのかな

924:923
11/10/11 10:40:26.52
調べたらシェーダを使うプログラムだった
.fxファイルがシェーダですね!

お手数おかけしました!

925:デフォルトの名無しさん
11/10/11 23:55:04.41
教えてエロい人。

ウィンドウ(フルスクリーンでない) + C++ + WIN32API + DirectX のプログラムで、
ウィンドウをデスクトップからはみ出るように動かすと、
はみ出た無効領域が再描画されない。ドラッグを解除すると再描画される。
どうすればドラッグ中でも再描画される?
他のウィンドウを重ねたり一度最小化したりするときは大丈夫。
ドラッグでディスプレイからはみ出させたときだけダメ。

926:925
11/10/11 23:58:17.70
sage忘れすまん。

描画周りの処理はこんな感じ。

while(1)
{
if(PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
{ // メッセージあり.
if(Message.message == WM_QUIT)
{
break;
}

DispatchMessage(&Message);
}
else
{ // メッセージなし. アイドル.
if(APPLICATION.MainLoop() == false)
{
break;
}
}
}

よろ。


927:デフォルトの名無しさん
11/10/12 00:03:47.00
ウィンドウプロシージャでWM_PAINTを捉まえてPresent()すればいい

928:925
11/10/12 01:02:08.92
やってみた。
画面が黄緑とピンクのポケモン現象みたいになったw

URLリンク(firestorage.jp)

わかりにくいかもしれないけど動画。
引きずり出すときは大丈夫だけど、引き戻すときにポケモン現象発生。
ちなみにL字型に黒くなってるのは正しい描画。

929:デフォルトの名無しさん
11/10/12 03:53:59.26
2枚のモニタでデバイスが異なっていたら当然そうなるし、
異なっているかもと言うことでするーしても当然そうなる。
ちゃんと2つのデバイスをつくって、個々で描画しないとだめじゃね?

うまくいくようになったら、最大4つのデバイスをまたぐことになるので
それも検討して下さい。


930:デフォルトの名無しさん
11/10/12 03:57:56.33
D&D中の描画が崩れて困るような状況が思い浮かばない

931:デフォルトの名無しさん
11/10/12 12:54:24.19
DirectX使うのにWM_PAINTでごにょごにょするとかあほだろ

932:デフォルトの名無しさん
11/10/12 13:16:56.88
931はゲーム用途以外頭になさそうだな

933:デフォルトの名無しさん
11/10/12 15:50:12.49
ドラッグ中のメッセージってNCHITTESTだっけ?
その間に描画処理をかませればいい気がする。
でも、描画処理が重い時は動作が詰まるよ。

934:デフォルトの名無しさん
11/10/12 18:27:17.61
       ┌┴────────┴┐
       │ フジテレビ・電通合同ネトウヨ対策本部 │
       └─────────┘
カタカタ ∧_∧      カタカタ ∧_∧       カタカタ∧_∧   
    < `∀´ > ネトウヨ涙目w < `∀´ > デモナンカムイミw< `∀´ > 花王ハ、カンケイナイダロウ   
   _| ̄ ̄||_)____     _| ̄ ̄||_)____    ___| ̄ ̄||_)___ バッカジャネーノ、ネットウヨw
 /旦|―||// /|  / .|―|l// /|  /  |―|l// /|
 | ̄ ̄ ̄ ̄ ̄| ̄| . |   | ̄ ̄ ̄ ̄ ̄| ̄| . |  | ̄ ̄ ̄ ̄ ̄| ̄| . |
 |_____|三|/  |_____|三|/  |_____|三|/
カタカタ ∧_∧     カタカタ∧_∧         カタカタ∧_∧  
    < `∀´ >k-popサイコー< `∀´ > フバイナンカムイミw< `∀´ > イヤナラミルナキャイイダケ  
   _| ̄ ̄||_)____     _| ̄ ̄||_)____    ___| ̄ ̄||_)___ コウサクインナンカ、イルワケナイダロウw
 /旦|―||// /|  / .|―|l// /|  /. |―|l// /|
 | ̄ ̄ ̄ ̄ ̄| ̄| . |   | ̄ ̄ ̄ ̄ ̄| ̄| . |  | ̄ ̄ ̄ ̄ ̄| ̄| . |
 |_____|三|/  |_____|三|/  |_____|三|/


935:デフォルトの名無しさん
11/10/12 23:11:30.95
描画が重いっつっても10FPSくらいで動いてるならウィンドウ操作も許容できるレベルじゃない?
そして、それ以下なら描画も死んでるし、ウィンドウ操作が糞でも諦めるだろ

936:デフォルトの名無しさん
11/10/13 01:03:31.32
描画は別スレッドにすれば良いだろ低脳

937:デフォルトの名無しさん
11/10/13 06:50:46.92
10FPSとかさすがにゲームとして成立しにくそうだ
標準で60FPS欲しくて、30FPSが最低ラインって感じ。

938:デフォルトの名無しさん
11/10/13 07:24:16.31
ジャンル次第かと。

939:デフォルトの名無しさん
11/10/13 11:02:58.37
>>937
>>938
ウィンドウをドラッグして移動させている最中の話だぞ?
ゲームとして成立するもクソもない気がするんだけど、
それで成立しないってどんなゲームなんだよw

940:デフォルトの名無しさん
11/10/13 18:35:19.17
>>931
DXUTではWM_PAINTでごにょごにょしてるみたいだけど
といってもこういう時用みたいだけど

941:デフォルトの名無しさん
11/10/13 20:42:27.54
ドラッグ時に描画とかうざすぎるだろ

942:デフォルトの名無しさん
11/10/13 22:35:00.09
速度とか気になってきたので、独自フォーマットに挑戦しようと思ったのですが、
モデリング後のデータを独自形式に変換するのに、どの方法が一般的に使われているのでしょうか?

1・Xファイルを読み取り、独自形式に変換する
2・モデリングソフトのファイルフォーマットを入手or解析して、それを独自形式に変換する
3・モデリングソフトのプラグイン機能で、独自フォーマットを吐き出すDLLを作成する


943:デフォルトの名無しさん
11/10/13 22:45:29.58
このあたりは自分も気になる。
是非教えてほしい。

944:デフォルトの名無しさん
11/10/13 23:33:53.32
>942
一般的な方法は知らないが
俺は3だね。モデリングソフトのSDK使うのが一番簡単。


945:デフォルトの名無しさん
11/10/13 23:43:48.24
状況によるんじゃないの

モデルだけなら、1が汎用的だし
アニメーション、物理なども含めるなら3だろうし
2は現実的ではないな

946:デフォルトの名無しさん
11/10/14 02:38:25.75
俺はColladaプラグインをカスタムしたので出力して
更にそのCollada ファイルから自作モデルとモーションにコンバートしてる
例で言うところの1と3の両方の変形だね
Xファイルはあんま知らないけどCollada なら中身ただのXMLだしいろんなカスタム情報のせれるから便利

で2はちょっとおすすめしないかな
バイナリ解析とか好きだけどエクスポートプラグイン作れるならそっちでやった方がいいと思う
ツールのバージョンアップにも耐えれるし

947:デフォルトの名無しさん
11/10/14 08:25:49.31
Sprite使ってて時間がたつと画面がぐちゃぐちゃになってくるんだけど
メモリリークかグラフィックカードが壊れてるのか何なのかわからないけど
Windows7でディスプレイドライバをリセットしましたとかって出るじゃない?
あれって自発的にリセットしたり出来るのかな?
いちいち再起動するのがめんどくさい

948:デフォルトの名無しさん
11/10/14 09:34:18.88
>>947
まずそのふざけたバグを直せ。
原因なんてデバッグランタイム使えば一瞬でわかるだろ。

949:デフォルトの名無しさん
11/10/14 14:13:11.16
いやそれがよくわからん
メモリリークかと思ってBeginSceneでSpriteをCreateして
EndSceneでReleaseするようにして確実にリリースするようにしてみたけど同じなんだよね
あとはテクスチャを1枚それでDrawしてるだけ
テクスチャはプログラム起動時に読み込んでるだけだから仮にメモリリークしててもあんま影響ないだろうし
グラフィックカードが壊れてるのかドライバのバグかなんかだと思うんだけど

950:デフォルトの名無しさん
11/10/14 14:58:37.02
馬鹿ほど自分のバグを疑わず、他人のせいにする。
他のサンプルやプログラムで同じ現象が起こっていないのなら、お前のバグだ。

951:デフォルトの名無しさん
11/10/14 15:10:54.54
だからデバッグランタイムつかえよ。

952:デフォルトの名無しさん
11/10/14 15:18:21.55
理由があってデバッグは使えない

953:デフォルトの名無しさん
11/10/14 15:27:05.18
いみがわからん

954:デフォルトの名無しさん
11/10/14 15:33:32.85
どんな理由だ?

955:デフォルトの名無しさん
11/10/14 16:39:19.32
デバッガのバグで、意味不明なエラーが出る

956:デフォルトの名無しさん
11/10/14 16:40:13.91
は?
コンパネから設定切り替えるだけだぞ。

957:デフォルトの名無しさん
11/10/14 16:49:01.12
>>955
エラー晒して。 省略するなよ。

>>942 
俺は同人で使ってて、メンバーが各自購入して別々のソフト使ってるという特殊な状況。
3が特定ソフト(場合によってはバージョンやx86/x64等にも)に依存するから、2を選択。
ほかのソフトからでも"エクスポート"とか"書き出し"で他社ファイルで出せたりするから意外に汎用的だったりする。
例[.ma] URLリンク(download.autodesk.com)

例外ではあるけど、こんなこともあるよ~ってことで。

958:947
11/10/14 17:14:51.64
DirectXはほとんど知らないんだけど、メモリリークしたくらいでBSOD出たりするもん?
ハード的におかしいよね?

959:デフォルトの名無しさん
11/10/14 17:26:45.49
>>958
まずはコード晒せよ
むしろどうやったらBSOD出るのか気になる

960:デフォルトの名無しさん
11/10/14 18:20:55.85
>>958
お前のコードがおかしいと言っているだろう。
本当に人の話を聞かない奴だな。

961:デフォルトの名無しさん
11/10/14 18:33:17.39
ブルースクリーンって未だに出るものなのか
最後に見たのはWin98時代だ

962:デフォルトの名無しさん
11/10/14 18:44:39.72
ウンコなソースかいてるとドライバクラッシュはなくもない

963:デフォルトの名無しさん
11/10/14 21:52:29.08
ドライバが問題ないとき、きれいなソースで落ちたことは一度もない
ドライバが腐ってると、きれいなソースでも落ちる。 その時は市販ゲームでもなんでも落ちる。


964:デフォルトの名無しさん
11/10/14 21:55:48.76
ハード問題でも落ちるぞ、とても不確定に起るハード問題もある。
と言うか俺のノートがそれ。たまに落ちる原因はたぶんハード。

965:デフォルトの名無しさん
11/10/14 21:58:00.89
ドライバもいっしょに固まるってことだろ
俺もあるな
頻繁に色数変えまくってたら画面が赤っぽく変色しちゃったことある
電源入れなおして起動するとだんだん赤くなっていって最期には真っ赤になってなんにも見えなくなっちゃうw

次の日になったら直ってた

後、負荷の高いシェーダを長時間連続運転してるとグラボからおかしい音がずっとなりやまないときがあった

これも次の日になったら直ってた

966:デフォルトの名無しさん
11/10/14 23:52:02.18
なんというか、このスレって馬鹿なレスほど積極的にかまってやるよな。

967:デフォルトの名無しさん
11/10/14 23:53:19.82
自転車置き場の議論ですよ

968:デフォルトの名無しさん
11/10/14 23:59:12.03
>>965
それはただの霊障だろ

969:デフォルトの名無しさん
11/10/15 00:29:47.25
もとの質問者はデバッグランタイムをデバッガーと勘違いしている。

970:デフォルトの名無しさん
11/10/15 00:35:46.06
でも俺も Win7 でデバッグランタイムが動かないから使ってない
古い SDK 使ってる俺が悪いんだけどな

971:デフォルトの名無しさん
11/10/16 13:10:59.11
DXUTをDirect3D11用に書き換えてみようかとCtrl+Shift+Hをポチポチやっていたけど俺レベルじゃ無理だなこれ。
stateblockのようなD3D10とD3D11の根本的な違い(?)も絡んできるみたいで、ここ(↓)だけじゃカバーしきれない。
Direct3D 11 への移行 URLリンク(msdn.microsoft.com)(v=vs.85).aspx

そもそも俺ができるくらいならとっくにMicrosoftから出てそう。大人しく次回のSDKを期待するしかないかな。

972:デフォルトの名無しさん
11/10/16 14:13:34.13
>>971
うちではリファレンスラスタライザでしか使えないから11は全く手を付けてないけど、
11のサンプルにもDXUTって入ってない?

973:971
11/10/16 15:12:14.11
>>972
ありがとうございます!!!
あああ…俺アホス…入ってますねDXUT11として!!
Microsoft DirectX SDK (June 2010)\Samples\C++\DXUT11 に思いっきり入ってました!
サンプルのうちTutorialしか見てなくて、Sample BrowserでD3D11絞り込んでDXUTを検索しても
ヒットしなかったのでてっきりないものだと諦めていました。が、思いっきりD3D11の各種サンプルでも使われてますね…
お手間を取らせてすみません、ありがとうございますすごく助かりました!

974:デフォルトの名無しさん
11/10/16 16:55:03.03
>>972
11にREFなど存在しないんだが、いったい何を言っているんだ?

975:デフォルトの名無しさん
11/10/16 21:45:02.43
>>974
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
D3D_DRIVER_TYPE_REFERENCE
リファレンス ドライバー。すべての Direct3D 機能をサポートするソフトウェア実装です。
リファレンス ドライバーは速度より精度を目的に設計されているため、低速ながら高精度です。
このドライバーのラスタライザー部分は、可能であれば専用の CPU 命令を使用しますが、製品版アプリケーションでの使用は想定されていません。
機能のテスト、デモ、デバッグ、または他のドライバーのバグの検証にのみ使用してください。
このドライバーは DirectX SDK によってインストールされます。
このドライバーは、REF ドライバー、リファレンス ドライバー、またはリファレンス ラスタライザーと呼ばれることもあります。

これ違うの?

976:デフォルトの名無しさん
11/10/16 23:43:57.79
>>975
うん

977:デフォルトの名無しさん
11/10/17 16:23:52.48
円や四角などを大量に描写するとブラシやペンで指定した色が付かなくなったりすることはあるのでしょうか?

978:デフォルトの名無しさん
11/10/17 17:24:00.56
ブラシ?ペン?

979:デフォルトの名無しさん
11/10/18 23:18:09.82
とても初歩的なでわかりづらい質問で申し訳無いのですが
「ゲームプログラマになる前に覚えておきたい技術」という本のサンプルコードが動きません
本に書いてある通りに設定しても実行しようとすると意味の分からないエラーコードが16個ほど出てきます
同じ症状を経験した事のある方がいらっしゃいましたら解決方法を教えて頂けないでしょうか

980:デフォルトの名無しさん
11/10/18 23:19:17.15
わかりづらいと自覚してるならちゃんと説明する努力くらいしたらどうだ?

981:デフォルトの名無しさん
11/10/18 23:22:59.86
>>979
出てきたエラーコードを一行一行読んで対応すればできますよ

982:デフォルトの名無しさん
11/10/19 00:08:02.96
そうはいかない場合もあるけど
初心者にはキツイんじゃないだろか?
初心者が読む本でもないしなにか別の本を探してみたらどうだろうか?

983:デフォルトの名無しさん
11/10/19 00:10:27.93
「意味の分からないエラーコード」だけで読んだ人が理解できると考えるような頭じゃ
本を変えたって結果は一緒だろ

984:デフォルトの名無しさん
11/10/19 00:13:37.42
まあ、とりあえずサンプルコードでエラーが出てくるのは回避してやれって感じだが・・・w
しかし、いきなり分厚い本かったな
なにかチュートリアル形式でその番号順に進めていくだけで何か作れるような本にしとけよ

985:デフォルトの名無しさん
11/10/19 00:16:51.11
今回は諦めます、失礼しました

986:デフォルトの名無しさん
11/10/19 00:19:03.71
つーかマルチポストだろこいつ
スレ違いなのにいろんなとこで同じ質問してるぞ

987:デフォルトの名無しさん
11/10/19 01:07:07.64
>>979
あの本はvc10を考慮してない気がするので、サンプルは諦めるんだ。

で、コンソールでもいいのでSinとCosでアフィン変換書いて点を回してみるんだ。
色々わかるから。

回転拡大縮小は男のロマンだ!(キリッ

988:デフォルトの名無しさん
11/10/19 15:01:05.42
ありがとうございます
ポリゴンの一枚絵くらいなら出せるのでサンプルコードを参考に自力で作りながら勉強してみます

989:デフォルトの名無しさん
11/10/19 15:27:35.10
vs2010用のをネットでダウロードできるじゃない
ここでsin cosアフィン変換が突然でてくる意味はわからんけど

990:デフォルトの名無しさん
11/10/19 19:17:40.30
>>989
荷物くんとか爆弾娘とかは、画面見て逆算すれば割りと作れるもんだ。効率は置いといて・・・。

しかし、拡大回転縮小は知らなければ推測では絶対わからん。
なので、アフィン変換楽しいのでやってみれと書いたのだぁ。
三角形回転すればシューティングとか夢膨らむよ。

っていうか、VC10用のサンプル出てたのか。

991:デフォルトの名無しさん
11/10/19 20:06:15.10

ゲームプログラマになる前に覚えておきたい技術
 本書CD-ROM収録のサンプルで動作がうまくいかない場合、以下の修正版をダウンロードしてお試し願います。
URLリンク(www.shuwasystem.co.jp)


992:デフォルトの名無しさん
11/10/19 20:31:48.50
>>990
座標変換なんて理系なら必修だろ
大学1年で間違いなく一度は証明させられる


993:990 忍法帖【Lv=1,xxxP】
11/10/19 20:57:50.29
工業高校卒で数2までしかやってない俺涙目。
しかも証明問題で正解したことがないっていう・・・。Orz

あー、そだ。そろそろ次スレの季節じゃないか?

994:デフォルトの名無しさん
11/10/19 21:15:54.80
ん?回転くらいなら高校数学の範疇じゃね??
数II + 数C かな?
三角関数は一番好きだったとこだから、Direct3Dも楽しいよ。

995:990 忍法帖【Lv=1,xxxP】
11/10/19 21:18:34.67
>>994
羨ましいぜ。=D

996:923
11/10/19 21:21:12.22
3次元の回転関数を高校でやってたら、その高校はとてつもない進学校だと言える
2次元の回転行列だったら普通

997:デフォルトの名無しさん
11/10/19 21:21:36.40
名前なおし忘れた死にたい

998:デフォルトの名無しさん
11/10/19 21:28:46.24
イキロ!!


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch