Я пытаюсь нарисовать круг в opengl, но я не могу получить правильные координаты, поэтому я всегда получаю многоточие независимо от того, какой метод я использую. Текущий код выглядит следующим образом:Образец круга 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 http://www.opengl.org/discussion_boards/showthread.php/167955-drawing-a-smooth-circle
Это мой OpenGL коды окна настройки (Это незавершенная программа так что я, начиная с закодированными значениями): gluOrtho2D(-10, 15, -10, 15);
Звучит как проблема соотношения сторон. Как вы справляетесь с этим? –
@MichaelDorgan Oh jesus. опубликуйте это как ответ, чтобы я мог его принять. * стыд на мне * –