本文整理汇总了C++中LPDIRECT3DDEVICE9::CreateQuery方法的典型用法代码示例。如果您正苦于以下问题:C++ LPDIRECT3DDEVICE9::CreateQuery方法的具体用法?C++ LPDIRECT3DDEVICE9::CreateQuery怎么用?C++ LPDIRECT3DDEVICE9::CreateQuery使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LPDIRECT3DDEVICE9
的用法示例。
在下文中一共展示了LPDIRECT3DDEVICE9::CreateQuery方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: initOcclusionQuery
bool Graphics::initOcclusionQuery(uint* occlusionQuery) {
// check if the runtime supports queries
HRESULT result = device->CreateQuery(D3DQUERYTYPE_OCCLUSION, NULL);
if (FAILED(result)) {
Kore::log(Kore::LogLevel::Warning, "Internal query creation failed, result: 0x%X.", result);
return false;
}
IDirect3DQuery9* pQuery = nullptr;
device->CreateQuery(D3DQUERYTYPE_OCCLUSION, &pQuery);
queryPool.push_back(pQuery);
*occlusionQuery = queryCount;
++queryCount;
return true;
}
示例2: Check
int Application::Check()
{
// リリースコンパイルのときはDirect3Dランタイムがリテールモードのときのみ実行可能とする
// ランタイムモードをチェックする
IDirect3DQuery9** ppQuery = NULL;
if (SUCCEEDED(d3dDevice->CreateQuery(D3DQUERYTYPE_VERTEXSTATS, ppQuery)))
{
::MessageBox(hWnd, "Direct3Dランタイムがデバッグモードです。リテールモードに変更してください。", "実行時エラー", MB_OK);
::DestroyWindow(hWnd);
return 0;
}
}
示例3: InitResourceDX9
bool InitResourceDX9(void)
{
// 取得Direct3D 9裝置
LPDIRECT3DDEVICE9 device = GutGetGraphicsDeviceDX9();
// 設定視角轉換矩陣
g_projection_matrix = GutMatrixPerspectiveRH_DirectX(90.0f, 1.0f, 0.1f, 100.0f);
device->SetTransform(D3DTS_PROJECTION, (D3DMATRIX *) &g_projection_matrix);
// 關閉打光
device->SetRenderState(D3DRS_LIGHTING, FALSE);
// 改變三角形正面的面向
device->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
//
device->CreateQuery(D3DQUERYTYPE_OCCLUSION, &g_pOcclusionQuery[0]);
device->CreateQuery(D3DQUERYTYPE_OCCLUSION, &g_pOcclusionQuery[1]);
return true;
}
示例4:
HRESULT HookIDirect3DDevice9::CreateQuery(LPVOID _this, D3DQUERYTYPE Type,IDirect3DQuery9** ppQuery)
{
LOG_API();
return pD3Dev->CreateQuery(Type, ppQuery);
}