tracing Ogre frame, making sure all furniture use the same material
This commit is contained in:
32
Game.cpp
32
Game.cpp
@@ -21,6 +21,7 @@
|
||||
#include "physics.h"
|
||||
#include "sound.h"
|
||||
#include <tracy/Tracy.hpp>
|
||||
#include <tracy/TracyC.h>
|
||||
class App;
|
||||
class SkyRenderer : public Ogre::SceneManager::Listener {
|
||||
protected:
|
||||
@@ -171,6 +172,32 @@ public:
|
||||
mSkyBoxGenParameters.skyBoxDistance = distance;
|
||||
}
|
||||
};
|
||||
class FrameListenerTrace : public Ogre::FrameListener {
|
||||
public:
|
||||
TracyCZoneCtx mzone;
|
||||
FrameListenerTrace()
|
||||
: initialized(false)
|
||||
{
|
||||
}
|
||||
bool frameStarted(const Ogre::FrameEvent &evt) override
|
||||
{
|
||||
TracyCZoneN(ctx, "OgreFrame", true);
|
||||
mzone = ctx;
|
||||
return true;
|
||||
}
|
||||
bool frameRenderingQueued(const Ogre::FrameEvent &evt) override
|
||||
{
|
||||
TracyCZoneEnd(mzone);
|
||||
return true;
|
||||
}
|
||||
bool frameEnded(const Ogre::FrameEvent &evt) override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
bool initialized;
|
||||
};
|
||||
class App;
|
||||
class KeyboardListener : public OgreBites::InputListener {
|
||||
App *mApp;
|
||||
@@ -333,6 +360,8 @@ public:
|
||||
mScnMgr->addRenderQueueListener(pOverlaySystem);
|
||||
mScnMgrInterior->addRenderQueueListener(pOverlaySystem);
|
||||
mScnMgrInventory->addRenderQueueListener(pOverlaySystem);
|
||||
FrameListenerTrace *trace = OGRE_NEW FrameListenerTrace;
|
||||
root->addFrameListener(trace);
|
||||
// mTrayMgr = new OgreBites::TrayManager("AppTrays",
|
||||
// getRenderWindow());
|
||||
}
|
||||
@@ -432,6 +461,7 @@ public:
|
||||
Ogre::RTShader::ShaderGenerator *shadergen =
|
||||
Ogre::RTShader::ShaderGenerator::getSingletonPtr();
|
||||
shadergen->addSceneManager(scnMgr);
|
||||
scnMgr->setShadowTechnique(Ogre::SHADOWTYPE_NONE);
|
||||
setWindowGrab(true);
|
||||
std::cout << "Init camera"
|
||||
<< "\n";
|
||||
@@ -633,7 +663,7 @@ end:
|
||||
void createContent()
|
||||
{
|
||||
int i;
|
||||
mJolt = new JoltPhysicsWrapper(mScnMgr, mCameraNode);
|
||||
mJolt = new JoltPhysicsWrapper(mScnMgr, mCameraNode);
|
||||
|
||||
sky = new SkyBoxRenderer(getSceneManager());
|
||||
bool drawFirst = true;
|
||||
|
||||
Reference in New Issue
Block a user