私はOpenGL ES 2.0のhello triangleの例を試しています。私はQtを使用しているので、QGraphicsSceneを作成し、そのコードをQGraphicsItemとして追加しました。それは正しく描画されますが、境界矩形を正しく取得できません。三角形の頂点がQGraphicsItem - >正しい境界矩形を取得
GLfloat afVertices[] =
{-0.4f,-0.4f,0.0f,
0.4f ,-0.4f,0.0f,
0.0f ,0.4f ,0.0f};
であり、私のビューポートが正しい境界RECT座標だろう何glViewport(0, 0, 800, 480);
のですか?
ビューポートをQGLWidgetに設定しました。 QGraphicsItemとの事は、私はアイテムの境界の矩形を再実装する必要があり、私はちょうどそれがQGraphicsItem :: boundingRect()constは」
`へ 未定義の参照を言うQRectF myGraphicsItem::boundingRect() const
{
return QGraphicsItem::boundingRect();
}
を使用した場合ということです
私はもともと使用していた
QRectF myGraphicsItem::boundingRect() const
{
return QRectF(-0.4, -0.4, 0.8, 0.8);
}
しかし結果は非常に小さなバウンディングボックスです。私がQRectf(300, 200, 200, 200)
のような値を試行錯誤で使用したときに一見正しいものが作成されました。これはあまりにも「マニュアル」なので、私が気付いていない何らかの座標対応または変換があるかもしれません。