Я пытаюсь использовать пример приветственного треугольника 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)
методом проб и ошибок, что слишком «вручную», поэтому мне было интересно, может быть, есть какое-то соответствие или преобразование координат, о котором я не знаю.