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
+2
View File
@@ -125,6 +125,8 @@ namespace renderdoc
ViewportScissor,
NaN,
Clipping,
QuadOverdrawPass,
QuadOverdrawDraw,
};
public enum SpecialFormat
+3 -1
View File
@@ -554,7 +554,9 @@
"Stencil Test",
"Viewport/Scissor Region",
"NaN/INF/-ve Display",
"Clipping"});
"Clipping",
"Quad Overdraw (Pass)",
"Quad Overdraw (Draw)"});
this.overlay.Name = "overlay";
this.overlay.Size = new System.Drawing.Size(121, 25);
this.overlay.SelectedIndexChanged += new System.EventHandler(this.overlay_SelectedIndexChanged);
+8
View File
@@ -1331,6 +1331,14 @@ namespace renderdocui.Windows
bool uintTex = (tex.format.compType == FormatComponentType.UInt);
bool sintTex = (tex.format.compType == FormatComponentType.SInt);
if (m_TexDisplay.overlay == TextureDisplayOverlay.QuadOverdrawPass ||
m_TexDisplay.overlay == TextureDisplayOverlay.QuadOverdrawDraw)
{
dsv = false;
uintTex = false;
sintTex = true;
}
if (m_CurHoverValue != null)
{
if (dsv || uintTex || sintTex)