let's keep experimenting:

almost fixed real xfb in d3d, i say almost because there are some minor scalling problems. hope will fix them soon.
implemented a more intelligent index generator to emulate more accurately the behavior of the gc.
please give me feedback on this changes.
enjoy :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5465 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Rodolfo Osvaldo Bogado
2010-05-22 21:58:43 +00:00
parent b1a79b822d
commit 782d9111e5
7 changed files with 234 additions and 86 deletions

View File

@ -107,12 +107,12 @@ void AddIndices(int primitive, int numVertices)
{
switch (primitive)
{
case GX_DRAW_QUADS: if ((numVertices % 4) == 0 ) {IndexGenerator::AddQuads(numVertices);} else {IndexGenerator::AddFan(numVertices);} break;
case GX_DRAW_TRIANGLES: if ((numVertices % 3) == 0 ) {IndexGenerator::AddList(numVertices);} else {IndexGenerator::AddStrip(numVertices);} break;
case GX_DRAW_QUADS: IndexGenerator::AddQuads(numVertices);break;
case GX_DRAW_TRIANGLES: IndexGenerator::AddList(numVertices);break;
case GX_DRAW_TRIANGLE_STRIP: IndexGenerator::AddStrip(numVertices); break;
case GX_DRAW_TRIANGLE_FAN: IndexGenerator::AddFan(numVertices); break;
case GX_DRAW_LINE_STRIP: IndexGenerator::AddLineStrip(numVertices); break;
case GX_DRAW_LINES: if ((numVertices % 2) == 0 ) {IndexGenerator::AddLineList(numVertices);} else {IndexGenerator::AddLineStrip(numVertices);} break;
case GX_DRAW_LINES: IndexGenerator::AddLineList(numVertices);break;
case GX_DRAW_POINTS: IndexGenerator::AddPoints(numVertices); break;
}
}