Let's try rodolfo's fix of 4322

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4343 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard
2009-09-29 18:27:41 +00:00
parent 4d5eba2ec9
commit e6b30e574e
3 changed files with 238 additions and 40 deletions

View File

@ -21,6 +21,8 @@
#ifndef _INDEXGENERATOR_H
#define _INDEXGENERATOR_H
class IndexGenerator
{
public:
@ -46,4 +48,55 @@ private:
bool onlyLists;
};
class IndexGenerator2
{
public:
//Init
void Start(unsigned short *Triangleptr,unsigned short *Lineptr,unsigned short *Pointptr);
//Triangles
void AddList(int numVerts);
void AddStrip(int numVerts);
void AddFan(int numVerts);
void AddQuads(int numVerts);
//Lines
void AddLineList(int numVerts);
void AddLineStrip(int numVerts);
//Points
void AddPoints(int numVerts);
//Interface
int GetNumTriangles() {return numT;}
int GetNumLines() {return numL;}
int GetNumPoints() {return numP;}
int GetNumVerts() {return index;} //returns numprimitives
int GetNumAdds() {return Tadds + Ladds + Padds;}
int GetTriangleindexLen() {return TindexLen;}
int GetLineindexLen() {return LindexLen;}
int GetPointindexLen() {return PindexLen;}
public:
enum IndexPrimitiveType
{
None,
List,
Strip,
Fan
};
private:
unsigned short *Tptr;
unsigned short *Lptr;
unsigned short *Pptr;
int numT;
int numL;
int numP;
int index;
int Tadds;
int Ladds;
int Padds;
int TindexLen;
int LindexLen;
int PindexLen;
IndexPrimitiveType LastTPrimitive;
IndexPrimitiveType LastLPrimitive;
};
#endif // _INDEXGENERATOR_H