Oops, somebody removed my triangle-strip vertex submitting, probably not on purpose.
This commit is contained in:
parent
30fe4c5d0d
commit
9c622b790f
|
@ -703,12 +703,15 @@ static void SoftRastRender()
|
||||||
POLY *poly = &gfx3d.polylist->list[gfx3d.indexlist[i]];
|
POLY *poly = &gfx3d.polylist->list[gfx3d.indexlist[i]];
|
||||||
int type = poly->type;
|
int type = poly->type;
|
||||||
|
|
||||||
VERT* verts[4] = {
|
/*VERT* verts[4] = {
|
||||||
&gfx3d.vertlist->list[poly->vertIndexes[0]],
|
&gfx3d.vertlist->list[poly->vertIndexes[0]],
|
||||||
&gfx3d.vertlist->list[poly->vertIndexes[1]],
|
&gfx3d.vertlist->list[poly->vertIndexes[1]],
|
||||||
&gfx3d.vertlist->list[poly->vertIndexes[2]],
|
&gfx3d.vertlist->list[poly->vertIndexes[2]],
|
||||||
type==4?&gfx3d.vertlist->list[poly->vertIndexes[3]]:0
|
type==4?&gfx3d.vertlist->list[poly->vertIndexes[3]]:0
|
||||||
};
|
};*/
|
||||||
|
VERT **verts = new VERT*[type];
|
||||||
|
for(int j = 0; j < type; j++)
|
||||||
|
verts[j] = &gfx3d.vertlist->list[poly->vertIndexes[j]];
|
||||||
|
|
||||||
if(i == 0 || lastPolyAttr != poly->polyAttr)
|
if(i == 0 || lastPolyAttr != poly->polyAttr)
|
||||||
{
|
{
|
||||||
|
@ -749,7 +752,7 @@ static void SoftRastRender()
|
||||||
//note that when we build our triangle vert lists, we reorder them for our renderer.
|
//note that when we build our triangle vert lists, we reorder them for our renderer.
|
||||||
//we should probably fix the renderer so we dont have to do this;
|
//we should probably fix the renderer so we dont have to do this;
|
||||||
//but then again, what does it matter?
|
//but then again, what does it matter?
|
||||||
if(type == 4)
|
/*if(type == 4)
|
||||||
{
|
{
|
||||||
if(backfacing)
|
if(backfacing)
|
||||||
{
|
{
|
||||||
|
@ -792,7 +795,30 @@ static void SoftRastRender()
|
||||||
SubmitVertex(2,verts[0]);
|
SubmitVertex(2,verts[0]);
|
||||||
triangle_from_devmaster();
|
triangle_from_devmaster();
|
||||||
}
|
}
|
||||||
|
}*/
|
||||||
|
for(int j = 1; j < (type-1); j++)
|
||||||
|
{
|
||||||
|
VERT *vert0 = &gfx3d.vertlist->list[poly->vertIndexes[0]];
|
||||||
|
VERT *vert1 = &gfx3d.vertlist->list[poly->vertIndexes[j]];
|
||||||
|
VERT *vert2 = &gfx3d.vertlist->list[poly->vertIndexes[j+1]];
|
||||||
|
|
||||||
|
if(backfacing)
|
||||||
|
{
|
||||||
|
SubmitVertex(0, vert1);
|
||||||
|
SubmitVertex(1, vert2);
|
||||||
|
SubmitVertex(2, vert0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SubmitVertex(0, vert2);
|
||||||
|
SubmitVertex(1, vert1);
|
||||||
|
SubmitVertex(2, vert0);
|
||||||
|
}
|
||||||
|
|
||||||
|
triangle_from_devmaster();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete verts;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue