|
|
@ -356,7 +356,7 @@ bool plPageTreeMgr::IRenderSortingSpans(plPipeline* pipe, hsTArray<plDrawVisList |
|
|
|
plDrawable* drawable = drawList[pairs[i].fDrawable]->fDrawable; |
|
|
|
plDrawable* drawable = drawList[pairs[i].fDrawable]->fDrawable; |
|
|
|
|
|
|
|
|
|
|
|
listTrav = &scratchList[iSort++]; |
|
|
|
listTrav = &scratchList[iSort++]; |
|
|
|
listTrav->fBody = (void*)*(uint32_t*)&pairs[i]; |
|
|
|
listTrav->fBody = (void*)&pairs[i]; |
|
|
|
listTrav->fNext = listTrav + 1; |
|
|
|
listTrav->fNext = listTrav + 1; |
|
|
|
|
|
|
|
|
|
|
|
if( drawable->GetNativeProperty(plDrawable::kPropSortAsOne) ) |
|
|
|
if( drawable->GetNativeProperty(plDrawable::kPropSortAsOne) ) |
|
|
@ -404,7 +404,7 @@ bool plPageTreeMgr::IRenderSortingSpans(plPipeline* pipe, hsTArray<plDrawVisList |
|
|
|
listTrav = sortedList; |
|
|
|
listTrav = sortedList; |
|
|
|
while( listTrav ) |
|
|
|
while( listTrav ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
plDrawSpanPair& curPair = *(plDrawSpanPair*)&listTrav->fBody; |
|
|
|
plDrawSpanPair& curPair = *(plDrawSpanPair*)listTrav->fBody; |
|
|
|
drawList[curPair.fDrawable]->fVisList.Append(curPair.fSpan); |
|
|
|
drawList[curPair.fDrawable]->fVisList.Append(curPair.fSpan); |
|
|
|
listTrav = listTrav->fNext; |
|
|
|
listTrav = listTrav->fNext; |
|
|
|
} |
|
|
|
} |
|
|
@ -423,14 +423,14 @@ bool plPageTreeMgr::IRenderSortingSpans(plPipeline* pipe, hsTArray<plDrawVisList |
|
|
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
#if 0 |
|
|
|
listTrav = sortedList; |
|
|
|
listTrav = sortedList; |
|
|
|
plDrawSpanPair& curPair = *(plDrawSpanPair*)&listTrav->fBody; |
|
|
|
plDrawSpanPair& curPair = *(plDrawSpanPair*)listTrav->fBody; |
|
|
|
int curDraw = curPair.fDrawable; |
|
|
|
int curDraw = curPair.fDrawable; |
|
|
|
visList.Append(curPair.fSpan); |
|
|
|
visList.Append(curPair.fSpan); |
|
|
|
listTrav = listTrav->fNext; |
|
|
|
listTrav = listTrav->fNext; |
|
|
|
|
|
|
|
|
|
|
|
while( listTrav ) |
|
|
|
while( listTrav ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
curPair = *(plDrawSpanPair*)&listTrav->fBody; |
|
|
|
curPair = *(plDrawSpanPair*)listTrav->fBody; |
|
|
|
if( curPair.fDrawable != curDraw ) |
|
|
|
if( curPair.fDrawable != curDraw ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
pipe->Render(drawList[curDraw]->fDrawable, visList); |
|
|
|
pipe->Render(drawList[curDraw]->fDrawable, visList); |
|
|
@ -447,7 +447,7 @@ bool plPageTreeMgr::IRenderSortingSpans(plPipeline* pipe, hsTArray<plDrawVisList |
|
|
|
pipe->Render(drawList[curDraw]->fDrawable, visList); |
|
|
|
pipe->Render(drawList[curDraw]->fDrawable, visList); |
|
|
|
#else |
|
|
|
#else |
|
|
|
listTrav = sortedList; |
|
|
|
listTrav = sortedList; |
|
|
|
plDrawSpanPair& curPair = *(plDrawSpanPair*)&listTrav->fBody; |
|
|
|
plDrawSpanPair& curPair = *(plDrawSpanPair*)listTrav->fBody; |
|
|
|
int curDraw = curPair.fDrawable; |
|
|
|
int curDraw = curPair.fDrawable; |
|
|
|
listTrav = listTrav->fNext; |
|
|
|
listTrav = listTrav->fNext; |
|
|
|
|
|
|
|
|
|
|
@ -458,7 +458,7 @@ bool plPageTreeMgr::IRenderSortingSpans(plPipeline* pipe, hsTArray<plDrawVisList |
|
|
|
|
|
|
|
|
|
|
|
while( listTrav ) |
|
|
|
while( listTrav ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
curPair = *(plDrawSpanPair*)&listTrav->fBody; |
|
|
|
curPair = *(plDrawSpanPair*)listTrav->fBody; |
|
|
|
if( curPair.fDrawable != curDraw ) |
|
|
|
if( curPair.fDrawable != curDraw ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
pipe->Render(drawList[curDraw]->fDrawable, visList); |
|
|
|
pipe->Render(drawList[curDraw]->fDrawable, visList); |
|
|
@ -704,4 +704,4 @@ void plPageTreeMgr::IResetOcclusion(plPipeline* pipe) |
|
|
|
{ |
|
|
|
{ |
|
|
|
fCullPolys.SetCount(0); |
|
|
|
fCullPolys.SetCount(0); |
|
|
|
fSortedCullPolys.SetCount(0); |
|
|
|
fSortedCullPolys.SetCount(0); |
|
|
|
} |
|
|
|
} |
|
|
|