Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ Проблема с QTopengl

Автор: voipp 6.2.2011, 2:59

Вообщем в функции построения графика есть цикл.Этот цикл содержит функцию рисующую трегольники:

Раскрывающийся текст

void MainWindow::setTriangle(CVector a, CVector b, CVector c/*,QColor *color*/){
glBegin(GL_TRIANGLES);

glVertex3f(a[0],a[1],a[2]);


glVertex3f(b[0],b[1],b[2]);

glVertex3f(c[0],c[1],c[2]);

glEnd();
}

Ошибка выскакивает как раз из-за тела этой функции, точнее из-за a[0],a[1],.......c[1],c[2], потому что если вместо них поставить числа то бага исчезнет.Помогите разобраться что за чудеса!Ошибка без каких либо пояснений.И происходит она строго когда цикл долгий.
PS.Все a,b,c содержат верные значения и их размер удовлетворяет всем условиям
Вот код кому интересно:http://ifolder.ru/21732404

Автор: Алексей1153 6.2.2011, 11:49

voipp,

так поймай в дебаге момент ошибки и погляди значЕния\адресА

или веди лог , а после выпадения проанализируй, что не так

Автор: voipp 6.2.2011, 21:50

у меня такое подозрение, что слишком много панмяти используется.Потому, что если закоментить хотябы одну строчку вида glVertex3f то программа работает корректно, но медленно.Попробовал вести лог и убеждаюсь, что никакких проблем адресами нет, все значения правильны.Возможно, что проблема с памятью?

Автор: voipp 6.2.2011, 23:59

ошибка кроется в выборе примитива для отрисовки в glBegin.Если рисовать точки то все нормально работает, а если polygon или triangles то ошибка

Автор: Алексей1153 7.2.2011, 8:11

а в дебаге ловить момент пробовал ?

Цитата(voipp @ 7.2.2011, 1:59) *
а если polygon или triangles то ошибка

какая-нибудь ошибка в выборе типа цвета, альфаканалов

попробуй упростить исходные данные, добейся безглючности, а потом возвращайся постепенно и определи, в какой момент начинает глючить

Автор: voipp 8.2.2011, 1:42

все нашел багу.Всем спасибо за подсказки

Автор: Алексей1153 8.2.2011, 7:51

voipp, так что там было то ?

Автор: voipp 8.2.2011, 23:34

неправильно напсиал цикл - перепутал индексы

чтобы не создавать заново тему задам здесь глупый вопрос. Зачем нужна опция INCLUDEPATH если есть - HEADERS!

Автор: Алексей1153 8.2.2011, 23:56

а чем отличается путь к файлу от самого файла ? :)

Автор: voipp 9.2.2011, 0:25

HEADERS - определяет хидеры, которые я использую в проекте.
INCLUDEPATH - определяет путь к папке где эти хидеры лежат.
Меня интересует: какие могут быть случаи, когда вместо исопльзования HEADERS необходимо использовать INCLUDEPATH ?

Автор: Алексей1153 9.2.2011, 0:35

INCLUDEPATH задаёт пути для поиска файлов. На случай, когда файл в HEADERS указан с относительным путём

Автор: voipp 11.2.2011, 23:02

чтобы не создавать новую тему.Такой вопрос.Я пытаюсь с помощью команд configure.exe -static -debug-and-release создать статическую версию исполняемого файла.Все бы ничево, но вылезает вот, что: Error: Creating a shadow build of Qt requires
perl to be in the PATH environment
.Я установил пакет strawberry perl.Но проблема осталась.Хэлп ми

и по 2 вопросу.Правильно ли я понял, что если у меня есть такая запись

HEADERS += SomeHeader.h\ SomeHeader2.h
то чтобы не возникло проблем с компиляцией, мне необходима вот такая запись
INCLUDEPATH += C:\%PATH_TO_MY_DIR%

Если можете , помогите с помощью ссылок ге омжно об этом почитать

Только что добавил в PATH путь до папки bin для perl.Но результат "0"

Автор: voipp 12.2.2011, 1:56

проблема решена.Начал теперь собирать с помощью mingw32-make проект, но появилась ошибка : Interrupt/Exception caught<........>Что делать?

Автор: voipp 12.2.2011, 3:00

и ее я исправил.Ьеперь новая проблема: пытаюсь с помощью

qmake -config release
создать make-file но следуют ошибки:1) не установлен QMAKESPEC (хотя я установил эту внешнюю переменную, может неправильно?) 2)Error processing project file : С:\%PATH_TO_DIR%\qmake.pro
qmake.pro - файл для создания qmake( o0 ). Что делать?

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)