OpenGL 绘制绿色圆形:C++ 示例代码
以下是使用 OpenGL 绘制一个绿色圆形的示例代码(使用 C++ 语言):
#include <GL/glut.h>
#include <cmath>
// 设置窗口大小
const int WINDOW_WIDTH = 800;
const int WINDOW_HEIGHT = 600;
// 绘制函数
void render() {
glClear(GL_COLOR_BUFFER_BIT);
// 设置绘制颜色为绿色
glColor3f(0.0, 1.0, 0.0);
// 设置圆的半径和圆心坐标
float radius = 0.5;
float centerX = 0.0;
float centerY = 0.0;
// 绘制圆
glBegin(GL_TRIANGLE_FAN);
glVertex2f(centerX, centerY); // 圆心
for (int i = 0; i <= 360; i++) {
float theta = i * 3.14159 / 180; // 将角度转换为弧度
float x = centerX + radius * cos(theta);
float y = centerY + radius * sin(theta);
glVertex2f(x, y);
}
glEnd();
// 刷新缓冲区
glFlush();
}
// 窗口大小变化回调函数
void reshape(int width, int height) {
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
int main(int argc, char** argv) {
// 初始化 OpenGL 和窗口
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(WINDOW_WIDTH, WINDOW_HEIGHT);
glutCreateWindow('Green Circle');
// 设置绘制函数和窗口大小变化回调函数
glutDisplayFunc(render);
glutReshapeFunc(reshape);
// 进入主循环
glutMainLoop();
return 0;
}
请注意,以上代码基于 OpenGL 和 GLUT 库,确保您的开发环境已正确配置和安装这些库。运行代码后,将会打开一个窗口,并在窗口中绘制一个绿色的圆形。您可以根据需要调整圆的半径、圆心坐标等参数来实现所需的效果。
原文地址: https://www.cveoy.top/t/topic/bNeR 著作权归作者所有。请勿转载和采集!