59 |
ObjectStorer<Vob0> &r0s, |
ObjectStorer<Vob0> &r0s, |
60 |
ObjectStorer<Vob1> &r1s, |
ObjectStorer<Vob1> &r1s, |
61 |
ObjectStorer<Vob2> &r2s, |
ObjectStorer<Vob2> &r2s, |
62 |
ObjectStorer<Vob> &r3s) { |
ObjectStorer<Vob> &r3s) ; |
|
int i=0; |
|
|
DBG(dbg_renderer) << "renderScene\n"; |
|
|
while(codes[i] != 0) { |
|
|
DBG(dbg_renderer) << "Rendercode "<<i<<" "<<codes[i]<<"\n"; |
|
|
// cout << "Code: "<<codes[i]<<"\n"; |
|
|
int code = codes[i] & ~RMASK; |
|
|
if((codes[i] & RMASK) == RENDERABLE0) { |
|
|
DBG(dbg_renderer) << "rend0 "<<r0s[code]<<"\n"; |
|
|
r0s[code]->render0(); |
|
|
i += 1; |
|
|
} |
|
|
else if((codes[i] & RMASK) == RENDERABLE1) { |
|
|
Transform *cs1 = coordset.get(codes[i+1]); |
|
|
DBG(dbg_renderer) << "rend1 "<<r1s[code]<<": "<<codes[i+1]<<" "<<cs1<<"\n"; |
|
|
if(cs1) |
|
|
r1s[code]->render1(*cs1); |
|
|
i += 2; |
|
|
} |
|
|
else if((codes[i] & RMASK) == RENDERABLE2) { |
|
|
Transform *cs1 = coordset.get(codes[i+1]); |
|
|
Transform *cs2 = coordset.get(codes[i+2]); |
|
|
DBG(dbg_renderer) << "rend2 "<<r2s[code]<<": " |
|
|
<<codes[i+1]<<" "<<cs1<<" "<<codes[i+2]<<" "<<cs2<<"\n"; |
|
|
if(cs1 && cs2) |
|
|
r2s[code]->render2(*cs1, *cs2); |
|
|
i += 3; |
|
|
} |
|
|
else if((codes[i] & RMASK) == RENDERABLE3) { |
|
|
Transform *cs1 = coordset.get(codes[i+1]); |
|
|
Transform *cs2 = coordset.get(codes[i+2]); |
|
|
Transform *cs3 = coordset.get(codes[i+3]); |
|
|
DBG(dbg_renderer) << "rend3 "<<r3s[code]<<": " |
|
|
<<codes[i+1]<<" "<<cs1<<" "<<codes[i+2]<<" "<<cs2<<" " |
|
|
<<cs3<<" "<<codes[i+3]<<"\n"; |
|
|
/* XXX |
|
|
if(cs1 && cs2 && cs3) |
|
|
r3s[code]->render(*cs1, *cs2, *cs3); |
|
|
*/ |
|
|
i += 4; |
|
|
} |
|
|
else { |
|
|
// We have a problem |
|
|
cout << "HELP!\n"; |
|
|
std::cerr << "We seem to have a problem!!! "<<codes[i]<<"\n"; |
|
|
cout << "HELP!\n"; |
|
|
exit(19); |
|
|
} |
|
|
} |
|
|
DBG(dbg_renderer) << "renderScene end\n"; |
|
|
} |
|
63 |
}; |
}; |
64 |
|
|
65 |
|
|