Add quad overdraw mode. Thanks Stephen Hill (@self_shadow)!

* http://blog.selfshadow.com/2012/11/12/counting-quads/
* Quad Overdraw based on ScenePS4 from the revised implementation. The
  colours are new, up to 20 levels. Picking pixels shows the overdraw level
* Available per-pass and per-drawcall, a pass defined the same way as in
  the mesh view, drawcalls since last clear or RT change.
* List of events now passed through to RenderOverlay the same as RenderMesh
This commit is contained in:
baldurk
2014-08-17 15:28:51 +01:00
parent 8a5150297f
commit 55e0178ec9
19 changed files with 384 additions and 89 deletions
+7 -4
View File
@@ -784,7 +784,7 @@ bool ProxySerialiser::Tick()
RemoveReplacement(ResourceId());
break;
case eCommand_RenderOverlay:
RenderOverlay(ResourceId(), eTexOverlay_None, 0, 0);
RenderOverlay(ResourceId(), eTexOverlay_None, 0, 0, vector<uint32_t>());
break;
case eCommand_PixelHistory:
PixelHistory(0, vector<uint32_t>(), ResourceId(), 0, 0);
@@ -1270,18 +1270,21 @@ PostVSMeshData ProxySerialiser::GetPostVSBuffers(uint32_t frameID, uint32_t even
return ret;
}
ResourceId ProxySerialiser::RenderOverlay(ResourceId texid, TextureDisplayOverlay overlay, uint32_t frameID, uint32_t eventID)
ResourceId ProxySerialiser::RenderOverlay(ResourceId texid, TextureDisplayOverlay overlay, uint32_t frameID, uint32_t eventID, const vector<uint32_t> &passEvents)
{
ResourceId ret;
vector<uint32_t> events = passEvents;
m_ToReplaySerialiser->Serialise("", texid);
m_ToReplaySerialiser->Serialise("", overlay);
m_ToReplaySerialiser->Serialise("", frameID);
m_ToReplaySerialiser->Serialise("", eventID);
m_ToReplaySerialiser->Serialise("", events);
if(m_ReplayHost)
{
ret = m_Remote->RenderOverlay(texid, overlay, frameID, eventID);
ret = m_Remote->RenderOverlay(texid, overlay, frameID, eventID, events);
}
else
{