トップページ > プログラム > 2015年02月20日 > I+scCS4N

書き込み順位&時間帯一覧

66 位/216 ID中時間01234567891011121314151617181920212223Total
書き込み数0000010000000000000000001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止]©2ch.net

書き込みレス一覧

【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止]©2ch.net
102 :デフォルトの名無しさん[]:2015/02/20(金) 05:41:17.60 ID:I+scCS4N
[内容: DirectX 11 の DXUT :: DXUTState :: m_State の使い方に関して。]
DirectX SDKの "DXUT"について、ちょっと質問です。

現在の開発環境は、OS: Windows 7 SP1, C++での開発環境は VC++2010 Express SP1, Windows 8 SDKを導入済み、DirectX11.0 用のSDK (June 2010)を使っています。

DXUTState

というインターフェイスがありますよね、DirectX 9c の後半頃からありますが。こいつの DXUTState::m_State

は実質的には DXUTを使うにあたってのグローバル・クラス変数的、な役割だと思うのですが。
DXUTを使う場合、グローバル変数 g_DXUTState がすでにあるのに、グローバル変数で直接アクセスしないで、GetDXUTState() で関数ポインタ一時変数やとにかくローカル変数

経由でメンバ変数やメンバ関数にアクセスしています。

その本質的な理由(データを隠す以外の)を教えてください。自分なりに想像してみたのですが、はっきりしません。


・マルチスレッドでのデッドロックを避けるために、排他制御で必須?
・CPU(やGPU)のキャッシュメモリ(L1,L2,L3, etc) を有効・高速に使えるため?
・シェーダ活用での相性的に。
・(やっぱり単にデータを隠したいだけ。C++らしく。)
・(MicroSoftだから。風格・威厳がコードには必須。)


いずれC言語にカスタム化(必要な部分のみ)したいと考えていたのですが、どうも以前のフレームワーク移植時のようにはいかないような気がして、質問してみました。
使いづらいため、DXUTでの DXUTState::m_State 間接アクセスの理由を知っておきたいです。
どうかお願いします。
(※ちなみに、C++を使うにしても、メンバーはすべてPublicで結構です。可読性が良いので。)


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。