私はopenglで円を描こうとしていますが、正しい座標を取得できないようです。そのため、どの方法を使用しても常に省略記号が表示されます。現在のコードは次のとおりです。
void Ball::Render() {
float center_position_x = _body->GetWorldCenter().x;
float center_position_y = _body->GetWorldCenter().y;
float radius = static_cast<b2CircleShape*>(_body->GetFixtureList()->GetShape())->m_radius;
glBegin(GL_LINE_STRIP);
for(float angle = 0; angle <= 360; ++angle) {
float angleInRadians = glm::radians(angle);
float x = glm::cos(angleInRadians);
float y = glm::sin(angleInRadians);
glVertex3f(x,y,0);
}
glEnd();
}
(コードは原点に円を描画する必要があることは知っていますが、それでも半径= 1で原点に円を描画する必要があることを正しく理解していれば、完全な円ではありません)
私が使用した他の方法は次のとおりです 。http://slabode.exofire.net/circle_draw.shtml
これは私の OpenGL ウィンドウ セットアップ コードです (これはスタブ プログラムなので、ハードコードされた値から始めています)。
gluOrtho2D(-10, 15, -10, 15);