【C++】 DirectX初心者質問スレ Part10 【C】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/07/25(火) 21:38:16これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前スレ
【C++】 DirectX初心者質問スレ Part9 【C】
http://pc8.2ch.net/test/read.cgi/tech/1144878498/
0153デフォルトの名無しさん
2006/08/11(金) 14:13:32「インストールとは、ソフトウェアをOSで使用できるように格納することである」
これは明確な無知。
インストールというのは据え置くと言う意味で、
ハードウェアの取り付けにさえインストールと呼ぶ。
無知バカはソフトだけだと思ってる。
0154デフォルトの名無しさん
2006/08/11(金) 14:32:54そか。よかったな。
0155たまには、釣られてみるか。
2006/08/11(金) 16:00:19ソフトだけだろ。
ここは日本で、インストールと install は違うということは、
覚えておいたほうがいい。
0156デフォルトの名無しさん
2006/08/11(金) 16:12:19「インストール」は日本語で
`install'は英語
とでも言いたいのか?
0157デフォルトの名無しさん
2006/08/11(金) 16:41:59いつから演算プロセッサボードをソフトウェアと言うようになったんだ?
0158デフォルトの名無しさん
2006/08/11(金) 16:43:190159デフォルトの名無しさん
2006/08/11(金) 16:44:18Xファイル表示どうするんですか?
0160デフォルトの名無しさん
2006/08/11(金) 17:48:230161デフォルトの名無しさん
2006/08/11(金) 17:51:15無知すぎ
0162釣られすぎですかぁ? (w
2006/08/11(金) 18:25:45> なお、英語の install は「設置する」「取り付ける」といった意味であり、
> コンピュータやモニタを設置すること、周辺機器を接続すること、拡張カー
> ドを取り付けることなど、ハードウェア全般についても用いるが、日本語で
> はもっぱらソフトウェアを導入する意味にのみ用いる。
0163デフォルトの名無しさん
2006/08/11(金) 18:36:430164デフォルトの名無しさん
2006/08/11(金) 19:13:180165デフォルトの名無しさん
2006/08/11(金) 19:17:11サル未満の出来損ないはとっとと消えろ(プ
0166デフォルトの名無しさん
2006/08/11(金) 19:40:19それで問題は出てない?
本当は動くのに単にバージョンチェックで弾いているだけってことでOK?
0167デフォルトの名無しさん
2006/08/11(金) 20:48:26いや別に、>>153 以外の一般的な意見だなぁと思ってね。
>>164-165 は、「日本語では」と言う意味が理解できていないみたいだけど。(w
0168デフォルトの名無しさん
2006/08/11(金) 20:59:150169デフォルトの名無しさん
2006/08/11(金) 21:00:220170デフォルトの名無しさん
2006/08/11(金) 21:12:52???
0171デフォルトの名無しさん
2006/08/11(金) 21:27:56infファイルなんて添付されて無いぞぉおおおおおおおおおお!!!!
0172デフォルトの名無しさん
2006/08/11(金) 21:59:27インストールの履歴
(最新版) (前の版) 2006年8月11日 (金) 12:12 125.100.229.66 (ノート) (→概要)
これすれ見て慌てて書き換えたんだろ。(w
0173デフォルトの名無しさん
2006/08/11(金) 22:53:10何かあるんだよ
メモ帳で開くといんすころーのれバージョンが書いてあるやつ
0174デフォルトの名無しさん
2006/08/11(金) 23:13:27なんだっけ?
0175デフォルトの名無しさん
2006/08/11(金) 23:29:250176デフォルトの名無しさん
2006/08/11(金) 23:46:430177デフォルトの名無しさん
2006/08/11(金) 23:50:180178デフォルトの名無しさん
2006/08/12(土) 00:00:44はぁ?何いってんの?可哀想なのはお前だろプゲラwwwwww
0179デフォルトの名無しさん
2006/08/12(土) 00:15:36dx_setenv.cmdかと思ったら違うっぽいしな
0180デフォルトの名無しさん
2006/08/12(土) 00:24:48何?君?ワレようと必死なの?
ソフトなんてワレてもどうせ覚えるの面倒で使わないぞw
会社でmax xsi lw maya のライセンスを買ってもらっておきながら
ついに起動するのすら面倒で(ライセンスキー打ってユーザ登録する画面から滅入るw)退職した
俺がいうんだ。間違いないw
0181デフォルトの名無しさん
2006/08/12(土) 00:33:590182デフォルトの名無しさん
2006/08/12(土) 00:38:14いや、普通に激務で嫌になったw
0183デフォルトの名無しさん
2006/08/12(土) 07:35:07ほかは知らんがせいぜい一度登録したら終わりだと思うんだが……
毎回入力するなら自動化すればいいのに
0184デフォルトの名無しさん
2006/08/12(土) 11:29:27空想上の激務と空想上の退職を本当の記憶と思いこんでいるのだろう。
0185デフォルトの名無しさん
2006/08/12(土) 13:12:13起動するのすら面倒に感じるようになってしまった
と考えればつじつまが合う
0186デフォルトの名無しさん
2006/08/12(土) 13:48:270187デフォルトの名無しさん
2006/08/12(土) 23:24:52ドングルこー
oh yeah(c'mon baby) にハマってさあ大変
0188デフォルトの名無しさん
2006/08/12(土) 23:34:230189デフォルトの名無しさん
2006/08/12(土) 23:55:530190デフォルトの名無しさん
2006/08/12(土) 23:57:03|. (・ω・` )スルー
|スス… /J J
↓ ,,, し―-J
0191デフォルトの名無しさん
2006/08/13(日) 01:57:270192デフォルトの名無しさん
2006/08/13(日) 02:14:21固定機能だけでも、スペキュラを極端な値に設定してやるとかで
ある程度までなら対処できる。
環境マップでも可。
インキング(縁取り)は拡大&反転でイナフだ。
0193デフォルトの名無しさん
2006/08/13(日) 03:56:53light.Diffuse.r = 2.5f;
light.Diffuse.g = 2.5f;
light.Diffuse.b = 2.5f;
でちょうど良くなった
0194デフォルトの名無しさん
2006/08/13(日) 04:37:29ウィンドウサイズに関係なくそのまま表示するにはどうしたら良いでしょうか?
0195デフォルトの名無しさん
2006/08/13(日) 04:55:22固定機能でトゥーンシェーディングやりたいなら、D3DTSS_TEXCOORDINDEXと
D3DTSS_TEXTURETRANSFORMFLAGSを設定してトゥーン用のテクスチャを
セットすれば簡単にできるが、シェーダを使った方が簡単だと思う。
0196デフォルトの名無しさん
2006/08/13(日) 05:44:130197デフォルトの名無しさん
2006/08/13(日) 06:19:03D3DXMatrixPerspectiveFovLH の Aspect を
(float)width / height ね。
0198デフォルトの名無しさん
2006/08/13(日) 09:31:15TWIN TAIL LOVERS か
ウマイハナシ でググればソースがあるぞ。
SDKよりは判り易いかと
自分は野村XX(ウマイハナシ)さんの奴を、改造しまくって使ってるでよ。
0199デフォルトの名無しさん
2006/08/13(日) 13:49:36使ったことないのに気づいた。これが必要になるようなバッファのロストって本当に起こるの?
0200デフォルトの名無しさん
2006/08/13(日) 15:57:31ハード上に専用メモリを持っているサウンドカードを使っている奴って本当にいるの?
0201デフォルトの名無しさん
2006/08/13(日) 21:04:00それなら何にすればいいんでしょうか?
0202デフォルトの名無しさん
2006/08/13(日) 21:05:31どうせストリームがほとんどだから大して使わないし。
0203デフォルトの名無しさん
2006/08/14(月) 01:15:11いうかよお------------------------------------------------------------------------------------------
なんでよお-----------------------------------------------------------------------------------------
DXやってる奴というのはよお--------------------------------------------------------------------------
「ファイル」というと「データファイル」
としか思い浮かべられねえんだ?あ?コラ。オウ。
「ファイル」といえば「キーボード」も含むよな?あ?コラ。オウ。
理由は言わんでもわかりますね。
0204デフォルトの名無しさん
2006/08/14(月) 01:23:48file:///C|/con/con
0205デフォルトの名無しさん
2006/08/14(月) 03:24:58DXってDirectX?で「キーボード」といえば「DirectInputDevice」でウッドボール。
0206デフォルトの名無しさん
2006/08/14(月) 22:34:18本当に頭のいい人間は誰にでもわかりやすい表現を使う。
君みたいにトリビアに頼らなくても普通のすごいの俺等はw
0207デフォルトの名無しさん
2006/08/14(月) 22:44:550208デフォルトの名無しさん
2006/08/14(月) 23:01:10そのネタはやめれw
0209デフォルトの名無しさん
2006/08/14(月) 23:32:180210デフォルトの名無しさん
2006/08/15(火) 03:31:540211デフォルトの名無しさん
2006/08/15(火) 07:56:300212デフォルトの名無しさん
2006/08/15(火) 08:10:260213デフォルトの名無しさん
2006/08/15(火) 11:50:400214デフォルトの名無しさん
2006/08/15(火) 19:24:36http://www.microsoft.com/japan/msdn/directx/downloads.aspxのどれ
をダウンロードすればいいですか?DirectX 9.0 SDK Update (June 2006)を
ダウンロードしましたが正しく起動しませんでした
ちなみに私のPCはWindows98です
0215デフォルトの名無しさん
2006/08/15(火) 19:28:32http://www.microsoft.com/downloads/details.aspx?familyid=b7bc31fa-2df1-44fd-95a4-c2555446aed4&displaylang=en
0216デフォルトの名無しさん
2006/08/15(火) 19:28:410217デフォルトの名無しさん
2006/08/15(火) 19:51:27ありがとうございました
>>216
それがベストなんですが諸事情がありますて
0218デフォルトの名無しさん
2006/08/15(火) 20:03:21その時間をバイトして金を貯めた方が早くないの?
0219デフォルトの名無しさん
2006/08/15(火) 20:05:520220デフォルトの名無しさん
2006/08/15(火) 20:12:550221デフォルトの名無しさん
2006/08/15(火) 23:46:21// File: DXUT.h
//
// DirectX SDK Direct3D sample framework
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//--------------------------------------------------------------------------------------
#pragma once
#ifndef DXUT_H
#define DXUT_H
#ifndef UNICODE
#error "The sample framework requires a Unicode build. If you are using Microsoft Visual C++ .NET, under the General tab of the project properties change the Character Set to 'Use Unicode Character Set'."
#endif
DXUT.hをインクルードしてコンパイルすると、13行目の「#error "The 〜Set'."」でerror C1189が出るんだが、どうにかならない?
正直なんでここでエラーが出るか分からないorz
0222デフォルトの名無しさん
2006/08/15(火) 23:51:370223デフォルトの名無しさん
2006/08/15(火) 23:52:130224デフォルトの名無しさん
2006/08/15(火) 23:52:22The sample framework requires a Unicode build. If you are using Microsoft Visual C++ .NET, under the General tab of the project properties change the Character Set to 'Use Unicode Character Set
この通りにUnicodeセットでプロジェクトを変更すると、鬼のごとく参照エラーが・・・鬱だしのう
0225デフォルトの名無しさん
2006/08/15(火) 23:53:390226デフォルトの名無しさん
2006/08/15(火) 23:54:090227デフォルトの名無しさん
2006/08/15(火) 23:56:220228デフォルトの名無しさん
2006/08/15(火) 23:56:510229デフォルトの名無しさん
2006/08/15(火) 23:57:23そう。
0230デフォルトの名無しさん
2006/08/16(水) 00:00:52error C2440: '初期化中' : 'const char [13]' から 'LPCWSTR' に変換できません。
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2664: 'CreateWindowExW' : 2 番目の引数を 'const char [13]' から 'LPCWSTR' に変換できません。
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2664: 'UnregisterClassW' : 1 番目の引数を 'const char [13]' から 'LPCWSTR' に変換できません。
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
0231デフォルトの名無しさん
2006/08/16(水) 00:01:41CD3DXObject.cpp
error C2259: 'CAllocateHierarchy' : 抽象クラスをインスタンス化できません。
次のメンバが原因です :
'HRESULT ID3DXAllocateHierarchy::CreateFrame(LPCSTR,LPD3DXFRAME * )' : 純粋仮想関数は定義されていません。
d:\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Include\d3dx9anim.h(134) : 'ID3DXAllocateHierarchy::CreateFrame' の宣言を確認してください。
'HRESULT ID3DXAllocateHierarchy::CreateMeshContainer(LPCSTR,const D3DXMESHDATA *,const D3DXMATERIAL *,const D3DXEFFECTINSTANCE *,DWORD,const DWORD *,LPD3DXSKININFO,LPD3DXMESHCONTAINER * )' : 純粋仮想関数は定義されていません。
d:\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Include\d3dx9anim.h(168) : 'ID3DXAllocateHierarchy::CreateMeshContainer' の宣言を確認してください。
error C2664: 'D3DXLoadMeshHierarchyFromXW' : 1 番目の引数を 'char *' から 'LPCWSTR' に変換できません。
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2039: 'GetMaxNumMatrices' : 'ID3DXAnimationController' のメンバではありません。
d:\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Include\d3dx9anim.h(687) : 'ID3DXAnimationController' の宣言を確認してください。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
0232デフォルトの名無しさん
2006/08/16(水) 00:02:13error C2440: '初期化中' : 'int' から 'D3DXPRIORITY_TYPE' に変換できません。
列挙型への変換には static_cast、C スタイル キャストまたは関数スタイル キャストが必要です。
error C2259: 'CAllocateHierarchy' : 抽象クラスをインスタンス化できません。
次のメンバが原因です :
'HRESULT ID3DXAllocateHierarchy::CreateFrame(LPCSTR,LPD3DXFRAME * )' : 純粋仮想関数は定義されていません。
d:\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Include\d3dx9anim.h(134) : 'ID3DXAllocateHierarchy::CreateFrame' の宣言を確認してください。
'HRESULT ID3DXAllocateHierarchy::CreateMeshContainer(LPCSTR,const D3DXMESHDATA *,const D3DXMATERIAL *,const D3DXEFFECTINSTANCE *,DWORD,const DWORD *,LPD3DXSKININFO,LPD3DXMESHCONTAINER * )' : 純粋仮想関数は定義されていません。
d:\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Include\d3dx9anim.h(168) : 'ID3DXAllocateHierarchy::CreateMeshContainer' の宣言を確認してください。
error C3861: 'SAFE_DELETE_ARRAY': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C2039: 'SetTime' : 'ID3DXAnimationController' のメンバではありません。
d:\Program Files\Microsoft DirectX 9.0 SDK (October 2004)\Include\d3dx9anim.h(687) : 'ID3DXAnimationController' の宣言を確認してください。
0233デフォルトの名無しさん
2006/08/16(水) 00:02:47error C3861: 'SAFE_DELETE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE_ARRAY': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE_ARRAY': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE_ARRAY': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE_ARRAY': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE_ARRAY': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE_ARRAY': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE': 識別子は、引数依存の照合を使用しても見つかりません。
error C2440: '=' : 'TCHAR *' から 'LPSTR' に変換できません。
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
0234デフォルトの名無しさん
2006/08/16(水) 00:03:21error C3861: 'SAFE_DELETE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE': 識別子は、引数依存の照合を使用しても見つかりません。
error C2440: '=' : 'TCHAR *' から 'LPSTR' に変換できません。
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
CAllocateHierarchy.cpp
error C2664: 'D3DXCreateTextureFromFileW' : 2 番目の引数を 'LPSTR' から 'LPCWSTR' に変換できません。
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
error C3861: 'SAFE_RELEASE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE': 識別子は、引数依存の照合を使用しても見つかりません。
error C3861: 'SAFE_DELETE': 識別子は、引数依存の照合を使用しても見つかりません。
0235デフォルトの名無しさん
2006/08/16(水) 00:09:460236デフォルトの名無しさん
2006/08/16(水) 00:13:12http://www.nomuraz.com/denpa/prog004.htm#IDPROG0021
ここのサンプルを試したらこうなった・・・
車輪の再発明してくるorz
0237デフォルトの名無しさん
2006/08/16(水) 02:35:10ありがとうございました!!
0238デフォルトの名無しさん
2006/08/16(水) 14:49:06>error C2660: 'ID3DXFont::DrawTextA' : 関数に 5 個の引数を指定できません。
のエラーが出るようになりました。
LPD3DXFONT pFont;
RECT rect={iX,iY,iX+1000,iY+100};
pFont->DrawText(szStr,-1,&rect,DT_LEFT | DT_BOTTOM | DT_SINGLELINE | DT_NOCLIP,0xffffffff);
この3行目でエラーが出ます。
検索してもDrawText(A/W)の引数は5個書かれているものしかありません。
この引数をはどう変えれば良いのでしょうか?
0239デフォルトの名無しさん
2006/08/16(水) 15:19:08自分で簡単に作れる部分なので、使うメリットは微塵もない。
0240デフォルトの名無しさん
2006/08/16(水) 16:10:590241デフォルトの名無しさん
2006/08/16(水) 16:34:470242238
2006/08/16(水) 17:14:55>>240のやり方で問題は解決されました。
ヘルプやMSDNを検索してみたのですがこの関数だけ古いものしか出てきませんでした。
0243デフォルトの名無しさん
2006/08/16(水) 18:29:350244デフォルトの名無しさん
2006/08/16(水) 22:37:50class Graphics {
public:
Graphics(); {}
Graphics(HWND hWnd) {
Initialize(hWnd);
}
void Initialize(HWND hWnd) {
this->hWnd = hWnd;
後はttp://rina.jpn.ph/~rance/directx8/02/05.htmlの
『2.IDirect3D8インターフェイスの取得』と、
『3.IDirect3DDevice8インターフェイスの作成』の
『ウィンドウモード・アプリケーションのデバイス作成例』と似たり寄ったり
(pD3Dなどがメンバである点と、CreateDeviceの返り値を調べ、
失敗ならメッセージボックスを出すようにしてある点で異なる)
}
(省略)
private:
HWND hWnd;
LPDIRECT3D9 pD3D;
D3DPRESENT_PARAMETERS d3dpp;
LPDIRECT3DDEVICE9 pD3DDevice;
(省略)
};
>>245に続く…
0245デフォルトの名無しさん
2006/08/16(水) 22:38:52Graphics graphics;
graphics.Initialize(hWnd);
とするとメッセージボックスは表示されず、描画も問題なく行うことができるのですが、
Graphics* graphics;
graphics = new Graphics(hWnd);
とするとメッセージボックスが出てきてしまい、
無視して描画を行おうとするとメモリ参照エラーが出てしまいます。
両者の違いは何なのでしょうか?
0246デフォルトの名無しさん
2006/08/16(水) 23:26:180247デフォルトの名無しさん
2006/08/16(水) 23:51:48こうなってりゃ平気。
0248デフォルトの名無しさん
2006/08/17(木) 00:06:140249デフォルトの名無しさん
2006/08/17(木) 00:22:380250デフォルトの名無しさん
2006/08/17(木) 04:46:08なんで、どんなメッセージかぐらい書かないんだろうか…
0251244
2006/08/17(木) 04:57:34メッセージボックスはエラーが起こったことを知らせるために
自分で呼び出しているものなので、メッセージに意味はありません。
if(FAILED(pD3D->CreateDevice(〜))) {
MessageBox(〜);
}
みたいな感じです。
0252デフォルトの名無しさん
2006/08/17(木) 06:07:26HRESULTが単なるbool値モドキではなく、
失敗の原因毎に返す値が違うということを>>248-249のおかげで思い出す。
↓
メッセージボックスにHRESULTの値を表示させて
原因を特定するべきだと>>250のおかげで気づく。
↓
D3DERR_INVALIDCALLが返されていることが判明。
メソッドのパラメータに無効な値が設定されているかもしれない。
引数のウィンドウハンドルかD3DPRESENT_PARAMETERS構造体が怪しい。
↓
D3DPRESENT_PARAMETERS構造体を
ZeroMemoryでクリアするのを忘れていたことに気づくorz
単純ミスですみません。皆さんに感謝します。
これは、単にインスタンスを宣言するのとnewによる動的生成を行うのでは
メンバ変数の初期化のされ方が異なるということですかね?
この辺りに詳しい方は是非教えてください。
■ このスレッドは過去ログ倉庫に格納されています