Russian Qt Forum
Ноябрь 22, 2024, 23:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QOpenGLBuffer  (Прочитано 3026 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Декабрь 26, 2014, 11:41 »

Рисую skybox, потом модель:
Код:
    glVertexPointer(3, GL_FLOAT, 0, part->v.begin());
    glTexCoordPointer(2, GL_FLOAT, 0, part->vt.begin());
    glNormalPointer(GL_FLOAT,0, part->vn.begin());
    foreach (Part::FaceGroup faceGroup, part->faceGroup) {
        Surface *surface = faceGroup.surface;
        if(!surface) {qWarning()<<faceGroup.name; break;}
        GLfloat color[4];

        Surface::fillGLfloat(surface->ambient, &color[0]);
        glMaterialfv(GL_FRONT, GL_AMBIENT, &color[0]);
        Surface::fillGLfloat(surface->diffuse, &color[0]);
        glMaterialfv(GL_FRONT, GL_DIFFUSE, &color[0]);

        if(!surface->textureNameAmbient.isEmpty()) {
            glBindTexture(GL_TEXTURE_2D, textureIds[surface->textureNameAmbient]);
            glEnable(GL_TEXTURE_2D);
        } else if(!surface->textureNameDiffuse.isEmpty()) {
            glBindTexture(GL_TEXTURE_2D, textureIds[surface->textureNameDiffuse]);
            glEnable(GL_TEXTURE_2D);
        } else
            glDisable(GL_TEXTURE_2D);

        glDrawElements(GL_TRIANGLES, faceGroup.f.size(), GL_UNSIGNED_INT, (GLint*)&faceGroup.f[0]);
    }

Если в initilizeGL разкоментировать строчку, экран становиться черный
    vbo.create();
  //  vbo.bind();
    vbo.allocate(vertData.constData(), vertData.count() * sizeof(GLfloat));
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Декабрь 26, 2014, 12:14 »

Хорошо, а в чем проблема? Улыбающийся
Записан

deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #2 : Декабрь 26, 2014, 12:20 »

Хорошо, а в чем проблема? Улыбающийся
экран становиться черный, закоментировать - видны все объекты, просто добавил 3 строчки в initilezeGl с массивом из примера. Они даже в рисовании не учавствуют, а экран черный и рисуется только тестовая линия, в самом конце рисования:  glBegin(GL_LINES);
« Последнее редактирование: Декабрь 26, 2014, 12:25 от deMax » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.147 секунд. Запросов: 23.