本文整理汇总了C++中ModelLoader::genIndexArray方法的典型用法代码示例。如果您正苦于以下问题:C++ ModelLoader::genIndexArray方法的具体用法?C++ ModelLoader::genIndexArray怎么用?C++ ModelLoader::genIndexArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModelLoader
的用法示例。
在下文中一共展示了ModelLoader::genIndexArray方法的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();
}
示例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) ;
}
}
示例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);
//.........这里部分代码省略.........