OpenGLES2.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)
ので、「手動」ではありません。そのため、私が気付いていない何らかの座標対応や変換があるのではないかと思いました。