用opengl画一个矩形的sample
时间: 2023-10-24 22:05:43 浏览: 44
下面是OpenGL画一个矩形的示例代码:
```c++
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glVertex2f(-0.5f, -0.5f);
glVertex2f(-0.5f, 0.5f);
glVertex2f(0.5f, 0.5f);
glVertex2f(0.5f, -0.5f);
glEnd();
glFlush();
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutCreateWindow("OpenGL Rectangle");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
这段代码使用了OpenGL的固定函数管线,通过glBegin和glEnd函数来定义一个矩形,然后使用glFlush函数来将图像输出到屏幕上。在main函数中,使用glut库来创建窗口和注册回调函数,最后进入主循环等待事件的发生。
相关问题
用opengl画一个点的sample
下面是一个简单的使用 OpenGL 绘制一个点的示例代码:
```c++
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0); // 设置颜色为白色
glPointSize(5.0); // 设置点的大小为 5
glBegin(GL_POINTS); // 开始绘制点
glVertex2f(0.0, 0.0); // 设置点的坐标
glEnd(); // 结束绘制点
glFlush(); // 立即绘制
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutCreateWindow("OpenGL Point Sample");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
这段代码使用了 GLUT 库来创建窗口和处理事件,使用了 OpenGL 的基本绘图函数来绘制一个白色的点。在 `glBegin()` 和 `glEnd()` 之间,我们使用 `glVertex2f()` 函数来指定点的坐标。最后使用 `glFlush()` 立即绘制出来。
用opengl画一条直线的sample
下面是用OpenGL画一条直线的示例代码:
```c++
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
// 设置颜色和线宽
glColor3f(1.0, 1.0, 1.0);
glLineWidth(2.0);
// 开始画线
glBegin(GL_LINES);
glVertex2f(0.0, 0.0); // 起点
glVertex2f(0.5, 0.5); // 终点
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("OpenGL Line Sample");
glutDisplayFunc(display);
glClearColor(0.0, 0.0, 0.0, 0.0);
glutMainLoop();
return 0;
}
```
这个示例程序使用OpenGL的GL_LINES模式,通过glBegin()和glEnd()来确定画线的起点和终点。glVertex2f()用于设置每个点的坐标。在这个示例中,我们画了一条从(0,0)到(0.5,0.5)的直线。