27 |
DBGVAR(dbg_paperquad, "Paperquad"); |
DBGVAR(dbg_paperquad, "Paperquad"); |
28 |
} |
} |
29 |
|
|
30 |
|
namespace Irregu { |
31 |
|
DBGVAR(dbg_irregu, "Irregu"); |
32 |
|
} |
33 |
|
|
34 |
namespace CurrentFPS { |
namespace CurrentFPS { |
35 |
// bool showFPS; |
// bool showFPS; |
36 |
double current_fps; |
double current_fps; |
64 |
|
|
65 |
} |
} |
66 |
|
|
67 |
|
void Renderer::renderScene(int *codes, |
68 |
|
ObjectStorer<Vob0> &r0s, |
69 |
|
ObjectStorer<Vob1> &r1s, |
70 |
|
ObjectStorer<Vob2> &r2s, |
71 |
|
ObjectStorer<Vob> &r3s) { |
72 |
|
int i=0; |
73 |
|
DBG(dbg_renderer) << "renderScene\n"; |
74 |
|
while(codes[i] != 0) { |
75 |
|
DBG(dbg_renderer) << "Rendercode "<<i<<" "<<codes[i]<<"\n"; |
76 |
|
// cout << "Code: "<<codes[i]<<"\n"; |
77 |
|
int code = codes[i] & ~RMASK; |
78 |
|
if((codes[i] & RMASK) == RENDERABLE0) { |
79 |
|
DBG(dbg_renderer) << "rend0 "<<r0s[code]->getVobName()<<" "<<r0s[code]<<"\n"; |
80 |
|
r0s[code]->render0(); |
81 |
|
i += 1; |
82 |
|
} |
83 |
|
else if((codes[i] & RMASK) == RENDERABLE1) { |
84 |
|
Transform *cs1 = coordset.get(codes[i+1]); |
85 |
|
DBG(dbg_renderer) << "rend1 "<<r1s[code]->getVobName()<<" "<<r1s[code]<<": "<<codes[i+1]<<" "<<cs1<<"\n"; |
86 |
|
if(cs1) |
87 |
|
r1s[code]->render1(*cs1); |
88 |
|
i += 2; |
89 |
|
} |
90 |
|
else if((codes[i] & RMASK) == RENDERABLE2) { |
91 |
|
Transform *cs1 = coordset.get(codes[i+1]); |
92 |
|
Transform *cs2 = coordset.get(codes[i+2]); |
93 |
|
DBG(dbg_renderer) << "rend2 "<<r2s[code]->getVobName()<<" "<<r2s[code]<<": " |
94 |
|
<<codes[i+1]<<" "<<cs1<<" "<<codes[i+2]<<" "<<cs2<<"\n"; |
95 |
|
if(cs1 && cs2) |
96 |
|
r2s[code]->render2(*cs1, *cs2); |
97 |
|
i += 3; |
98 |
|
} |
99 |
|
else if((codes[i] & RMASK) == RENDERABLE3) { |
100 |
|
Transform *cs1 = coordset.get(codes[i+1]); |
101 |
|
Transform *cs2 = coordset.get(codes[i+2]); |
102 |
|
Transform *cs3 = coordset.get(codes[i+3]); |
103 |
|
DBG(dbg_renderer) << "rend3 "<<r3s[code]->getVobName()<<" "<<r3s[code]<<": " |
104 |
|
<<codes[i+1]<<" "<<cs1<<" "<<codes[i+2]<<" "<<cs2<<" " |
105 |
|
<<cs3<<" "<<codes[i+3]<<"\n"; |
106 |
|
/* XXX |
107 |
|
if(cs1 && cs2 && cs3) |
108 |
|
r3s[code]->render(*cs1, *cs2, *cs3); |
109 |
|
*/ |
110 |
|
i += 4; |
111 |
|
} |
112 |
|
else { |
113 |
|
// We have a problem |
114 |
|
cout << "HELP!\n"; |
115 |
|
std::cerr << "We seem to have a problem!!! "<<codes[i]<<"\n"; |
116 |
|
cout << "HELP!\n"; |
117 |
|
exit(19); |
118 |
|
} |
119 |
|
} |
120 |
|
DBG(dbg_renderer) << "renderScene end\n"; |
121 |
|
} |
122 |
|
|
123 |
void Renderer::fpsTick() { |
void Renderer::fpsTick() { |
124 |
if(dbg_fps) { |
if(dbg_fps) { |
125 |
double new_time = getTime(); |
double new_time = getTime(); |
126 |
CurrentFPS::current_fps = 1.0/(new_time - CurrentFPS::last_time[CurrentFPS::count]); |
CurrentFPS::current_fps = 1.0/(new_time - CurrentFPS::last_time[CurrentFPS::count]); |
127 |
DBG(dbg_fps_cout) << "CurrentFPS: " << CurrentFPS::current_fps << "\n"; |
DBG(dbg_fps_cout) << "CurrentFPS: " << CurrentFPS::current_fps << "\n"; |
128 |
CurrentFPS::count ++; |
CurrentFPS::count ++; |
129 |
CurrentFPS::count %= CurrentFPS::NCounts; |
CurrentFPS::count %= CurrentFPS::NCounts; |
130 |
CurrentFPS::current_fps5 = CurrentFPS::NCounts * |
CurrentFPS::current_fps5 = CurrentFPS::NCounts * |
131 |
1.0/(new_time - CurrentFPS::last_time[CurrentFPS::count]); |
1.0/(new_time - CurrentFPS::last_time[CurrentFPS::count]); |
132 |
CurrentFPS::last_time[CurrentFPS::count] = new_time; |
CurrentFPS::last_time[CurrentFPS::count] = new_time; |
133 |
|
|
134 |
} |
} |
135 |
} |
} |
136 |
|
|
137 |
|
|
138 |
} |
} |
139 |
|
|