/[libvob]/libvob/src/main/Renderer.cxx
ViewVC logotype

Diff of /libvob/src/main/Renderer.cxx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by tjl, Tue Apr 1 11:03:54 2003 UTC revision 1.5 by tjl, Sat Apr 19 19:37:33 2003 UTC
# Line 27  namespace Vob { Line 27  namespace Vob {
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;
# Line 60  void Renderer::setStandardCoordinates(Ve Line 64  void Renderer::setStandardCoordinates(Ve
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    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26