本文整理汇总了C++中ISceneManager::getRenderedMeshNum方法的典型用法代码示例。如果您正苦于以下问题:C++ ISceneManager::getRenderedMeshNum方法的具体用法?C++ ISceneManager::getRenderedMeshNum怎么用?C++ ISceneManager::getRenderedMeshNum使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISceneManager
的用法示例。
在下文中一共展示了ISceneManager::getRenderedMeshNum方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
SDeviceContextSettings settings;
settings.MultiSamplingCount = 4;
settings.MultiSamplingQuality = 32;
IApplication* device = gf::createDevice(EDT_DIRECT3D11, SCREEN_WIDTH, SCREEN_HEIGHT, EWS_NONE, true, settings);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->createSceneManager();
IMeshManager* meshManager = driver->getMeshManager();
IMaterialManager* materialManager = driver->getMaterialManager();
ITextureManager* textureManager = driver->getTextureManager();
IResourceGroupManager* resourceGroupManager = driver->getResourceGroupManager();
resourceGroupManager->init("Resources.cfg");
// resourceGroupManager->loadResourceGroup("General");
ILightNode* light = smgr->addDirectionalLight(1, nullptr, XMFLOAT3(3.0f, -2.0f, 1.5f));
light->setSpecular(XMFLOAT4(1.0f, 1.0f, 1.0f, 32.0f));
light->setDiffuse(XMFLOAT4(0.4f, 0.4f, 0.4f, 1.0f));
ILightNode* light2 = smgr->addDirectionalLight(2, nullptr, XMFLOAT3(-2.0f, -3.0f, -2.0f));
light2->setSpecular(XMFLOAT4(1.0f, 1.0f, 1.0f, 32.0f));
light2->setDiffuse(XMFLOAT4(0.5f, 0.5f, 0.5f, 1.0f));
ICameraNode* camera = smgr->addFpsCameraNode(1, nullptr, XMFLOAT3(0, 30.0f, -4.0f), XMFLOAT3(0, 30.0f, 0.0f), XMFLOAT3(0, 1.0f, 0), true);
camera->setViewWidth(300);
camera->setViewHeight(200);
char caption[200];
std::string rawFileName("heightmap.raw");
ITerrainMesh* mesh = meshManager->createTerrainMesh("terrain", rawFileName,
3.0f, 0.4f, false, true, 1.0f);
ITerrainNode* terrainNode = smgr->addTerrainNode(mesh);
//terrainNode->setMaterialName("terrain/tessellation_material");
terrainNode->setMaterialName("terrain/terrain_material");
ITextureCube* skyTexture = textureManager->loadCubeTexture("Snow.dds");
smgr->setSkyDome(skyTexture);
IRenderTarget* pRenderTarget = textureManager->getRenderTarget("target1");
ITimer* timer = device->getTimer();
timer->reset();
while (device->run())
{
const float clearColor[] = { 0.0f, 0.0f, 0.0f, 1.0f };
driver->beginScene(true, true, clearColor);
u32 ms = timer->tick();
float dt = ms * 0.001f;
updateCamera(camera, dt);
XMFLOAT3 camPos = camera->getPosition();
float terrainHeight = terrainNode->getHeight(camPos.x, camPos.z, true);
camPos.y = terrainHeight + 3.0f;
//camera->setPosition(camPos);
smgr->update(ms);
smgr->drawAll();
driver->endScene();
u32 num = smgr->getRenderedMeshNum();
sprintf(caption, "FPS:%f num:%d", getFps(dt), num);
device->setWindowCaption(caption);
}
smgr->destroy();
device->drop();
return 0;
}
示例2: _tmain
int _tmain(int argc, _TCHAR* argv[])
{
SDeviceContextSettings settings;
settings.MultiSamplingCount = 4;
settings.MultiSamplingQuality = 32;
IDevice* device = gf::createDevice(EDT_DIRECT3D11, SCREEN_WIDTH, SCREEN_HEIGHT, EWS_NONE, true, settings);
IVideoDriver* driver = device->getVideoDriver();
math::SAxisAlignedBox aabb;
aabb.Center = XMFLOAT3(0, 0.0f, 0);
aabb.Extents = XMFLOAT3(3000.0f, 1000.0f, 3000.0f);
ISceneManager* smgr = device->createSceneManager(aabb);
IMeshManager* meshManager = driver->getMeshManager();
IMaterialManager* materialManager = driver->getMaterialManager();
ITextureManager* textureManager = driver->getTextureManager();
IResourceGroupManager* resourceGroupManager = driver->getResourceGroupManager();
resourceGroupManager->init("Resources.cfg");
ILightNode* light = smgr->addDirectionalLight(1, nullptr, XMFLOAT3(3.0f, -2.0f, 1.5f));
light->setSpecular(XMFLOAT4(1.0f, 1.0f, 1.0f, 32.0f));
light->setDiffuse(XMFLOAT4(0.4f, 0.4f, 0.4f, 1.0f));
light->enableShadow(true);
ICameraNode* camera = smgr->addFpsCameraNode(1, nullptr, XMFLOAT3(0, 30.0f, -4.0f),
XMFLOAT3(0, 30.0f, 0.0f), XMFLOAT3(0, 1.0f, 0), true);
camera->setShadowRange(200.0f);
buildGrassLand(smgr);
ISimpleMesh* groundMesh = meshManager->createPlaneMesh("ground", GROUND_SIZE, GROUND_SIZE, 50, 50, 10.0f, 10.0f);
IMeshNode* groundNode = smgr->addMeshNode(groundMesh, nullptr, nullptr, false);
groundNode->setMaterialName("ground_material");
ITextureCube* skyTexture = textureManager->loadCubeTexture("skybox1.dds");
smgr->setSkyDome(skyTexture);
ITimer* timer = device->getTimer();
timer->reset();
char caption[200];
while (device->run())
{
const float clearColor[] = { 0.0f, 0.0f, 0.0f, 1.0f };
driver->beginScene(true, true, clearColor);
f32 dt = timer->tick();
updateCamera(camera, dt);
g_grassLand->update(dt);
smgr->update(dt);
smgr->drawAll();
driver->endScene();
u32 num = smgr->getRenderedMeshNum();
sprintf(caption, "FPS:%f num:%d", getFps(dt), num);
device->setWindowCaption(caption);
}
smgr->destroy();
device->drop();
return 0;
}