Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 27, 2007 17:51:35

Mixolap
От:
Зарегистрирован: 2007-05-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

рендеринг текста в python (OpenGL)

Подскажите, как лучше рисовать текст. Пробовал renderText из PyQT4.3 - рендерит как надо, но постоянно выдает в консоль ошибку о неправельных параметрах при вызове последующих ОpenGL функций.



Офлайн

#2 Сен. 27, 2007 20:21:17

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

рендеринг текста в python (OpenGL)

А нужно рисовать плоский текст или крутить его в 3D?
Желаемая платформа? У винды есть свои специфичные подходы, у линуха - свои. Есть и кросплатформенные решения.
Какие фонты? TrueType, Adobe fonts или что-то еще (растровые, например).
Есть еще миллион вопросов.

Кстати, вариантом было бы показать МАЛЕНЬКИЙ пример с renderText, который не работает. Я OpenGL под QT не пробовал, но можно попытаться разобраться.



Офлайн

#3 Сен. 27, 2007 20:30:19

Mixolap
От:
Зарегистрирован: 2007-05-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

рендеринг текста в python (OpenGL)

нужен плоский текст и кроссплатформенное решение.
пример с renderText:

    def paintGL(self):
self.qglClearColor(self.clearColor)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glTranslated(0.0, 0.0, -10.0)
glRotated(self.xRot / 16.0, 1.0, 0.0, 0.0)
glRotated(self.yRot / 16.0, 0.0, 1.0, 0.0)
glRotated(self.zRot / 16.0, 0.0, 0.0, 1.0)

glCallList(self.sharedObject)

self.qglColor(QtGui.QColor(255,0,0));
self.renderText(0,0,0,'hello');
в центр экрана выводит текст hello, но постоянно (при каждом вызове после первого) выдается ошибка о неправильных параметрах в glClear



Офлайн

#4 Сен. 27, 2007 21:05:00

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

рендеринг текста в python (OpenGL)

Когда я говорил о минимальном примере - имел в виду тот, который можно запустить.
Честно, нелегко вспомнить о QT и наваять приложение на одно окно с ошибкой.
Даже если хорошо помню - все равно требует времени.
А еще я не могу понять контекст. glLoadIdentity грузит единичную матрицу либо в MODEL либо в PROJECTION
glMatrixMode(GL_PROJECTION)
self.sharedObjects возвращает стек матриц и gl states в первоначальное состояние или нет?
self - унаследован от QGLWidget или это что-то еще.
И так далее…



Офлайн

#5 Сен. 28, 2007 14:06:45

Mixolap
От:
Зарегистрирован: 2007-05-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

рендеринг текста в python (OpenGL)

Лан, все что надо написал уже на С++. Всетки косяк какой-то в pyqt с renderText…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version