Add a tab to show vertex values to the GE debugger.

Should be pretty useful, especially for depth issues.
This commit is contained in:
Unknown W. Brackets committed 2014-02-08 22:03:29 -08:00
1 parent 9798af3b17
commit e7eca477b0
11 files changed
+422 -11

No files matched your search

+24 -4
View File
@@ -534,22 +534,42 @@ bool TransformUnit::GetCurrentSimpleVertices(int count, std::vector<GPUDebugVert
const SimpleVertex &vert = simpleVertices[i];
if (gstate.isModeThrough()) {
vertices[i].u = vert.uv[0];
vertices[i].v = vert.uv[1];
if (gstate.vertType & GE_VTYPE_TC_MASK) {
vertices[i].u = vert.uv[0];
vertices[i].v = vert.uv[1];
} else {
vertices[i].u = 0.0f;
vertices[i].v = 0.0f;
}
vertices[i].x = vert.pos.x;
vertices[i].y = vert.pos.y;
vertices[i].z = vert.pos.z;
if (gstate.vertType & GE_VTYPE_COL_MASK) {
memcpy(vertices[i].c, vert.color, sizeof(vertices[i].c));
} else {
memset(vertices[i].c, 0, sizeof(vertices[i].c));
}
} else {
float clipPos[4];
Vec3ByMatrix44(clipPos, vert.pos.AsArray(), worldviewproj);
ScreenCoords screenPos = ClipToScreen(clipPos);
DrawingCoords drawPos = ScreenToDrawing(screenPos);
vertices[i].u = vert.uv[0];
vertices[i].v = vert.uv[1];
if (gstate.vertType & GE_VTYPE_TC_MASK) {
vertices[i].u = vert.uv[0];
vertices[i].v = vert.uv[1];
} else {
vertices[i].u = 0.0f;
vertices[i].v = 0.0f;
}
vertices[i].x = drawPos.x;
vertices[i].y = drawPos.y;
vertices[i].z = 1.0;
if (gstate.vertType & GE_VTYPE_COL_MASK) {
memcpy(vertices[i].c, vert.color, sizeof(vertices[i].c));
} else {
memset(vertices[i].c, 0, sizeof(vertices[i].c));
}
}
}