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(); }
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) ; } }
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); model->genIndexArray(indexData[4]); } else { // Modell konnte nicht geladen werden assert(0) ; } delete model ; }