这实际上是两个问题合二为一,但都与 DXUT 相关。
如何配置项目以在 Visual Studio 2010 中使用 DXUT?我是否需要将所有头文件和源文件添加到我想要使用 DXUT 的任何项目中?我可以将 ($DXSDK_DIR)\Samples\C++\DXUT\Core 添加到我的 Include 目录中吗?
是否有 D3D10 相当于:
DXUTSetCallbackD3D9DeviceReset( OnResetDevice ); DXUTSetCallbackD3D9DeviceLost( OnLostDevice );
如果没有,为什么?
#include <Windows.h>
#include <DXUT.h>
#include <DXUTmisc.h>
//--------------------------------------------------------------------------------------
// Reject any D3D10 devices that aren't acceptable by returning false
//--------------------------------------------------------------------------------------
bool CALLBACK IsD3D10DeviceAcceptable( UINT Adapter, UINT Output, D3D10_DRIVER_TYPE DeviceType,
DXGI_FORMAT BufferFormat, bool bWindowed, void* pUserContext )
{
return true;
}
//--------------------------------------------------------------------------------------
// Create any D3D10 resources that aren't dependant on the back buffer
//--------------------------------------------------------------------------------------
HRESULT CALLBACK …Run Code Online (Sandbox Code Playgroud) MSDN中GlobalMemoryStatusEx()的描述说:
GlobalMemoryStatusEx函数返回的信息是易失的.无法保证对此函数的两次连续调用将返回相同的信息.
此函数返回的一条信息是"以字节为单位的总物理内存".(这与可用的免费物理内存量不同,MEMORYSTATUSEX结构中还有另一个成员.)
每次运行程序时,总物理内存如何变化?我将值输出到文本文件并获得以下结果:
55872198592
55837267904
8589934605
55835301824
55848146880
55849064384
55849129920
55836743616
8589934605
8589934605
8589934605
8589934605
55835105216
Run Code Online (Sandbox Code Playgroud)
我有4GB的系统RAM.如果我在64位操作系统上,是否需要调用另一个API函数?
这是代码:
#include <Windows.h>
#include <string>
#include <sstream>
#include "Game.h"
#include <fstream>
void Game::CheckMemory(DWORDLONG& a)
{
MEMORYSTATUSEX status;
GlobalMemoryStatusEx(&status);
a = status.ullTotalPhys;
std::stringstream ss;
ss << "Total Physical Memory: " << status.ullTotalPhys << "bytes." << std::endl;
MessageBoxA(NULL, ss.str().c_str(), "Mem Summary", 0);
}
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
DWORDLONG a;
Game g;
g.CheckMemory(a);
std::fstream fs("test.txt", std::fstream::in | …Run Code Online (Sandbox Code Playgroud)