■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

【C++】 DirectX初心者質問スレ Part5 【C++】
751 名前:デフォルトの名無しさん :2005/09/09(金) 17:04:04
>>749
まずは君がテレビのカメラマンになったつもりで
固定されたティーポットの全方位を視聴者に見せるには、どうすればいいのか考えろ。

カメラマンがオブジェクトの周囲を回転するだろ? だから、

Camera.Pos = Object.Pos + Radius*(cosθ,sinθ)

以上。

752 名前:デフォルトの名無しさん :2005/09/09(金) 17:56:42
カメラ行列は、その概念とは裏腹に、実際は世界を回転させてカメラに
合わせる行列だから、カメラ行列用の関数を利用しないで生の行列を
使うと分かりにくいんだけどな。

753 名前:デフォルトの名無しさん :2005/09/09(金) 20:05:18
欝だ氏のうDirectXスレって中級者以上専用ですか?

754 名前:デフォルトの名無しさん :2005/09/09(金) 22:26:59
鬱で氏にそうな人は誰でも利用できます

755 名前:マイク ◆yrBrqfF1Ew :2005/09/09(金) 23:43:31
カメラが回らなくても急須が回ればいいだろ

756 名前:デフォルトの名無しさん :2005/09/09(金) 23:47:16
カメラを動かすのとオブジェクトを動かすのって処理的にはどっちが軽いとかあるの?
それともやっぱりケースバイケース?

757 名前:デフォルトの名無しさん :2005/09/10(土) 02:36:09
君は何を言ってるんだね…

758 名前:デフォルトの名無しさん :2005/09/10(土) 03:48:37
>>756
この世を終わらそうと思ったら他人を皆殺しにするか、自分が死ぬかどっちがいいの?

759 名前:デフォルトの名無しさん :2005/09/10(土) 04:04:25
758は758で馬鹿だな

760 名前:デフォルトの名無しさん :2005/09/10(土) 04:24:03
俺は上手いと思ったが

761 名前:デフォルトの名無しさん :2005/09/10(土) 04:31:22
この世に、二人っきりだったらどっちでもいいじゃまいか。

762 名前:デフォルトの名無しさん :2005/09/10(土) 05:06:19
うぇ
教えてください!!

763 名前:デフォルトの名無しさん :2005/09/10(土) 12:27:54
(August2005)でD3DXを使ってDLLを添付しないで済むように作ることはできますか?
また、DirectX8や7を使った時もd3dx9_27.dllは必要になるのでしょうか?

764 名前:デフォルトの名無しさん :2005/09/10(土) 14:05:16
げ、もしや August2005 の D3DX は標準で入ってないんかい
……あと、dx8 なら d3dx9_*.dll は必要無いとおもう。多分

ところで「Z 値が同じポリゴン2枚を描画すると後から描いたのが必ず手前に来る」は正しい?

765 名前:デフォルトの名無しさん :2005/09/10(土) 14:21:33
>>764
頂点座標がまったく同じなら、D3DRS_ZFUNCの設定による。
デフォルトはD3DCMP_LESSEQUAL。

766 名前:デフォルトの名無しさん :2005/09/10(土) 15:28:33
DX9のD3DXCreateTextureFromResourceってbmp以外のフォーマットに対応してないの?

767 名前:デフォルトの名無しさん :2005/09/10(土) 15:31:02
>>766
ヘルプくらい読んだらどうだ?

768 名前:デフォルトの名無しさん :2005/09/10(土) 15:36:20
>This function supports the following file formats: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, and .tga.
だよね。うん、対応してる筈。

……ってことはリソースの組み込み方が変なのか orz

769 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 17:27:50
>>768
一度自分でバッファに読み込んでInMemoryとか?
むしろ、たくさんファイルがあるならリソースじゃなくデータ用フォルダに突っ込むか
データをまとめて1ファイルに突っ込んでおくのもいいんじゃ。


770 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 23:37:42
Visual C++ と DirectX8でゲームを作ってます。

質問なんですが、ウィンドウを動かしたり最小化して戻したりすると
画面が一瞬ノイズだらけになったり、直前に動かしていた別のDirectXプログラム
(ゲームなど)の画面が一瞬映ったりするんですが、原因は何なんでしょうか?

デバイスロストって奴なのかな? どう修正すれば分からず困ってます……

771 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 23:58:11
>>756
どっちも一緒

772 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 16:33:33
はじめまして。
gshowという動画再生のフリーソフトがあるのですが・・・このソフトを改良しようと思って日々いろいろ勉強しています。
このgshowには、ソースがついているので、改良前に自分でgshowをVisual C++6.0でビルドしようにもサッパリできないのです。
プログラミングに詳しい知人に聞いたのですが、わからず八方塞状態です。ちなみに、gshowの作者とは連絡がとれないのです。

このソースとDirectX8.0以降のSDKとWindows Media Format SDKがあれば、ビルドできるそうです。
今現在、DirectX9(october2004)SDKを導入し、コンパイルしたら下記のようにエラーがでました。
自分なりに解決方法をしらべてはいますが、1週間以上解決法がみつからないままです。
Windows Media Format 9.5SDKをインストールしてはあるのですが・・・きちんと導入できているかわからないです。

このソフトのソースをなんとかビルドできるように、ご指導よろしくお願いいたします。

/////////////// /////////////// /////////////// ///////////////
コンパイル中...
StdAfx.cpp
c:\program files\microsoft directx 9.0 sdk (october 2004)\include\strmif.h(1024) : error C2146: 構文エラー : ';' が、識別子 'HSEMAPHORE' の前に必要です。
c:\program files\microsoft directx 9.0 sdk (october 2004)\include\strmif.h(1024) : fatal error C1004: 予期せぬ EOF が検出されました。
cl.exe の実行エラー

gshow.exe - エラー 2、警告 0
/////////////// /////////////// /////////////// ///////////////

↓gshowの配布サイト
http://www.vector.co.jp/soft/win95/art/se296143.html?y

773 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 16:55:54
めぼしいのをビルドしてみたけど、
警告は大量にでるけど一応最後まで終わるよ。

'HSEMAPHORE' が定義されてる箇所を調べてみた?
あとそれのtypedef元のDWORD_PTRはどう?
それの_WIN64とかのifndefが怪しいんじゃないかな。

774 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:09:59
Platform SDKが新しくないとかじゃない?

775 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:27:44
772です。さっそくの御返事ありがとうございます。

773さん
私は、超初心者なので・・・ソースの中身をみても意味を理解できていません。
'HSEMAPHORE' が定義されてる箇所を調べたり・・・というのはできないです。
すいません。

普通に、VC++をインストールして、DirectX9 SDKとWindows Media Format 9.5SDK
インストールするだけでは、ビルドできないということでしょうか?

774さん
何かの本で、最近のDirect X9は、Direct Showが導入されていない
という記事を読み、DirectX9のoctober2004を導入してるわけです。
一方で、Direct ShowはPlatform SDKに含まれているようになったときいたのでが・・・
ですから、古いDirect X9 SDKを入れるかわりにPlatform SDKはインストールしていないです。


776 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:30:45
>>770
ロスト前の内容は保証されない
ウィンドウを戻す前に適切に処理汁

777 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:36:20
>>775
改良しようとしているんじゃなかったのか?
定義を調べるぐらいできるだろ

778 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 18:01:29
772&775です
777さん
HSEMAPHOREを文字検索するぐらいしかできないです。
何分、自分自身プログラミングのことがわかってないですから。
すいませんが、何をしたらいいのかわからないです。

改良といっても、gshowは重複起動できないので、「重複起動のチェックを外す」ことだけを目標としています。
これについては、大体の見当がついてます。

付け加えですが・・・一番最初に、DirectX9SDK(augsut2005)とPlatform SDKをいれてみたのですが、
やはり上手くいきませんでした。

779 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 18:24:15
なんとなくだけどVisual C++6.0ってのがダメなんじゃ?VC++.NETで試してみては?

780 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 18:29:16
てか何でプログラミングやったことないのにVC++がPCに入ってるの・・・

781 名前:デフォルトの名無しさん :2005/09/11(日) 19:16:27
>>780
しかも最近売ってない6.0

782 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 19:36:59
つーかDirectX初心者じゃなくてプログラミング初心者なんだろ?
スレ違いだ。
>>1 読め


783 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 20:00:31
>778
スレ違いも甚だしい
↓いけ
ttp://pc8.2ch.net/test/read.cgi/tech/1124511889/


784 名前:マイク ◆yrBrqfF1Ew :2005/09/11(日) 23:06:49
>しかも最近売ってない6.0

警察の予感♪

785 名前:デフォルトの名無しさん :2005/09/12(月) 02:55:26
どうせ割れなら最新版使うだろっての

786 名前:デフォルトの名無しさん :2005/09/12(月) 18:08:25
772です。
プログラミングは大学の授業関連で使った程度で久しぶりに使ってるわけです。
なんで「警察の予感♪」なのかわかりませんが、きちんとその当時に、アカデミックパックですが、
家電店にて購入したものなので違法性など微塵もありません。
VC++.NETで試すのも一つの方法かもしれませんが・・・gshow事態は、VC++6.0で作っているので、
VC++6.0を使うことはとんでもない間違いではないはず。

787 名前:デフォルトの名無しさん :2005/09/12(月) 18:21:23
>>786
DirectX SDKのOctober 2004はPlatform SDKを必要とする。
最新のPlatform SDKはVC++6ではうごかないので、
Platform SDKのFebruary 2003を導入する必要がある。

788 名前:デフォルトの名無しさん :2005/09/12(月) 18:37:01
>>プログラミングは大学の授業関連で使った程度で久しぶりに使ってるわけです。
俺には既にあなたが学生ではないような書き方に思えるのでが

>>家電店にて購入したものなので違法性など微塵もありません。
アカデミックパックは学生の間だけですよ?

789 名前:デフォルトの名無しさん :2005/09/12(月) 18:43:43
ライセンス違反だな

790 名前:デフォルトの名無しさん :2005/09/12(月) 18:45:52
今3Dのシューティングゲーム作ってるんだけど
ホーミングレーザーがうまい具合に作れないっす。
バーチャロンのサイファーがうつ4つでるレーザーみたいに作りたいんだけど
誰かアドバイス求む。

791 名前:デフォルトの名無しさん :2005/09/12(月) 18:53:38
>>788
>>789
MSの場合、卒業後もそのまま使い続けられるはずだけど。


792 名前:デフォルトの名無しさん :2005/09/12(月) 18:54:56
>>790
何がうまくいかないのか詳しく

793 名前:デフォルトの名無しさん :2005/09/12(月) 18:55:13
>>788
教職員は?

794 名前:デフォルトの名無しさん :2005/09/12(月) 19:12:02
>>790
バーチャ論は知らんが
明後日の方向に撃って
高次曲線で補間じゃ駄目なのか?

795 名前:デフォルトの名無しさん :2005/09/12(月) 19:13:53
>>790
バーチャロンなんて知らないから画像とってこい画像。
そしたらやり方教えてやる。

796 名前:デフォルトの名無しさん :2005/09/12(月) 19:31:38
>>790
オペムー止まりの俺はVIPERUしか知らん。

797 名前:デフォルトの名無しさん :2005/09/12(月) 20:47:26
>>772
VisualC++ 6.0
DirectX 9.0 SDK October2004
Windows Server 2003 SP1 SDK
Windows Media Format 9.5 SDK
(OS:WindowsXP)
wmstub.lib 非リンク
hr = WMCreateCertificate(&m_pCert); -> hr = E_FAIL;
でビルドできたわよ。

798 名前:デフォルトの名無しさん :2005/09/12(月) 20:55:55
enderStateが不明なデバイスの画面に、確実にポリゴンを頂点色で表示するには
どうしたらよいでしょうか?
他のプロセス(ゲーム)の画面上にFPSをポリゴンで作った数字で表示させようと
しているのですが、一応表示はできたもののFPSのポリゴンの色が変わったり
消えたりします。

D3D9でお願いします。

799 名前:デフォルトの名無しさん :2005/09/12(月) 21:10:05
>>800のレス予想
1、エンダ〜♪
2、そういえばender's gameの映画化ってどうなった?

800 名前:798 :2005/09/12(月) 21:42:45
'R'が抜けてました。

801 名前:772 :2005/09/12(月) 23:17:28
787さん&797さん
いろいろアドバイスありがとうございます。「windows media format 9.5 SDK」と「Platform SDK」のIncludeとlibraryのリンクを再度見直して、リンクをやり直してみたら、772よりも進みました。しかし・・・・まだ完全にビルドできないです。

hr = WMCreateCertificate(&m_pCert); -> hr = E_FAIL; を追加しましたが・・・・

//////////////////////////////////////////////////////
コンパイル中...
DsControl.cpp
C:\Documents and Settings\take\デスクトップ\gshow100\src\DsControl.cpp(105) : error C2143: 構文エラー : ';' が '->' の前に必要です。
gshow.cpp
コードを生成中...
cl.exe の実行エラー

gshow.exe - エラー 1、警告 0
///////////////////////////////////////////////////////
とエラーが出てしまいます。

ちなみに hr = WMCreateCertificate(&m_pCert); -> hr = E_FAIL;の -> hr = E_FAIL;を追加しない場合は、
/////////////////////////////////////////////////////////
リンク中...
LINK : fatal error LNK1104: ファイル "wmstub.lib" を開けません。
link.exe の実行エラー

gshow.exe - エラー 1、警告 0
////////////////////////////////////////////////////
と出てしまいます。とりあえずここまで進みました。なにか気がついた点がありましたら、ご指導をお願いいたします。私事ですが、明日は仕事で当直なので水曜日以降に、書き込みにたいする返事をいたします。

802 名前:デフォルトの名無しさん :2005/09/12(月) 23:23:22
てかプログラミングの知識無いのにどうやって改良すんのよ・・・。
基礎を知ってないと幾らソース眺めても何も出ないよ・・

803 名前:デフォルトの名無しさん :2005/09/12(月) 23:28:59
フフフ微笑ましいナア

804 名前:772 :2005/09/12(月) 23:36:45
hr = WMCreateCertificate(&m_pCert); -> hr = E_FAIL; の意味は、追加ではなくて

WMCreateCertificate(&m_pCert)をE_FAILに代えるってことなのかな?

E_FAILに代えてみても・・・

/////////////////////////////////////////////////////////
リンク中...
LINK : fatal error LNK1104: ファイル "wmstub.lib" を開けません。
link.exe の実行エラー

gshow.exe - エラー 1、警告 0
////////////////////////////////////////////////////

のままです。

確かに、私はプログラミングの知識はほとんどないですが、どうしてもこのフリーソフトを改良(重複起動のチェックをはずす)ことをしなければならないので
どうが見捨てずにご指導ください。よろしくお願いいたします。

805 名前:デフォルトの名無しさん :2005/09/12(月) 23:37:36
>>804 そうよw
wmstub.lib は最新のSDKでは必要ないみたいだから
メニューの[プロジェクト]-[設定]-[リンク]のライブラリ欄から
wmstub.lib を削除すればいいわ…

806 名前:デフォルトの名無しさん :2005/09/12(月) 23:40:24
どこまで続けるつもりだよ…

807 名前:デフォルトの名無しさん :2005/09/12(月) 23:44:53
だから一から全部覚えればいい話じゃん。
全部他人任せかよ。ちょっとは努力しろや。

808 名前:デフォルトの名無しさん :2005/09/12(月) 23:57:31
別にプログラミングをしたいわけじゃなくて、
上司かなんかに言われてそういうソフトが必要になったダケ
とかじゃねーのかな。
プログラミングは大学でかじったことあります、って言ったツケが回ってきたとかナ。


809 名前:デフォルトの名無しさん :2005/09/13(火) 00:06:07
一度ウィンドウ外にカーソルを移動させないと砂時計のままです。
どうすれば直りますか?

810 名前:デフォルトの名無しさん :2005/09/13(火) 00:22:23
>>809
カーソルを一度ウインドウの外に移動させれば直るよ。試してみ?

811 名前:デフォルトの名無しさん :2005/09/13(火) 00:27:16
>>810
直りませんでした
どんな原因が考えられますか?

812 名前:デフォルトの名無しさん :2005/09/13(火) 00:30:51
>>809-811
??????????????


813 名前:デフォルトの名無しさん :2005/09/13(火) 00:33:31
OpenGLスレから飛び火した模様

814 名前:デフォルトの名無しさん :2005/09/13(火) 00:34:05
コンパネのマウスのポインタって所でカーソルの形状を全部砂時計じゃなくせば直る

815 名前:デフォルトの名無しさん :2005/09/13(火) 00:45:59
よくわかんないけど、とにかく後は
ソースのどこかを2行コメントアウトすれば目標が達成されるみたいよ。
これは自力で見つけて欲しいわね。

816 名前:デフォルトの名無しさん :2005/09/13(火) 00:55:50
>>809
::LoadCursor(NULL, IDC_ARROW);

817 名前:デフォルトの名無しさん :2005/09/13(火) 01:15:48
>>816
うまくいきました
ありがとうございます

818 名前:デフォルトの名無しさん :2005/09/13(火) 21:09:23
XSIのボーンによるスキンアニメーションがよくわからん。
ていうかどこで質問すれば良いのかよくわかんないからとりあえずここで質問してみる。


819 名前:デフォルトの名無しさん :2005/09/13(火) 21:39:26
今更DirectDraw始めようと思うのですが
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894712601/qid=1126614569/sr=1-4/ref=sr_1_8_4/249-9302812-8897111
参考書としてこれを注文しようと思っているのですが、
持ってる方などいらっしゃれば、参考までにご感想をお聞きしたいです。

820 名前:デフォルトの名無しさん :2005/09/13(火) 21:46:40
始める前から、他力本願か・・・

821 名前:デフォルトの名無しさん :2005/09/13(火) 21:48:37
ていうか本当に今更だな。

822 名前:デフォルトの名無しさん :2005/09/13(火) 21:51:17
>>819
入門向けの本
FPS制御みたいなゲ製作板でFAQになりそうな事が書いてある
もし工学社みたいなリファレンス風が好みなら、その正反対なのでおすすめできない

823 名前:デフォルトの名無しさん :2005/09/13(火) 21:51:48
エロゲ屋さんは未だにDX7しか使わせて貰えないのか

824 名前:デフォルトの名無しさん :2005/09/13(火) 22:09:49
SDKにDXSetup.exeが入ってなかったんだけどどこ?

825 名前:デフォルトの名無しさん :2005/09/13(火) 22:31:09
>>824
どっか

826 名前:デフォルトの名無しさん :2005/09/13(火) 22:41:45
>>825
DXSetup.exeみつけたらSDKのバージョン教えてくれ
ヘルプには入ってるって書いてるのに無い
October 2004です

827 名前:デフォルトの名無しさん :2005/09/13(火) 22:52:56
>>826
Redist\DirectX9フォルダに入ってる。(October 2004)

828 名前:デフォルトの名無しさん :2005/09/13(火) 22:56:06
今凄いことに気づきました
間違えて(December 2004)入れてました
おさがわせして本当にすみません
特に助言いただいた>>827さんにはご迷惑をかけました
今からDirectXと性根を入れなおしてきます
ありがとうございます

829 名前:デフォルトの名無しさん :2005/09/13(火) 23:38:38
>>818
AVIDに質問しろよ。

830 名前:デフォルトの名無しさん :2005/09/13(火) 23:51:02
>>818
フォーマット公開されてんじゃん。
その前に君はXファイルのスキンアニメーションはできるレベルなの?

831 名前:デフォルトの名無しさん :2005/09/14(水) 03:53:08
質問です。XP、.NET です。

DirectPlay8Peer についてです。

IDirectPlay8Peer::Host() を実行したところ、ウィンドウに制御が戻ってくるのにかなりの時間がかかりました(2秒ほど)。
例えば IDirectPlay8Peer::Connect() では、DPNCONNECT_SYNC を指定しないことで
処理を非同期にできますが、Host() ではこれを行う方法はないでしょうか。
スレッドを作成して並列処理を行うしかないでしょうか?

また、Host() が実行されると、DirectPlay8Peer で指定したコールバック関数に
DPN_MSGID_CREATE_PLAYER が届きました。
特に問題ないのですが、ホスト自体がセッションに参加したときにこのメッセージが届くのに不自然を覚え、
MSDN を見ても、このメッセージが送信されるという記述がありませんでした。
これはこういう仕様なのでしょうか。

以上2点ですが、よろしくお願いします。

832 名前:デフォルトの名無しさん :2005/09/14(水) 04:07:11
>>831
Hostは起動時に時間がかかる仕様。
MSのソフトのAoKとかもバッチリ固まってくれるよ。
AoKはConnectすらSYNCでやってるっぽい。

DPN_MSGID_CREATE_PLAYERがホスト生成時にも生成されるのは非常に便利。
コールバック引数に渡される構造体のpvPlayerContextの初期化とかをここで行うとよい。
ホストプレイヤーの場合はHost()に渡すときにpvPlayerContextを初期化できちゃうけど、
ユーザーコンテキスト側からDPNIDの参照設定のタイミングとしてはここが最高かと

833 名前:831 :2005/09/14(水) 04:17:49
>>832
時間がかかるのは仕様ですか・・・。まあ大きな問題はないので、これについてはあきらめます。
メッセージについても理解しました。詳しい説明ありがとうございました!

834 名前:デフォルトの名無しさん :2005/09/14(水) 08:38:28
卒研としてラッパーライブラリーを作ろうと思ってんだけど
すでに開発ストップした既存のラッパーライブラリーを少しいじって
俺のものにしちゃっても問題ないよね?
C++とDX9SDKで動くやつにしようかと思ってる

835 名前:デフォルトの名無しさん :2005/09/14(水) 09:18:53
知るか。

836 名前:デフォルトの名無しさん :2005/09/14(水) 10:03:08
釣りか?w
つーかそんなんで卒研になるのかよ


837 名前:デフォルトの名無しさん :2005/09/14(水) 10:36:28
Easy Link Libraryのことですね

838 名前:デフォルトの名無しさん :2005/09/14(水) 12:50:23
>>836
友人の卒研がプログラムでOKだったのでじゃあ俺も同じにしようかと

839 名前:デフォルトの名無しさん :2005/09/14(水) 12:57:31
プログラムといってもピンキリな訳だが。

840 名前:デフォルトの名無しさん :2005/09/14(水) 12:58:48
新しいUpdateを入れてから気づいたのですが、サンプルがほとんど入っていません
おそらく前のバージョンに入っているのでしょうが、古いバージョンをインストールしてなにか問題は発生しますか?

841 名前:デフォルトの名無しさん :2005/09/14(水) 13:01:28
フルスクリーン表示/ウィンドウ表示の切り替えは、

1: ウィンドウを非表示にする
2: Device をリセットする
3: ウィンドウのスタイルを変更して表示する

……で合ってますか?
今は上手く動いてるけど、いつ動かなくなるかと思うと心配で心配で。

842 名前:デフォルトの名無しさん :2005/09/14(水) 15:29:02
質問です。XP、.NET です。

かなり初歩的でお恥ずかしい質問なのですが・・・。

DirectPlay8Peer を使っています。
DPN_PLAYER_INFO 構造体のメンバに、pwszName というのがあり、型は PWSTR 型です。
サンプルでは、pwszName = L"hogehoge" というように、L という・・・
演算子?か何かよく分からないものを用いて文字列の代入を行っています。
この L は何者なんでしょうか。
また、char[] 型に格納されている文字列をこの pwszName に代入するのはどうすればいでしょうか。
よろしくお願いします。

843 名前:デフォルトの名無しさん :2005/09/14(水) 15:35:11
ASCII文字列(1バイト、char形の文字列)を"..."
UNICODE文字列(2バイト、wchar_t形の文字列)をL"..."
で表す。

DirectPlayは基本的にUNICODEを使うのでL"hogehoge"を代入する。


844 名前:デフォルトの名無しさん :2005/09/14(水) 15:39:01
あと、char形からwchar_t形に変換するには
mbtowcだったかその辺の関数を使うんだったかな。
俺はもうめんどくさくなってデフォでUNICODE使うプログラムを作ることにしたよw
そのほうがフォントとか自力描画するとき便利なんだわ

845 名前:842 :2005/09/14(水) 15:52:19
>>843-844
なるほど。文字コードの知識はかなり薄いので、詳しく調べてみます。
詳しくありがとうございました。


846 名前:デフォルトの名無しさん :2005/09/14(水) 16:24:03
ビュー行列からカメラ位置を得ることは可能?

847 名前:デフォルトの名無しさん :2005/09/14(水) 17:01:50
[Rx,Ry,Rz]   [Px]    [Rw]
[Sx,Sy,Sz] x [Py] = [Ry] x -1
[Tx,Ty,Tz]    [Pz]    [Rz]

R : 転置View行列の1行目
S : 転置View行列の2行目
T : 転置View行列の3行目
P : カメラ位置

848 名前:デフォルトの名無しさん :2005/09/14(水) 17:03:41
間違った。正しくはコレ

[Rx,Ry,Rz]   [Px]    [Rw] 
[Sx,Sy,Sz] x [Py] = [Sw] x -1 
[Tx,Ty,Tz]    [Pz]    [Tw] 

849 名前:デフォルトの名無しさん :2005/09/14(水) 17:26:56
GUIが使えるのはどのバージョン以降ですか?

850 名前:デフォルトの名無しさん :2005/09/14(水) 17:49:54
>>846
カメラ位置をビュー行列で変換したら原点に来るんだから、その逆を考えてみましょう。

851 名前:デフォルトの名無しさん :2005/09/14(水) 17:54:41
質問です。XP、.NET です。

DirectPlayPeer8 に関してですが、
自分自信の DPNID を取得するにはどうすればいいでしょうか。

ホストがセッションを構築したとき、ホスト自体にも DPN_MSGID_CREATE_PLAYER が届くため、
セッションに参加したのが自分なのか他人なのかを調べたいのです。
現在は DPN_PLAYER_INFO 構造体の pwszName で比較を行っていますが、
これだとたまたま名前がかぶったときに衝突してしまいます。

よろしくお願いします。


852 名前:デフォルトの名無しさん :2005/09/14(水) 17:58:14
そんな餌じゃこの俺は(ry

853 名前:851 :2005/09/14(水) 18:02:42
あれ、何か勘違いをしていたでしょうか。もう少し考えを整理してみます。申し訳ありません。

854 名前:851 :2005/09/14(水) 18:07:52
もしかすると、DPNID はセッション参加時に割り当てられるということは、
DPN_MSGID_CREATE_PLAYER が届いたときの処理ではじめて(自分のも含め)DPNID を取得するのですか?

では、セッションに参加したのが自分かどうかを判定するには、IP などの情報から判断するのが適切なのでしょうか。


855 名前:851 :2005/09/14(水) 18:13:21
dwPlayweFlag・・・

自己解決しましたorz お騒がせしました・・・。

856 名前:デフォルトの名無しさん :2005/09/14(水) 18:13:25
>>851
君さ、次々質問してるけど
その件について、中国の了解を取ったのですか? 取ってないでしょ?
アジアの人々はみんな怒ってますよ!

857 名前:デフォルトの名無しさん :2005/09/14(水) 18:25:21
DirectPlayはその辺の処理にパターンがあって凄く綺麗にまとまるんだけれど。
それに気づかないうちは単にめんどくさいだけにしか見えないんだよなあ…

858 名前:デフォルトの名無しさん :2005/09/14(水) 20:42:11
違うPCで同じプログラムを動かしてて、
timeGetTime()の精度が違っちゃうんですけど、どうしたら良いんですか?

timeEndPeriod(1);//・・・1
timeBeginPeriod(1);
座標 += ミリ秒単位の移動量 * (timeGetTime() - 前のフレームの時間);
前のフレームの時間 = timeGetTime();
timeEndPeriod(1);//・・・2

endPeriodの位置変えてみると
片方の動作がちょっと変わるんだけど、
どうしてだろう…。

グラフィックボード関係あるかな・・・?

859 名前:デフォルトの名無しさん :2005/09/14(水) 21:43:42
timeGetTime()が二箇所にあるのは感心できないなあ
始めのtimeGetTimeと次のtimeGetTimeの間にタスク切り替えが
発生したら平気で10ms単位でずれていきそう

現在時間 = timeGetTime();
座標 += ミリ秒単位の移動量 * (現在時間 - 前のフレームの時間);
前のフレームの時間 = 現在時間;

860 名前:デフォルトの名無しさん :2005/09/14(水) 22:11:32
timeBeginPeriodとかはプログラムの最初と最後でやっとけば後は放置だろ

861 名前:デフォルトの名無しさん :2005/09/14(水) 22:29:27
>>859,860
ありがとうございます。
とりあえずそうしてみます。

862 名前:772 :2005/09/14(水) 22:31:03
>>805
まだ、うまく行かないですが・・・原因を調査中です。アドバイスありがとうございました。
今回の件をきっかけに、もっとプログラミング勉強しようと思います。
ありがとうございました。

--------------------構成: gshow - Win32 Debug--------------------
リンク中...
uuid.lib(oaidl_i.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください
link.exe の実行エラー

gshow.exe - エラー 1、警告 0

863 名前:デフォルトの名無しさん :2005/09/14(水) 22:42:06
>>862
VC6でPlatformSDKのライブラリをリンクするとうまくいかないから、
ライブラリディレクトリ欄から削除(それか下の方に移動)するといいわよ。

864 名前:772 :2005/09/14(水) 22:47:12
>>863
できました!!ありがとうございました!
これから改良に取り組んで行こうとおもいます。
本当にありがとうございました。

865 名前:772 :2005/09/14(水) 23:06:20
>>863
改良も、見当をつけていたところを少し修正したら成功しました。
本当にありがとうございました。

ここの皆様のご指摘通り、まだまだ勉強が足らないのは確かなのでこれからじっくり勉強していこうと思います。
ありがとうございました。

866 名前:デフォルトの名無しさん :2005/09/15(木) 00:01:20
叩きに耐えてよく頑張った!感動した!

・・・気がする。

867 名前:デフォルトの名無しさん :2005/09/15(木) 14:11:04
厚顔無恥乙wwwwwwwwwwwwwwwwww

868 名前:デフォルトの名無しさん :2005/09/15(木) 14:53:42
とりあえず某所にあったラッパーライブラリーを
いろいろいじって俺のものにしちゃうことにした
調べたけどベクターとかに登録されてないみたいだし
完全に俺のものとして俺の名前で登録予定
どんな名前のラッパーライブラリーにすっかなーと考えてる

869 名前:デフォルトの名無しさん :2005/09/15(木) 14:57:19
ん? 怒って欲しいのか?

870 名前:デフォルトの名無しさん :2005/09/15(木) 15:07:54
俺もパクりたいからそのライブラリ教えろ

871 名前:デフォルトの名無しさん :2005/09/15(木) 17:07:53
パクりじゃない。インスパイアだろ?

872 名前:デフォルトの名無しさん :2005/09/15(木) 17:18:56
じゃあそのインスパイアって方法でコピーするから頼む

873 名前:デフォルトの名無しさん :2005/09/15(木) 19:49:08
パクリでもインスパイアでもなく
完全に俺のものにするんで 乗っ取り かな

874 名前:デフォルトの名無しさん :2005/09/15(木) 20:07:54
現在も更新が続いてる国産ラッパーライブラリなんて存在しなくね?

875 名前:デフォルトの名無しさん :2005/09/15(木) 22:00:10
そもそもラッパーライブラリが必要ってのが理解できぬ。


876 名前:デフォルトの名無しさん :2005/09/15(木) 22:07:17
その労力使ってゲームエンジンでも開発したほうがよっぽど役に立つのにね

昔は初期化だけで200行以上書かされた
しかもバグや環境依存を回避するコードを入れたらさらに増える
そういう時代なら役割があったのかもしれない

877 名前:デフォルトの名無しさん :2005/09/15(木) 22:25:16
そこらのラッパー使うと余計に分からなくなるから絶対に使わない。

878 名前:デフォルトの名無しさん :2005/09/15(木) 22:25:29
>昔は初期化だけで200行以上書かされた
今もじゃん。

879 名前:デフォルトの名無しさん :2005/09/15(木) 22:27:18
>しかもバグや環境依存を回避するコードを入れたらさらに増える
今もじゃん。

880 名前:デフォルトの名無しさん :2005/09/15(木) 22:28:21
今はネスト5段とかないだろ?マシにはなってるんだって

881 名前:デフォルトの名無しさん :2005/09/15(木) 22:32:18
DirectXも使いやすくなったよね。
今更WinAPIで作りたいなんて思わない。

882 名前:デフォルトの名無しさん :2005/09/15(木) 22:34:27
WinAPIも9x系捨てていいならそれなりに使いやすい気がする。

883 名前:デフォルトの名無しさん :2005/09/15(木) 22:48:35
DXSTRUCTURE s;
s.dwSize = sizeof(DXSTRUCTURE);

こういうの無くなって良くなった。


884 名前:デフォルトの名無しさん :2005/09/15(木) 23:04:41
>>883
DPN_PLAYER_INFO dpi;
dpi.dwSize = sizeof(DPN_PLAYER_INFO);

ってのならあるけどこれとは違うんだろうか。

885 名前:デフォルトの名無しさん :2005/09/15(木) 23:07:26
初期化ルーチンなんて一回書いてしまえばほぼ使い回し、
レンダリング部分も特に面倒なことなんてないし。
強いて言えば、デバイスロスト時の動作周りか?
エラー処理部分も例外使えば結構すっきりするし、
どう考えてもラッパーの必要性を感じない。

ところで、アームレストの布地が破れた。
1年も持たないのか。。。

886 名前:デフォルトの名無しさん :2005/09/15(木) 23:07:34
>>883
DXSTRUCTURE s;
ZeroMemory(&s,sizeof(s));
s.dwSize = sizeof(DXSTRUCTURE);
じゃね?


887 名前:デフォルトの名無しさん :2005/09/15(木) 23:12:09
>>885
駄目。MSのAPIはソースぐちゃぐちゃになって、ラッパー書かなきゃわけわかんね。
せめて機能ごとにまとめておいてくれないと、どういう意図でそのAPIを使ってるのか、
作った人間に聞かないとわからない。ラッパーじゃないにしてもブロックごとにコメントはつけておいてほしい。
でも、ラッパーになっていてくれれば、ラッパーで提供されてる関数ごとに何をやっているかの概要だけはすぐに掴める。

888 名前:デフォルトの名無しさん :2005/09/15(木) 23:23:53
>>886
DXSTRUCTURE s = {sizeof(DXSTRUCTURE)};

889 名前:デフォルトの名無しさん :2005/09/15(木) 23:27:48
そういう知らない人がいてもおかしくないマニアックな仕様を
わざわざ使うのはどうかと思うよ。

890 名前:888 :2005/09/15(木) 23:33:58
えー

891 名前:デフォルトの名無しさん :2005/09/15(木) 23:45:47
>そういう知らない人がいてもおかしくないマニアックな仕様を
どこが?

892 名前:デフォルトの名無しさん :2005/09/15(木) 23:52:19
>>883>>886>>888は記述が違うだけで同じことしてるの?

893 名前:デフォルトの名無しさん :2005/09/16(金) 00:03:31
>>886>>888は同じ結果になるはず。
>>883はdpi.dwSize以外の構造体メンバは未初期化。

894 名前:デフォルトの名無しさん :2005/09/16(金) 00:13:25
2Dの単純描画を3Dで書いてる自分に矛盾を感じる。

895 名前:デフォルトの名無しさん :2005/09/16(金) 01:03:23
>>892
覚えなくていいよ。
>>888はまともな人間なら書かないコードだから。

896 名前:デフォルトの名無しさん :2005/09/16(金) 01:37:54
無知を正当化するとはレベル高すぎですね。
ローカル仕様じゃなく、cの規格にのっとっているはずだし
Win32にも最初のメンバがサイズであるような構造体が大量にあるわけだが。

897 名前:デフォルトの名無しさん :2005/09/16(金) 01:52:12
こんなん使ってるのやねうら某ぐらいだろ。

898 名前:デフォルトの名無しさん :2005/09/16(金) 01:52:15
どんなスパゲッティなコードでも規格にのっとっていれば良いのか?
レベル高すぎだな。

速度や容量その他のメリットがあるならわからなくもないが、、
違わないなら、わかりやすい(多く知られてる一般的な)書き方をするのが当然だと思っていたが。

899 名前:デフォルトの名無しさん :2005/09/16(金) 03:02:46
    _, ,_  パーン
 ( ‘д‘)  <馬鹿にレスつけんな!
  ⊂彡☆))Д´)>>898

900 名前:デフォルトの名無しさん :2005/09/16(金) 04:59:02
この手の話題はレスが伸びる 相変わらず

901 名前:デフォルトの名無しさん :2005/09/16(金) 05:10:01
何処のスレでも言語に話が及ぶと伸びるよな。
それぞれ言語スレが立ってるだろうに。

902 名前:デフォルトの名無しさん :2005/09/16(金) 07:42:24
つまり、ごく当たり前の仕様に則ったノウハウも知らない香具師ほど自分を否定された気になって吼えるんだよ。

903 名前:マイク ◆yrBrqfF1Ew :2005/09/16(金) 07:52:39
俺の脳が摂動された。

904 名前:デフォルトの名無しさん :2005/09/16(金) 08:09:58
結論はでてる。
仕様にも糞仕様ってものが存在する。
特にプログラムにおいて可読性は最優先事項だ。
一体>>888で何が得られるものがあるのか激しく疑問。
就職作品なら書いてあった時点で落とす。あまりにもキモ過ぎ。

905 名前:デフォルトの名無しさん :2005/09/16(金) 08:45:18
↓のスレで聞いてみたよ。このスレはDirectX関係で頼むよ

【初心者歓迎】C/C++室 Ver.21【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1125743714/147-

906 名前:デフォルトの名無しさん :2005/09/16(金) 11:47:41
Direct3Dで3Dのモデルをフォームに表示したいと思っています。
当方、VisualStudio.NET(2003じゃない)を持っており、DirectX9をインストールしました。
VisualStudio.NETで、(できればVBで)
DirectXインストールから、マウスドラッグで簡単な3Dモデルが動かせるようなプログラムを
書くまでを解説してるようなサイトってないでしょうか?

907 名前:デフォルトの名無しさん :2005/09/16(金) 12:25:20
>>906
DX9のヘルプとサンプル

908 名前:デフォルトの名無しさん :2005/09/16(金) 12:30:11
DirectPlayでDPN_PLAYER_INFO構造体のpvDataに文字列Sを入れる場合
dwSizeはstrlen(S)+1でいいんですよね?

909 名前:デフォルトの名無しさん :2005/09/16(金) 12:30:59
間違えました。DwDataSizeです。

910 名前:デフォルトの名無しさん :2005/09/16(金) 14:14:07
>>886
HOGESTRUCT d = { sizeof(d) };

として、dwSize の初期化と残りのゼロ埋めを
まとめてやってしまうコードもたまに見るな。

911 名前:デフォルトの名無しさん :2005/09/16(金) 14:23:33
>>910
>>888-

912 名前:デフォルトの名無しさん :2005/09/16(金) 19:34:42
>>917
初頭関数では表せません

913 名前:デフォルトの名無しさん :2005/09/16(金) 22:27:27
>>910
俺は0埋めがメインで、sizeof dはついでだと思っている。

914 名前:デフォルトの名無しさん :2005/09/16(金) 22:59:02
BC++5.5やmingwのようなフリーのコンパイラで
DirectX9による3Dプログラミングは出来ますか?

Webの情報だと古いものしか見つかりませんでした。
ご存知の方いらしたら教えていただけないでしょうか?

915 名前:デフォルトの名無しさん :2005/09/16(金) 23:00:36
>>914
やったことないけど、DirectXSDK を落としてきてパス設定とか設定すれば問題ないはず

916 名前:デフォルトの名無しさん :2005/09/17(土) 12:06:06
class CCharData {
 public:
  CCharData() { ZeroMemory(this,sizeof(CCharData)); }
  LPD3DXMESH pMesh;
  D3DMATERIAL9* pMeshMaterials;
  LPDIRECT3DTEXTURE9* pMeshTextures;
  DWORD dwNumMaterials;
} ;

enum { MAX_CHAR = 10 } ;
CCharData CharData[MAX_CHAR];

という風にCCharDataクラスを使ってXFileを読み込み表示したのですが
 for (int i=0; i<MAX_CHAR; i++) {
  SAFE_RELEASE( CharData[i].pMesh );
  CharData[i].pMeshMaterials = NULL;
  CharData[i].pMeshTextures = NULL;
 }
でメモリ解放してもメモリリークしてしまいます。
クラスでなく構造体でやるとメモリリークしませんでした。
どこが悪いのか教えていただけないでしょうか。よろしくお願いします。

917 名前:デフォルトの名無しさん :2005/09/17(土) 12:11:20
クラスとか構造体とかとは関係ないんだけど
>  CharData[i].pMeshTextures = NULL;
これはまずいんじゃない?
これもRelease呼び出さないと。

918 名前:デフォルトの名無しさん :2005/09/17(土) 12:22:07
>>CCharData() { ZeroMemory(this,sizeof(CCharData)); }
どうでもいいけど、これクラスが仮想関数持ってたら
仮想関数テーブルポインタも初期化しちゃって、そのうちアボンよ。

919 名前:デフォルトの名無しさん :2005/09/17(土) 12:27:56
>>917
>SAFE_RELEASE( CharData[i].pMesh );
よくわからんけど、これがそうなんじゃね?

920 名前:デフォルトの名無しさん :2005/09/17(土) 12:55:33
>>917
ポインタはリリースできないとか言われちゃったので、無理やりNULLしてました;
>>918
おおお;そんなことが。
変数ごとにNULLか0かします。
>>919
SAFE_RELEASEでメッシュをReleaseしてNULLを入れてるんですが迷子です

ZeroMemoryをやめてD3DMATERIAL9とLPDIRECT3DTEXTURE9をポインタで
無いようにしてやってみます。
ありがとうございます。

921 名前:916 :2005/09/17(土) 14:22:50
できました!
初歩的なミスでしたすみません;

for (int i=0; i<MAX_CHAR; i++) {
 for (int j=0; j<CharData[i].dwNumMaterials; j++) {
  SAFE_RELEASE( CharData[i].pMeshTextures[j] );
 }
 delete[] CharData[i].pMeshTextures;
 delete[] CharData[i].pMeshMaterials;

 SAFE_RELEASE( CharData[i].pMesh );
}

と配列の削除を入れたらメモリリークが無くなりました。

922 名前:デフォルトの名無しさん :2005/09/17(土) 14:36:33
>>921
あー、そういやそんなのあったなぁ。
STLのvectorとstringとlistはお手軽に使えて便利だから
ちょっとだけかじってみればそういう苦労なくなるよ。

923 名前:デフォルトの名無しさん :2005/09/17(土) 21:14:40
>>922
そんなのあったなぁって、おまい、、、

924 名前:デフォルトの名無しさん :2005/09/18(日) 01:22:16
コンパイルしたexeを直接実行するとMPEGファイルが実行できるけど、
デバッガの中から実行するとRenderFile()で0x80040200エラーになってしまう。
何か手がかりありませんか?
環境はVisual C++ 2003, WinXP Proです。

925 名前:デフォルトの名無しさん :2005/09/18(日) 01:29:12
MPEGファイルがdebugフォルダの中にある

926 名前:924 :2005/09/18(日) 01:50:27
"MPEGファイルが実行"→"MPEGファイルが再生"の間違い。

>>925
ファイルはプロジェクトと別フォルダに置いてあります

927 名前:デフォルトの名無しさん :2005/09/18(日) 01:53:27
MPEGファイルへのパスを、フルパスで渡すと?

928 名前:924 :2005/09/18(日) 01:58:09
渡してます。

#defineFILENAME L"c:\\home\\foobar.mpg"

....

IGraphBuilder *pGraphBuilder;
IMediaControl *pMediaControl;
HRESULT hr;

hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_FilterGraph,NULL,
CLSCTX_INPROC,IID_IGraphBuilder,(LPVOID *)&pGraphBuilder);
hr = pGraphBuilder->QueryInterface(IID_IMediaControl,(LPVOID *)&pMediaControl);
hr = pMediaControl->RenderFile(FILENAME);

ここでエラー。

929 名前:924 :2005/09/18(日) 01:58:42
渡してます。

#defineFILENAME L"c:\\home\\foobar.mpg"

....

IGraphBuilder *pGraphBuilder;
IMediaControl *pMediaControl;
HRESULT hr;

hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_FilterGraph,NULL,
CLSCTX_INPROC,IID_IGraphBuilder,(LPVOID *)&pGraphBuilder);
hr = pGraphBuilder->QueryInterface(IID_IMediaControl,(LPVOID *)&pMediaControl);
hr = pMediaControl->RenderFile(FILENAME);

ここでエラー。

930 名前:デフォルトの名無しさん :2005/09/18(日) 04:30:29
今作りかけのゲーム用のライブラリがあります。
これのインターフェイスはほぼ素のC++であり
依存する他のライブラリはDirectXぐらいです。
これらの設定を入力する為にダイアログを作らなきゃならなくて
windows用のGUIフレームワークが必要になるんですが
何使うのがベストですか?

思いついた一覧
MFC → IDEのサポートが効くしシンプルな構造で使いやすそう、独自コンテナとかウザい、この板の評判が悪い。

ATL/WTL → 軽い、この板の評判はいい、ドキュメントがソースのみ、MFCそっくりなのであえて選ぶメリットが不明瞭。

JavaSwing → 今風な作りで楽に書けそう、Windows+DirectXの構成でわざわざJavaを選ぶのはアクロバティック過ぎないか?
そもそもDirectX動くのか?

.NET WindowsForm → 今風な作りで楽に書けそう、.NETの仕様を一から覚えるの大変、MC++なんとなく嫌。

931 名前:デフォルトの名無しさん :2005/09/18(日) 05:07:34
Win32プラットフォームのライブラリならって事だけど、
どれも全く経験が無いなら、MFCが扱いは楽で導入の問題も比較的少ない。

.netは、クライアントに.net Framework入れるのが前提になるので、
俺は配布するようなライブラリには、絶対選ばない。Javaも同様。

ATL/WTLが個人的には一番オススメ。使用経験ないならこの際いかが?w
MFCそっくりだから選ぶメリットが不明瞭というけど、
それはGUIフレームワークを使用して、プログラミングした時だけの話でしょ。
結果生成される物は、似て非なる物だもの。


932 名前:デフォルトの名無しさん :2005/09/18(日) 05:41:10
初心者がMFCやるとDoc/Viewだけでわけ分からなくなって撃沈するんじゃないの?

933 名前:デフォルトの名無しさん :2005/09/18(日) 05:43:57
そんなに複雑なもんでもないと思うけどDoc/Viewは。
あれで躓くようなら、他のGUIフレームワークどれでも躓くような気がするが。
それだったらいっそのこと、VCLでも薦めるよ。


934 名前:デフォルトの名無しさん :2005/09/18(日) 05:46:14
MFCだからといってDocViewを強制される訳では無いのだが・・・

935 名前:マイク ◆yrBrqfF1Ew :2005/09/18(日) 06:11:01
>windows用のGUIフレームワークが必要になるんですが
>何使うのがベストですか?

もはやQt以外に選択肢は無いな。

936 名前:デフォルトの名無しさん :2005/09/18(日) 06:13:33
DirectX 7 SDK 日本語ドキュメントが欲しいのですが、MSサイトに行っても
8以降のバージョンしか置いてありません。
他にインターネット上で入手する方法はありませんか?

937 名前:デフォルトの名無しさん :2005/09/18(日) 06:40:25
すみません自己解決しました。

938 名前:デフォルトの名無しさん :2005/09/18(日) 09:40:40
MFCわかんね。

939 名前:デフォルトの名無しさん :2005/09/18(日) 09:53:52
ダイアログだけ使うならMFCも難しくはないでしょ。

940 名前:デフォルトの名無しさん :2005/09/18(日) 10:07:14
ダイアログだけで良いなら、APIだけで作るのもありかと。
たかがゲームの設定ダイアログだけの為に、フレームワークだの何だのは大げさな気がするけど。

941 名前:デフォルトの名無しさん :2005/09/18(日) 11:58:39
そう、ダイアログなんてAPIだけで十分。
プログラムからやるのは、初期値の設定と最後に
ダイアログから値を取得することくらいだし。

942 名前:デフォルトの名無しさん :2005/09/18(日) 15:05:26
APIベタでやるんならWTLでいいじゃん

943 名前:デフォルトの名無しさん :2005/09/18(日) 15:42:34
WTLなんて今更感ありすぎ

944 名前:デフォルトの名無しさん :2005/09/18(日) 15:43:46
今の時代WTFだよな

945 名前:930 :2005/09/18(日) 16:21:50
お答えありがとうございました。
お答え参考にしてMFCで行くことにします。
Qtというのもちょっと調べてみます。

946 名前:デフォルトの名無しさん :2005/09/19(月) 01:38:21
マウスカーソルの位置によって速度が変わります。なぜでしょう?
解像度を640x480にすると、SDKサンプル全てで発生します。


947 名前:デフォルトの名無しさん :2005/09/19(月) 02:18:28
DirectX9の勉強をするために、本を3冊ほど買ったのですが、
発行年度がバラバラで、
1.2004年1月
2.2004年11月
3.2005年3月
となっていて、一番新しいやつを読むと、2004年の途中で大幅に仕様が変更になったらしいのですが、
この場合どうしたほうが良いでしょうか?

自分として考え付くのは、発行年度が一番古い本のバージョンのDirectXを入れて、古い順に勉強していって、
次の本に行くごとにその本にあったDirectXのバージョンを入れる
または、一番新しいやつを最初に勉強して、古いやつのコードを新バージョンのDirectXにあうように書き換える(出来るかどうかわかりませんが)。
位なんですが、どうでしょうか?

948 名前:デフォルトの名無しさん :2005/09/19(月) 03:15:54
2chでは糞本が多いとされるDirectX関連本をまとめて3冊買う蛮勇にまずは乾杯。
仕様変更っちゅーても、初心者が学習する範囲においては気にするようなモンじゃないよ。
いーんじゃない? 新しいので。なんの本買ったのか知らんけど。

949 名前:デフォルトの名無しさん :2005/09/19(月) 11:49:28
>>947
SDK付属のサンプルコードだけで十分。
Microsoft謹製

950 名前:947 :2005/09/19(月) 11:52:01
一応アマゾンでは評価が高いやつを買ったんですけど、
1.DirectX9シェーダプログラミングブック
2.DirectX9ゲームプグラフィックスログラミング Ver.2
3.DirectX9 DirectX Graphics
を買ったんですが、古いやつほど、ページ数が多く色々書いてあるので・・・
仕様変更は、ライブラリが変更になったり、関数が変更になったりと書いてあったと思うんですが、
古いコードを新バージョンに対応させることって出来ますかね?

951 名前:947 :2005/09/19(月) 11:54:30
>>949
SDKのヘルプとかも一応見たんですけど、どうもPC上に書いてある長文は苦手で、
本で見れるものがほしかったので。

952 名前:デフォルトの名無しさん :2005/09/19(月) 12:26:20
というか今現在出版されてる書物で最新のDirectXの仕様に対応してる奴ってないよな?
SDK付属のドキュメントも日本語版は古いままだしなぁ。

953 名前:デフォルトの名無しさん :2005/09/19(月) 12:33:23
そりゃ最新の仕様が出たのが8月だしな


954 名前:デフォルトの名無しさん :2005/09/19(月) 12:34:38
一番古いのがシェーダプログラミング
とか書いてあるし

どのみち後ろの二つで先に基礎を学ぶことになるのでは

955 名前:デフォルトの名無しさん :2005/09/19(月) 15:41:25
DirectX SDKのチュートリアルに当たる部分に仕様変更なし

956 名前:デフォルトの名無しさん :2005/09/19(月) 18:15:28
>> パフォーマンスの低下を招くことは間違いないようなので、正方形にします。
>現在テスト可能な環境、SavageIX、G200、G400MAX、Radeon9600Proで、
>トランスフォーム済み頂点で1024×512のテクスチャを640×480に切り出して
>ひたすら描画するだけのテストをしてみましたが、
>512×512を二枚使って二回描画した方がパフォーマンスが落ちてしまいました。
>
>間違いないと断言されていらっしゃるので、何らかのテストされたのだと思いますが、
>具体的にどの製品でどのような描画の仕方でパフォーマンスの低下が確認できたのでしょうか?

2回レンダしたら遅くなるの当たり前だろ知障
2048*1024と1024*1024から640*480だけ抜いて比較しろよ染色体異常者

957 名前:デフォルトの名無しさん :2005/09/19(月) 18:17:23
おこったごーん

958 名前:デフォルトの名無しさん :2005/09/19(月) 18:24:54
>>956
2048にする意味がわからんのだが、
そもそも1024*512と512*512二枚とどっち使うかという話だったんでは?
俺は素直に1024*512使うが。

959 名前:デフォルトの名無しさん :2005/09/19(月) 18:33:34
>>958
あいつは正方形のほうが速いということに反応し、
512*512*2と1024*512で比較したんだよな?

正方形が速いという話はテクスチャ1枚のことであって、
2枚と1枚を比較してる時点で頭おかしいだろ?

640*480で正方形と長方形を比較するなら、
これがすっぽり収まる2048*1024と1024*1024だろ?

元々の512*512*2と1024*512の話は別で、
どれぐらいの大きさまで使えるのか聞いてただけだろ?

960 名前:デフォルトの名無しさん :2005/09/19(月) 18:36:23
>>959
何言ってるの、君?

961 名前:デフォルトの名無しさん :2005/09/19(月) 18:42:28
>1024×1024ぐらいのサイズのテクスチャはたいてい作れます。
>ただ、なしさんが言われたようにパフォーマンスは保障されません。
>工夫して、無駄をなくすことを心がけましょう。
>例えば、よく使う640×480や800×600の背景などは、実は512×512のテクスチャ2枚の中に納まります。
>これだけで、1024×1024のテクスチャよりも半分節約できます。

こいつがそもそも頓珍漢
同一人物か?

962 名前:デフォルトの名無しさん :2005/09/19(月) 18:53:37
つーか、>>956ってどこへのレスなんだ。
アンカーぐらいちゃんと使ってくれよ。

963 名前:デフォルトの名無しさん :2005/09/19(月) 19:08:31
今c++を勉強してるんだが、掲示板みてるとJAVA
の方が主流?そこで質問

            C VS JAVA


使いやすさ、流通度、就職や職場ではどちらが使われているか
の点から意見求む。

964 名前:デフォルトの名無しさん :2005/09/19(月) 19:10:04
>>963
スレタイも読めない人には教えられません。
というか先に日本語勉強しましょう

965 名前:デフォルトの名無しさん :2005/09/19(月) 19:25:18
>>963
C++とDirectXが主流ですよ
使いやすいし、これ以外流通してない

966 名前:デフォルトの名無しさん :2005/09/19(月) 19:33:25
JAVAは趣味程度なのかな?
ここの板みてるとJAVAが多いような気がする。

967 名前:デフォルトの名無しさん :2005/09/19(月) 19:43:29
>>966
スレタイみて死ねw

968 名前:デフォルトの名無しさん :2005/09/19(月) 20:20:35
何故BBXの話題がここで?

969 名前:デフォルトの名無しさん :2005/09/19(月) 21:17:47
わざとJavaの話題を出して、C++使いにJavaを叩いてもらいたい、
よくある厨のパターンですか。

970 名前:924 :2005/09/19(月) 22:31:17
924です。

相変わらず解決しません。
MPEG1, AVIは問題なくデバッグ可能ですが、MPEG2だけだめみたい。
(作りたいのはMPEG2なので、他のフォーマットが再生できても)
アドバイスをお願いします

971 名前:デフォルトの名無しさん :2005/09/19(月) 22:44:53
MPEG2だからじゃね?

972 名前:デフォルトの名無しさん :2005/09/19(月) 23:41:51
D3DXPlaneFromPointsに指定する頂点の順番は
時計回りでよろしいでしょうか?

973 名前:デフォルトの名無しさん :2005/09/20(火) 00:03:28
test

974 名前:デフォルトの名無しさん :2005/09/20(火) 00:05:41
このスレを埋めたいと思うのは俺だけだろうか?


埋め

975 名前:デフォルトの名無しさん :2005/09/20(火) 00:05:48
そろそろ次スレ

976 名前:デフォルトの名無しさん :2005/09/20(火) 00:09:06
次スレは>>985よろ

977 名前:デフォルトの名無しさん :2005/09/20(火) 00:17:22
>>972
時計回りなら平面の法線(a,b,c)が上、逆なら下になるわ。
(v2-v1)と(v3-v2)の外積(の正規化ベクトル)ね。
平面の式としては同じだけど、
平面の向きが関係する関数(D3DXPlaneDotCoordとか)では
結果が変わってくるみたいね。

978 名前:デフォルトの名無しさん :2005/09/20(火) 00:22:42
とりあえず法線が上になる時計周りにしておけばいいわ。
D3DXPlaneFromPointNormalってのもあって、こっちの方がわかりやすいかもね。

979 名前:974 :2005/09/20(火) 00:30:41
親切な解説どうもありがとうございました。
こういうドキュメントに載ってないのは、やっぱり
実験実証なのでしょうか。て、それしかなさそうですね。
面倒くさがりな自分....

980 名前:デフォルトの名無しさん :2005/09/20(火) 02:41:55
サービスプロバイダとポートだけ設定して
hr = lpDirectPlay8Peer->Connect(&dpnAppDesc, prgHostAddr, prgDeviceInfo,
NULL, NULL, NULL, 0, NULL, NULL, NULL,
DPNCONNECT_OKTOQUERYFORADDRESSING | DPNCONNECT_SYNC);
if(FAILED(hr)) {
//エラー処理
return;
}
として実行したらIP入力ダイアログに何を入力してもエラー処理に行かないで
ダイアログが再度出てくるのですがDPNCONNECT_OKTOQUERYFORADDRESSINGっていうのは
そういう仕様なんですか?
キャンセルしてもダイアログがまた出てくるから強制終了しか出来ないorz

981 名前:980 :2005/09/20(火) 02:49:18
あー、DirectPlayのサンプルを試したらちゃんとエラー処理に行ってるなぁ。
どこで何間違えてるんだろう…orz

982 名前:デフォルトの名無しさん :2005/09/20(火) 03:41:46
>>980
IP は例えばどんな風に入力してる?

983 名前:デフォルトの名無しさん :2005/09/20(火) 04:52:57
埋め

後17

984 名前:デフォルトの名無しさん :2005/09/20(火) 04:53:56
次たってないのに梅んな

985 名前:デフォルトの名無しさん :2005/09/20(火) 05:01:23
鬱だ氏のう DirectX (Part 15)
http://pc8.2ch.net/test/read.cgi/tech/1096649788/

986 名前:デフォルトの名無しさん :2005/09/20(火) 07:25:43
>>982
IPアドレスはコーディング段階では未入力で
実行時にDPNCONNECT_OKTOQUERYFORADDRESSINGによって作成されたダイアログに入力してます。
適当な数字、文字列、ポートを指定せずにIPを入力してOK、もしくはキャンセルを押した場合は
即座にIP入力ダイアログが再出現します。
127.0.0.1:2345などの形式で入力した場合は、接続試行をした後再度ダイアログが出ます。

987 名前:デフォルトの名無しさん :2005/09/20(火) 08:45:49
>>986
DirectPlayのサンプルが、きちんとエラー処理に飛んでるなら、
絶対どこかに違いがあるはず。
ほんの些細な事でもいいから具体的な違いを見つけ出すしかないかと

988 名前:980 :2005/09/20(火) 09:59:30
>>987
原因が判明しました。

bool OnConnect () {
//省略
hr = lpDirectPlay8Peer->connect(...);

if(FAILED(hr)) {
MessageBox(NULL, "接続失敗", "ERROR!", MB_OK | MB_ICONWARNING);
return false;
}

としているのですが、このOnConnect()が誤ってループの中に書かれているというお約束のミスでしたorz
お騒がせしました。申し訳ないorz

989 名前:デフォルトの名無しさん :2005/09/20(火) 10:18:49
次スレよろしく

990 名前:デフォルトの名無しさん :2005/09/20(火) 15:47:09
【C++】 DirectX初心者質問スレ Part6 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1127198808/

991 名前:デフォルトの名無しさん :2005/09/20(火) 15:48:02
>>990
乙&梅

992 名前:デフォルトの名無しさん :2005/09/20(火) 17:04:47
それにしてもなんで【C++】なんだろw

993 名前:デフォルトの名無しさん :2005/09/20(火) 17:19:46
【C++】【C♯】ならともかく何で【C++】を2つ書く必要があるのかってのは前から思ってた

994 名前:デフォルトの名無しさん :2005/09/20(火) 17:20:14
おまじない

995 名前:デフォルトの名無しさん :2005/09/20(火) 17:24:19
結界張ってんだよ

996 名前:デフォルトの名無しさん :2005/09/20(火) 17:27:14
C++ってしーぷらぷらって読むよりしぽぽって読むほうが楽しいよ、ね?

997 名前:デフォルトの名無しさん :2005/09/20(火) 17:52:02
ume

998 名前:デフォルトの名無しさん :2005/09/20(火) 17:52:36
@2ハァハァ

999 名前:デフォルトの名無しさん :2005/09/20(火) 17:53:19
1000は俺が取る!
誰かが1000を狙ってる余寒

1000 名前:デフォルトの名無しさん :2005/09/20(火) 17:53:49
俺が1000だ!!!!!!!!!1111111111111111111


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.