/[libvob]/libvob/include/vob/vobs/Paper.hxx
ViewVC logotype

Diff of /libvob/include/vob/vobs/Paper.hxx

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

revision 1.17 by tjl, Mon Aug 4 07:57:56 2003 UTC revision 1.18 by tjl, Fri Oct 10 13:52:22 2003 UTC
# Line 236  public: Line 236  public:
236    
237    
238      template<class T> void render(const T &coords) const {      template<class T> void render(const T &coords) const {
239          GLERR          GLERR;
240    
241          using namespace PaperPriv;          using namespace PaperPriv;
242          Verts verts(coords);          Verts verts(coords);
# Line 280  public: Line 280  public:
280              verts.startT2V3Operation();              verts.startT2V3Operation();
281    
282              for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {              for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {
283                  GLERR                  GLERR;
284                  (*it).setUp_VP(&lightParam);                  (*it).setUp_VP(&lightParam);
285                  triangler.draw();                  triangler.draw();
286                  (*it).tearDown_VP();                  (*it).tearDown_VP();
# Line 291  public: Line 291  public:
291              // Only vertex position comes from here              // Only vertex position comes from here
292              verts.startV3Operation();              verts.startV3Operation();
293              for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {              for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {
294                  GLERR                  GLERR;
295                  (*it).setUp_explicit(&lightParam);                  (*it).setUp_explicit(&lightParam);
296    
297                  glBegin(GL_TRIANGLES);                  glBegin(GL_TRIANGLES);
# Line 316  public: Line 316  public:
316    
317          }          }
318    
319          GLERR          GLERR;
320                    
321                    
322      }      }
# Line 353  public: Line 353  public:
353              // object -> paper/window              // object -> paper/window
354              const Transform &coords2inv = coords2.getInverse();              const Transform &coords2inv = coords2.getInverse();
355    
356              GLERR              GLERR;
357    
358    
359              ZPt paperorigin, paperx, papery;              ZPt paperorigin, paperx, papery;
# Line 394  public: Line 394  public:
394                      y1 << " " <<                      y1 << " " <<
395                      "\\n"                      "\\n"
396                      ;                      ;
397              GLERR              GLERR;
398    
399    
400              int dice;              int dice;
# Line 482  public: Line 482  public:
482                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {
483    
484                      DBG(dbg_paperquad) << "Pass\\n";                      DBG(dbg_paperquad) << "Pass\\n";
485                      GLERR                      GLERR;
486                      (*it).setUp_VP(&lightParam);                      (*it).setUp_VP(&lightParam);
487                                            
488                      DBG(dbg_paperquad) << "Going to multidraw\\n";                      DBG(dbg_paperquad) << "Going to multidraw\\n";
489                      GLERR                      GLERR;
490                      glMultiDrawElementsEXT(GL_QUAD_STRIP, counts,                      glMultiDrawElementsEXT(GL_QUAD_STRIP, counts,
491                         GL_UNSIGNED_INT, (const GLvoid **)indps, dice-1);                         GL_UNSIGNED_INT, (const GLvoid **)indps, dice-1);
492                      DBG(dbg_paperquad) << "Teardown\\n";                      DBG(dbg_paperquad) << "Teardown\\n";
493                      GLERR                      GLERR;
494                      (*it).tearDown_VP();                      (*it).tearDown_VP();
495                                    
496                      GLERR                      GLERR;
497                      DBG(dbg_paperquad) << "Pass over\\n";                      DBG(dbg_paperquad) << "Pass over\\n";
498    
499                  }                  }
# Line 503  public: Line 503  public:
503                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {
504    
505                      DBG(dbg_paperquad) << "Pass\\n";                      DBG(dbg_paperquad) << "Pass\\n";
506                      GLERR                      GLERR;
507                      (*it).setUp_explicit(&lightParam);                      (*it).setUp_explicit(&lightParam);
508                                            
509                      DBG(dbg_paperquad) << "Going to set texcoords explicit\\n";                      DBG(dbg_paperquad) << "Going to set texcoords explicit\\n";
510                      GLERR                      GLERR;
511    
512    
513                      for(int ix = 0; ix<dice-1; ix++) {                      for(int ix = 0; ix<dice-1; ix++) {
# Line 532  public: Line 532  public:
532    
533    
534                      DBG(dbg_paperquad) << "Teardown\\n";                      DBG(dbg_paperquad) << "Teardown\\n";
535                      GLERR                      GLERR;
536                      (*it).tearDown_explicit();                      (*it).tearDown_explicit();
537                                    
538                      GLERR                      GLERR;
539                      DBG(dbg_paperquad) << "Pass over\\n";                      DBG(dbg_paperquad) << "Pass over\\n";
540                  }                  }
541              }              }
542    
543              DBG(dbg_paperquad) << "Passes over\\n";              DBG(dbg_paperquad) << "Passes over\\n";
544    
545              GLERR              GLERR;
546    
547              delete [] vertices;              delete [] vertices;
548              delete [] indices;              delete [] indices;
# Line 579  public: Line 579  public:
579      template<class T> void render(const T &coords1, const T &coords2) const {      template<class T> void render(const T &coords1, const T &coords2) const {
580              const int flags = this->flags;              const int flags = this->flags;
581    
582              GLERR              GLERR;
583    
584              Paper::LightParam lightParam;              Paper::LightParam lightParam;
585    
# Line 599  public: Line 599  public:
599                      lightParam.e2 << " " <<                      lightParam.e2 << " " <<
600                      "\\n"                      "\\n"
601                      ;                      ;
602              GLERR              GLERR;
603    
604    
605              int dice;              int dice;
# Line 684  public: Line 684  public:
684                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {
685    
686                      DBG(dbg_paperquad) << "Pass\\n";                      DBG(dbg_paperquad) << "Pass\\n";
687                      GLERR                      GLERR;
688                      (*it).setUp_VP(&lightParam);                      (*it).setUp_VP(&lightParam);
689                                            
690                      DBG(dbg_paperquad) << "Going to multidraw\\n";                      DBG(dbg_paperquad) << "Going to multidraw\\n";
691                      GLERR                      GLERR;
692                      glMultiDrawElementsEXT(GL_QUAD_STRIP, counts,                      glMultiDrawElementsEXT(GL_QUAD_STRIP, counts,
693                         GL_UNSIGNED_INT, (const GLvoid **)indps, dice-1);                         GL_UNSIGNED_INT, (const GLvoid **)indps, dice-1);
694                      DBG(dbg_paperquad) << "Teardown\\n";                      DBG(dbg_paperquad) << "Teardown\\n";
695                      GLERR                      GLERR;
696                      (*it).tearDown_VP();                      (*it).tearDown_VP();
697                                    
698                      GLERR                      GLERR;
699                      DBG(dbg_paperquad) << "Pass over\\n";                      DBG(dbg_paperquad) << "Pass over\\n";
700    
701                  }                  }
# Line 705  public: Line 705  public:
705                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {                  for(Paper::Paper::iterator it = paper->begin(); it != paper->end(); ++it) {
706    
707                      DBG(dbg_paperquad) << "Pass\\n";                      DBG(dbg_paperquad) << "Pass\\n";
708                      GLERR                      GLERR;
709                      (*it).setUp_explicit(&lightParam);                      (*it).setUp_explicit(&lightParam);
710                                            
711                      DBG(dbg_paperquad) << "Going to set texcoords explicit\\n";                      DBG(dbg_paperquad) << "Going to set texcoords explicit\\n";
712                      GLERR                      GLERR;
713    
714    
715                      for(int ix = 0; ix<dice-1; ix++) {                      for(int ix = 0; ix<dice-1; ix++) {
# Line 734  public: Line 734  public:
734    
735    
736                      DBG(dbg_paperquad) << "Teardown\\n";                      DBG(dbg_paperquad) << "Teardown\\n";
737                      GLERR                      GLERR;
738                      (*it).tearDown_explicit();                      (*it).tearDown_explicit();
739                                    
740                      GLERR                      GLERR;
741                      DBG(dbg_paperquad) << "Pass over\\n";                      DBG(dbg_paperquad) << "Pass over\\n";
742                  }                  }
743              }              }
744    
745              DBG(dbg_paperquad) << "Passes over\\n";              DBG(dbg_paperquad) << "Passes over\\n";
746    
747              GLERR              GLERR;
748    
749              delete [] vertices;              delete [] vertices;
750              delete [] indices;              delete [] indices;
# Line 760  VOB_DEFINED(EasyPaperQuad); Line 760  VOB_DEFINED(EasyPaperQuad);
760    
761    
762    
763    /** A vob that's useful for demoing papers.
764     * Not for real use.
765     * Doesn't set up paper properly.
766     * Should probably be done mostly in .py code.
767     */
768  class BasisPaperQuad {  class BasisPaperQuad {
769  public:  public:
770      enum { NTrans = 2 };      enum { NTrans = 2 };

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

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