Я пробую пример треугольника приветствия OpenGL ES 2.0.Я использую Qt, поэтому я создал QGraphicsScene и добавил этот код как QGraphicsItem.Он рисует правильно, но я не могу правильно получить ограничивающий прямоугольник.Вершины треугольника:
GLfloat afVertices[] =
{-0.4f,-0.4f,0.0f,
0.4f ,-0.4f,0.0f,
0.0f ,0.4f ,0.0f};
, а мой видовой экран - glViewport(0, 0, 800, 480);
Какими будут правильные ограничивающие прямоугольные координаты?
Я установил в окне просмотра QGLWidget.С QGraphicsItem дело в том, что мне нужно заново реализовать ограничивающий прямоугольник элемента, и если я просто использую
QRectF myGraphicsItem::boundingRect() const
{
return QGraphicsItem::boundingRect();
}
, он говорит неопределенная ссылка на `QGraphicsItem :: boundingRect () const '
Я изначально использовал
QRectF myGraphicsItem::boundingRect() const
{
return QRectF(-0.4, -0.4, 0.8, 0.8);
}
, но в результате получился очень маленький ограничивающий прямоугольник.Кажущийся правильным, он был создан, когда я использовал значения типа QRectf(300, 200, 200, 200)
методом проб и ошибок - что слишком «вручную», поэтому мне было интересно, может быть, есть какое-то соответствие или преобразование координат, о которых я не знаю.