12GX_CORE_NAMESPACE_BEGIN()
41 void cleanup(
void)
override;
63 void issueBegin(u32 queryIndex = 0);
65 void issueEnd(u32 queryIndex = 0,
b32 flush =
false);
67 b32 getDataSync(
void* pData, u32 size);
69 b32 getDataAsync(
void* pData, u32 size);
70#if GX_ENABLE_OCCLUSION_CULLING
72 constexpr u32 addQuery(
void) {
return _queryCount++; }
74 void resolveOcclusionQuery(
void);
76 void mapOcclusionResult(
void);
78 b32 isOcclusion(u32 queryIndex)
const;
81 void setOcclusion(u32 queryIndex,
b32 flag)
const;
87 GX_FORCE_INLINE
GxString getRenderNotifierName(
void)
const override {
GxString string;
return string.
format(
"ClassName:%s",
getRtti().getClassName()); }
93 D3D12_QUERY_HEAP_TYPE getQueryHeapType(
void)
const;
95 D3D12_QUERY_TYPE getQueryType(
void)
const;
106#if GX_ENABLE_OCCLUSION_CULLING
107 GxNativeQueryResult _pQueryResult;
110 ID3D11Query* _pD3D11Query;
112 ComPtr<ID3D12QueryHeap> _pQueryHeap;
113 u64* _pOcclusionResult;
119GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
RENDER_QUERY_TYPE
クエリタイプ
Definition GxRender.h:1228
参照オブジェクト基底クラス
Definition GxBase.h:122
virtual GxRtti & getRtti(void) const =0
Rttiの取得
描画関連の依存をこのクラスで吸収します
Definition GxRenderDevice.h:450
b32 initialize(const GxRenderDeviceInitialInformation *pInitialInformation)
初期化関数
Definition GxRenderDevice.cpp:1017
描画関連のイベントを通知します
Definition GxRenderNotifier.h:22
GPUクエリを管理する
Definition GxRenderQuery.h:19
GX_FORCE_INLINE void onLostDevice(void) override
デバイスが消失した時点で通知
Definition GxRenderQuery.h:57
GX_FORCE_INLINE b32 onResetDevice(void) override
デバイスのリセット後に通知
Definition GxRenderQuery.h:60
u32 _queryCount
クエリの種類
Definition GxRenderQuery.h:105
文字列型クラス
Definition GxString.h:18
const GxString & format(GX_CSTR format,...)
フォーマット出力
Definition GxString.cpp:1913
32bitブーリアン
Definition GxDefine.h:173