当前位置: 首页>>代码示例>>C++>>正文


C++ ModelLoader::lengthOfVBO方法代码示例

本文整理汇总了C++中ModelLoader::lengthOfVBO方法的典型用法代码示例。如果您正苦于以下问题:C++ ModelLoader::lengthOfVBO方法的具体用法?C++ ModelLoader::lengthOfVBO怎么用?C++ ModelLoader::lengthOfVBO使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ModelLoader的用法示例。


在下文中一共展示了ModelLoader::lengthOfVBO方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: loadModel

void LightSources::loadModel(QString ex_path)
{
    ModelLoader model;
    bool res = model.loadObjectFromFile(ex_path.toStdString());//ex_path.toStdString());
    if (res) {
        // Frage zu erwartende Array-Laeangen ab
        vboLength = model.lengthOfVBO();
        iboLength = model.lengthOfIndexArray();
        // Generiere VBO und Index-Array
        vboData = new GLfloat[vboLength];
        indexData = new GLuint[iboLength];
        model.genVBO(vboData,0,true,true);
        model.genIndexArray(indexData);
    }


    vbo = new QOpenGLBuffer(QOpenGLBuffer::VertexBuffer);
    ibo = new QOpenGLBuffer(QOpenGLBuffer::IndexBuffer);

    vbo->create();
    vbo->bind();
    vbo->setUsagePattern(QOpenGLBuffer::StaticDraw);
    vbo->allocate(vboData, sizeof(GLfloat) * vboLength); // modelloader
    vbo->release();

    ibo->create();
    ibo->bind();
    ibo->setUsagePattern(QOpenGLBuffer::StaticDraw);
    ibo->allocate(indexData, sizeof(GLuint) * iboLength); // modelloader
    ibo->release();
}
开发者ID:ragemcmad,项目名称:CGBillard,代码行数:31,代码来源:lightsources.cpp

示例2: loadModel

void MyGLWidget::loadModel()
{
    // Lade Model aus Datei:
    ModelLoader model ;
    bool res = model.loadObjectFromFile("P3_models/sphere_low.obj");
    // Wenn erfolgreich, generiere VBO und Index-Array
    if (res) {
        // Frage zu erwartende Array-Längen ab
        //vboLength = model.lengthOfSimpleVBO();
        vboLength = model.lengthOfVBO(0,false,true);
        iboLength = model.lengthOfIndexArray();
        // Generiere VBO und Index-Array
        vboData = new GLfloat[vboLength];
        indexData = new GLuint[iboLength];
        //model.genSimpleVBO(vboData);
        model.genVBO(vboData,0,false,true);  // With textures
        model.genIndexArray(indexData);
    }
    else {
        // Modell konnte nicht geladen werden
        assert(0) ;
    }


}
开发者ID:velox1992,项目名称:ARProject,代码行数:25,代码来源:MyGLWidget.cpp

示例3: loadModel

void MyGLWidget::loadModel()
{
      // Lade die Modelle aus den Dateien in Datenstrukturen
      ModelLoader * model ;
      model = new ModelLoader() ;

      // Frosch
      bool res = model->loadObjectFromFile("Models/baby.obj");
      // Wenn erfolgreich, generiere VBO und Index-Array
      if (res) {
          // Frage zu erwartende Array-Längen ab
          vboLength[0] = model->lengthOfVBO(0,false,true);
          iboLength[0] = model->lengthOfIndexArray();
          // Generiere VBO und Index-Array
          vboData[0] = new GLfloat[vboLength[0]];
          indexData[0] = new GLuint[iboLength[0]];
          //model->genSimpleVBO(vboData[0]);
          model->genVBO(vboData[0],0,false,true);
          model->genIndexArray(indexData[0]);
      }
      else {
          // Modell konnte nicht geladen werden
          assert(0) ;
      }
      delete model ;

      // Planet
      model = new ModelLoader() ;
      //res = model->loadObjectFromFile("Models/sombrero.obj");
      res = model->loadObjectFromFile("Models/sphere_low.obj");
      // Wenn erfolgreich, generiere VBO und Index-Array
      if (res) {
          // Frage zu erwartende Array-Längen ab
          vboLength[1] = model->lengthOfVBO(0,false,true);
          iboLength[1] = model->lengthOfIndexArray();
          // Generiere VBO und Index-Array
          vboData[1] = new GLfloat[vboLength[1]];
          indexData[1] = new GLuint[iboLength[1]];
          model->genVBO(vboData[1],0,false,true);
          model->genIndexArray(indexData[1]);
      }
      else {
          // Modell konnte nicht geladen werden
          assert(0) ;
      }
      delete model ;

      // Sombrero
      model = new ModelLoader() ;
      res = model->loadObjectFromFile("Models/sombrero.obj");
      // Wenn erfolgreich, generiere VBO und Index-Array
      if (res) {
          // Frage zu erwartende Array-Längen ab
          vboLength[2] = model->lengthOfVBO(0,false,true);
          iboLength[2] = model->lengthOfIndexArray();
          // Generiere VBO und Index-Array
          vboData[2] = new GLfloat[vboLength[2]];
          indexData[2] = new GLuint[iboLength[2]];
          model->genVBO(vboData[2],0,false,true);
          model->genIndexArray(indexData[2]);
      }
      else {
          // Modell konnte nicht geladen werden
          assert(0) ;
      }
      delete model ;

      // Sombrero
      model = new ModelLoader() ;
      res = model->loadObjectFromFile("Models/sword.obj");
      // Wenn erfolgreich, generiere VBO und Index-Array
      if (res) {
          // Frage zu erwartende Array-Längen ab
          vboLength[3] = model->lengthOfVBO(0,false,true);
          iboLength[3] = model->lengthOfIndexArray();
          // Generiere VBO und Index-Array
          vboData[3] = new GLfloat[vboLength[3]];
          indexData[3] = new GLuint[iboLength[3]];
          model->genVBO(vboData[3],0,false,true);
          model->genIndexArray(indexData[3]);
      }
      else {
          // Modell konnte nicht geladen werden
          assert(0) ;
      }
      delete model ;

      // Sombrero
      model = new ModelLoader() ;
     //res = model->loadObjectFromFile("Models/vikinghelmet.obj");
      res = model->loadObjectFromFile("Models/Porygon.obj");
      // Wenn erfolgreich, generiere VBO und Index-Array
      if (res) {
          // Frage zu erwartende Array-Längen ab
          vboLength[4] = model->lengthOfVBO(0,false,true);
          iboLength[4] = model->lengthOfIndexArray();
          // Generiere VBO und Index-Array
          vboData[4] = new GLfloat[vboLength[4]];
          indexData[4] = new GLuint[iboLength[4]];
          model->genVBO(vboData[4],0,false,true);
//.........这里部分代码省略.........
开发者ID:velox1992,项目名称:ARProject,代码行数:101,代码来源:myglwidget.cpp


注:本文中的ModelLoader::lengthOfVBO方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。