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
+26
View File
@@ -32,6 +32,32 @@
#include "matrix.h"
#include "quat.h"
// colour ramp from http://www.ncl.ucar.edu/Document/Graphics/ColorTables/GMT_wysiwyg.shtml
const Vec4f overdrawRamp[21] =
{
Vec4f(0.000000f, 0.000000f, 0.000000f, 0.0f),
Vec4f(0.250980f, 0.000000f, 0.250980f, 1.0f),
Vec4f(0.250980f, 0.000000f, 0.752941f, 1.0f),
Vec4f(0.000000f, 0.250980f, 1.000000f, 1.0f),
Vec4f(0.000000f, 0.501961f, 1.000000f, 1.0f),
Vec4f(0.000000f, 0.627451f, 1.000000f, 1.0f),
Vec4f(0.250980f, 0.752941f, 1.000000f, 1.0f),
Vec4f(0.250980f, 0.878431f, 1.000000f, 1.0f),
Vec4f(0.250980f, 1.000000f, 1.000000f, 1.0f),
Vec4f(0.250980f, 1.000000f, 0.752941f, 1.0f),
Vec4f(0.250980f, 1.000000f, 0.250980f, 1.0f),
Vec4f(0.501961f, 1.000000f, 0.250980f, 1.0f),
Vec4f(0.752941f, 1.000000f, 0.250980f, 1.0f),
Vec4f(1.000000f, 1.000000f, 0.250980f, 1.0f),
Vec4f(1.000000f, 0.878431f, 0.250980f, 1.0f),
Vec4f(1.000000f, 0.627451f, 0.250980f, 1.0f),
Vec4f(1.000000f, 0.376471f, 0.250980f, 1.0f),
Vec4f(1.000000f, 0.125490f, 0.250980f, 1.0f),
Vec4f(1.000000f, 0.376471f, 0.752941f, 1.0f),
Vec4f(1.000000f, 0.627451f, 1.000000f, 1.0f),
Vec4f(1.000000f, 0.878431f, 1.000000f, 1.0f),
};
static inline size_t matIdx(const size_t x, const size_t y) { return x+y*4; }
Matrix4f Matrix4f::Mul(const Matrix4f &o) const